In conventional surgery, a doctor has to cut openings in a patient large enough to allow visualization of and manual access to the surgical site. In the past two decades, medical surgery has steadily advanced to include Minimally Invasive Surgery (MIS), which includes surgical techniques that are less invasive than conventional open surgery. A minimally invasive procedure typically involves the insertion of devices and manual or remote-control manipulation of instruments through small incisions in a patient's body. Typically, the physician views the surgical field through an endoscope or other vision device that is inserted through a small incision in the patient's body. Minimally invasive surgery can result in less pain and scarring, can speed recovery, and can reduce the incidence of post-surgical complications.
Minimally invasive surgery involving manual surgical tool manipulation entails the surgeon manipulating long, slender, rigid tools outside the surgical site. This presents the problem of limited motion of the tools within the body of the patient and prevents certain type of surgeries from being performed due to the deficiencies in dexterity of the surgical tools. Advances in minimally invasive surgery include robotic instruments to engage in ever more complex diagnosis and operations. Robotic instruments can provide a physician with greater movement abilities as the tool shape can be changed in the patient's body. However, with either manual surgical tool manipulation or robotic tool manipulation, the surgeon loses the ability to accurately perceive the force exerted by the tool.
Systems and methods for force sensing in a robot are provided. The force sensing can be implemented by measuring joint-level information, such as the actuation force and the displacement of a joint of the robot, and using this information to calculate the force at the distal end of the robot. For example, the force at the end of the robot can be calculated even though there is no sensor directly measuring the force at this location. The calculated force feedback provides information that may be used in the operation of the robot or to diagnose conditions. By calculating the force at the distal end of the robot, the robot can be made smaller, cheaper, and designed without the constraints of placing a sensor at the distal end of the robot to make the force measurements.
The robot can include one or more segments that can be actuated independently of one another to provide a number of degrees of freedom. The distal end of the robot can include a tool, such as a gripper or scalpel that is used in minimally invasive operations or diagnostic procedures. The joint-level information can also be used to calculate a moment for the distal end of the robot. The force and moment information can be used for such tasks as detecting the stiffness of a surface, such as a tissue, and can be used to diagnosis disease in the tissue such as a tumor. A robot implemented with force sensing can also be designed to be magnetic resonance imaging (MRI) compatible. Information obtained from other sensors monitoring the robot can also be merged with the joint-level information to improve the calculation of the force and moment at the distal end of the robot. This sensor-based information can include information from a vision system, tracking information regarding the robot's movements, or the deflection in a joint of a robot. Additionally, the force sensing abilities of a robot can be calculated to determine how well a robot design will be able to implement force sensing.
Apparatus and methods for providing force feedback for robotic instruments are provided. In order to perform minimally-invasive surgery, doctors need to be able to view the effected area and operate on it using surgical tools or robotic instruments inserted into the patient's body. However, as such tools and robots place the doctor further from the area being operated on, or on which diagnosis is being performed, there can be a loss of dexterity and information upon which decisions can be made. For example, manual, minimally-invasive surgical procedures carried out using long, rigid instruments can make certain tasks, such as creating an incision or tying a stitch, more complicated than if simply done with the doctor's own hands. This is because in using such instruments, a doctor can be constrained in the range of movements needed to perform the tasks, and the feedback received through the tools is different than using the doctor's own hands directly on the effected area.
The development of robotic instruments can establish new surgical paradigms that allow diagnosis and operation through either a natural body orifice or a small incision. These techniques often require the surgeon to traverse channels with the instruments in order to reach the surgical site without applying undue forces to the surrounding bodily structures, so there is a need for compact, insertable surgical devices and instruments capable of providing force feedback to the operating physician. Force feedback is an important factor for improved patient safety, precise manipulation, grasping or palpation of soft organs, and for improved transparency in master/slave tele-operation for precise suture placement. Further, force feedback can be used in diagnosis of conditions because it can allow the doctor to detect structures within the body of differing size, shape, and stiffness with respect to surrounding bodily structures. This information can then be used to detect of diseased tissue in a patient, such as a tumor, fibrosis of a liver, fatty tissue, or any other anomaly. Intrinsic force sensing can be provided in robotic surgical tools to provide such force feedback to the doctor. For example, force information can be obtained from sensors within the structure of the robotic tool and processed by a processing unit, such as a microprocessor or integrated circuit. In addition, surgical robots and tools can be designed to be compatible with diagnostic machinery, such as a magnetic resonance imaging (MRI) machine, to allow for use of such diagnostic devices during surgery while the robots and tools are positioned in the patient's body. For example, the robots and tools can be formed of particular materials that do not interfere with the diagnostic machinery.
One type of robot that in which intrinsic force sensing can be implemented is a continuum or “snake-arm” robot. A continuum robot can be highly flexible, which allows the robot to curve and move with a number of degrees of freedom. A
The disks can be manufactured from a biocompatible material that can be designed to withstand the loads placed upon them in use. In some embodiments, the base disk 112 and end disk 114 are manufactured differently than the spacer disks 118 to provide for interconnection with other equipment or tools. The spacer disks 118 can be made, for example, from Polytetrafluoroethylene (PTFE), which is compatible with diagnostic machinery such as magnetic resonance imaging (MRI). The base disk 112 and end disk 114 can be composed of polymer-based or ceramic materials that are MRI compatible. In devices that are not meant for extensive MRI use, aluminum can be used for the base disk 112 and end disk 114. The backbones 116 can be made from a biocompatible flexible tubular material, which can be super-elastic, such as nickel titanium (NiTi). The backbones 116 are selected from materials and designed with respect to diameter and tube wall thickness to provide bending flexibility, while providing stiffness in the axial direction. The stiffness in the axial direction allows for pulling and pushing of the backbones 116 which provides movement of the robot and prevents deformation of the backbones.
One primary backbone 116a can be centrally located among the disks and can be attached to the base disk 112 and the end disk 114. The primary backbone 116a also can be attached to the spacer disks 118 in some embodiments. Secondary backbones 116b can be arranged around the primary backbone 116a towards the edge of the disks. The secondary backbones 116b can be placed equidistant from the primary backbone 116a. The secondary backbones 116b are attached to the end disk 114 and slide in holes having appropriate tolerances in the base disk 112 and spacer disks 118. The secondary backbones 116b are used to manipulate and control the movement of the robot. The movement can be directed by either pushing or pulling on each secondary backbone 116b to move the robot in the desired direction. In
The backbones can also serve multiple purposes in some embodiments. For example, backbones can serve as a suction channel, a fluid delivery channel, an actuation channel for a tool mounted on distal end of the robot, a light source, and/or an imaging source. As a suction channel, the backbone can be used to remove fluid, residue, or to hold an object via suction. The backbone, as a fluid delivery channel, can administer drugs or other markers to the site where the robot is located. When a tool is mounted on the robot, a backbone can be used to effect movement or the backbone can include a mechanism for effecting movement such as a wire positioned within a hollow backbone. A fiber optic cable can be used within a backbone to provide light for imaging purposes at the distal end of the robot. Also, the backbone can provide a channel for sensor or imaging information to be fed back to a controller or processor which is used to process this information. These vision capabilities can be provided by a fiber optic array attached to a CCD camera in some embodiments. The backbone or a separate channel can be used to implement laser delivery or cautery, which can be used for surgical or diagnostic purposes.
The spacer disks 118 are arranged along the backbones to support the backbones and to maintain a particular distance between the backbones 116 throughout the segments 110. The spacer disks 118 are spaced sufficiently apart from one another so as not to limit the range of the bending motion (unless this is desired). In order to minimize friction on the backbones 116, a low friction material, e.g., PTFE, can be used for bushings around the holes of disks or the disks themselves can be made from a low friction material. The base disk 112 can be configured to attach to a lumen 120, which can provide maneuverability of the robot from the entry incision to the site where the robot is needed. The lumen 120 also provides a channel for the backbones to be connected to the actuation unit. The elastic structure of the lumen 120 can be a tube formed of polymer elastomers, a super-elastic tube that is micro-machined to provide flexure hinges, or any other serial linkage design. The lumen 120 can constructed to be rigid, passively flexible, or actively flexible. A passively flexible lumen structure bends to accommodate the anatomy. An actively flexible lumen can be implemented by allowing the shape to be locked in place or unlocked based on control information, such as a control signal sent from a controller or processor.
The tool attachment can be connected to the continuum robot in a number of ways. For example, the central backbone, alone or in combination with the secondary backbones, can be used to attach the tool. The attachment backbone can, for example, have a ball at the end which fits into a locking mechanism of the tool attachment. In some embodiments, if no tool attachment is used, the backbone balls can be locked into the end disk of the continuum robot. Other shapes also can be used on the end of the backbone to provide a locking connection. The tool attachment can also be secured by the use of a threaded attachment, a spring lock, a groove and ridge locking system, or any other connecting mechanism. In some embodiments, the central backbone can be used for delivering actuation for the tool attachment by using a super-elastic wire in pushing mode. The two remaining backbones may be used for delivering other sources of sensory data or for capabilities such as vision or drug delivery.
The actuation device 196 can be implemented with a motor, a pneumatic pump, a hydraulic pump, a piezoelectric actuator, or any other applicable device. If a motor is used, an ultrasonic motor can be used to provide MRI compatibility. The motor can be used to change the displacement of actuation rod 194, which in turn is attached to a backbone, by turning a screw or using a rack and pinion.
As further discussed below, the forces measured on the backbones can be used to determine the force experienced by the distal end of the robot. The sensors 192 can be pizo-electric devices, such as load cells, or strain gauges in some embodiments. Other sensors, such as a fiber Bragg Grating optical sensor, can be used within the core of a fiber optic cable within one or more backbones to determine the strain distributed along the fiber cable. Capacitive sensors imbedded between the disks of the continuum robot provide yet another way of sensing the force along the continuum robot. The sensors can also be designed to provide MRI compatibility, such as by using fiber optic sensing or locating the sensors at the base outside the MRI machine.
The information collected from the sensors is sent to a processor 190 to calculate the force and moment at the distal end of the continuum robot. The controller/processor 190 can communicate with the sensors, the actuation device 196, and any other devices using communication lines, e.g., copper based lines, such as Ethernet. The controller/processor 190 can deliver instructions and control the operation of the robot controlling the actuation devices 194. The instructions can be received by a graphical user interface (GUI), a command line interface, a joystick, a mouse, or any other input device. The force and moment information computed by the processor can be used to provide feedback to the surgeon during diagnostic or surgical procedures. For example, the force sensing can aid in determining the shape and stiffness of objects within the patient's body, and can help find hidden features in such objects, which can be useful in tumor detection and other applications. The force feedback information can be used to provide tactile feedback, for example by providing resistance in the user controls, as well as visual feedback. The feedback information can also be recorded to a computer readable medium for later analysis. The force feedback can thus be used to aid in surgical operations as well as in diagnostic settings.
In some embodiments, information from probes at the distal end of the continuum robot can be sent to the user along with the force feedback. For example, an ultrasound probe can be used, and the information from the probe can be merged with the information from the force sensing. Merging these two sources of information provides surface hardness information from the force sensing along with imaging information from inside the tissue from the ultrasound. The force sensing information can also be merged with other measurement information, in certain embodiments, to determine the force and moment of the distal end of the robot. For example, vision information can provide a measurement of slippage of the robot, which can be used in calculating the force and moment of the robot.
The force information from sensors 192 is used to provide force sensing in the robot. The force sensing can be used to provide a force and moment measurement at the distal end of the robot using an algorithm and sensor measurements. The algorithm is based on the singular value decomposition of the Jacobian mapping between the configuration space and the twist space of the end effector. The end effector can be the end disk of the robot or a tool attachment. The force sensing provided by the remote sensor measurement allows for force sensing in challenging environments where placing sensors at the distal end of a robot is not possible due to the limitations such as size of the robot and/or MRI compatibility.
The algorithm to provide force sensing on a robot can be derived in the following fashion with the following nomenclature. Force sensing is first described for a single segment, and later the equations are expanding to accommodate a robot with any number of segments. As shown in
1R2
bp
The position and orientation of the end disk relative to the base disk is characterized by two angles θL and δ. Equations 1 and 2 provide a relation between the two angles θL and δ.
L
i
=L+q
i
=L+Δ
i(θL−θ0) (1)
Δi≡r cos(δi), i=1, 2, 3 (2)
For a given qi, the robot configuration ψ=[θL δ]T is given by equations 3 and 4.
θL=θ0+qi/Δi (3)
δ=atan 2(q2−q1 cos β,−q1 sin β) (4)
The instantaneous direct kinematics is then given by equation 5.
{dot over (x)}=J
xψ{dot over (ψ)} (5)
Since the robot includes flexible members (e.g., the backbones), the shape of the robot is determined by the minimal energy solution with a corresponding Jacobian matrix in equation 6. Equation 6 is ill-defined when θL=θ0=π/2. This singularity for the configurations θL=θ0=π/2 is resolved by applying the L'Hopital rule to get equation 7. For these configurations, the robot bending plane is defined according to the desired linear velocity of the end disk as is shown in
The instantaneous inverse kinematics is given in equation 8.
{dot over (q)}=J
qψ{dot over (ψ)} (8)
By taking the derivative of equation 1 for qi, i=1, 2, 3, equation 9 is obtained.
The elastic energy of a continuum robot can be determined by equation 10 if twisting, extension of the backbones, friction, and gravity are neglected.
The force fe and moment me that acts on the end disk can be found by finding an external wrench We[feT meT]T. This external wrench perturbs the robot's position and orientation of the end disk by Δx, which caused by a corresponding change in the lengths of the secondary backbones Δq=[Δq1 Δq2 Δq3]T. The actuation forces on the secondary backbones which maintain the equilibrium of the robot in the perturbed state are τ=[τ1 τ2 τ3]T. The change in the potential energy ΔE that corresponds to the movement Δx is given by equation 11.
W
e
T
Δx+τ
T
Δq=ΔE (11)
The concept of virtual displacement is used to further develop prior equations. The virtual displacement is characterized by Δψ=[ΔθL Δδ]T. Using equations 5 and 8, the virtual work principle is rewritten as equation 12. To achieve a static equilibrium condition, the terms associated with each independent degree of freedom should vanish. The matrix form of this system of linear equations is given in equation 13 where ∇E represents the gradient of the elastic energy with respect to the configuration perturbation Δψ.
W
e
T
J
xψΔψ+τTJqψΔψ−∇ETΔψ=0 (12)
J
qψ
T
τ+J
xψ
T
W
e
=∇E (13)
For the actuation forces, a redundancy resolution of equation 13 is obtained in equation 14.
τ=(JqψT)+(∇E−JxψTWe)+(I−(JqψT)+JqψT)ξ (14)
In equation 14, ξε3×1 is a vector of homogeneous actuation forces used to optimize the loads on the backbones and ∇E is equal to:
In the compensated actuation of the robot, one redundancy resolution is adopted in equation 15.
τ=Jqψ(JqψTJqψ)−1(∇E−JxψTWe) (15)
In order to develop a force sensing algorithm, equation 13 is rewritten as equation 16.
J
xψ
T
W
e
=∇E−J
qψ
Tτ (16)
A force sensing capability can be provided for a robot if the actuation forces τ are measured by sensors (e.g., sensors 192 discussed above). For a single segment robot, the actuation forces τ and the displacement Li, or length of the backbone, are known for the segment. There are six unknown wrench components in We in equation 16, which can be solved using a combination of joint-level information and equations arising known conditions. The joint-level information includes measurements of the force on a backbone and the displacement of the backbone. A solution to the wrench components is provided through equation 17, where Ws is the sensed external wrench and N=(I−(JxψT)+(JxψT)) is the null-space projector of JxψT and (JxψT)+=Jxψ(JxψTJxψ)−1. For any ηε6×1, JxψTNη does not affect the static equilibrium of the robot. For robots of one or two segments, Ws is split into a component Wsb designating sensible wrenches, and a component Wisb representing wrenches solved through known conditions. These components are used to form equation 18. It is important to note that the component Wisb is referred to in the explanation of the algorithm as insensible wrenches, which are not measured through the backbones for one or two segment robots. The insensible wrenches are calculated by using known conditions in the force sensing algorithm. The known conditions can be obtained from a database, from user input, or from other sensory equipment that can provide additional information about the robot. The known conditions can also be used to further increase the accuracy of force sensing calculations. For example, sensor information such as vision information measuring the deflection of tissue, tracking a tool attachment (e.g., magnetic tracking, visual tracking, ultra-sound sound tracking, or marker/radio frequency based tracking), and/or measuring the deflection of the backbone through a fiber optic cable can be merged with the joint-level information to provide a more accurate force and moment calculation at the distal end of the robot.
W
s=(JxψT)+(∇E−JqψTτ)+Nη (17)
W
s
=W
sb
+W
isb (18)
W
sb=(JxψT)+(∇E−JqψTτ)Wisb=Nη
The resolution for Ws in equation 17 depends on the joint-level information and on the known conditions, which can be a-priori knowledge. The a-priori knowledge leads to the homogenous solution of Wisb while the joint-level information leads to Wsb. There may be several sources of known conditions or a priori knowledge available to resolve Wisb. One type of a-priori knowledge stems from the geometry of the contract between the robot and its environment. This is because difference types of contacts (e.g., point, line, plane contacts with or without friction) are associated with different wrenches and known conditions. Each type of contact geometry provides information about certain null components of the wrench that acts on the robot. Wseε6×1 can be used to designate the a-priori wrench estimate with these null components, while Seε6×6 can be used to designate the associated weights. Ws can be determined using a constrained least squares problem as shown in equation 19 with a closed-form solution shown in equation 20.
η=argmin((Ws−Wse)TSe(Ws−Wse))
s.t. W
s=(JxψT)+(∇E−JqψTτ)+(I−(JxψT)+(JxψT))η (19)
η=Ω+(I−(JxψT)+(JxψT))TSe(Wse−(JxψT)+(∇E−JqψTτ)) (20)
Force sensing can be applied to a one or two segment robot using an algorithm that calculates the sensible wrench space and the insensible wrench space based on measured actuation forces. For example, for any external wrench We, its projection in the sensible wrench space {Wsb} can be calculated from equation 17 as η=0, and its projection in the insensible wrench space {Wisb} can be calculated from equation 19 making use of the known conditions or a priori knowledge.
In the case of a palpation, as illustrated in
The minimization leads to the moment components being zero and the force residing in the plane defined by {circumflex over (n)}n and {circumflex over (n)}t.
In the case of an incision or a suture penetration, as illustrated in
A singular value decomposition (SVD) of Jxψ from equation 23 is used to determine Wsb and Wisb. In equation 23, the matrix Dx=[diag(d1,d2) 02×4]T is the matrix of singular values, Uxε6×6 and Vxε2×2 are unitary orthogonal matrices designating the left (output) singular vectors and right (input) singular vectors of Jxψε6×2, correspondingly. The pseudo-inverse of Jxψ is expressed using the SVD as in equation 24. After substituting equation 15 into equation 18 and simplifying terms, equation 25 can be obtained. The disappearance of Jqψ and ∇E in equation 25 is due to using the specific actuation redundancy resolution of equation 15. After substituting the SVD of Jxψ into equation 25, equation 26 is obtained to express Wsb and Wisb in terms of the left singular vectors of Jxψ. By using the property of orthogonal matrix, I=UxUxT, equation 26 can be simplified to equations 27 and 28 where uxi designates the ith column of Ux. In equation 27, it is noted that N is the null space projector of JxψT, N=(I−(JxψT)+(JxψT))=UxÎUxT.
In equation 28, the first term, UxŨxWe, depends on the geometry of the robot (through Ux) and on the applied wrench We. The second term UxŨxη does not affect the joint level sensor information τ, so the focus is on determining the first term UxŨxWe. Since uxi (i=1, . . . , 6) are the left singular vectors of Jxψ, they represent twists in the axial Plücker coordinates consistent with the definition of {dot over (x)}. The reciprocal product of screws $1 and $2 is given by $1T$2, where for a general screw $=[s1s2s3s4s5s6]T and its transpose $T=[s4s5s6s1s2s3]. Using this definition, the components of ŨxWe are interpreted as reciprocal products (uxi)TWe (i=1,2). If a wrench We is reciprocal to uxi for i=1,2, sensing We may not occur; otherwise, We affects the joint level forces τ and it is sensible. Based on this analysis, the decomposition of Ws into Wsb and Wisb can be obtained from equation 29.
W
sb
T
u
x
i≠0 and WisbTuxi=0 for i=1,2 (29)
From equation 29, it can be shown that the insensible wrenches Wisb belong to a four-dimensional wrench system {Wisb} reciprocal to uxi for (i=1,2). The sensible wrenches Wsb belong to a two-dimensional wrench system that is reciprocal to uxi for (i=3, . . . , 6). From equations 25 and 28, one can develop equation 30 where Nul(A) is null space of A.
{Wisb}=Nul(JxψT) (30)
uxi can be rewritten in Plücker ray coordinates as in equation 31 where [{circumflex over (n)}T,(r0×{circumflex over (n)})T]T is the Plücker coordinates of the screw axis and λ is its pitch.
uxi can then be visualized as a line segment of [{circumflex over (n)}T,(r0×{circumflex over (n)})T]T with its length equal to λ, starting from a point r0 that is expressed in a coordinate system parallel to BDS and centered at the center of the end disk. The linear combinations of uxi for (i=1,2) can be visualized as a rank-2 screw system (cylindroid). This cylindroid can represent the sensible wrenches Wsb. At the same time, the basis wrenches that span the insensible wrench space {Wisb} can also be visualized.
An exemplary simulation of a one segment robot for two different cases is provided to further describe force sensing. The dimensions and the elasticity parameters of the simulated continuum robot are given in table 2 below, where dop, dos, dip and dis designate the outer and inner diameters for primary and secondary backbones, respectively. In the first case study: ψ=[θL=90° δ=45°]T.
The case first case study further describes the insensible wrenches encountered with a single segment robot. One wrench (the third column in the corresponding Ux matrix in table 3) is [0 0 1 0 0 0]T, which can be expressed as a screw with infinite pitch and doesn't appear in
A second wrench (the sixth column in the corresponding Ux matrix in table 3) is [0 0 0 0 0 1]T, which can be expressed as a screw with zero pitch and doesn't appear in
The force sensing model may be validated through testing. In a first test calibration weights can be used to apply forces at the end disk of a single segment robot. In a second test a single segment robot can be used to detect the stiffness of a flexible silicone strip that serves as a mockup tissue. In the first test, a Kevlar thread is attached to the tip of the robot so that a pure force can be applied. The force is applied through a frictionless pulley, using calibrated weights. The pulley is mounted to an aluminum frame, which is set such that the applied force is always parallel to the XY plane of BDS. A marker is aligned with the Kevlar thread to measure the direction of the applied force using an optical tracker. The actuation unit of the robot was repositioned when the robot was bent to different θL values in order to keep the force parallel to the XY plane of the BDS.
The robot can be bent to different configurations in the first test. Under each configuration, known forces (We in
Since the applied force on the end disk was parallel to the XY plane of the BDS, this known condition information can be used in equation 17 to obtain the best estimate of the sensed wrench Ws, in certain embodiments. Equation 19 can be solved with Se=diag(0,0,1,1,1,1) and Wse=[1 1 0 0 0 0]T. The test results are listed in table 4. The table lists the averages of the three test results and the corresponding errors. Among the error values, the average was 0.34 grams with a standard deviation of 0.83 grams. The design of the robot, in some embodiments, can provide a precision of 0.34±0.83 grams when the actual resolution is ±10 grams with joint level force monitoring. Substituting equation 24 into equation 17, the magnitude of τ as well as its reading uncertainty Δτ can be reduced by a factor from {tilde over (D)}x, since Ux and VxT are both orthogonal matrices. Referring to the diagonal values of Dx in table 2, the factor is about 27, which means, an error of 0.34±0.83 grams is equivalent to about 9.18±22.41 grams at the joint level reading errors.
In the second test, a silicone strip was molded with three steel balls embedded in it. The ball diameters were 6.34 mm, 9.51 mm and 12.69 mm respectively. The steel balls were embedded at a depth of 0.5 mm from the probed surface in some embodiments. The silicone strip was probed using a single segment robot with a probing depth of 0.5 mm. A Cartesian XYZ stage can be used to adjust the position of the silicone strip so that the workspace of the continuum robot can cover the entire surface of this silicone strip. The surface was scanned in 1 mm increments both in length and in width directions. The stiffness value on a probed point was calculated as the ratio of resistance force over probed depth of 0.5 mm. The resistance force can be calculated with Se=diag(0,0,1,1,1,1) and Wse=[1 1 0 0 0 0]T, since the resistance force is normal to the surface of the silicone strip, which is parallel to {circumflex over (x)}b.
An entire surface stiffness map can be generated using spline interpolation, as shown in
Since the force and moment of the robot are calculated indirectly from other sensory information, some calibrations may be made to the calculations. For example, the angle of the primary backbone θL may differ from a model of this angle. The Jacobian matrices Jxψ and Jqψ depend on the bending shape of the robot, and can be calibrated to improve the accuracy of the calculations. The bending shape of the robot may differ from robot to robot based on the manufacturing tolerances of the robots. For example, a calibration for Jqψ actual measured values versus modeled values of θL and a linear regression was used to determine the calibration factor. The calibration equation 32 shows this result where
The calibration of equation 33 can also lead to modifications in the statics calculations for the robot. Equations 10 and 13 can be updated using equation 33. The gradient of the elastic energy ∇E is updated in equation 35 using Li from equation 33.
Force sensing at the end effector of a robot can be provided based on the singular value decomposition (SVD) of a Jacobian matrix that maps speeds from a two dimensional configuration space to twists in a six-dimensional space. Using the SVD yields a four dimensional wrench system for wrenches that cannot be sensed by force sensors, and yields a two-dimensional cylindroid for the wrenches that are sensible with joint-level information. A force sensing algorithm is also presented that accounts for external information coming from knowledge about some components of the external wrench or from other sensor measurements.
As described above, the continuum robot can be constructed with a number of independently controlled segments. The following provides an algorithm which modifies the algorithm for force sensing in a one or two segment robot for a robot with three or more segments.
(t)bp(t)(s)
(t)bp(t)i(s)
As
(1)b
v=J
(1)vψ{dot over (ψ)}(1)+(J(1)ωψ{dot over (ψ)}(1))×(1)bp(2)L+(1)bR(2)bJ(2)vψ{dot over (ψ)}(2) (36)
(1)b
ω=J
(1)ωψ{dot over (ψ)}(1)+(1)bR(2)bJ(2)ωψ{dot over (ψ)}(2) (37)
Since (J(1)ωψ{dot over (ψ)}(1))×(1)bp(2)L=−S((1)bp(2)L)J(1)ωψ{dot over (ψ)}(1), where S(p) is the skew-symmetric matrix of a vector p, the Jacobian matrix of a 2-segment continuum robot is given in equation 38.
Similarly, for n=3, or a three segment robot, the Jacobian can be derived by equations 39 and 40.
Where the components of the Jacobian of equation 40 can be given by equations 41 and 42.
T
1
=J
(1)vψ
−S((1)bp(2)L+(1)bp(3)L)J(1)ωψ (41)
T
2
=J
(2)vψ
−S((2)bp(3)L)J(2)ωψ (42)
(2)bp(3)L=(2)bR(3)b(3)bp(3)L, (1)bR(3)b=(1)bR(2)b(2)bR(3)b and (1)bp(3)L=(1)bR(2)b(2)bR(3)b(3)bp(3)L
As was described above for the single segment robot, the algorithm for force sensing can be developed based on a virtual work model. In some embodiments, twisting, friction, and extension of the backbones is neglected from the algorithm. For a n-segment robot, an external wrench We=[feT meT]T acts on the end disk of the distal (the nth) segment, where fe indicates the force and me the moment. This external wrench perturbs the robot posture (position and orientation) of the end disk by Δx, which caused by a corresponding change in the lengths of the secondary backbones, Δqn. The actuation forces on the secondary backbones of all the segments which maintain the equilibrium are τn=[τ(1)T τ(2)T . . . τ(n)T]T. The change in the potential energy ΔE that corresponds to Δx is given by equation 43 (which corresponds to equation 11 for a single segment robot).
W
e
T
Δx+τ
T
Δq
n
=ΔE (43)
Where qn is the actuation length vector for the n-segment robot and
the actuation length vector gives the displacement of each of the secondary backbones for each segment of the n-segment robot. Δqn can be characterized by Δψn as equation 44, using equation 8.
The virtual displacement Δx can also be characterized by Δψn in equation 45. Using equation 45, the virtual work principle can be rewritten in equation 46. To achieve an equilibrium condition, the terms associated with each independent degree of freedom (DOF) should vanish. The matrix form of this system of linear equations is given in equation 47 where ∇En represents the gradient of the elastic energy with respect to the configuration perturbation Δψn of a n-segment robot.
Δx=JnxΔψn (45)
W
e
T
J
nxΔψn+τnTJnqΔψn=∇EnTΔψn (46)
J
nq
Tτn+JnxTWe=∇En (47)
The total potential energy En of the n-segment continuum robot includes the gravitational energy and the elastic energy generated from the segments' bending as shown in equation 48. In equation 48, ρ(t) and ρ(t)i are the mass per unit length along the primary backbone and the secondary ith backbone, (1)bĝ is ĝ expressed in {({circumflex over (x)}(1)b,ŷ(1)b,{circumflex over (z)}(1)b}, and (1)bp(t)(s) and (1)bp(t)i(s) are position vector along the primary backbone and the secondary ith backbone in {{circumflex over (x)}(1)b,ŷ(1)b,{circumflex over (z)}(1)b}. Additionally, the zero point of the gravitational potential energy can be set at the origin of {{circumflex over (x)}(1)b,ŷ(1)b,{circumflex over (z)}(1)b}. ∇En can be obtained by taking derivative of 48 with respect to ψn.
Force and moment sensing on the robot can be provided by returning to equation 16, as described for the single segment robot. Equation 49 below shows equation 16 rewritten for use with a n-segment robot.
J
nx
T
W
e
=∇E
n
−J
nq
Tτn (49)
When the rank of JnxT is equal to six, the general solution of equation 49 can be written as equation 50, where Ws stands for the sensed external wrench and where (JnxT)+ equals (JnxT)−1, if JnxT is square. If JnxT is not square, the (JnxT)+=(JnxJnxT)−1Jnx. In calculating equation 50 of robots of three or more segments, the processor can use measurements of force and displacement of the backbones of the various segments to calculate the force and moment at the distal end of the robot.
W
s=(JnxT)+(∇En−JnqTτn) (50)
In reference 280, a sensor measures the force on the joint. The measurements may be in analog or digital form. If an analog signal is provided by the sensor, an analog-to-digital converter (A/D converter) can be used to convert the analog signal to a digital signal. The measurement can be made at the proximal end of the robot in some embodiments. In reference 282, the displacement of the joint is measured. In reference 284, the force measurement and the displacement measurement is provided to a processor that is in operable communication with the sensor. The processor can store the measurements and calculations in a computer readable medium. In reference 286, the processor uses the force and displacement measurements to perform a calculation to determine the force and moment at the distal end of the robot. The force and moment calculations performed by the robot indirectly sense the force and moment acting on the distal end of the robot, even though there is no force sensor at the distal end of the robot. The force and moment can be used to provide information for use in a palpation, an incision, or a suture penetration, for example.
The ability of a robot to be utilized for force sensing can be determined by a performance index. The performance index can provide an indication of a robot's force sensing capability. The disclosed intrinsic wrench sensing approach can treat the entire robot structure as one force sensor, so the performance index can be extended from an evaluation index for sensor designs. In some embodiments, a model for a multiple-axis force sensor can be presented as v=Cu or Mv=MCu, where v is the transducer output vector, u is the applied external wrench, C is a constant compliance matrix characterizing the force sensor, and M is a projection matrix to deal with redundant force sensors. Redundant force sensors can be sensors with more transducer outputs than the minimal required number. From this a sensing equation for a multiple-axis force sensor can be obtained in equation 51.
u=C
−1
v or u=(MC)+Mv (51)
In evaluating force sensor design a condition number, NC of C or NMC of MC, is used to determine the relative performance of the design. A small NC or NMC value is typically indicative of a good design for two reasons: i) better isotropic measurements among the sensed components, and ii) sensing errors on u will be bounded as shown in equation 52.
Where εu=∥δu∥/∥u∥ is errors upper bound of the sensed results, εv=∥δv∥/∥v∥ is the data acquisition error bound for the transducers, and εC=∥δC∥/∥C∥ is the calibration errors for matrix C.
The expression in equation 51 for a conventional force sensor is similar to the wrench sensing equations in 17 and 50, where measurements τn are projected to form Ws. By basing the formulation of a performance index for a robot's force sensing on equation 50, equation 53 is obtained for determining error analysis.
εs=(JnxT)+ε∇E+(JnxT)+JnqTετ (53)
Where εs is the wrench sensing error, ε∇E is the modeling error of ∇En, and ετ is the measurements errors of τn. Since ε∇E can be calibrated, analyzing the feasibility of a robot's force sensing capabilities an important factor is (JnxT)+JnqTετ. The Singular Value Decomposition of (JnxT)+JnqT can be rewritten to provide the performance of the intrinsic wrench sensing in equation 54.
(JnxT)+JnqT=UnDnVnT (54)
Equation 54 includes Un and Vn, which are both unitary orthogonal matrices and Dn, which is a matrix of singular values. Focusing on the estimation error vector ετ, eigenvalues from Dn can determine how these errors from ετ will be bounded. This is because Un and Vn are unitary orthogonal matrices, so they do not change the norm of the estimation error vector ετ. Looking at the eigenvalues from Dn, these eigenvalues impact the measurement errors from τn, and can be useful in developing a performance index. From equation 54, the Frobenius norm is taken of (JnxT)+JnqT, which associates the task space with the joint space and quantifies an upper bound of the wrench sensing errors from force sensor measurement errors. A performance index χ is shown in equation 55. This performance index can be used to determine the force sensing capabilities of robot. The performance index χ provides a metric that quantifies the haptic or force sensing ability of robot. In evaluating a robot, a performance index value that is less than one indicates a robot where the force sensing abilities of the robot can be more precise than the resolution of the force sensor. Performance index values that are greater than one indicate the force sensing abilities of the robot can be less precise than the resolution of the force sensor. For example, for an index value of 2.5, the robot can magnify the error of the force sensors by 2.5 times.
χContinuum=∥(JnxT)+JnqT∥F (55)
In some embodiments, the Frobenius norm can be calculated by using
which shows the Frobenius norm of matrix A. In some embodiments, it may be desirable to calculate the performance index using one of the following formulations:
where di are the singular values from Dn.
The performance index χ developed above can provide an implementation guide for robots in which force sensing or haptics is planned to be implemented. The performance index provides designers with an algorithm in which to determine the haptic or force sensing resolution of a robot. A designer can use the performance index to select a force sensor that will provide the desired precision and accuracy based on the robot design selected and the force sensors selected. The evaluative ability of the performance index is further described below with the simulation of a continuum robot and a Stanford Manipulator robot.
A simulation can be useful in evaluating the performance of a robot because the matrix (JnxT)+JnqT can vary throughout the workspace. In some embodiments, the simulation can be the palpitation of the upper surface of a digitized life-size prostate. The performance index can be evaluated using predefined palpation points in which the palpation direction is the same as the surface normal at the palpation point. Since the palpation only specifies a motion of five degrees of freedom while the 3-segment continuum robot has six degrees of freedom, an optimization can be implemented in the simulation to minimize the performance index.
χStewart=∥J(Stewart)qxT∥F (56)
χStanford=∥(J(Stanford)xqT)+∥F (57)
Equation 56 can be further defined with J(Stewart)qx{dot over (x)}={dot over (q)} and equation 57 with {dot over (x)}=J(Stanford)xq{dot over (q)}. For the Stanford manipulator, the performance index varied from 16.2 to 31.5, in certain embodiments. This can mean for a Stanford manipulator that the force measurement errors at the joints can be magnified twenty times into the force sensing results.
The force sensing can be used in surgical and diagnostic applications that use force feedback in confined spaces, such as minimally invasive surgery of the throat and upper airways. The continuum robot can also be used in MRI diagnostic and surgical procedures, such as in neurosurgery, and can be used for such tasks as moving or stimulating parts of the brain. In some embodiments, the continuum robot can be used for other minimally invasive surgeries and procedures such as general micro-surgery, ear, nose and throat surgery, sinus surgery, other head and neck surgery, spinal surgery, micro-vascular surgery, bone surgery, tumor detection, tumor removal, diseased tissue detection, ultra-sound procedures, and drug delivery. Drug delivery by the robot can include delivery of medication, antibiotics, antibacterials, antiproliferatives, neuroprotectives, anti-inflamatories, growth factors, neutropic factors, antiangiogenics, thromobolytics, and genes.
The force sensing presented above can be used with many different robot configurations with slight modifications to the equations to account for the number of backbones, any tool on the end effector, and/or a robot using multiple independent sections. The continuum robot using multiple backbones in push-pull actuation can offer some advantages over the wire-actuated snake-like robots, such as backlash elimination, enhanced down-scalability, and improved payload.
Although the invention has been described and illustrated in the foregoing illustrative embodiments, it is understood that the present disclosure has been made only by way of example, and that numerous changes in the details of implementation of the invention can be made without departing from the spirit and scope of the invention, which is limited only by the claims that follow. Features of the disclosed embodiments can be combined and rearranged in various ways within the scope and spirit of the invention. While certain embodiments have been described here, other embodiments are within the scope of the appended claims. For example, the continuum robot may be covered with an elastic sheathing to ease insertion and removal of the device.
This application claims benefit under 35 U.S.C. §119(e) of U.S. Provisional Patent Application Nos. 61/023,805, entitled “Systems and Methods for Force Sensing using Continuum Robots,” filed Jan. 25, 2008, 61/042,032, entitled “Force Sensing of Continuum Robot,” filed Apr. 3, 2008, and 61/147,275, entitled “System and Method for Intrinsic Force Sensing and Its Performance Index of Multi-Segment Robots,” filed Jan. 26, 2009, the entireties of which are explicitly incorporated by reference herein.
This invention was made with government support under Engineering Research Center grant #EEC9731478 and NSF grant #IIS9801684 awarded by the National Science Foundation (NSF) and under grant #R21 EB004457-01 awarded by the National Institutes of Health (NIH). The government has certain rights in the invention.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US09/32068 | 1/26/2009 | WO | 00 | 8/26/2010 |
Number | Date | Country | |
---|---|---|---|
61023805 | Jan 2008 | US | |
61042032 | Apr 2008 | US |