4.3.1. Console
4.3.1.1. Overview
The dVRK console application is the main way to interact with a dVRK system. It comes in two versions:
dvrk_robot dvrk_console_jsonC+ application with a Qt based GUI and ROS interface, it depends on cisst/SAW
Compatible with all dVRK controllers
https://github.com/jhu-dvrk/sawIntuitiveResearchKit/tree/main/ros/dvrk_robot
sawIntuitiveResearchKitQtConsoleJSONC+ application with a Qt based GUI, it depends on cisst/SAW
Compatible with all dVRK controllers (including for Windows/MacOS over UDP)
https://github.com/jhu-dvrk/sawIntuitiveResearchKit/tree/main/core/applications
For ROS, start the node dvrk_console_json from the package
dvrk_robot.
ros2 run dvrk_robot dvrk_console_json
The non-ROS version is an executable found in the dVRK path.
sawIntuitiveResearchKitQtConsoleJSON
4.3.1.2. Command line options
dvrk_console_json supports all the command line options of
sawIntuitiveResearchKitQtConsoleJSON as well as options to
configure the ROS publish rates and some optional ROS topics.
ROS extra options
-p <value>, --ros-period <value>period in seconds to read all arms/teleop components and publish (default 0.01, 10 ms, 100Hz). There is no point to have a period higher than the arm component’s period (optional)
-P <value>, --tf-ros-period <value>period in seconds to read all components and broadcast tf2 (default 0.02, 20 ms, 50Hz). There is no point to have a period higher than the arm component’s period (optional)
-i, --ros-io-configjson config file to configure ROS bridges to collect low level data (IO) (optional)
-s, --suj-voltagesadd ROS topics for SUJ voltages (optional)
-I, --pid-topicsadd some extra publishers to monitor PID state (optional)
4.3.1.3. Configuration file
4.3.1.4. Dynamic components
The command line option -m can be used to load one or more
configuration files for the cisst component manager. One can also use
the field "component-manager": {} in the dVRK console
configuration file itself.
This allows users to dynamically load and connect custom components such as:
different middleware bridges (OpenIGTLink, plain UDP sockets)
custom applications/components (optionally with widgets and ROS bridges), either with components derived from existing ones or generic ones
alternative devices for the MTM, PSM, foot pedals, head sensor…
The full syntax for the cisstMultiTask component manager configuration files is documented in this JSON schema.