da Vinci Research Kit (dVRK)

Current Projects

Development of a Common API and Surgical Tool Class

The goal is to develop a Common API to the dVRK, Raven II, and other systems that could be used for semi-autonomous teleoperated and cooperatively-controlled robots. This includes development of a surgical tool class for the da Vinci surgical instruments, which can also be used with Raven II. Documentation for the Common API and Surgical Tool Class can be found on GitHub.

Ethernet-to-FireWire Bridge

FPGA Rev 2+ contains an Ethernet port in addition to the two FireWire ports. We are updating the firmware so that any FPGA Rev2+ board can act as an Ethernet-to-FireWire Bridge, enabling an Ethernet connection from the Control PC to the first FPGA board, which then manages the FireWire network to the rest of the FPGA boards in the system.

Support for Setup Joints

We are developing the hardware and software to support the passive setup joints that are used to position the PSM and ECM arms on a full da Vinci System.

Encoder Velocity Estimation

The goal of this project is to provide accurate estimates of robot joint velocity by measuring the time between consecutive encoder edges. Although the basic technique is well-known, it is challenging on the dVRK due to the use of low-resolution encoders, especially in the wrist of the MTM.

PSM Accuracy Improvement

The goals of this project are to improve the accuracy of the PSM by calibrating the kinematic (DH) parameters and modeling the instrument compliance.  The compliance model relates instrument deflection to the applied external force, which can be estimated from the measured motor torque (based on measured motor current).


We are investigating the feasibility of developing an open source controller for the da Vinci S System. In this system, the MTM is essentially the same as on the first-generation da Vinci System, but the PSM is different. One key difference is that the PSM (and ECM) contains proprietary embedded electronics, which makes it more challenging to develop an open source controller. Our current approach is to develop new firmware for the PSM embedded electronics that provides an open interface. Note that the PSM on the da Vinci Si is essentially the same as the da Vinci S, so this solution would also apply to the da Vinci Si PSM.