-
Notifications
You must be signed in to change notification settings - Fork 72
HeadSensor
The real da Vinci system uses a head sensor to detect if the operator is present. Without the operator, the system will not enable the tele-operation. For the dVRK, we have used a foot pedal as a dead man switch to detect if the operator is present (usually the "COAG" foot pedal). This is a reasonable solution for brief experiments but it's not very convenient. In this page we describe how to either create a "dVRK" head sensor from cheap parts or hack the existing da Vinci head sensor. The later option requires a full da Vinci system and it's important to note that you will need to keep the plastic back covers off the surgeon's console to switch back and forth between the ISI controllers and dVRK controllers.
- 1 Digital Distance Sensor 10cm
- 20 Molex pin connectors (Digikey Part No. WM2510-ND)
- NOTE: we only need 6 pin connectors
- 12-feet S-Video Cable
- just get one that is long enough
- any 3 wire cable would work, we just happened to have an old S-Video cable handy
- 1 male DB 15 connector (for the connection to the dVRK controller)
- 1 3-pin right angle connector (for the connection on the sensor side)
Sensor | Cable | Controller (J18, aka DOF 4) |
---|---|---|
VIN | Red | Pin 8 (VCC-CON-A 5V) |
GND | White | Pin 6 (GND) |
OUT | Yellow | Pin 7 (HOME4) |
Notes:
- J18 is a 15-pin connector labelled DOF 4 on the back of the dVRK controller
- Please connect head sensor and foot pedal on same controller box
-
Setup option 1: base
-
Setup option 2: side
-
Setup option 3: full surgeon's console. If you have a full da Vinci, you can pull the forehead foam pad and sticj the wire underneath. Alternatively you can make a custom cable and use the original da Vinci head sensor (see below).
-
Connector for controller box, connect to DOF 4 on controller with the foot pedals (to use default config files)
There is no specific configuration to perform at that point provided that you connect the head sensor on the same controller as the foot pedals.
- For rev 1.4 and below, rerun MATLAB XML config generator to make sure the digital input is renamed "HEAD"
- For rev 1.5 and above, HEAD is already included in the IO foot pedal XML files
- Update your JSON config file to set the presence sensor or point to the IO foot pedal configuration file (rev 1.5)
"console-inputs": { "operator-present": { "component": "io", // hard coded in source code, file mtsIntuitiveResearchKitConsole.cpp "interface": "Head" // name of the button you want to use, defined in sawRobotIO1394 configuration file } }
The head sensor is located under the master console's cover. It has four strobing LEDs on one side and four light sensors on the other side. It is mounted on the head's sides, behind the 4 round holes forming a diamond shape on each side.
Under the cover, there's a long cable going to the ISI controller at the base of the master console. There's also a short cable going between the LEDs on one side and the sensors on the other side. The sensors are hidden behind a metal plate to make sure only the lights from the LEDs can be detected. It is recommended to leave these alone!
We found that the easiest solution to connect to the head sensor is to locate the DB 25 cable that connects both the head sensor and the speakers under the surgeon's console. That connector is located on the back of the console, on the left side, just behind the arms. You will need to take the side cover off to find it:
You will then need to make a new cable to connect the da Vinci head sensor to the dVRK controllers. It will be a DB 25 female on the head sensor's end and a high density HD 15 (aka DB 15) male on the controller's end. The HD 15 male is designed to be connected to the DOF 1
connector on the back of the dVRK controller (we provide examples of configuration files for the head sensor connected to DOF 1
). The wiring pin out is provided in the following formats
Once you have build your custom cable, you can connect it to the da Vinci head sensor:
The HD-15 connector can be plugged on one of the "DOF" connectors on the back of the dVRK controller. For the following section, we assume the head sensor is connected to "DOF 1" on a PSM3 controller. This means that it will be interfaced using the IOs for a the first axis on the first board on the PSM3 controller, i.e. board ID is 10. To test the head sensor, start qladisp 10
. You can test your head sensor on any controller, just replace the 10
by the first board ID in the controller you're using.
Then, one can turn on/off the LEDs using the key '0' to toggle. The least significant bit of DigOut
in qladisp
should toggle between 1
(off) and 0
(on). When turned on, motion between the LEDs and the sensors should be displayed as the least significant bit in the Home
, PosLim
, NegLim
and EncI
fields. When the light is blocked, the value should be 1
:
- Sensor 1:
Home
, Bit Id 0 - Sensor 2:
PosLim
, Bit Id 0 - Sensor 3:
NegLim
, Bit Id 0 - Sensor 4:
EncI
, Bit Id 0
Assuming that you're connecting your head sensor to the MTMR controller, always on the DOF 1
connector, you just need to add the following line in your console JSON configuration file:
"operator-present": {
"io": "sawRobotIO1394-MTMR-dv-head-sensor.xml"
}
Important note: The board numbering on the software side start with index 0 (e.g. in XML IO configuration file) but the labels on the back of the controller start at index 1. Keep this in mind if you plan to connect the head sensor to another "DOF" and create your own XML configuration files.
Community
Getting Started
- First Steps
- Software installation
- Controller Connectivity
- Configuration files
- Hardware Setup
- Calibration
- Classic/Standard
- Si
- Examples
Advanced
- Software Architecture
- Application Development
- APIs
- UI Customization
- Teleoperation
- Kinematics Simulation
- Potentiometer Issues
- Development Branches
- Release Checklist
- Projects
- Controllers/versions
- E-STOP Wiring
- Full da Vinci System
- Head Sensor
- Foot Pedals
- Video
- Instruments
Miscellaneous
- Frequently Asked Questions
- User manuals Classic and Si moved
- QLA Heat Sink
- Build w/o ROS Linux Mac
- cisst
- JHU
Deprecated