dVRK MTM


Configuration file format for the dVRK MTM 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.

MTM specific

Type: object

Type: string

Gravity compensation configuration file. See dvrk-gravity-compensation GitHub page (courtesy of CUHK).

Type: number Default: 0.5

Gain applied to the torque computed to move the MTM platform (4th joint) away from the operator's hand. You can set it to zero to cancel this feature. Default is defined in sawIntuitiveResearchKit/components/include/sawIntuitiveResearchKit/mtsIntuitiveResearchKit.h.

Value must be greater or equal to 0.0 and lesser or equal to 1.0

Type: number Default: 0.2

Amount of time is seconds to filter (debounce) gripper angle values before events are emitted (MTM/gripper/pinch and MTM/gripper/closed). Default is defined in sawIntuitiveResearchKit/components/include/sawIntuitiveResearchKit/mtsIntuitiveResearchKitMTM.h.

Value must be greater or equal to 0.0

Type: number Default: 0.0

Angle in radians used to determine transitions (closed vs open) for gripper events (MTM/gripper/pinch and MTM/gripper/closed). Default is defined in sawIntuitiveResearchKit/components/include/sawIntuitiveResearchKit/mtsIntuitiveResearchKitMTM.h.

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

Method use to compute inverse kinematics. CLOSED is experimental and untested. Avoid it for now!

Must be one of:

  • "CLOSED"
  • "ITERATIVE"