The present invention relates to a continuum robot control device and a continuum robot control method that controls operations of a continuum robot having bendable portions that can bend by wires being driven, and a program that causes a computer to function as the continuum robot control device.
In recent years, there is increased interest in minimally invasive medical care to reduce the load on the patient and improve the quality of life (QOL) following treatment or tests. A representative example of minimally invasive medical care is surgery/testing using endoscopes. For example, laparoscopic surgery leaves a smaller surgical wound as compared with conventional abdominal surgery, so not only can the necessary hospitalization period following surgery be shortened, but there is also an advantage of better aesthetics as well.
Flexible endoscopes are known as endoscopes used in minimally invasive medical care. These endoscopes have the portion that is inserted configured of a bendable member, so deep portions of the body can be reached without compressing tissue even in bended organs such as the esophagus, large intestine, and lungs. It is further anticipated that using actuators and the like to drive the insertion portion, and control the attitude thereof to follow paths in the body will be able to further reduce the load on the patient. Accordingly, research and development of continuum robot mechanisms usable as a flexible endoscope and control methods thereof are being actively pursued.
Such continuum robots may employ an arrangement where actuators are disposed on a base by using driving force transmission mechanism such as wires or the like, for example, thereby reducing the diameter of the bendable portion. For example, PTL 1 describes a method regarding a continuum robot using wires for a driving force transmission mechanism, where controlling the driving amount of the wires matches the attitude of a bendable portion to a target posture. To do so, the driving amount of the wires is computed using kinematics in PTL 1, assuming the wires to be rigid in the longitudinal direction.
In order to realize a continuum robot that can reach narrow spaces in deep parts of the body, such as the lungs, the wires serving as the driving transmission mechanism preferably are long and thin. However, such wires deform greatly under tensile force occurring at the time of pushing and pulling. Accordingly, there has been a problem that performing control input of driving amount of the wires computed using kinematics, such as the technology described in the specification of PTL 1, results in error occurring between the target posture of the bendable portion and the actual curvature, and the risk of contact between the wall of the body cavity and the bendable portion increases.
The present invention provides an arrangement that realizes reduced risk of contact between the wall of the body cavity (path within the body, etc.) and the bendable portion.
A continuum robot control device according to the present invention is a continuum robot control device configured to control operations of a continuum robot having a bendable portion that is bent by driving at least part of a plurality of wires. The continuum robot control device includes a first computing device configured to compute a driving amount of the at least part of the plurality of wires, based on a target bending angle that is a target value for a bending angle of the bendable portion, a second computing device configured to compute a compensation amount for compensation of the driving amount, based on the target bending angle, and a displacement of one of the plurality of wires at the target bending angle, and a setting device configured to set a driving control amount of performing driving control of the at least part of the plurality of wires, based on the driving amount calculated at the first computing device and the compensation amount calculated at the second computing device.
Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
Embodiments of the present invention will be described below with reference to the drawings. Specifically, the embodiments of the present invention which will be described below illustrate examples of a control system of a continuum robot (also referred to as a continuum manipulator) having been applied to a flexible endoscope. Note that the flexible endoscope applied as an example of the continuum robot control system according to the embodiments of the present invention is not restricted to the medical field, and is applicable to other fields as long as for observing within a path into which a bendable portion is inserted and removed from (e.g., an industrial endoscope for observing within piping or the like).
First, a first embodiment of the present invention will be described.
(1-1. Modelling)
The elongated portion 111 is a component that passively bends under external force. The bendable portion 112 is a component that can be bent by driving part of the multiple wires 1a and 1b, i.e., the wire 1b (predetermined wire). The actuator 113 is a component that drives the wire 1b. The fixing portion 114 is a component that fixes the wire 1a.
In the following description the end portion of the components of the continuum robot 110 that is at the far side from a face of a base (e.g., from the face at the end of the elongated portion 111 on the side of the actuator 113 and fixing portion 114) will be referred to as “distal end”, and the end portion at the side closer to the face of the aforementioned base will be referred to as “proximal end”.
The bendable portion 112 has the multiple wires 1a and 1b extending through the face at the proximal end of the bendable portion 112, a first wire guide 1121 to which the multiple wires 1a and 1b are fixed at different positions, that guides the multiple wires 1a and 1b, second wire guides 1122 through 1125 that are disposed between the face at the proximal end described above and the first wire guide 1121, and that guide the multiple wires 1a and 1b.
Description will be made below using symbols defined as follows. θ1 represents the absolute bending angle at the distal end of the bendable portion, l1a1 and l1b1 represent the length of the wire 1a and the length of the wire 1b of the bendable portion, lp1b represents the drive control amount of the wire 1b of the bendable portion, and le1b represents the compensation amount of the wire 1b of the bendable portion. Δl1a and Δl1b represent the displacement of the wire 1a and the displacement of the wire 1b of the bendable portion, f1a and f1b represent the force acting on the distal end from the wire 1a and the force acting on the distal end from the wire 1b of the bendable portion, M1a1 and M1b1 represent the bending moment acting on the distal end from the wire 1a and the bending moment acting on the distal end from the wire 1b of the bendable portion, Rg represents the diameter of a circle of which the radius is the distance from the center of the bendable portion to the wire 1a and wire 1b, L10 is the total length of the wire 1a and wire 1b of the bendable portion, and l10 represents the wire length of the bendable portion when the bending angle is 0 degrees. E represents the Young's modulus of the wires, A represents the cross-sectional area of the wires, and I represents the moment of inertia of area of the wires. Note that for the drive control amount lp1b, the displacements Δl1a and Δl1b, and forces f1a and f1b, the distal end direction is the positive direction. The clockwise direction is the positive direction for moments M1a1 and M1b1. The same is true for the following embodiments as well.
A kinematic model and elastic wire driving model will be studied in the present embodiment under the following assumptions. Assumption 1 is that at the bendable portion, the wires deform uniformly over the curvature. Assumption 2 is that torsional deformation of the wires is not to be taken into consideration. Assumption 3 is that friction occurring between the wires and wire guides, and between the wires and the elongated portion, is not to be taken into consideration. Assumption 4 is that force and moment acting between the wire guides and wires is not to be taken into consideration. Assumption 5 is that of the forces acting between the wires and the distal end, only the component in the longitudinal direction of the wires is to be taken into consideration, and the component in the radial direction is not to be taken into consideration. Assumption 6 is that the displacement of the wires is proportionate to the tensile force acting on the wires. Assumption 7 is that the bending moment of the wires is proportionate to the deflection angle. Assumption 8 is that tensile rigidity and bending rigidity are equal among the wires. Assumption 9 is that Young's modulus, crosssectional area, and moment of inertia of area are equal among the wires.
First, a relational expression that represents a kinematic model will be derived, assuming that the wire 1a and wire 1b are rigid in the longitudinal direction. With the distance between the wire 1a and 1b represented by Rg as illustrated in
Rgθ1=l1b1−l1a1 (1)
Now, the right side of Expression (1) is equal to the driving amount of the wire 1b, so by computing using the kinematic model, the driving amount lk1b of the wire 1b can be expressed by the following Expression (2).
lk1b=Rgθ1 (2)
Next, a relational expression that represents an elastic wire driving model will be derived, taking into consideration displacement of the wires. The wire length l1a1 and the wire length l1b1 can be respectively expressed by the following Expressions (3) and (4), where l10 represents the wire length of the bendable portion 112 when the bending angle θ1 is 0 degrees, Δl1a represents the displacement of the wire 1a, Δl1b represents the displacement of the wire 1b, and lp1b represents the drive control amount of the wire 1b that is calculated using an elastic wire driving model.
l1a1=l10+Δl1a (3)
l1b1=l10+Δl1b+lp1b (4)
By substituting Expressions (2) through (4) in to Expression (1), the drive control amount lp1b of the wire 1b can be expressed as in the following Expression (5).
lp1b=lk1b+Δl1a−Δl1b (5)
Thus, it can be seen from Expression (5) that the drive control amount lp1b of the wire 1b is the sum of the differential of displacement of wires 1a and 1b and the amount of drive lk1b. Accordingly, error in the driving amount due to displacement of the wires can be compensated according to the following Expression (6) as compensation amount le1b.
le1b=Δl1a−Δl1b (6)
Next, the displacement Δl1a of the wire 1a and the displacement Δl1b of the wire 1b are derived from an expression of balance of the force and moment acting on the distal end 1126 of the bendable portion 112 and the wires. Longitudinal-direction force f1a and f1b from the wire 1a and wire 1b, and bending moments M1a1 and M1b1 on the Y1 axis, act on the distal end 1126 of the bendable portion 112, based on the above Assumptions 3, 4, and 5. Accordingly, the balance of force and moment at the distal end 1126 of the bendable portion 112 can be expressed by the following Expressions (7) and (8).
f1a+f1b=0 (7)
M1a1+M1b1−Rgf1a=0 (8)
Also, forces f1a and f1b, and moments M1a1 and M1b1 can be expressed by the following Expressions (9) and (10), from the above Assumptions 6, 7, and 8, using the displacements Δl1a and Δl1b and the bending angle θ1.
In Expressions (9) and (10), the constants ke and km respectively represent the tensile rigidity and bending rigidity of the wires. The constants ke and km can be expressed by the following Expressions (11) and (12) using the total length of the wire (wire length) L0, cross-sectional area A of the wires, moment of inertia of area I, and Young's modulus E, based on the above Assumption 9.
Also, the relation in the following Expression (13) can be established between the displacement Δl1b of the wire 1b and the displacement Δl1a of the wire 1a, according to Expressions (7) and (9) in the present embodiment.
Δl1b=−Δl1a (13)
Accordingly, the compensation amount le1b of the wire 1b can be expressed by the following Expression (14), from Expressions (6) and (13).
le1b=2Δl1a (14)
Substituting Expressions (9) and (10) into Expression (8), and further eliminating l1b1, Δl1b, and lp1b using Expressions (3), (4), (13), and (14), yields the polynomial for the displacement Δl1a of the wire 1a, shown in the following Expression (15).
A3 through A0 and B1 through B0 in Expression (15) are coefficients for the displacement Δl1a of the wire 1a where the bending angle θ1 is a variable, and are each expressed in the following Expressions (16) and (17).
[Math.4]
A3(θ1)=Rgke,
A2(θ1)=Rg2keθ1+2Rgkel10,
A1(θ1)={(Rg2kel10−2km)θ1+Rgkel102},
A0(θ1)=Rgkmθ12−2kml10θ1 (16)
B1(θ1)=R9θ1+2l10,
B0(θ1)=Rgl102θ1+l102 (17)
The numerator in Expression (15) is a cubic polynomial regarding the displacement Δl1a of the wire 1a, so solving this yields three different solutions. In the present embodiment, the solution out of these three solutions that has the smallest absolute value is the displacement Δl1a of the wire 1a.
(1-2. Control System)
The continuum robot control device 120 sets an drive control amount lp1b for driving control of the wire 1b, based on a target bending angle θ1ref that is a target value for the bending angle of the bendable portion 112, input from the input device 130, and outputs a drive command T1b based on the drive control amount lp1b to the continuum robot 110 (or more specifically, to the actuator 113).
The continuum robot control device 120 illustrated in
The kinematics computing unit 121 is a first computing device that computes the driving amount lk1b of the wire 1b, based on the target bending angle θ1ref of the bendable portion 112 that is input from the input device 130, and the distance between the wire 1b (predetermined wire) and wire 1a (other wire). Specifically, the kinematics computing unit 121 substitutes the target bending angle θ1ref into the bending angle θ1 in Expression (2) to calculate the driving amount lk1b of the wire 1b.
The compensation amount computing unit 122 is a second computing device that computes the compensation amount le1b of the wire 1b, based on the target bending angle θ1ref of the bendable portion 112 input from the input device 130, and the displacement Δl1a of the wire 1a. Specifically, the compensation amount computing unit 122 calculates the displacement Δl1a of the wire 1a using Expression (15), and calculates the compensation amount le1b of the wire 1b from the displacement Δl1a of the wire 1a using Expression (14).
The adding unit 123 adds the driving amount lk1b calculated by the kinematics computing unit 121 and the compensation amount le1b calculated by the compensation amount computing unit 122 to calculate the drive control amount lp1b for driving control of the wire 1b. That is to say, the adding unit 123 performs processing of compensating the driving amount lk1b calculated by the kinematics computing unit 121 by the compensation amount le1b calculated by the compensation amount computing unit 122 to calculate the drive control amount lp1b of the wire 1b. The position control unit 124 outputs a drive command τ1b based on the drive control amount lp1b to the continuum robot 110 (or more specifically, to the actuator 113). The adding unit 123 and position control unit 124 here make up a setting device that sets the drive control amount lp1b for driving control amount of the wire 1b in the present embodiment.
(1-3. Simulation)
Simulation is performed using the elastic wire driving model derived in the section 1-1 above, and the control system demonstrated in 1-2 above. The length l0 of the bendable portion 112 is 0.01 m in the present embodiment. Angle error of the bendable portion 112 can be reduced in an arrangement where the total length (wire length) L0 of the wire 1a and wire 1b is 1 m, and the control system according to the present embodiment is applied, which will be described below.
Specifically,
Next, description will be made to demonstrate that the control system according to the present embodiment illustrated in
Specifically, in the present embodiment where the length l0 of the bendable portion 112 is 0.01 m,
The continuum robot control device 120 according to the first embodiment is configured to compute the compensation amount le1b of the wire 1b at the compensation amount computing unit 122, based on the target bending angle θ1ref of the bendable portion 112 input from the input device 130, and the displacement Δl1a of the wire 1a. The adding unit 123 and the position control unit 124 perform processing of compensating the driving amount lk1b calculated at the kinematics computing unit 121 by the compensation amount le1b calculated by the compensation amount computing unit 122, thereby setting the drive control amount lp1b of the wire 1b.
According to this configuration, error in the driving amount lk1b due to wire deformation can be compensated. Thus, error between the target posture of the bendable portion 112 and the actual attitude can be reduced, and as a result, reduction in the risk of contact between a path in the body or the like and the bendable portion can be realized.
Although the compensation amount computing unit 122 derives the compensation amount lab using the displacement Δl1a of the wire 1a (other wire) in the present embodiment, an arrangement may be made where the compensation amount le1b is derived using the displacement Δlit, of the wire 1b (predetermined wire). Specifically, the following Expression (18) is derived where Δl1a in Expression (15) is replaced by −Δl1b using Expression (13), and Δl1b is calculated using Expression (18). Expression (19) where Δl1a in Expression (14) has been replaced by −Δl1b is then used to compute the compensation amount le1b.
Although only a method of computing compensation amount from the displacement of the other wire is illustrated in the following embodiments, the compensation amount can be computed using the displacement of the predetermined wire, in the same way as in the present embodiment.
Next, a second embodiment of the present invention will be described. The second embodiment is an arrangement of applying a continuum robot having multiple (specifically, two) bendable portions in the direction of inserting and removing to and from the path.
Expression (15) according to the first embodiment is a cubic polynomial regarding wire displacement, so an analytical solution can be easily found. However, the highest order of displacement in the polynomial corresponding to Expression (15) is the fifth order or higher for continuum robots having multiple bendable portions, so finding an analytical solution is difficult. Accordingly, the control system according to the second embodiment finds a numerical solution for displacement by iterative calculation. Accordingly, the control system according to the present invention can be applied to a continuum robot that has multiple bendable portions. In the iterative calculation, numerical values are sequentially substituted into multiple equations derived by the elastic wire driving model, and wire displacement is updated. Accordingly, iterative calculation can be performed by combining simple update rules even if the number of bendable portions increases.
In the following, first, a kinematics model and elastic wire driving model for a continuum robot will be derived. Thereafter, the control system according to the present embodiment where wire displacement is calculated using iterative calculation will be demonstrated, and the capability to improve control performance even in a continuum robot having multiple bendable portions will be described by way of numerical examples.
(2-1. Modelling)
Specifically, the continuum robot 210 illustrated in
The second bendable portion 212 has multiple wires 2a and 2b extending through a face at the proximal end of the second bendable portion 212 (the face at the distal end 1126 of the first bendable portion 112), a first wire guide 2121 to which the multiple wires 2a and 2b are fixed at different positions, that guides the multiple wires 2a and 2b, and second wire guides 2122 through 2125 that are disposed between the face at the proximal end described above and the first wire guide 2121, and that guide the multiple wires 2a and 2b.
Holes are provided to the wire guides 1121 through 1125 of the first bendable portion 112 on the outer side of the guide holes for the wire 1a and wire 1b, for example, for guiding the wire 2a and wire 2b. The wires are guided through the elongated portion 111 in the same way as with the continuum robot 110 in the first embodiment, with the wire 1a and wire 2a being connected to a fixing portion 214, and the wire 1b and wire 2b being connected to an actuator 213. In the example illustrated in
In the second embodiment described below, the following Assumptions 10 through 12 are added to the above-described Assumptions 1 through 9, and a kinematic model and elastic wire driving model in the continuum robot 210 according to the second embodiment are derived. Assumption 10 is that the distance between the guide hole for the wire 1a and the guide hole for the wire 2a is short, so the difference between each guide hole and the center axis of the bendable portion is Rg/2 for both. This is the same regarding the relation between the guide hole for the wire 1b and the guide hole for the wire 2b using the same method as with the first embodiment described above. Assumption 11 is that the length l2a1 of the wire 2a and the length l1a1 of the wire 1a are the same in the first bendable portion 112. This is the same regarding the length l2b1 of the wire 2b and the length l1b1 of the wire 1b as well. Assumption 12 is that only bending moment of the wires acts between the distal end 1126 of the first bendable portion 112 and the wire 2a and wire 2b, and that there is no friction or reactive force acting.
In the present embodiment, the relative bending angle tildeθ2 is expressed by the following Expression (20) using bending angles θ1 and θ2.
[Math.6]
=θ2−θ1 (20)
Also, the relative bending angle tildeθ2 is expressed by the following Expression (21) using the length l2a2 of the wire 2a and the length l2b2 of the wire 2b in the second bendable portion 212, in the same way as Expression (1) in the first embodiment.
[Math.7]
Rg=l2b2−l2a2 (21)
Accordingly, the driving amount lk2b of the second bendable portion 212 when assuming that the wires are rigid in the longitudinal direction can be expressed by the following Expression (22).
[Math.8]
lk2b=Rg (22)
Also, Expression (2) holds at the first bendable portion 112 of the continuum robot 210 according to the present embodiment, so the kinematic model can be expressed using Expressions (2) and (22).
Taking into consideration stretching and contraction of the wires, the length of the wire 2a and wire 2b at the first bendable portion 112 and second bendable portion 212 can be expressed by the following Expressions (23) and (24), using the displacement Δl2a of the wire 2a and the displacement Δl2b of the wire 2b, and the drive control amount lp2b of the wire 2b.
l2a1+l2a2=l20+Δl2a (23)
l2b1+l2b2=l20+Δl2b+lp2b (24)
Now, the length l1a1 and the length l2a1, and the length l1b1 and the length l2b1, are equal, from the above-described Assumption 11, so substituting Expression (3) into Expression (23) and substituting Expression (4) into Expression (24) enables the lengths l2a2 and l2b2 to be respectively expressed by the following Expressions (25) and (26).
l2a2=l20−l10+Δl2a−Δl1a (25)
l2b2=l20−l10+Δl2b−Δl1b+lp2b−lp1b (26)
Substituting Expressions (22), (25), and (26) into Expression (21), and further eliminating the drive control amount lp1b using Expression (5) yields the following Expression (27).
lp2b=lk2b+lk1b+(Δl2a−Δl2b) (27)
Accordingly, obtaining the compensation amount le2b of the wire 2b at the second bendable portion 212 by the following Expression (28) in the same way as in Expression (6) in the first embodiment enables the error in the driving amount due to stretching and contraction of the wires at the second bendable portion 212 to be compensated.
le2b=Δl2a−Δl2b (28)
Note that as described above, the kinematics of the first bendable portion 112 in the second embodiment are the same as in the first embodiment described above, so the drive control amount lp1b and compensation amount le1b of the wire 1b are expressed by Expressions (5) and (6) in the same way as in the first embodiment, respectively.
An expression of balance of the force and moment acting on the distal end 1126 of the first bendable portion 112 and the distal end 2126 of the second bendable portion 212 is derived, to obtain the wire displacement. The balance of moment on the Y3 axis that acts on the distal end 2126 of the second bendable portion 212 is expressed by the following Expression (29), in the same way as in Expression (8) in the first embodiment.
M2a2+M2b2−Rgf2a=0 (29)
Balance in the Z3 axial direction is expressed by the following Expression (30).
f2a−f2b=0
Also, moments M2a2 and M2b2, and forces f2a and f2b, can be expressed by the following Expressions (31) and (32), in the same way as in Expressions (10) and (9), respectively.
The following Expression (33) then holds, from Expressions (30) and (32).
Δl2b=−Δl2a (33)
Accordingly, substituting Expression (33) into Expression (28) yields the following Expression (34).
le2b=2Δl2a (34)
It can thus be seen from Expressions (14) and (34) that once the displacement Δl1a of the wire 1a and the displacement Δl2a of the wire 2a have been found, the compensation amount le1b of the wire 1a and the compensation amount le2b of the wire 2a can be computed. In addition to the bending moment of the wire 1a, wire 1b, wire 2a, and wire 2b at the first bendable portion 112, anti-moment of moments M2a2 and M2b2 act on the distal end 1126 of the bendable portion 112, based on the above-described Assumption 12. Accordingly, the balance of moment on the Y2 axis at the distal end 1126 of the first bendable portion 112 can be expressed by the following Expression (35).
(M1a1+M1b1+M2a1+M2b1)−(M2a2+M2b2)−Rgf1a=0 (35)
From the above-described Assumption 11, the wire length l1a1 and the wire length l2a1 are the same, and the wire length l1b1 and the wire length l2b1 are the same. Accordingly, moment M2a1 and moment M1a1 are equal, moment M2b1 and moment M1b1 are equal, and the following Expression (36) holds.
M1a1=M2a1,M1b1=M2b1 (36)
Accordingly, Expression (35) can be modified to the following Expression (37).
2(M1a1+M1b1)−(M2a2+M2b2)−Rgf1a=0 (37)
Only tension of the wire 1a and wire 1b act on the Z2 axial direction of the distal end 1126 of the first bendable portion 112, from the above-described Assumption 12, so the Expression of balance of force for the first bendable portion 112 is expressed by Expression (7), in the same way as in the first embodiment.
(2-2. Control System)
Performing modification of Expressions the same as with the first embodiment on the elastic wire driving model according to the second embodiment enables two in-dependent polynomials to be obtained, where the displacement Δl1a of the wire 1a and the displacement Δl2a of the wire 2a are variables. However, these are high-order polynomials of five or more orders regarding the displacement Δl1a and Δl2a, so finding an analytical solution is difficult. At this time, a numerical solution can be obtained by an optimization method such as the gradient method or the like, but deriving a high-order polynomial regarding the continuum robot 210 having a great number of bendable portions is not easy. Accordingly, in the second embodiment, numerical solutions are found for the displacement Δl1a of the wire 1a and the displacement Δl2a of the wire 2a by iterative calculation where simple expressions derived from the elastic wire driving model are combined.
In the second embodiment, the input device 230 inputs, in addition to the target bending angle θ1ref of the first bendable portion 112, a target bending angle (reference relative bending angle tildeθ2ref), to the continuum robot control device 220.
The continuum robot control device 220 sets drive control amount lp1b for driving control of the wire 1b, and an drive control amount lp2b for driving control of the wire 2b, based on a target bending angle θ1ref for the first bendable portion 112 and a target bending angle tildeθ2ref for the second bendable portion 212, input from the input device 230, and outputs a drive command T1b based on the drive control amount lp1b and a drive command T2b based on the drive control amount lp2b, to the continuum robot 210 (or more specifically, to the actuator 213).
The continuum robot control device 220 illustrated in
The kinematics computing unit 221 computes the driving amount lk1b of the wire 1b, based on the target bending angle θ1ref of the first bendable portion 112 input from the input device 230 and the distance between the wire 1b (predetermined wire) and wire 1a (other wire), and also computes the driving amount lk2b of the wire 2b, based on the target bending angle tildeθ2ref of the second bendable portion 212 input from the input device 230 and the distance between the wire 2b (predetermined wire) and wire 2a (other wire). Specifically, the kinematics computing unit 221 substitutes the target bending angle θ1ref into the bending angle θ1 in Expression (2) to calculate the driving amount lk1b of the wire 1b, and also substitutes the target bending angle tildeθ2ref into the bending angle tildeθ2 in Expression (22) to calculate the driving amount lk2b of the wire 2b.
The compensation amount computing unit 222 is a second computing device that computes the compensation amount le1b of the wire 1b, based on the target bending angle θ1ref of the first bendable portion 112 input from the input device 230, and the displacement Δl1a of the wire 1a, and that computes the compensation amount le2b of the wire 2b, based on the target bending angle tildeθ2ref of the second bendable portion 212 input from the input device 230, and the displacement Δl2a of the wire 2a. Specifically, the compensation amount computing unit 222 calculates the displacement Δl1a of the wire 1a using Expression (15), and calculates the compensation amount le1b of the wire 1b from the displacement Δl1a of the wire 1a using Expression (14). The compensation amount computing unit 222 also calculates the displacement Δl2a of the wire 2a in the same way, and calculates the compensation amount le2b of the wire 2b from the displacement Δl2a of the wire 2a using Expression (34).
The adding unit 223 adds the driving amount lk1b calculated by the kinematics computing unit 221 and the compensation amount le1b calculated by the compensation amount computing unit 222 to calculate the drive control amount lp1b for driving control of the wire 1b. The adding unit 223 also adds the driving amount lk2b calculated by the kinematics computing unit 221 and the compensation amount le2b calculated by the compensation amount computing unit 222 to calculate the drive control amount lp2b for driving control of the wire 2b. That is to say, the adding unit 223 performs processing of compensating the driving amount lk1b and lk2b calculated by the kinematics computing unit 221, respectively by the compensation amounts le1b and le2b calculated by the compensation amount computing unit 222 to calculate the drive control amount lp1b of the wire 1b and the drive control amount lp2b of the wire 2b. The position control unit 224 outputs a drive command T1b based on the drive control amount lp1b and a drive command T2b based on the drive control amount lp2b to the continuum robot 210 (or more specifically, to the actuator 213). In the present embodiment, the adding unit 223 and position control unit 224 make up a setting device that sets the drive control amount lp1b for driving control of the wire 1b and the drive control amount lp2b for driving control of the wire 2b.
In accordance with input of the target bending angles θ1ref and tildeθ2ref, and first displacement candidate values Δl1a_prev and Δl2a_prev for the displacements of the wires 1a and 2b the displacement updating unit 2221 updates to second displacement candidate values Δl1a_next and Δl2a_next. At this time, the displacement updating unit 2221 updates the second displacement candidate values Δl1a_next and Δl2a_next of the displacement of the wires 1a and 2b using the elastic wire driving model described above.
The convergence determining unit 2222 determines whether or not the second displacement candidate values Δl1a_next and Δl2a_next have converged at a constant value. In a case of having determined that the second displacement candidate values Δl1a_next and Δl2a_next have converged at a constant value, the convergence determining unit 2222 causes the output switching unit 2223 to output the second displacement candidate values Δl1a_next and Δl2a_next respectively as displacement Δl1a and displacement Δl2a to the amplifying unit 2224. In a case of having determined that the second displacement candidate values Δl1a_next and Δl2a_next have not converged at a constant value, the convergence determining unit 2222 causes the output switching unit 2223 to output the second displacement candidate values Δl1a_next and Δl2a_next as first displacement candidate values Δl1a_prev and Δl2a_prev to the displacement updating unit 2221, and iterative calculation is performed again. The convergence determining unit 2222 and output switching unit 2223 according to the present embodiment make up a configuration corresponding to an output processing unit according to the present invention.
The amplifying unit 2224 is a compensation amount calculating unit that uses the second displacement candidate values Δl1a_next and Δl2a_next as displacement Δl1a and displacement Δl2a respectively, to calculate the compensation amounts le1b and le2b. The compensation amounts le1b and le2b are each double the displacement Δl1a and displacement Δl1b respectively in the present embodiment, as illustrated in in Expressions (14) and (34). Accordingly, the amplifying unit 2224 multiples the displacement Δl1a by 2 with regard to the first bendable portion 112 and calculates the compensation amount le1b, and multiples the displacement Δl2a by 2 with regard to the second bendable portion 212 and calculates the compensation amount le2b.
Note that an arrangement may be made where, in a case that the second displacement candidate values Δl1a_next and Δl2a_next do not converge at a constant value within a predetermined iteration count, the convergence determining unit 2222 causes the output switching unit 2223 to output the last second displacement candidate values Δl1a_next and Δl2a_next to have converged, respectively as displacement Δl1a and displacement Δl2a to the amplifying unit 2224. This can prevent the compensation amounts calculated at the amplifying unit 2224 from changing discontinuously. Although the initial values of the first displacement candidate values Δl1a_prev and Δl2a_prev in the iterative calculation in the present embodiment are 0, the displacements that converged last may be used as the initial values.
The wire length computing unit 22211 calculates the wire lengths l1a1, l1b1, l2a2, and l2b2, for each of the multiple wires 1a and 1b and wires 2a and 2b at the first bendable portion 112 and second bendable portion 212, in accordance with the input of the target bending angles θ1ref and tildeθ2ref and first displacement candidate values Δl1a_prev and Δl2a_prev. Specifically, the wire length computing unit 22211 calculates the wire lengths l1a1, l1b1, l2a2, and l2b2, using the following Expressions (38) through (41), where Expressions (1) through (5) and Expressions (21) through (27) have been modified.
[Math.10]
l1a1=l10+Δl1a_prev (38)
l1b1=l10+Δl1a_prev+Rgθ1ref (39)
l2a2=l20−l10+Δl2a_prev−Δl1a_prev (40)
l2b2=l20−l10+Δl2a_prev−Δl1a_prev+Rg{tilde over (θ)}2ref (41)
The moment computing unit 22212 calculates bending moments M1a1, M1b1, M2a2, and M2b2, for each of the multiple wires 1a and 1b and wires 2a and 2b, in accordance with input of the target bending angles θ1ref and tildeθ2ref and the wire lengths l1a1, l1b1, l2a2, and l2b2. Specifically, the moment computing unit 22212 calculates the bending moments M1a1, M1b1, M2a2, and M2b2 using Expressions (10) and (36).
The force computing unit 22213 calculates forces f1a and f2a representing the tensile force on the wires 1a and 2a (other wires), in accordance with the input of the bending moments M1a1 M1b1 M2a2, and M2b2 of the multiple wires 1a and 1b and wires 2a and 2b. Specifically, the force computing unit 22213 calculates the forces f1a and f2a using Expressions (29) and (37).
The displacement computing unit 22214 computes the second displacement candidate values Δl1a_next and Δl2a_next in accordance with input of the forces f1a and f2a, and updates displacement candidate values. Specifically, the displacement computing unit 22214 uses Expressions (9) and (32) to compute the second displacement candidate values Δl1a_next and Δl2a_next, and updates the displacement candidate values. Accordingly, the second displacement candidate values Δl1a_next and Δl2a_next after updating in the present embodiment are represented by the following Expressions (42) and (43), respectively.
Note that Expressions (42) and (43) are illustrated to describe update rules, and that the displacement updating unit 2221 updates the displacement by sequentially substituting numerical values into multiple equations derived from the elastic wire driving model, as described above. Although the control system illustrated in
Also, while the relative bending angle tildeθ2ref is used in the present embodiment as the target bending angle of the second bendable portion 212, the absolute bending angle may be used as the target bending angle, since the absolute angle and relative angle are mutually convertible, as illustrated in Expression (20).
(2-3. Simulation)
The control system according to the second embodiment, illustrated in
Specifically,
Specifically,
The dotted lines in
It can be seen from
In the continuum robot control device 220 according to the second embodiment, the compensation amount computing unit 222 computes the respective compensation amounts le1b and le2b for the wires 1b and 2b, based on the target bending angles θ1ref and tildeθ2ref that have been input from the input device 230, and the displacements Δl1a and Δl2a of the wires 1a and 2a, for each bendable portion of the multiple bendable portions 112 and 212. The adding unit 223 and position control unit 224 perform processing to compensate the respective driving amounts lk1b and lk2b calculated at the kinematics computing unit 221 by the compensation amounts le1b and le2b calculated at the compensation amount computing unit 222, thereby setting the drive control amounts lp1b and lp2b of the wires 1b and 2b.
According to this configuration, error in the driving amounts lk1b and lk2b due to wire deformation can be compensated for in the continuum robot 210 having multiple bendable portions, as well. Accordingly, error between the reference position of the multiple bendable portions and the actual attitude can be reduced, and as a result, reduction in the risk of contact between a path in the body or the like and the bendable portion can be realized.
Note that the driving amount of each wire can be compensated for in the present embodiment using the compensation amount calculated based on the displacement of any one wire of the multiple wires relating to the same bendable portion, in the same way as in the first embodiment.
Next, a third embodiment of the present invention will be described. The third embodiment is an arrangement of applying a continuum robot having a bendable portion that is bendable three-dimensionally. Specifically, in the continuum robot according to the third embodiment, one bendable portion is bent by controlling driving of two wires, and the control system computes compensation amounts taking into consideration the displacement of these two wires, by iterative calculation similar to that in the second embodiment. Accordingly, the control capabilities of the continuum robot having a bendable portion that is bendable three-dimensionally can be improved.
(3-1. Modelling)
The bendable portion 312 has multiple wires 1a, 1b, and 1c extending through a face at the proximal end of the bendable portion 312 (the face where the center position is position 3127), a first wire guide 3121 to which the multiple wires 1a, 1b, and 1c are fixed at different positions, that guides the multiple wires 1a, 1b, and 1c, and second wire guides 3122 through 3125 that are disposed between the face at the proximal end described above and the first wire guide 3121, and that guide the multiple wires 1a, 1b, and 1c.
The wires are guided through the elongated portion 111 in the same way as with the continuum robot 110 according to the first embodiment, with the wire 1a being connected to a fixing portion 311a, the wire 1b being connected to an actuator 311b, and the wire 1c being connected to an actuator 311c. In the present embodiment, the wire 1a, wire 1b, and wire 1c are respectively laid out at the apices of an equilateral triangle of which the center axis of the bendable portion 312 is the center of gravity. Setting the drive control amount of the wire 1b and wire 1c enables the bendable portion 312 to be bent within an optional plane. For example, in a case where the wire 1b and wire 1c are driven in the same direction by the same amount, the bendable portion 312 bends within the X-Z plane in
When the bending angle is θ1 and the rotation angle is ζ1, and the wire 1a and wire 1b are projected onto the W1-Z1 plane, a distance Rba between the wire 1a and wire 1b on the W1-Z1 plane can be expressed by the following Expression (44).
Accordingly, the following Expression (45) holds between the bending angle θ1 and lengths l1a1 and l1b1, in the same way as in Expression (1) according to the first embodiment.
In the same way, the distance Rca between the wire 1a and wire 1c on the W1-Z1 plane can be expressed by the following Expression (46).
Accordingly, the following Expression (47) holds between the bending angle θ1 and lengths l1a1 and l1c1.
From Expressions (45) and (47), the driving amount lk1b of the wire 1b and the driving amount lk1c of the wire 1c when assuming the wires to be rigid can be expressed by the following Expressions (48) and (49).
Next, an elastic wire driving model is derived taking into consideration stretching and contraction of the wires. The lengths l1a1 and l1b1 in the continuum robot 310 according to the present embodiment, and the drive control amount lp1b of the wire 1b are expressed by Expressions (3) through (5), in the same way as in the first embodiment. The wire length l1c1 can be expressed by the following Expression (50) using the drive control amount lp1c of the wire 1c, in the same way as with the wire length l1b1.
l1c1=l10+Δl1c+lp1c (50)
Accordingly, the drive control amount lp1c of the wire 1c is expressed by the following Expression (51).
lp1c=lk1c+Δl1a−Δl1c (51)
It can be seen from this Expression (51) that the driving amount can be computed taking into consideration stretching and contraction of the wires in the continuum robot 310 according to the present embodiment, by adding the driving amount derived from the kinematic model to difference in wire displacements. Accordingly, a compensation amount le1c of the wire 1c can be expressed by the following Expression (52).
le1c=Δl1a−Δl1c (52)
An expression of balance of the force and moment acting on the distal end 3126 of the bendable portion 312 is derived to obtain the displacement of the wires. The balance of force can be expressed by the following Expression (53) using the forces f1a, f1b, and f1c, since the distal end 3126 of the bendable portion 312 is under force in the Z 2 axis direction from the wire 1a, wire 1b, and wire 1c.
f1a+f1b+f1c=0 (53)
Bending moments M1a1, M1b1, and M1c1 on the Y2 axis from the wire 1a, wire 1b, and wire 1c, act on the distal end 3126 of the bendable portion 312, and bending moment is balanced with the moment generated by the forces f1a, f1b, and f1c received from the wires. Accordingly, the balance of moments on the Y2 axis can be expressed by the following Expression (54).
Moment due to the forces f1a, f1b, and f1c is generated on the X2 axis, so the balance Expression can be expressed by the following Expression (55).
Note that the force and moment of the wire 1c can be expressed by the following Expressions (56) and (57) respectively, in the same way as with the wire 1a and the wire 1b.
(3-2. Control System)
In the third embodiment, numerical solutions of the displacements Δl1a, Δl1b, and Δl1a of the wires are obtained using iterative calculation, in the same way as with the above-described second embodiment.
The continuum robot control device 320 sets an drive control amount lp1b for diving control of the wire 1b and an drive control amount lp1c for diving control of the wire 1c, based on the target bending angle θ1ref of the bendable portion 312 input from the input device 330, and target rotation angle ζ1ref of the bendable portion 312 input from the input device 340, and outputs a driving command τ1b based on the drive control amount lp1b and a driving command τ1c based on the drive control amount lp1c to the continuum robot 310 (or more specifically, the actuators 311b and 311c). That is to say, the third embodiment differs from the above-described first embodiment with regard to the point that, in addition to input of the target bending angle θ1ref from the input device 330, input of the target rotation angle ζ1ref from the input device 340 is also performed.
The continuum robot control device 320 illustrated in
The kinematics computing unit 321 calculates the driving amount lk1b and lk1c for each of the wires 1b and 1c, based on the target bending angle θ1ref of the bendable portion 312 input from the input device 330, the target rotation angle ζ1ref of the bendable portion 312 input from the input device 340, and the distance between the wires 1b and 1c (predetermined wires) and wire 1a (other wire). Specifically, the kinematics computing unit 321 calculates the driving amount lk1b and lk1c based on the kinematics model, using Expressions (48) and (49).
The compensation amount computing unit 322 computes the compensation amounts le1b and le1c for each of the wires 1b and 1c, based on the target bending angle θ1ref of the bendable portion 312 input from the input device 330, the target rotation angle ζ1ref of the bendable portion 312 input from the input device 340, and the displacements Δl1a, Δl1b, and Δl1c of the wires. Specifically, the compensation amount computing unit 322 first obtains the displacements Δl1a, Δl1b, and Δl1c of the wires by iterative calculation, and then calculates the compensation amounts le1b and le1c, which are the differences of the displacements.
The adding unit 323 adds the driving amounts lk1b and lk1c calculated by the kinematics computing unit 321 and the compensation amounts le1b and le1c calculated by the compensation amount computing unit 322, for each of the wires 1b and 1c, thereby computing the drive control amounts lp1b and lp1c. That is to say, the adding unit 323 performs processing of compensating the driving amounts Lk1b and lk1c calculated by the kinematics computing unit 321 by the compensation amounts le1b and le1c calculated by the compensation amount computing unit 322, to calculate the drive control amount lp1b of the wire 1b and the drive control amount lp1c of the wire 1c. The position control unit 324 outputs a drive command τ1b based on the drive control amount lp1b and a drive command τ1c based on the drive control amount lp1c to the continuum robot 310 (or more specifically, to the actuators 311b and 311c). In the present embodiment, the adding unit 323 and position control unit 324 make up a setting device that sets the drive control amount lp1b of the wire 1b and the drive control amount lp1c of the wire 1c.
In accordance with input of the target bending angle θ1ref and target rotation angle ζ1ref, and first displacement candidate values Δl1a_prev, Δl1b_prev, and Δl1c_prev of the displacements of the wires 1a, 1b, and 1c, the displacement updating unit 3221 updates to second displacement candidate values Δl1a_next, Δl1b_next, and Δl1c_next. At this time, the displacement updating unit 3221 updates the second displacement candidate values Δl1a_next, Δl1b_next, and Δl1c_next of the displacement of the wires 1a, 1b, and 1c, using the elastic wire driving model described above.
The convergence determining unit 3222 determines whether or not the second displacement candidate values Δl1a_next, Δl1b_next, and Δl1b_next have converged at a constant value. In a case of having determined that the second displacement candidate values Δl1a_next, Δl1b_next, and Δl1c_next have converged at a constant value, the convergence determining unit 3222 causes the output switching unit 3223 to output the second displacement candidate values Δl1a_next, Δl1b_next, and Δl1c_next as displacements Δl1a, Δl1b, and Δl1c, to the subtracting unit 3224. In a case of having determined that the second displacement candidate values Δl1a_next, Δl1b_next, and Δl1c_next have not converged at a constant value, the convergence determining unit 3222 causes the output switching unit 3223 to output the second displacement candidate values Δl1a_next, Δl1b_next, and Δl1c_next as first displacement candidate values Δl1a_prev, Δl1b_prev, and Δl1c_prev to the displacement updating unit 3221, and iterative calculation is performed again. The convergence determining unit 3222 and output switching unit 3223 according to the present embodiment make up a configuration corresponding to an output processing unit according to the present invention.
The subtracting unit 3224 is a compensation amount calculating unit that uses the second displacement candidate values Δl1a_next, Δl1b_next, and Δl1c_next as displacements Δl1a, Δl1b, and Δl1c, respectively, to calculate the compensation amounts le1b and le1c, respectively, from Expression (52) and so forth.
Note that an arrangement may be made where, in a case that the second displacement candidate values Δl1a_next, Δl1b_next, and Δl1c_next do not converge at a constant value within a predetermined iteration count, the convergence determining unit 3222 causes the output switching unit 3223 to output the last second displacement candidate values Δl1a_next, Δl1b_next, and Δl1c_next to have converged, as displacements Δl1a, Δl1b, and Δl1c, respectively, to the subtracting unit 3224. This can prevent the compensation amounts calculated at the subtracting unit 3224 from changing discontinuously. Although the initial values of the first displacement candidate values Δl1a_prev, Δl1b_prev, and Δl1c_prev in the iterative calculation according to the present embodiment are 0, the displacements that converged last may be used as the initial values.
The wire length computing unit 32211 calculates the wire lengths l1a1, l1b1, and l1c1, for each of the multiple wires 1a, 1b, and 1c at the bendable portion 312, in accordance with the input of the target bending angle θ1ref and the first displacement candidate values Δl1a_prev, Δl1b_prev and Δl1c_prev. Specifically, the wire length computing unit 32211 calculates the wire lengths l1a1, l1b1, and l1c1, using the following Expressions (58) through (60), where Expressions (3), (5), and (48) through (51) have been modified.
The moment computing unit 32212 calculates bending moments M1a1, M1b1, and M1c1, for each of the multiple wires 1a, 1b, and 1c, in accordance with the target bending angle θ1ref, target rotation angle and ζ1ref, the wire lengths l1a1, l1b1, and l1c1 of the wires. Specifically, the moment computing unit 32212 calculates the bending moments M1a1, M1b1, and M1c1 using Expressions (10) and (57).
The force computing unit 32213 calculates forces f1a, f1b, and f1c representing the tensile force on the wires 1a, 1b, and 1c, in accordance with the input of the bending moments M1a1, M1b1, and M1c1, of the multiple wires 1a, 1b, and 1c. Specifically, the force computing unit 32213 calculates the forces f1a, f1b, and f1c using Expressions (53) through (55).
The displacement computing unit 32214 computes the second displacement candidate values Δl1a_next, Δl1b_next, and Δl1c_next in accordance with the forces f1a, f1b, and f1c of the multiple wires 1a, 1b, and 1c, and updates displacement candidate values. Specifically, the displacement computing unit 32214 uses Expressions (9) and (56) to compute the second displacement candidate values Δl1a_next, Δl1b_next, and Δl1c_next, and updates the displacement candidate values.
(3-3. Simulation)
The control system according to the third embodiment, illustrated in
Specifically,
Specifically,
In the continuum robot control device 320 according to the third embodiment, the compensation amount computing unit 322 computes the respective compensation amounts le1b and le1c for the wires 1b and 1c, based on the target bending angle θ1ref of the bendable portion 312 input from the input device 330, and the target rotation angle ζ1ref of the bendable portion 312 input from the input device 340, for each wire 1b and 1c (predetermined wires) of the bendable portion 312. The adding unit 323 and position control unit 324 perform processing to compensate the respective driving amounts lk1b and lk1c calculated at the kinematics computing unit 321, by the compensation amounts le1b and le1c calculated at the compensation amount computing unit 322, thereby setting the drive control amounts lp1b and lp1c of the wires 1b and 1c. According to this configuration, error in the driving amounts lk1b and lk1c due to wire deformation can be compensated for in the continuum robot 310 having the bendable portion 312 that is three-dimensionally bendable, as well. Accordingly, error between the reference position of the bendable portion 312 and the actual attitude can be reduced, and as a result, reduction in the risk of contact between a path in the body or the like and the bendable portion can be realized.
The driving amount of each wire can be compensated for in the present embodiment using the compensation amount calculated based on the displacement of any one wire of the multiple wires relating to the same bendable portion, in the same way as in the first embodiment.
Next, a fourth embodiment of the present invention will be described. The fourth embodiment is an arrangement of applying a continuum robot having multiple bendable portions that are bendable three-dimensionally, by combining the control system according to the second embodiment and the control system according to the third embodiment. Specifically, the control system according to the fourth embodiment computes displacement of the wires that drive the bendable portions, using iterative calculation. When carrying out iterative calculation, the elastic wire driving model that takes into consideration coupling of force and moment acting among the bendable portions is used in the same way as in the second embodiment. Further, the control system according to the fourth embodiment obtains the driving amount from the target bending angle and target rotation angle.
(4-1. Modelling)
The bendable portion 412 is configured having multiple (specifically, N) bendable portions 312 illustrated in
(4-2. Control System)
The kinematics computing unit 421 accepts target bending angle θnref and target rotation angle ζnref (where n=1, 2, . . . , N) from the input device 430 and input device 440 respectively, for the first bendable portion 312-1 through the N'th bendable portion 312-N, and calculates the driving amount lknb and lknc for each bendable portion using the kinematic model in the same way as the third embodiment.
The compensation amount computing unit 422 accepts input of target bending angle θnref and target rotation angle ζnref (where n=1, 2, . . . , N) from the input device 430 and input device 440 respectively, for the first bendable portion 312-1 through the N'th bendable portion 312-N, and calculates the compensation amounts lenb and lenc of the bendable portions. At this time, the compensation amount computing unit 422 calculates the displacements Δlna, Δlnb, and Δlnc using the elastic wire driving model that takes into consideration coupling of force and moment acting among the bendable portions, and iterative calculation, in the same way as in the second embodiment, and calculates the compensation amounts lenb and lenc from these displacements.
The adding unit 423 adds the driving amounts lknb and lknc calculated by the kinematics computing unit 421 and the compensation amounts lenb and lenc calculated by the compensation amount computing unit 422, thereby computing the drive control amounts lpnb and lpnc. That is to say, the adding unit 423 performs processing of compensating the driving amounts lknb and lknc calculated by the kinematics computing unit 421 respectively by the compensation amounts lcnb and lenc calculated by the compensation amount computing unit 422, to calculate the drive control amount lpnb of the wire nb and the drive control amount lpnc of the wire nc. The position control unit 424 outputs a drive command τnb based on the drive control amount lpnb and a drive command τnc based on the drive control amount lpnc to the continuum robot 410 (or more specifically, to the actuators 411b and 411c). In the present embodiment, the adding unit 423 and position control unit 424 make up a setting device that sets the drive control amount lpnb for driving control of the wire nb and the drive control amount lpnc for driving control of the wire nc.
According to the fourth embodiment, error in the driving amounts lknb and lknc due to wire deformation can be compensated for in the continuum robot 410 having the multiple bendable portions 412 that are three-dimensionally bendable, as well. Accordingly, error between the target posture of the bendable portion 412 and the actual attitude can be reduced, and as a result, reduction in the risk of contact between a path in the body or the like and the bendable portion can be realized.
The driving amount of each wire can be compensated for in the present embodiment using the compensation amount calculated based on the displacement of any one wire of the multiple wires relating to the same bendable portion, in the same way as in the first embodiment.
Next, a fifth embodiment of the present invention will be described. The above-described first through fourth embodiments have been arrangements presenting a control system that obtains driving amount control, taking into consideration stretching and contraction of the wires, when a certain reference angle is provided. The fifth embodiment is an arrangement where, when a reference path in which a reference angle (e.g., target bending angle) changes in a manner dependent on the amount of movement of the distal end of a bendable portion in the longitudinal direction, the attitude of the bendable portion is automatically controlled to follow the path.
The continuum robots according to the above-described first through fourth embodiments are dependent on the amount of wire driving for the position of the distal end of the bendable portion, so the reference angle when following a reference path will be dependent on the amount of wire driving. At this time, the amount of wire driving cannot be directly obtained using the control systems in the above-described first through fourth embodiments. The reason is that the control systems in the above-described first through fourth embodiments need a reference angle to be set, to obtain the driving amount. Accordingly, the control system according to the fifth embodiment obtains the driving control amount by performing iterative calculation, where updating is repeated until the reference angle and amount of wire driving converge to a constant value. Specifically, in the fifth embodiment, a candidate value for reference angle is first input, and a candidate value for the amount of wire driving is computed using the control system according to the first embodiment. Next, the distal end position corresponding to the candidate value for the driving amount is computed, and the candidate value for the reference angle is updated based on the distal end position and reference path. This computation is repeated until the candidate value for the driving amount converges.
(5-1. Modelling)
The continuum robot according to the fifth embodiment is the continuum robot 110 illustrated in
(5-2. Control System)
The control system according to the fifth embodiment finds a drive control amount lp1b where the bending angle θ1 of the distal end 1126 matches the target bending angle path Θ(zt). At this time, the drive control amount lp1b is a function of the target bending angle path Θ(zt), so the drive control amount lp1b cannot be obtained with the bending angle θ1ref as a constant, which has been described in the first embodiment. Accordingly, the drive control amount lp1b is obtained by iterative calculation in the fifth embodiment. First, a method for computing the movement amount zt of the distal end 1126 of the bendable portion 112 will be described.
Accordingly, the movement amount zt of the distal end 1126 of the bendable portion 112 can be expressed by the following Expression (62) using the movement amount zb of the linear guide 512.
Next, the functional configuration of the continuum robot control system 500 according to the fifth embodiment will be described.
The continuum robot control device 520 is configured including a distal end position computing unit 521, a reference angle updating unit 522, a kinematics computing unit 523, a compensation amount computing unit 524, an adding unit 525, a convergence determining unit 526, an output switching unit 527, and a position control unit 528.
The distal end position computing unit 521 is a third computing device that computes the movement amount zt of the distal end 1126 of the bendable portion 112 in accordance with the movement amount (movement amount of the continuum robot 110 in the longitudinal direction) zb of the linear guide 512, and input of a first driving control amount candidate value lp1b_prev in the driving control amount of the wire 1b (predetermined wire). Specifically, the distal end position computing unit 521 calculates the movement amount zt of the distal end 1126 of the bendable portion 112 using Expression (62).
The reference angle updating unit 522 updates the target bending angle θ1ref corresponding to the movement amount zt, in accordance with the movement amount zt of the distal end 1126 from the distal end position computing unit 521 and input of the target bending angle path Θ(zt) from the higher-order device (omitted from illustration) described above.
The kinematics computing unit 523 calculates the driving amount lk1b of the wire 1b, in accordance with input of the target bending angle θ1ref from the reference angle updating unit 522, in the same way as in the first embodiment. Further, the compensation amount computing unit 524 calculates the compensation amount le1b of the wire 1b, in accordance with input of the target bending angle θ1ref from the reference angle updating unit 522, in the same way as in the first embodiment.
The adding unit 525 adds the driving amount lk1b calculated at the kinematics computing unit 523 and the compensation amount le1b calculated at the compensation amount computing unit 524, and calculates a second driving control amount candidate value lp1b_next for the driving control amount of the wire 1b. The convergence determining unit 526 determines whether or not the second driving control amount candidate value lp1b_next has converged to a constant value. In a case of having determined that the second driving control amount candidate value lp1b_next has converged to a constant value, the convergence determining unit 526 causes the output switching unit 527 to output the second driving control amount candidate value lp1b_next to the position control unit 528 as the drive control amount lp1b. In a case of having determined that the second driving control amount candidate value lp1b_next has not converged to a constant value, the convergence determining unit 526 causes the output switching unit 527 to output the second driving control amount candidate value lp1b_next to the distal end position computing unit 521 as the first driving control amount candidate value lp1b_prev, and iterative calculation is performed again. The position control unit 528 outputs a driving command τ1b based on the drive control amount lp1b, to the continuum robot 110 (or more specifically, the actuator 113), in the same way as in the first embodiment. In the present embodiment, the adding unit 525, convergence determining unit 526, output switching unit 527, and position control unit 528 make up a setting device that sets the drive control amount lp1b for diving control of the wire 1b.
Note that while a control system of performing control with regard to the continuum robot 110 having one bendable portion 112 has been described in the present embodiment, this is similarly applicable to the continuum robot 410 having multiple bendable portions 412 that are three-dimensionally bendable, for example.
Next, a sixth embodiment of the present invention will be described. Description of items that are the same as in the above-described first through fifth embodiments will be omitted from the following description of the sixth embodiment, and description will be made regarding items that are different from the above-described first through fifth embodiments.
The sixth embodiment is an arrangement where a continuum robot of which the rigidity of the bendable portion changes by a jacket or by insertion of surgical instruments is applied. Specifically, the continuum robot according to the sixth embodiment is suitable for use as a flexible endoscope described in the Background Art section. This type of continuum robot preferably has the surface thereof covered by a smooth jacket so that body tissue is not damaged even if the continuum robot comes into contact with the tissue, for example. There is need to perform bending driving of the jacket along with the bendable portion, so there is need to drive the wires with a larger tensile force as compared to a continuum robot that has no jacket. Some flexible endoscopes have a hollow structure for insertion of surgical instruments such as forceps of the like, used for bioptic sampling of diseased tissue, or the like. In order to drive the bendable portion of the continuum robot in a state where a surgical instrument is inserted, the surgical instrument has to be bent as well, so there is need to drive the wires with a larger tensile force as compared to when no surgical instrument is inserted. Accordingly, the rigidity of the bendable portion differs depending on the presence or absence of jacket and surgical instrument. In light of this point, the control systems in the above-described first through fifth embodiments only take into consideration the rigidity of the wires when obtaining the displacement of the wires, so angle error cannot be accurately compensated for if the rigidity of the bendable portion changes depending on the presence or absence of jacket and surgical instrument. Accordingly, the sixth embodiment illustrates an example of a control system where the rigidity of the bendable portion can be specified as a variable.
(6-1. Modelling)
The continuum robot 610 according to the present embodiment is configured including an elongated portion 611 and a bendable portion 612, as illustrated in
The proximal end of the jacket 615 is fixed to the distal end of the elongated portion 611, so when bending driving of the bendable portion 612 is performed, the outer side of the jacket 615 stretches, and the inner side of the jacket 615 is compressed, as illustrated in
In the present embodiment, the following Assumptions 13 and 14 are set forth, and an elastic wire driving model is derived that takes into consideration the bending rigidity of the jacket 615 and surgical instrument 616. Assumption 13 is that the magnitude of bending moment of the jacket 615 and surgical instrument 616 is proportionate to the bending angle of the bendable portion 612. Assumption 14 is that the rotation axis of bending moment of the jacket 615 and surgical instrument 616 is parallel to the Y2 axis.
Based on Assumption 13, the balance of moment on the Y2 axis at the distal end of the bendable portion 612 can be expressed by the following Expression (63) in which items representing the bending moment of the jacket 615 and surgical instrument 616 have been added to Expression (54), in which kmc represents the bending rigidity of the jacket 615 and kmt represents the bending rigidity of the surgical instrument 616.
Based on Assumption 14, the balance of moment on the X2 axis is not affected by the rigidity of the jacket 615 and surgical instrument 616, so Expression (55) is appropriate for the continuum robot 610 according to the present embodiment as well. The bending rigidity kmc of the jacket 615 and the bending rigidity kmt of the surgical instrument 616 may be identified through experimentation, or may be analytically derived.
(6-2. Control System)
In the sixth embodiment, the displacement of the wires is derived taking into consideration the rigidity of the jacket 615 and surgical instrument 616, by performing iterative calculation the same as in the third embodiment, using Expression (63).
The continuum robot control system 600 illustrated in
The compensation amount computing unit 622 computes the compensation amounts le1b and le1c for each of the wires 1b and 1c, based on the target bending angle θ1ref of the bendable portion 612 input from the input device 630, the target rotation angle ζ1ref of the bendable portion 612 input from the input device 640, and the bending rigidity kmc of the jacket 615 and the bending rigidity kmt of the surgical instrument 616 input from the input device 650. Although the bending rigidity kmc of the jacket 615 and the bending rigidity kmt of the surgical instrument 616 is assumed to be constant in the present embodiment, an arrangement may be made where, when the rigidity has non-linearity dependent on bending angle or rotation angle, rigidities corresponding to various bending angles and rotation angles are stored in a storage device before the procedure, and rigidities corresponding to target bending angles and target rotation angles are read out during the procedure. Alternatively, the operator may directly input the bending rigidity kmc of the jacket 615 and the bending rigidity kmt of the surgical instrument 616. Note that the kinematics computing unit 321, adding unit 323, and position control unit 324 are the same as in the third embodiment illustrated in
In accordance with input of the target bending angle θ1ref and target rotation angle ζ1ref, the bending rigidity kmc of the jacket 615 and bending rigidity kmt of the surgical instrument 616, and first displacement candidate values Δl1a_prev, Δl1b_prev, and Δl1c_prev, in displacement of the wires 1a, 1b, and 1c, the displacement updating unit 6221 updates to second displacement candidate values Δl1a_next, Δl1b_next, and Δl1c_next. Note that the convergence determining unit 3222, output switching unit 3223, and subtracting unit 3224 are the same as in the third embodiment illustrated in
The force computing unit 62213 calculates forces f1a, f1b, and f1c representing the tensile force on the wires 1a, 1b, and 1c, in accordance with the input of the bending rigidity kmc of the jacket 615 and bending rigidity kmt of the surgical instrument 616, in addition to the input of the bending moments M1a1, M1b1, and M1c1, of the multiple wires 1a, 1b, and 1c, using Expression (53) that expresses balance of force, and Expressions (55) and (63) that express balance of moment. Note that the wire length computing unit 32211, moment computing unit 32212, and the displacement computing unit 32214 are the same as in the third embodiment illustrated in
Although a model is derived that includes the bending rigidity kmc of the jacket 615 and bending rigidity kmt of the surgical instrument 616 as shown in Expression (63) in the present embodiment, an arrangement may be made where displacement is calculated using an approximation expression where the bending rigidity km of the wires in Expressions (10) and (57) is replaced with a rigidity kme that takes into consideration with the rigidity of the jacket 615 and surgical instrument 616 as well. Alternatively, the rigidity kme may be identified through experimentation, or a value obtained by dividing the bending rigidity kmc of the jacket 615 and bending rigidity kmt of the surgical instrument 616 by the wire count n may be added to the wire bending rigidity km, as shown in the following Expression (64).
While the continuum robot control device 620 is applied to the continuum robot 610 having one bendable portion 612 that is three-dimensionally bendable in the present embodiment, application may be made to the continuum robot 110 that curves on a plane as in the first embodiment, or the continuum robot 410 that has multiple bendable portions 312 as in the fourth embodiment.
(6-3. Simulation)
The control system according to the sixth embodiment illustrated in
Specifically, the dashed line shown at the top in
Next, a seventh embodiment of the present invention will be described. Description of items that are the same as in the above-described first through sixth embodiments will be omitted from the following description of the seventh embodiment, and description will be made regarding items that are different from the above-described first through sixth embodiments.
The continuum robot 310 according to the third embodiment illustrated in
(7-1. Modelling)
The continuum robot used in the present embodiment differs from the continuum robot 310 according to the third embodiment, with regard to the point that the wire 1a illustrated in
In the continuum robot 710, using the actuators 311a′, 311b, and 311c to drive the wire 1a, wire 1b, and wire 1c respectively, by the same distance in the same direction, the length of the center axis of the bendable portion corresponding to the bendable portion 312 increases or decreases with the bending angle and rotation angle remaining constant. Accordingly, the length of the center axis length l1dc of the bendable portion can be controlled with the continuum robot 710 according to the present embodiment, in addition to the bending angle θ1 and the rotation angle ζ1.
The configuration of the bendable portion of the continuum robot 710 used in the present embodiment has the same configuration as the bendable portion 312 used in the third embodiment, so a kinematics model and elastic wire model is derived for the continuum robot 710 using
Accordingly, the following Expression (66) holds between the center axis length l1dc and the length l1a1.
Also, from Expressions (45) and (46), the length l1b1 and the length l1c1 can be expressed by Expressions (67) and (68) using length l1dc.
Assuming that the wires 1a, 1b, and 1c are rigid in the longitudinal direction, the respective wire lengths l1a1, l1b1, and l1a1 are expressed as being the sums of the driving amounts lk1a, lk1b, and lk1c, derived from the kinematic model, and the length l10. Accordingly, the driving amounts lk1a, lk1b, and lk1c are respectively expressed by the following Expressions (69), (70), and (71).
Next, assuming that the wires 1a, 1b, and 1c stretch and contract in the longitudinal direction, the respective displacements Δl1a, Δl1b, and Δl1c are obtained. Based on Expressions (9) and (56), defining matrix Ke and vector f, Δl1 respectively as shown in the following Expressions (72) and (73), Δl1 is expressed as in the following Expression (74).
Based on Expressions (10), (53) through (55) and (57), defining matrix A and vector m1 respectively as shown in the following Expressions (75) and (76), the following Expression (77) holds.
(7-2. Control System)
In the seventh embodiment, the drive control amounts lp1a, lp1b, and lp1c of the wires 1a, 1b, and 1c are computed so as to compensate for the stretching and contraction of the wires 1a, 1b, and 1c connected to the actuators 311a′, 311b, and 311c, respectively. The drive control amounts lp1a, lp1b, and lp1c of the wires 1a, 1b, and 1c are found by the following Expressions (79) through (81) here.
lp1a=lk1a−Δl1a (79)
lp1b=lk1b−Δl1b (80)
lp1c=lk1c−Δl1c (81)
Accordingly, the compensation amounts le1a, le1b, and le1c of the wires 1a, 1b, and 1c are respectively expressed by the following Expressions (82) through (84).
le1a=−Δl1a (82)
le1b=Δl1b (83)
le1c=−Δl1c (84)
The continuum robot control device 720 sets the drive control amount lp1a for driving control of the wire 1a, the drive control amount lp1b for driving control of the wire 1b, and the drive control amount lp1c for driving control of the wire 1c, based on the target bending angle θ1ref of the bendable portion of the continuum robot 710 input from the input device 730, the target rotation angle ζ1ref of the bendable portion of the continuum robot 710 input from the input device 740, and the center axis length l1dc input from the input device 750. The continuum robot control device 720 then outputs a driving command τ1a based on the drive control amount lp1a, a driving command τ1b based on the drive control amount lp1b, and a driving command τ1c based on the drive control amount lp1c, to the continuum robot 710 (or more specifically, the actuators 311a′, 311b, and 311c).
The continuum robot control device 720 illustrated in
Based on the target bending angle θ1ref of the bendable portion of the continuum robot 710 input from the input device 730, the target rotation angle ζ1ref of the bendable portion of the continuum robot 710 input from the input device 740, and the center axis length l1dc input from the input device 750, the kinematics computing unit 721 computes the driving amounts lk1a, lk1b, and lk1c based on the kinematic model, using Expressions (69) through (71).
The compensation amount computing unit 722 computes the displacements Δl1a, Δl1b, and Δl1c for each of the wires 1a, 1b, and 1c, using Expression (78), and further computes the compensation amounts le1a, le1b, and le1c, using Expressions (82) through (84). The wire displacement Δl1 is uniquely determined from the bending angle θ1, rotation angle ζ1, and center axis length l1dc, which can be clearly understood from the right side of Expression (78). Accordingly, the compensation amount computing unit 722 according to the present embodiment can compute the displacements Δl1a, Δl1b, and Δl1c without using iterative calculation, in the same way as with the first embodiment.
The adding unit 723 adds the driving amounts lk1a, lk1b, and lk1c calculated by the kinematics computing unit 721 and the compensation amounts le1a, le1b, and le1c calculated by the compensation amount computing unit 722, thereby computing the driving control amounts lp1a, lp1b, and lp1c, for each of the wires 1a, 1b, and 1c.
The position control unit 724 outputs a driving command τ1a based on the drive control amount lp1a, a driving command τ1b based on the drive control amount lp1b, and a driving command τ1c based on the drive control amount lp1c, to the continuum robot 710 (or more specifically, the actuators 311a′, 311b, and 311c).
While the present embodiment uses the center axis length l1dc as the length of the bendable portion to be input from the input unit 750 to the kinematics computing unit 721 and compensation amount computing unit 722, one of the wire lengths l1a1, l1b1, and l1c1 may be used for example. Also, although the continuum robot control device 720 is applied to the continuum robot 710 having one bendable portion that can be bent three-dimensionally in the present embodiment, application may be made to the continuum robot 110 that curves on a plane as in the first embodiment, or the continuum robot 410 that has multiple bendable portions 312 as in the fourth embodiment.
(7-3. Simulation)
The control system according to the seventh embodiment is applied to the continuum robot 710 that can drive all three wires 1a, 1b, and 1c. Note that both the length l1dc and the length l10 are 10 mm in the present embodiment.
Specifically,
Specifically,
The above-described first through sixth embodiments have been arrangements where the wire 1a of each bendable portion is fixed, and the driving control amount of the other wire 1b or the like being set, thereby compensating for the displacement of the wire 1a that is fixed. That is to say, the above-described first through sixth embodiments are arrangements of continuum robot control devices that control operations of a continuum robot having a bendable portion that can be bent by driving part of multiple wires. However, the present invention may also be applied to an arrangement of a continuum robot control device that controls operations of a continuum robot having a bendable portion that can be bent by driving all of multiple wires, as in the seventh embodiment. In the case of this form, application can be made to arrangements where all wires are driven to compensate for displacement of the wires themselves, and arrangements where there are wires that compensate driving amount (predetermined wire) and wires that do not compensate driving amount (other wire).
Although friction between wires and wire guides, and between wires and the elongated portion have not been taken into consideration in the above-described first through seventh embodiments, the displacement may be computed taking frictional force into consideration, if the frictional force is known. Specifically, an arrangement may be made where the displacement is computed using the following Expression (85) where frictional forces fr1a and fr1b are added to the left side of Expression (9), instead of Expression (9).
f1a+fr1a=−keΔl1a,f1b+fr1b=−keΔl1b (85)
Note that in this embodiment as well, the driving amount of the wires can be compensated for using compensation amounts calculated based on displacement of any one of multiple wires pertaining to the same bendable portion, in the same way as with the first embodiment.
The present invention can be realized by processing of supplying a program that realizes one or more functions of the above-described embodiments to a system or device via a network or storage medium, and one or more processors of a computer of the system or device reading out and executing the program. The present invention can also be realized by a circuit that realizes one or more functions (e.g., an application-specific integrated circuit (ASIC)). The program, and a computer-readable storage medium storing the program, are encompassed by the present invention.
The above-described embodiments of the present invention are only exemplary illustrations of carrying out the present invention, and the technical scope of the present invention should not be restrictively interpreted by these. That is to say, the present invention can be carried out in various forms without departing from the technical spirit or primary features thereof.
Embodiment(s) of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiment(s) and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiment(s), and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s) and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or separate processors to read out and execute the computer executable instructions. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, a memory card, and the like.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2018-056793, filed Mar. 23, 2018, and Japanese Patent Application No. 2019-016022, filed Jan. 31, 2019, which are hereby incorporated by reference herein in their entirety.
Number | Date | Country | Kind |
---|---|---|---|
2018-056793 | Mar 2018 | JP | national |
2019-016022 | Jan 2019 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2019/010331 | 3/13/2019 | WO |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2019/181694 | 9/26/2019 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
9333650 | Bajo | May 2016 | B2 |
9364289 | Zinn | Jun 2016 | B2 |
10753439 | Awtar | Aug 2020 | B2 |
10959797 | Licht | Mar 2021 | B2 |
11457987 | He | Oct 2022 | B2 |
20070168081 | Shin | Jul 2007 | A1 |
20090171271 | Webster | Jul 2009 | A1 |
20100152898 | Reiland | Jun 2010 | A1 |
20110230894 | Simaan | Sep 2011 | A1 |
20130090763 | Simaan | Apr 2013 | A1 |
20130345877 | Kose | Dec 2013 | A1 |
20140316434 | Simaan | Oct 2014 | A1 |
20140330432 | Simaan | Nov 2014 | A1 |
20150047452 | Wolf | Feb 2015 | A1 |
20150088161 | Hata | Mar 2015 | A1 |
20160016319 | Remirez | Jan 2016 | A1 |
20170182659 | Simaan | Jun 2017 | A1 |
20180296282 | Kose | Oct 2018 | A1 |
20180304458 | Takagi | Oct 2018 | A1 |
20210128888 | Desai | May 2021 | A1 |
Number | Date | Country |
---|---|---|
102170835 | Aug 2011 | CN |
105342704 | Feb 2016 | CN |
106625631 | May 2017 | CN |
2786721 | Oct 2014 | EP |
3025632 | Jun 2016 | EP |
103874524 | Jun 2014 | IN |
2010-220961 | Oct 2010 | JP |
2015-023950 | Feb 2015 | JP |
2018-008335 | Jan 2018 | JP |
2018-0045652 | May 2018 | KR |
2015042453 | Mar 2015 | WO |
2016136353 | Sep 2016 | WO |
2018012360 | Jan 2018 | WO |
Entry |
---|
Kinematic Modeling of the Constant Curvature Continuum Line Drive Robot (Year: 2016). |
Y. Tian, S. Yang, H. Geng, W. Wang and L. Li, “Kinematic modeling of the constant curvature continuum line drive robot,” 2016 IEEE International Conference on Robotics and Biomimetics (ROBIO), Qingdao, China, 2016, pp. 289-294 (Year: 2016). |
H. - S. Yoon, J. Jeon, J. H. Chung and B. - J. Yi, “Error compensation for a 2 DOF bendable endoscope mechanism,” 2013 13th International Conference on Control, Automation and Systems (ICCAS 2013), Gwangju, Korea (South), 2013, pp. 862-865 (Year: 2013). |
Xu, K. et al., “An Experimental Kinestatic Comparison between Continuum Manipulators with Structural Variations”, IEEE International Conference on Robotics and Automation (ICRA), May 31-Jun. 7, 2013, pp. 3258-3264. |
Kato, T. et al., Extended Kinematic Mapping of Tendon-Driven Continuum Robot for Neuroendoscopy, IEEE/RSJ International Conference on Intelligent Robots and Systems, Sep. 14-18, 2014, pp. 1997-2002. |
Zhou, X. et al., “Analysis of Under-Actuated Snake Arm Robot”, 3rd International Conference on Electromechanical Control Technology and Transportation (ICECTT 2018), Jan. 2018, pp. 414-422. |
Ku, K. et al., “Analytic Formulation for Kinematics, Statics, and Shape Restoration of Multibackbone Continuum Robots Via Elliptic Integrals”, Journal of Mechanisms and Robotics, Feb. 2020, pp. 1-13, vol. 2. |
Number | Date | Country | |
---|---|---|---|
20210369081 A1 | Dec 2021 | US |