Last updated: May 7th, 2016
The purpose of our project is to make use of the torque sensors in the Robone Hip Surgery robot. We plan to use the torque sensors to vary the cutting velocity based on the force the tool tip experiences and allow for null space compliance, which will allow the robot joints to be moved by external forces assuming the tool orientation and position will not deviate from the planned cut path
The Robone Hip surgery robot currently autonomously cuts the femur in preparation of hip replacement. The robot is able to react to movements in the bone using an optical tracker and is able to update the cutting path in real time based on those movements. The purpose of our project is to expand upon to capabilities of Robone by utilizing the torque sensors in the robot arm. We plan to use the torque sensors in two ways:
One of the major drawbacks of robotic surgery is that it typically takes more time to perform than traditional surgery. In the case of Robone, the cutting speed must be slow enough to ensure safety for the patient and surgeon, as well as to avoid damage to the tool. These situations are determined by the density of the bone that is currently being cut. For example, if the bone is less dense, it may be cut safely and accurately at higher speeds than more dense bone. If we are able to optimize the cutting speed based on the force the tool experiences (indicating bone density), the total surgery time will be reduced.
Null space compliance is a useful feature on a robotic system such as this because there may be times when the surgeon or surgeon’s assistant may need to intervene while the robot is operating. It would be inconvenient and possibly dangerous if the robot was obstructing the surgeon’s view or ability to attend to the patient. Null space compliance would allow the surgeon to push the robot out of the way without affecting the cut path.
The force controlled velocity algorithm consists three independent components. The first component is a method that will receive the raw torque sensor data from every joint and process the data to return the force vector on the tool tip. The second component is a method that allows the robot arm to vary its cutting speed as it traverses its cut path because the robot can currently only traverse its cut path at a constant velocity that is given as a parameter before it starts the milling operation. The third component is to determine an appropriate model for the damping of cutting speed as a function of force. Once all three components are addressed, they will be integrated together. They will be tested first in a robot simulator and then on the physical robot arm.
There are two factors that must be integrated in order to accomplish null space compliance: control the robot using “torque-control” mode and distinguish between internal and external forces. Everything up until this point has been leveraging the “position-control” mode of the robot. In this phase of the project, we intend to use “torque-control,” in which we give each joint a torque value, as opposed to an angle relative to the parent joint. Secondly, the robot must be able to distinguish between forces from different bone densities and forces from a surgeon pushing on the robot. Once these forces are isolated, we can move the robot in an attempt to decrease the external forces. We will first demonstrate null space compliance on a fixed tool position. When that is operating properly, it will be integrated into the robot simulation and driver.
All of the following dependencies are resolved.
See description for the following unresolved dependencies below.
After we noticed the external force, the robot arm manufacturer was contacted and the response stated that the feature was untested and thus unreliable. The work around for this was to use the external torque data to calculate the external force by using the Jacobian. This also produced unreliable results which leads to the conclusion that the external torque data is also unsupported. The current plan of action is to abandon the Fast Robot Interface client in favor of the more stable Java client. The downside of this is that there is a significant delay (~300 ms) in this communication method. The effect of this delay will be evaluated once it is running.
* P. Kazanzides, J. Zuhars, B.D. Mittelstadt, R.H. Taylor, “Force Sensing and Control for a Surgical Robot”, Proc. 1992 IEEE Internat. Conf. on Robotics and Auto., Nice, France, May 1992
* Pearlman, J.J. Cutting Velocity Effects in Bone Sawing. Tufts University, Medford. MA, USA; 2011
* Petrovic, Petar B., Ivan Danilov, and Nikola Lukic. “Nullspace Compliance Control of Kinematically Redundant Anthropomorphic Robot Arm.”
* Plaskos, C., Hodgson, A.J., Cinquin, P. Modeling and optimization of bone-cutting forces in orthopaedic surgery. Lect Notes Comput Sci. 2003;2878:254–261.
* H. Sadeghian, L. Villani, M. Keshmiri and B. Siciliano , “Task-space control of robot manipulators with null-space compliance” , IEEE Trans. Robot. , vol. 30 , no. 2 , pp.493 -506 , 2014
* Whitney DE. Force Feedback Control of Manipulator Fine Motions. ASME. J. Dyn. Sys., Meas., Control. 1977;99(2):91-97.
* Zuhars, J.; Hsia, T.C., “Nonhomogeneous material milling using a robot manipulator with force controlled velocity,” in Robotics and Automation, 1995. Proceedings., 1995 IEEE International Conference on , vol.2, no., pp.1461-1467 vol.2, 21-27 May 1995
Below is a link for a child script in V-REP written by our group for force controlled velocity path following. https://www.dropbox.com/s/ndor7r3l7cnhpic/FCVcode.txt?dl=0