dVRK PSM


Configuration file format for the dVRK PSM arm component. See the dVRK documentation.

dVRK arm

Type: object

Configuration file format for the dVRK arm component. See the dVRK documentation. This schema is not used directly, it is extended for each arm type: ECM, MTM and PSM.

  • For details of implementation, see code under sawIntuitiveResearchKit/core/components/code/mtsIntuitiveResearchKitArm.cpp
  • Schema file

Type: enum (of string)

Schema used for this configuration file

Must be one of:

  • "dvrk-mtm.schema.json"
  • "dvrk-psm.schema.json"
  • "dvrk-ecm.schema.json"

Type: string

Schema version

Type: string

Kinematic configuration file, i.e. DH parameters for class robManipulator. Kinematic files are provided under share/io. The kinematic configuration files should not be changed for most users.

Type: boolean Default: false

Option to completely disable gravity compensation.

Type: string

Gravity compensation configuration file, i.e. DH parameters (with mass and center of mass) for robManipulator.

Type: enum (of string)

Arm generation, either a Standard (aka Classic) or Si.

Must be one of:

  • "Classic"
  • "Si"

Type: boolean Default: false

Force re_homing, i.e. computer encoder preloads based on potentiometer readings and for MTMs, search for mechanical limit for the last joint (roll)

Type: number Default: 0.0

Angle representing how pitched the arm is when mounted. This number is in radians. This is used to figure out the direction of gravity depending on how the arm is mounted. For example, the Classic ECM, when mounted on the SUJ is pitched by -45.0 degrees. For the Si system, PSM1 and PSM2 are pitched 45 degrees down (-45.0) and the ECM is pitched 70 degrees down. This parameter is NOT used for MTMs as we assume they are always straight. It is not used on the Classic PSMs since we don't compute any gravity compensation for these arms.

Type: boolean

Indicates if the arm should go to zero position in joint space during homing procedure. This is true by default for MTMs and false for other arms (PSM and ECM). For MTMs, it makes sense to go the zero position when homing so the arms are conveniently placed for the operator to get started. Furthermore, going to zero during homing will position each joint away from the joint limit. This is particularly useful for the MTM roll. For all arms on the patient side, it is safe to assume that the arms shouldn't move on their own. This is obvious for the real da Vinci system with actual patients. For research applications, moving automatically to zero can also damage equipement around the arms or mounted on the tools (e.g. strain gages). Finally, the PSM will only move to zero position during the homing procedure if there is no tool detected, i.e. the arm will never move if a tool is present. Most users should steer away from this setting.

PSM specific

Type: object

Type: string

Extra instrument list loaded for this arm. By default, the supported instruments are defined in the file share/tool/index.html but one might need some new instruments. This can be to support custom instruments or standard ISI instruments not yet supported by the dVRK (See the dVRK documentation). The filename can be absolute or relative to sawIntuitiveResearchKit/share. For example "jhu-dVRK/custom-tool/custom-tool-index.json"

Type: enum (of string) Default: "AUTOMATIC"

Set the tool detection method. Possible values are defined in sawIntuitiveResearchKit/core/components/code/mtsIntuitiveResearchKitToolTypes.cdg. For more details regarding tool detection see the dVRK documentation.

Must be one of:

  • "AUTOMATIC"
  • "MANUAL"
  • "FIXED"

Type: string

Tool type (e.g. "LARGE_NEEDLE_DRIVER:400006" or "LARGE_NEEDLE_DRIVER:420006[12]" if the version is needed). This is required if the "tool_detection" is set to "FIXED" and ignored otherwise. This emulates the behavior of the dVRK 1.x and should only be used if the tool is never changed.