CONTROL SYSTEM FOR CONTINUUM ROBOT AND CONTROL METHOD FOR SAME
20240181630 ยท 2024-06-06
Inventors
Cpc classification
B25J9/104
PERFORMING OPERATIONS; TRANSPORTING
B25J9/1664
PERFORMING OPERATIONS; TRANSPORTING
B25J9/10
PERFORMING OPERATIONS; TRANSPORTING
International classification
B25J9/06
PERFORMING OPERATIONS; TRANSPORTING
B25J9/10
PERFORMING OPERATIONS; TRANSPORTING
Abstract
The control system includes: a kinematics computing unit that calculates a drive amount of a wire; a low back-drivability drive control unit that controls the drive amount of the wire based on a result of the kinematics computation; a high back-drivability drive control unit with which the drive unit is more easily driven in a reverse direction than in a case of drive control performed by the drive control unit when the curvable portion is subjected to an external force, the drive control unit being configured to control the drive amount of the wire based on the result of the kinematics computation; and a switching control unit that performs control to switch between the drive control unit and the second drive control unit in accordance with a mode signal indicating a drive control unit to be selected or a result of detecting a force applied to the wire.
Claims
1. A control system for a continuum robot including a curvable portion configured to be curvable when a wire is driven and a drive unit that drives the wire, the control system comprising: a kinematics computing unit configured to perform a kinematics computation for calculating a drive amount of the wire from a bending angle of the curvable portion with respect to a reference axis; a first drive control unit configured to control the drive amount of the wire being driven by the drive unit based on a result of the kinematics computation; a second drive control unit with which the drive unit is more easily driven in a reverse direction than in a case of drive control performed by the first drive control unit when the curvable portion is subjected to an external force, the second drive control unit being configured to control the drive amount of the wire being driven by the drive unit based on the result of the kinematics computation; and a switching control unit configured to perform control to switch between the first drive control unit and the second drive control unit in accordance with a mode signal indicating a drive control unit to be selected or a result of detecting a force applied to the wire.
2. The control system for a continuum robot according to claim 1, further comprising an inverse kinematics computing unit configured to perform an inverse kinematics computation for calculating the bending angle of the curvable portion from the drive amount of the wire, the inverse kinematics computation being a computation reverse to the kinematics computation, wherein the switching control unit is configured to perform, in a case in which a signal indicating the first drive control unit has been input as the mode signal while the drive control is being performed by the second drive control unit, control to switch from the second drive control unit to the first drive control unit when a difference between the bending angle of the curvable portion input to the kinematics computing unit and the bending angle of the curvable portion output from the inverse kinematics computing unit is equal to or smaller than a threshold value.
3. The control system for a continuum robot according to claim 1, further comprising an inverse kinematics computing unit configured to perform an inverse kinematics computation for calculating the bending angle of the curvable portion from the drive amount of the wire, the inverse kinematics computation being a computation reverse to the kinematics computation, wherein the switching control unit is configured to perform, in a case in which a force within a predetermined range has been detected as the result of detecting the force applied to the wire while the drive control is being performed by the second drive control unit, control to switch from the second drive control unit to the first drive control unit when a difference between the bending angle of the curvable portion input to the kinematics computing unit and the bending angle of the curvable portion output from the inverse kinematics computing unit is equal to or smaller than a threshold value.
4. The control system for a continuum robot according to claim 1, wherein the kinematics computing unit is configured to perform the kinematics computation for calculating the drive amount of the wire from the bending angle of the curvable portion and a turning angle of the curvable portion with respect to the reference axis, wherein the control system further comprises an inverse kinematics computing unit configured to perform an inverse kinematics computation for calculating the bending angle of the curvable portion and the turning angle of the curvable portion from the drive amount of the wire, the inverse kinematics computation being a computation reverse to the kinematics computation, and wherein the switching control unit is configured to perform, in a case in which a signal indicating the first drive control unit has been input as the mode signal while the drive control is being performed by the second drive control unit, control to switch from the second drive control unit to the first drive control unit when a difference between the bending angle of the curvable portion input to the kinematics computing unit and the bending angle of the curvable portion output from the inverse kinematics computing unit is equal to or smaller than a threshold value and a difference between the turning angle of the curvable portion input to the kinematics computing unit and the turning angle of the curvable portion output from the inverse kinematics computing unit is equal to or smaller than a threshold value.
5. The control system for a continuum robot according to claim 1, wherein the kinematics computing unit is configured to perform the kinematics computation for calculating the drive amount of the wire from the bending angle of the curvable portion and a turning angle of the curvable portion with respect to the reference axis, wherein the control system further comprises an inverse kinematics computing unit configured to perform an inverse kinematics computation for calculating the bending angle of the curvable portion and the turning angle of the curvable portion from the drive amount of the wire, the inverse kinematics computation being a computation reverse to the kinematics computation, and wherein the switching control unit is configured to perform, in a case in which a force within a predetermined range has been detected as the result of detecting the force applied to the wire while the drive control is being performed by the second drive control unit, control to switch from the second drive control unit to the first drive control unit when a difference between the bending angle of the curvable portion input to the kinematics computing unit and the bending angle of the curvable portion output from the inverse kinematics computing unit is equal to or smaller than a threshold value and a difference between the turning angle of the curvable portion input to the kinematics computing unit and the turning angle of the curvable portion output from the inverse kinematics computing unit is equal to or smaller than a threshold value.
6. The control system for a continuum robot according to claim 1, wherein the switching control unit is configured to perform, in a case in which a signal indicating the second drive control unit has been input as the mode signal while the drive control is being performed by the first drive control unit, control to switch from the first drive control unit to the second drive control unit.
7. The control system for a continuum robot according to claim 1, wherein the switching control unit is configured to perform, in a case in which a force that falls out of a predetermined range has been detected as the result of detecting the force applied to the wire while the drive control is being performed by the first drive control unit, control to switch from the first drive control unit to the second drive control unit.
8. The control system for a continuum robot according to claim 1, wherein the second drive control unit has a function of compensating for an error between a target value of a force to be applied to the wire and a detected value of a force applied to the wire.
9. The control system for a continuum robot according to claim 1, further comprising a selection unit configured to select output of the first drive control unit or output of the second drive control unit based on the control of the switching control unit.
10. The control system for a continuum robot according to claim 9, wherein the selection unit has a function of continuously interpolating the output of the first drive control unit and the output of the second drive control unit when output of the drive control unit to be selected is switched between the output of the first drive control unit and the output of the second drive control unit.
11. The control system for a continuum robot according to claim 1, wherein the continuum robot further includes a base, and includes, as a plurality of the curvable portions, a distal curvable portion at a distal position from the base and a follower curvable portion between the base and the distal curvable portion, and wherein the distal curvable portion and the follower curvable portion are each provided with a drive control mechanism including the first drive control unit and the second drive control unit.
12. The control system for a continuum robot according to claim 11, further comprising a follow-up control unit configured to output the bending angle of the follower curvable portion to the kinematics computing unit based on the bending angle of the distal curvable portion input to the kinematics computing unit and a target displacement of the base.
13. The control system for a continuum robot according to claim 1, wherein the continuum robot includes a curvable portion configured to be curvable when a plurality of the wires are driven and a plurality of the drive units that respectively drive the plurality of the wires, and wherein the plurality of the wires are each provided with a drive control mechanism including the first drive control unit and the second drive control unit.
14. A control method for a continuum robot including a curvable portion configured to be curvable when a wire is driven and a drive unit that drives the wire, the control method comprising: a kinematics computing step of performing, by a kinematics computing unit, a kinematics computation for calculating a drive amount of the wire from a bending angle of the curvable portion with respect to a reference axis; a first drive control step of controlling, by a first drive control unit, the drive amount of the wire being driven by the drive unit based on a result of the kinematics computation; a second drive control step of controlling, by a second drive control unit with which the drive unit is more easily driven in a reverse direction than in a case of drive control performed by the first drive control unit when the curvable portion is subjected to an external force, the drive amount of the wire being driven by the drive unit based on the result of the kinematics computation; and a switching control step of performing control to switch between the first drive control unit and the second drive control unit in accordance with a mode signal indicating a drive control unit to be selected or a result of detecting a force applied to the wire.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
DESCRIPTION OF THE EMBODIMENTS
[0038] Now, modes for carrying out the present disclosure (embodiments) are described with reference to the drawings.
First Embodiment
[0039] First, a first embodiment of the present disclosure is described.
[0040] In the first embodiment, a dynamic model of a continuum robot including a drive unit for a wire which can detect a tensile force of the wire is derived. Then, a control system capable of switching back-drivability is designed.
[0041]
[0042] As illustrated in
[0043] The continuum robot (P.sub.n) 100 includes a curvable portion configured to be curvable when a wire is driven and a drive unit that drives the wire. The input unit 211 is a component unit that inputs a mode signal indicating a drive control unit to be selected to the switching control unit (H) 220. The input unit 212 is a component unit that inputs a target command value ref.sub.? of a bending angle of the curvable portion with respect to a reference axis to the kinematics computing unit (Kinematics) 230 and the like. The kinematics computing unit (Kinematics) 230 performs a kinematics computation for calculating a drive amount of a wire (target displacement ref.sub.z of a wire gripping mechanism) from the bending angle (target command value ref.sub.?) of the curvable portion with respect to the reference axis. The low back-drivability drive control unit (K.sub.POS) 251 is a drive control unit that has lower back-drivability than that of the high back-drivability drive control unit (K.sub.BKD) 252. The low back-drivability drive control unit (K.sub.POS) 251 is a first drive control unit that controls the drive amount of the wire being driven by the drive unit based on a result of the kinematics computation described above. The high back-drivability drive control unit (K.sub.BKD) 252 is a drive control unit that has higher back-drivability than that of the low back-drivability drive control unit (K.sub.POS) 251. That is, the high back-drivability drive control unit (K.sub.BKD) 252 is a second drive control unit with which the drive unit is more easily driven in a reverse direction than in a case of the drive control performed by the low back-drivability drive control unit (K.sub.POS) 251 when the curvable portion is subjected to an external force. The high back-drivability drive control unit (K.sub.BKD) 252 also controls the drive amount of the wire being driven by the drive unit based on the result of the kinematics computation described above. The blocking unit 241 is provided at a stage preceding the low back-drivability drive control unit (K.sub.POS) 251. The blocking unit 242 is provided at a stage preceding the high back-drivability drive control unit (K.sub.BKD) 252. The selection unit 260 selects output (u.sub.POS) of the low back-drivability drive control unit (K.sub.POS) 251 or output (u.sub.BKD) of the high back-drivability drive control unit (K.sub.BKD) 252 based on control (signal H.sub.OUT) of the switching control unit (H) 220. Then, the selection unit 260 outputs the selected output to the continuum robot (P.sub.n) 100. The inverse kinematics computing unit (IK) 270 performs an inverse kinematics computation for calculating the bending angle of the curvable portion from the drive amount of the wire, the inverse kinematics computation being a computation reverse to the kinematics computation performed by the kinematics computing unit (Kinematics) 230. The switching control unit (H) 220 performs control to switch between the low back-drivability drive control unit (K.sub.POS) 251 and the high back-drivability drive control unit (K.sub.BKD) 252 in accordance with the mode signal indicating the drive control unit to be selected or a result of detecting a force applied to the wire.
[0044] Specifically, to enable the low back-drivability drive control unit (K.sub.POS) 251, the switching control unit (H) 220 turns on a signal h.sub.POS and turns off a signal h.sub.BKD. This causes the blocking unit 242 to block control error input to the high back-drivability drive control unit (K.sub.BKD) 252. Meanwhile, to enable the high back-drivability drive control unit (K.sub.BKD) 252, the switching control unit (H) 220 turns off the signal h.sub.POS and turns on the signal h.sub.BKD. This causes the blocking unit 241 to block control error input to the low back-drivability drive control unit (K.sub.POS) 251.
[0045] First, switching from the high back-drivability drive control unit (K.sub.BKD) 252 to the low back-drivability drive control unit (K.sub.POS) 251 which is performed by the switching control unit (H) 220 is described. This is a case in which a signal indicating the low back-drivability drive control unit (K.sub.POS) 251 has been input as the mode signal from the input unit 211 to the switching control unit (H) 220 while the drive control is being performed by the high back-drivability drive control unit (K.sub.BKD) 252. In this case, the switching control unit (H) 220 performs the switching when a difference ?.sub.err between the bending angle of the curvable portion input to the kinematics computing unit (Kinematics) 230 and the bending angle of the curvable portion output from the inverse kinematics computing unit (IK) 270 is equal to or smaller than a threshold value. This suppresses a rapid follow-up to a target value at a time of the switching, and prevention of damage to the continuum robot itself and a fragile target object can be achieved.
[0046] Subsequently, switching from the low back-drivability drive control unit (K.sub.POS) 251 to the high back-drivability drive control unit (K.sub.BKD) 252 which is performed by the switching control unit (H) 220 is described. In the switching from the low back-drivability drive control unit (K.sub.POS) 251 to the high back-drivability drive control unit (K.sub.BKD) 252, the switching control unit (H) 220 performs this switching irrespective of a value of the difference ?.sub.err. Specifically, this is a case in which a signal indicating the high back-drivability drive control unit (K.sub.BKD) 252 has been input as the mode signal from the input unit 211 to the switching control unit (H) 220 while the drive control is being performed by the low back-drivability drive control unit (K.sub.POS) 251. With this configuration, it is possible to achieve a continuum robot having back-drivability that can be made variable as required.
[0047] Derivation of a dynamic model P.sub.n of the continuum robot 100 and a control algorithm are described below in detail.
1.1) Modeling
[0048]
[0049] In the continuum robot 100-1, a wire 111 and a wire 112 are connected to a fixing portion 121 and a fixing portion 122, respectively, at a distal end 160 of a curvable portion 110. Further, proximal ends of the wire 111 and the wire 112 are connected to a wire gripping pipe 131 and a wire gripping pipe 132, respectively, in a robot base 140. In the robot base 140, a wire gripping mechanism 171 that supports the wire gripping pipe 131, a wire gripping mechanism 172 that supports the wire gripping pipe 132, and an actuator 180 that corresponds to the drive unit are arranged. In this case, the wire gripping mechanism 172 is fixed to the robot base 140. Further, the wire gripping mechanism 171 is connected to the actuator 180 being the drive unit through a wire gripping mechanism base (not shown), and is capable of moving up and down. The wire gripping pipe 131 is connected to the wire gripping mechanism 171 so as to be capable of being supported, and is pushed or pulled by the actuator 180 to control an attitude of the curvable portion 110. The continuum robot 100-1 also includes wire guides 161 to 164 that are members for guiding the wire 111 and the wire 112. In addition to a method of discretely arranging a plurality of members, a continuum member having a bellows shape or a mesh shape may be used as the wire guide. The wire guides 161 to 164 are fixed to the wire 112 at fixing portions 150 to 153, respectively. Further, a spacing between the wire 111 and the wire 112 and a spacing between the wire gripping mechanism 171 and the wire gripping mechanism 172 may be different from each other. At that time, a diameter conversion unit 190 is connected to the robot base 140.
[0050] In this embodiment, a mechanism formed of the wire 111, the wire 112, and the wire guides 161 to 164 is referred to as curvable portion 110 being a continuum portion. In this embodiment, as illustrated in
[0051]
1.1.1) Dynamic Model of Curvable Portion 110 being Continuum Portion
[0052] Definitions of reference symbols in the dynamic model of the curvable portion 110 being a continuum portion illustrated in
[0067] Next, an equation of motion of the continuum robot 100-1 is derived. In this embodiment, the following premises are assumed. [0068] [1] Only motion in a two-dimensional plane is taken into consideration. [0069] [2] The curvable portion 110 is set to have a constant curvature, and is assumed to have a uniform spring coefficient. [0070] [3] The wire is approximated as a lumped mass system, and a reaction force caused by deformation in a longitudinal direction is assumed to act on a tip of the curvable portion 110. Lateral vibration and lateral deformation of the wire are not taken into consideration. [0071] [4] The friction between the wire and the wire guide and between the wire and the diameter conversion unit is forced into the damping coefficient c.sub.w2 as viscous damping including non-linear friction such as Coulomb friction.
[0072] First, kinetic energy of the curvable portion 110 is obtained. When displacements x.sub.g and z.sub.g are assumed along the central axis of the curvable portion 110, the displacements x.sub.g and z.sub.g are expressed by Equation (1) and Equation (2), respectively.
[0073] Further, there is provided Equation (3):
and hence the displacement x.sub.g and z.sub.g are expressed by Equation (4) and Equation (5), respectively.
[0074] Through use thereof, kinetic energy T.sub.a of the curvable portion 110 is expressed by Equation (6).
[0075] Further, potential energy U.sub.a of the curvable portion 110 is expressed by Equation (7).
[0076] Next, kinetic energy T.sub.w and potential energy U.sub.w of the wire and the wire gripping pipe have a wire drive amount of l.sub.p=r.sub.1?, and are accordingly expressed by Equation (8) and Equation (9), respectively.
[0077] Then, as a result of obtaining the equation of motion from Equation (10) that represents a Lagrangian equation:
a non-linear differential equation expressed by Equation (11) is obtained. In Equation (11), ? represents a non-linear term that cannot be substituted into M.sub.c, C.sub.c, and K.sub.c.
[0078] Further, M.sub.c22 and ?.sub.3 in Equation (11) are expressed by Equation (12) and Equation (13), respectively.
[0079] However, when the bending angle of the curvable portion 110 is in a vicinity of 0 degrees, Equation (12) and Equation (13) have an indeterminate form, and values thereof cannot be obtained. In view of this, a 0-degree neighborhood linearization model that does not take large deformation into consideration is obtained. Equation (14) is obtained from Equation (4) and Equation (5).
[0080] Then, kinetic energy T.sub.a0 in the vicinity of 0 degrees of the curvable portion 110 is expressed by Equation (15).
[0081] Then, as a result of obtaining the equation of motion from the Lagrangian equation assuming that T=T.sub.a0+T.sub.w, Equation (16) is obtained.
[0083]
[0101] The equations of motion are expressed by Equation (17) to Equation (20).
J.sub.m{umlaut over (?)}.sub.m=T.sub.m+k.sub.g(?.sub.n??.sub.m)+c.sub.g({dot over (?)}.sub.n?{dot over (?)}.sub.m)?c.sub.m{dot over (?)}.sub.m(17)
J.sub.n{umlaut over (?)}.sub.n=?k.sub.g(?.sub.n??.sub.m)?c.sub.g({dot over (?)}.sub.n?{dot over (?)}.sub.m)+Rk.sub.t1(z.sub.t1?R?.sub.n)?c.sub.n{dot over (?)}.sub.n(18)
m.sub.t1{umlaut over (z)}.sub.t1=?k.sub.t1(z.sub.t1?R?.sub.n)+k.sub.t2(z.sub.t2?z.sub.t1)?c.sub.t1?.sub.t1+c.sub.t2(?.sub.t2??.sub.t1)(19)
m.sub.t2{umlaut over (z)}.sub.t2=?k.sub.t2(z.sub.t2?z.sub.t1)?c.sub.t2(?.sub.t2??.sub.t1)(20)
[0102] In the equations, it is assumed that R=p/2?. When a matrix representation of q.sub.1=[?.sub.m, ?.sub.n, z.sub.t1, z.sub.t2].sup.T is given, Equation (21) is obtained.
1.1.3) Configuration of Augmented System
[0103] As illustrated in
[0104] Next, an equation of state is obtained. When the bending angle of the curvable portion 110 is not in the vicinity of 0 degrees, an extended linearization method expressed by Equation (23) in which a non-linear term ?.sub.g is forced into a matrix K.sub.g to perform linearization is applied.
[0105] Thus, ?.sub.3 becomes an element of K.sub.g(6, 6). The equations of state are expressed by Equation (24) and Equation (25).
{dot over (x)}.sub.g=A.sub.g(?,{dot over (?)})x.sub.g+B.sub.g(?,{dot over (?)})T.sub.m(24)
x.sub.g=[?.sub.m,?.sub.n,z.sub.t1,z.sub.t2,z.sub.w,?,{dot over (?)}.sub.m,{dot over (?)}.sub.n,?.sub.t1,?.sub.t2,?.sub.w,{dot over (?)}].sup.T (25)
[0106] In this embodiment, the displacement z.sub.t1 of the wire gripping mechanism base and a displacement z.sub.t2 of the wire gripping mechanism can be measured, and a force (hereinafter referred to as generated force) F exerted on the wire gripping mechanism by a spring k.sub.t2 and the displacement z.sub.t2 of the wire gripping mechanism are set as observation amounts. Here, the generated force F is expressed by Equation (26).
F=?k.sub.t2(z.sub.t2?z.sub.t1)(26)
[0107] At this time, an observation amount y.sub.g is expressed by an output equation expressed by Equation (27).
[0108] When the bending angle of the curvable portion 110 is in the vicinity of 0 degrees, the augmented system is similarly configured by Equation (16) that represents the equation of motion of the curvable portion 110 in the vicinity of 0 degrees and Equation (21) that represents the equation of motion of the dynamic model formed of the rotation motor, the rotation-linear motion conversion mechanism, and the wire gripping mechanism. This is a linear model, and may thus be directly converted into an equation of state.
[0109]
1.2) Control System Design
1.2.1) Back-drivability Switching Control System
[0110] As illustrated in
[0111] Now, description is given with reference to
[0112] Assuming that the curvable portion 110 being a continuum portion has a constant curvature, a relationship between a drive amount l.sub.p of the wire and the bending angle ? is given by Equation (28).
l.sub.p=r.sub.1.Math.?(28)
[0113] Here, assuming that an amount of expansion or contraction of the wire is regarded as minute and is not taken into consideration in derivation of a kinematics computation, Equation (29) is obtained by the kinematics computing unit (Kinematics) 230 from the target command value ref.sub.? of the bending angle of the curvable portion 110 and the target displacement ref.sub.z of the wire gripping mechanism.
ref.sub.z=r.sub.1.Math.ref.sub.?(29)
[0114] Further, the inverse kinematics computing unit (IK) 270 obtains the bending angle ?.sub.IKof the curvable portion 110 from the displacement z.sub.t2 of the wire gripping mechanism by Equation (30).
[0115] Then, the difference ?.sub.err between the bending angle ?.sub.IK of the curvable portion 110 and the target command value ref.sub.? of the bending angle of the curvable portion 110 obtained due to this inverse kinematics is expressed by Equation (31).
?.sub.err=ref.sub.???.sub.IK(31)
[0116] This difference ?.sub.err is input to the switching control unit (H) 220. The switching control unit (H) 220 outputs the signal h.sub.OUT, the signal h.sub.POS, and the signal h.sub.BKD in order to switch the drive control unit. The signal h.sub.OUT is input to the selection unit 260. The selection unit 260 selects the output (u.sub.POS) of the low back-drivability drive control unit (K.sub.POS) 251 or the output (u.sub.BKD) of the high back-drivability drive control unit (K.sub.BKD) 252 in accordance with the signal h.sub.OUT, and outputs the selected output to the continuum robot (P.sub.n) 100.
[0117] Further, to enable the low back-drivability drive control unit (K.sub.POS) 251, the switching control unit (H) 220 turns on the signal h.sub.POS and turns off the signal h.sub.BKD. This causes the blocking unit 242 to block the control error input to the high back-drivability drive control unit (K.sub.BKD) 252. Meanwhile, to enable the high back-drivability drive control unit (K.sub.BKD) 252, the switching control unit (H) 220 turns off the signal h.sub.POS and turns on the signal h.sub.BKD. This causes the blocking unit 241 to block the control error input to the low back-drivability drive control unit (K.sub.POS) 251.
[0118] In the switching from the high back-drivability drive control unit (K.sub.BKD) 252 to the low back-drivability drive control unit (K.sub.POS) 251, first, the mode signal indicating the low back-drivability drive control unit (K.sub.POS) 251 is input from the input unit 211. In this case, when the above-mentioned difference ?.sub.err is equal to or smaller than the threshold value set in advance, the switching control unit (H) 220 enables the low back-drivability drive control unit (K.sub.POS) 251 and disables the high back-drivability drive control unit (K.sub.BKD) 252.
[0119] Meanwhile, in the switching from the low back-drivability drive control unit (K.sub.POS) 251 to the high back-drivability drive control unit (K.sub.BKD) 252, the switching control unit (H) 220 performs this switching irrespective of the value of the above-mentioned difference ?.sub.err. That is, when the mode signal indicating the high back-drivability drive control unit (K.sub.BKD) 252 is input from the input unit 211, the switching control unit (H) 220 enables the high back-drivability drive control unit (K.sub.BKD) 252 and disables the low back-drivability drive control unit (K.sub.POS) 251.
1.2.2) High Back-drivability Drive Control Unit (K.SUB.BKD.)
[0120] In this section, details of a high back-drivability drive control unit (K.sub.BKD) are described.
[0121] The high back-drivability drive control unit (K.sub.BKD) 252 illustrated in
[0122] The high back-drivability drive control unit (K.sub.BKD) 252 illustrated in
[0123] In an inner loop formed of the dynamic model P.sub.n (augmented system) of the continuum robot 100 and the force controller (K.sub.F) 2523, an error is computed by taking a difference between a target value ref.sub.F of the generated force and the generated force F. The force controller (K.sub.F) 2523 outputs the motor torque T.sub.m as control input for compensating for the error. That is, the high back-drivability drive control unit (K.sub.BKD) 252 illustrated in
[0124] In Equation (32), F.sub.zi1 and F.sub.zd1 represent zero-crossing frequencies of an integral controller and a differential controller, respectively. Further, in order to stabilize the higher-order mode described in the previous chapter, a second-order low-pass filter having a break frequency of 200 Hz is coupled to the PID control system. In order to design the force controller (K.sub.F) 2523 that is stable against variation of poles and zero points of the curvable portion 110 being a continuum portion due to use of the rotation-linear motion conversion mechanism and against phase characteristics varied by the damping coefficient c.sub.w2 in vicinities of the zero points, the design is performed as follows. Specifically, an open-loop transfer function P.sub.nK.sub.F is derived, and a response thereof is used to perform the design so that a gain margin and a phase margin are sufficient.
[0125]
[0126] Further, as the position controller (K.sub.SV) 2521, a PID control system expressed by Equation (33) is used.
[0127] In Equation (33), F.sub.zi2 and F.sub.zd2 represent zero-crossing frequencies of the integral controller and the differential controller, respectively. In this embodiment, an open-loop transfer function G.sub.clK.sub.SV is derived through use of a closed-loop transfer function G.sub.cl between the dynamic model P.sub.n (augmented system) of the continuum robot 100 and the force controller (K.sub.F) 2523, and a response thereof is used to perform the design so that a gain margin and a phase margin are sufficient. Further, a first-order low-pass filter having a break angular frequency of 50 Hz is coupled to the PID control system.
[0128]
1.2.3) Low Back-drivability Drive Control Unit (K.SUB.POS.)
[0129] The high back-drivability drive control unit (K.sub.BKD) 252 can be improved in back-drivability while deterioration in positioning performance is suppressed by a double-loop control system. However, the double-loop control system includes noise and higher-order vibration of the force controller (K.sub.F) 2523 in the inner loop. In view of this, in a situation in which necessity for the back-drivability is low, a position control system that uses the displacement z.sub.t2 of the wire gripping mechanism as the control amount is used as the low back-drivability drive control unit (K.sub.POS) 251. Specifically, a PID control system expressed by Equation (34) is used.
[0130] In Equation (34), F.sub.zi3 and F.sub.zd3 represent zero-crossing frequencies of an integral controller and a differential controller, respectively.
[0131]
1.3) Simulation
[0132] A simulation is performed through use of the drive control unit described in the previous chapter and the dynamic model P.sub.n (augmented system) of the continuum robot 100 expressed by Equation (24) and Equation (27).
[0133]
[0134] An operator gives a trapezoidal target trajectory to cause the curvable portion 110 to curve to ?45 degrees in 1.5 seconds, stop until a lapse of 3 seconds, and then return to 0 degrees. At this time, as illustrated in
[0135]
[0136] In each of
[0137] As shown in
[0138] Further, as indicated by the dotted line in
[0139] Next, a response of the position control system being the outer loop having a bandwidth lower than that of a force control system being the inner loop rises. As indicated by the dotted line in
[0140] In view of this, the operator issues a switching command to the low back-drivability drive control unit (K.sub.POS) 251 through the input unit 211. However, as in
[0141] Meanwhile, in the unconstrained switching control system indicated by the broken line in
[0142]
[0143] The control system 10-1 for a continuum robot according to the first embodiment includes the continuum robot 100-1 including the curvable portion 110 configured to be curvable when the wire 111 is driven and the actuator 180 being the drive unit that drives the wire 111. The control system 10-1 for a continuum robot further includes the kinematics computing unit (Kinematics) 230 that performs a kinematics computation for calculating the drive amount of the wire 111 from the bending angle of the curvable portion 110 with respect to the reference axis 101. The control system 10-1 for a continuum robot also includes the low back-drivability drive control unit (K.sub.POS) 251 being the first drive control unit that controls the drive amount of the wire 111 being driven by the drive unit based on the result of the kinematics computation described above. The control system 10-1 for a continuum robot also includes the high back-drivability drive control unit (K.sub.BKD) 252 being the second drive control unit with which the drive unit is more easily driven in the reverse direction than in the case of the drive control performed by the low back-drivability drive control unit (K.sub.POS) 251 when the curvable portion 110 is subjected to an external force. The high back-drivability drive control unit (K.sub.BKD) 252 controls the drive amount of the wire 111 being driven by the drive unit based on the result of the kinematics computation described above. The control system 10-1 for a continuum robot further includes the switching control unit (H) 220 that performs control to switch between the low back-drivability drive control unit (K.sub.POS) 251 and the high back-drivability drive control unit (K.sub.BKD) 252 in accordance with the mode signal indicating the drive control unit to be selected, the mode signal having been input from the input unit 211. According to the configuration of the control system 10-1 for a continuum robot, when there are a plurality of drive control units having different back-drivability as the drive control units for curving the curvable portion, switching therebetween can be appropriately performed with a reduced burden on an operator.
[0144] In addition, the control system 10-1 for a continuum robot further includes the inverse kinematics computing unit (IK) 270 that performs the inverse kinematics computation for calculating the bending angle of the curvable portion 110 from the drive amount of the wire 111, the inverse kinematics computation being the computation reverse to the kinematics computation described above. Further, in the case in which the mode signal indicating the low back-drivability drive control unit (K.sub.POS) 251 has been input from the input unit 211 while the drive control is being performed by the high back-drivability drive control unit (K.sub.BKD) 252, the switching control unit (H) 220 performs control to switch from the high back-drivability drive control unit (K.sub.BKD) 252 to the low back-drivability drive control unit (K.sub.POS) 251 when the difference ?.sub.err between the bending angle of the curvable portion input to the kinematics computing unit (Kinematics) 230 and the bending angle of the curvable portion output from the inverse kinematics computing unit (IK) 270 is equal to or smaller than the threshold value. According to the configuration of the control system 10-1 for a continuum robot, a rapid follow-up to the target value at the time of the switching is suppressed, and the prevention of damage to the continuum robot itself and a fragile target object can be achieved.
[0145] According to the present disclosure, when there are a plurality of drive control units having different back-drivability as the drive control units for curving the curvable portion, switching therebetween can be appropriately performed with a reduced burden on the operator.
Second Embodiment
[0146] Next, a second embodiment of the present disclosure is described. In the following description of the second embodiment, description of matters common to the first embodiment described above is omitted, and matters different from those of the first embodiment described above are described.
[0147] In the above-mentioned first embodiment, the switching from the high back-drivability drive control unit (K.sub.BKD) 252 to the low back-drivability drive control unit (K.sub.POS) 251 is performed under a constraint that the difference ?.sub.err between the bending angles of the curvable portion is sufficiently small to be equal to or smaller than the threshold value. It has been described that this configuration suppresses a rapid follow-up to the target value at the time of the switching to the low back-drivability drive control unit (K.sub.POS) 251, and can prevent damage to the continuum robot itself or surroundings thereof. However, in the first embodiment, as in
2.1) Control System Design
[0148]
[0149] In the control system 10-2 for a continuum robot illustrated in
[0150] As illustrated in
u.sub.OUT=?.Math.u.sub.in1+(1??).Math.u.sub.in2(35)
[0151] In this embodiment, at the time of the switching from the low back-drivability drive control unit (K.sub.POS) 251 to the high back-drivability drive control unit (K.sub.BKD) 252, the switching control unit (H) 220 causes the parameter ? to vary from 1 to 0 in 0.25 second. At the time of this switching, the convex interpolation unit (CI) 283 of
[0152] Meanwhile, at the time of the switching from the high back-drivability drive control unit (K.sub.BKD) 252 to the low back-drivability drive control unit (K.sub.POS) 251, the constraint that the difference ?.sub.err between the bending angles of the curvable portion is equal to or smaller than the threshold value is set in the same manner as in the first embodiment. Thus, the switching control unit (H) 220 may immediately cause the parameter ? to vary from 0 to 1.
2.2) Simulation
[0153] A simulation is performed in the same manner as in the above-mentioned first embodiment shown in
[0154] As in
[0155] In addition, as indicated by the dotted line in
[0156] In the second embodiment as well, in the same manner as in the first embodiment, when there are a plurality of drive control units having different back-drivability as the drive control units for curving the curvable portion, switching therebetween can be appropriately performed with a reduced burden on the operator.
[0157] In addition, in the control system 10-2 for a continuum robot according to the second embodiment, the convex interpolation unit (CI) 283 is provided as a component corresponding to the selection unit 260 of
Third Embodiment
[0158] Next, a third embodiment of the present disclosure is described. In the following description of the third embodiment, description of matters common to the first and second embodiments described above is omitted, and matters different from those of the first and second embodiments described above are described.
[0159] In the first and second embodiments described above, the mode of switching between the low back-drivability drive control unit (K.sub.POS) 251 and the high back-drivability drive control unit (K.sub.BKD) 252 while suppressing a rapid response has been described. In the third embodiment, an algorithm for follow-the-leader control that takes into consideration switching of a control system for the continuum robot 100 including a plurality of curvable portions 110 is described.
[0160] First, derivation of a kinematic model of the continuum robot 100 including the plurality of curvable portions 110 is described, and then, derivation of the control system is described in detail.
1) Modeling
[0161]
[0162] In this chapter, a kinematics in an x-z plane of the continuum robot 100-3 including a plurality of curvable portions 110-1 to 110-e illustrated in
[0173] Next, the kinematics of the continuum robot 100-3 including the plurality of curvable portions 110-1 to 110-e illustrated in
l.sub.p1=r.sub.1?.sub.1(36)
[0174] Next, a relationship between a drive amount l.sub.pn of the wire of the n-th curvable portion 110-n and the bending angle ?.sub.n of the n-th curvable portion 110-n is derived. However, n is set to a value equal to or larger than 2.
[0175] A relative bending angle {tilde over (?)}.sub.n of the n-th curvable portion 110-n is defined as Equation (37).
{tilde over (?)}.sub.n=?.sub.n??.sub.n?1(37)
[0176]
[0177] A relationship between the drive displacement (drive amount) {tilde over (l)}.sub.pn of the wire in the relative coordinate system x.sub.n-z.sub.n and the bending angle {tilde over (?)}.sub.n of the n-th curvable portion 110-n is expressed by Equation (38).
{tilde over (l)}.sub.pn=r.sub.n{tilde over (?)}.sub.n(38)
[0178] The drive displacement (drive amount) l.sub.pn of the wire of the n-th curvable portion 110-n is a total sum of displacements of the wire for driving the n-th curvable portion 110-n in the relative coordinate system from the first curvable portion 110-1 to the (n-1)th curvable portion 110-(n-1), and is expressed by Equation (39).
l.sub.pn=r.sub.n({tilde over (?)}.sub.n+{tilde over (?)}.sub.n-1+ . . . +?.sub.1)=r.sub.n?.sub.n(39)
[0179] It is understood from the above that the bending angle ?.sub.n of the n-th curvable portion 110-n is determined only by the drive displacement l.sub.pn of the wire, and is independent of the bending angle of the curvable portion 110 at some midpoint.
[0180] Next, a finite element model for simulating a contact with a path is derived. The continuum robot is divided into m elements, and is simplified into a one-dimensional spring system to be modeled. When an overall stiffness matrix is set as KFE and a nodal force vector and a nodal displacement vector are set as f and ? and are considered to correspond to a disturbance torque and an angular displacement, respectively, a stiffness equation of the entire system is expressed by Equation (40).
f=K.sub.FE?(40)
[0181] Here, a bending stiffness of an i-th element of the continuum robot is set as k.sub.i, and a stiffness matrix K.sub.i of the element is expressed by Equation (41).
[0182] In this embodiment, an element of the finite element model that corresponds to a most distal end of the curvable portion 110 is 1) considered as a constrained node when the low back-drivability drive control unit (K.sub.POS) 251 is selected, and 2) considered as an unconstrained node when the high back-drivability drive control unit (K.sub.BKD) 252 is selected. When the low back-drivability drive control unit (K.sub.POS) 251 is selected, the target bending angle is given as a constrained displacement ?.sub.B. The stiffness matrix is rearranged into Equation (42).
[0183] Then, a shape at a time of contact is simulated by obtaining, by a penalty method, an external force exerted on the continuum robot from the path and performing convergence calculation for repeatedly updating a nodal force vector f.sub.A and a nodal displacement vector ?.sub.A.
2) Control System Design
[0184] 2.1) Follow-the-leader Control
[0185]
[0186] Here, the follow-the-leader control refers to a method of performing control so that the follower curvable portion located between the robot base 140 and the e-th curvable portion 110-e passes through the same path as a path through which the e-th curvable portion 110-e at the most distal end (distal curvable portion) passes as illustrated in
[0187]
[0188] In
2.2) Block Diagram of Control System
[0189] In this embodiment, a control system that switches between the low back-drivability drive control unit (K.sub.POS) 251 and the high back-drivability drive control unit (K.sub.BKD) 252 during the above-mentioned follow-the-leader control is designed. In this embodiment as well, in the same manner as in the first embodiment, the switching from the low back-drivability drive control unit (K.sub.POS) 251 to the high back-drivability drive control unit (K.sub.BKD) 252 can be performed at discretion by inputting the mode signal from the input unit 211. In this embodiment as well, in the same manner as in the first embodiment, the switching from the high back-drivability drive control unit (K.sub.BKD) 252 to the low back-drivability drive control unit (K.sub.POS) 251 is performed under the constraint that the difference ?.sub.err between the bending angles of the curvable portion is equal to or smaller than the threshold value.
[0190]
[0191] The control system 10-3 for a continuum robot includes, as the same components as those of
[0192] In the same manner as in the first embodiment, the input unit 211 inputs the mode signal indicating the drive control unit to be selected to the switching control unit (H) 220. The input unit 212 inputs the target command value ref.sub.?L of the bending angle of the most distal curvable portion with respect to the reference axis 101 to the kinematics computing unit (Kinematics) 230, the follow-up control unit (FTL) 330, and the like. The input unit 213 inputs a target displacement z.sub.bref of the robot base 140 to the follow-up control unit (FTL) 330.
[0193] The most distal drive control mechanism (K.sub.SWL) 310 includes the blocking units 241 and 242, the low back-drivability drive control unit (K.sub.POS) 251, the high back-drivability drive control unit (K.sub.BKD) 252, and the selection unit 260 that are illustrated in
[0194] The follow-up drive control mechanism (K.sub.SWF) 320 includes the blocking units 241 and 242, the low back-drivability drive control unit (K.sub.POS) 251, the high back-drivability drive control unit (K.sub.BKD) 252, and the selection unit 260 that are illustrated in
[0195] The follow-up control unit (FTL) 330 is a component unit that performs the follow-the-leader control described in the previous section. The follow-up control unit (FTL) 330 generates a target command value ref.sub.?F of the bending angle of the follower curvable portion from the target command value ref.sub.?L of the bending angle of the most distal curvable portion and the target displacement z.sub.bref of the robot base 140. In addition, the follow-up control unit (FTL) 330 receives input of the signals h.sub.POS and h.sub.BKD from the switching control unit (H) 220 and the bending angles ?.sub.IK of the most distal curvable portion and the follower curvable portion that are described later, but a detailed operation thereof is described in the next section. Further, the kinematics computing unit (Kinematics) 230 uses Equation (43) to output target displacements ref.sub.zL and ref.sub.zF f the wire gripping mechanisms of the most distal curvable portion and the follower curvable portion from the target command values ref.sub.?L and ref.sub.?F of the bending angles of the most distal curvable portion and the follower curvable portion.
ref.sub.zL=r.sub.L.Math.ref.sub.?L
ref.sub.zF=r.sub.F.Math.ref.sub.?F(43)
[0196] The inverse kinematics computing unit (IK) 270 uses Equation (44) and Equation (45) to output the bending angles ?.sub.IKL and ?.sub.IKF of the most distal curvable portion and the follower curvable portion from displacements z.sub.t2L and z.sub.t2F of the wire gripping mechanisms of the most distal curvable portion and the follower curvable portion, respectively.
[0197] In this embodiment, the difference ?.sub.err between the target command value ref.sub.?L of the bending angle of the most distal curvable portion and the bending angle ?.sub.IKL of the most distal curvable portion, which is expressed by Equation (46), is input to the switching control unit (H) 220.
?.sub.err=ref.sub.?L??.sub.IKL(46)
[0198] In the same manner as in the first embodiment, in the switching from the high back-drivability drive control unit (K.sub.BKD) 252 to the low back-drivability drive control unit (K.sub.POS) 251, the switching control unit (H) 220 switches the control system based on the signal h.sub.OUT, the signal h.sub.POS, and the signal h.sub.BKD when the difference ?.sub.err between the bending angles of the most distal curvable portion is equal to or smaller than the threshold value. Meanwhile, in the switching from the low back-drivability drive control unit (K.sub.POS) 251 to the high back-drivability drive control unit (K.sub.BKD) 252, the switching control unit (H) 220 switches the control system irrespective of the value of the difference ?.sub.err between the bending angles of the most distal curvable portion.
[0199] In
2.3) Follow-the-leader Control Involving Switching of Back-drivability
[0200]
[0201]
[0202] First, in the first algorithm shown in
[0203] Subsequently, in the second algorithm shown in
[0204] Subsequently, in the third algorithm shown in
[0205] In this section, the description has been made through use of the actual length l.sub.n of the curvable portion, but the virtual length l.sub.nv that is shorter than the actual length of the curvable portion may be used.
3) Simulation
[0206] A simulation is performed through use of the control system designed in the previous chapter and the finite element model derived by Equation (42). The second follower curvable portion 110-(e-2) uses the first algorithm for the follow-the-leader control shown in
l.sub.3=0.021,l.sub.2=0.02,l.sub.1=0.159(47)
[0207] In addition, the second follower curvable portion at 0.02 m from the distal end thereof is set to be as stiff as the most distal curvable portion and the first follower curvable portion. In view of this, the length used for the second follower curvable portion in the first algorithm shown in
l.sub.1v=0.02(48)
[0208]
[0209] In
[0210] In
[0211] In
[0212] In
[0213]
[0214]
[0215]
[0216] In
[0217] In
[0218] In the third embodiment as well, in the same manner as in the first embodiment, when there are a plurality of drive control units having different back-drivability as the drive control units for curving the curvable portion, switching therebetween can be appropriately performed with a reduced burden on the operator.
[0219] In addition, in the control system 10-3 for a continuum robot according to the third embodiment, the most distal curvable portion and each of the follower curvable portions are provided with the drive control mechanisms (most distal drive control mechanism (K.sub.SWL) 310 and follow-up drive control mechanism (K.sub.SWF) 320) each including the low back-drivability drive control unit (K.sub.POS) 251 and the high back-drivability drive control unit (K.sub.BKD) 252. Further, the follow-up control unit (FTL) 330 outputs the bending angle ref.sub.?F of the follower curvable portion to the kinematics computing unit (Kinematics) 230 based on the bending angle ref.sub.?L of the distal curvable portion input to the kinematics computing unit (Kinematics) 230 and the displacement z.sub.b of the robot base 140 input from the input unit 213. According to such a configuration, it is possible to achieve the follow-the-leader control involving the switching of the back-drivability.
Fourth Embodiment
[0220] Next, a fourth embodiment of the present disclosure is described. In the following description of the fourth embodiment, description of matters common to the first to third embodiments described above is omitted, and matters different from those of the first to third embodiments described above are described.
[0221] In the above-mentioned third embodiment, the control system that switches between the low back-drivability drive control unit (K.sub.POS) 251 and the high back-drivability drive control unit (K.sub.BKD) 252 during the follow-the-leader control has been designed, and the algorithms for the follow-up control unit (FTL) 330 have been described. In that case, the third embodiment has been directed to the control over the advancing of the robot base 140. At a time of the advancing in the follow-the-leader control, it suffices that the most distal curvable portion is given the target bending angle by the operator and each follower curvable portion is given the bending angle of the further distal curvable portion that is propagated to each curvable portion. Here, the target bending angles of all the curvable portions including the most distal curvable portion at the displacements of the robot base 140 at the time of the advancing can be stored in a storage unit of the follow-up control unit (FTL) 330. Through use thereof, when the robot base 140 is reversed, the continuum robot can be reversed along the path by reading out the target bending angle of each curvable portion of the robot base 140 relative to the displacement of the robot base 140 from the storage unit without the operator giving a curve command. In view of this, in this embodiment, an algorithm for the follow-up control unit (FTL) 330 that takes into consideration the reversing of the robot base 140 when the control system is switched at the time of the advancing of the robot base 140 is described.
[0222]
[0223] In the graphs of the follow-the-leader control shown in
[0224] As in the third embodiment illustrated in
[0225] In the reversing of the robot base 140, it suffices that the bending angle of the second follower curvable portion 110-(e-2) is automatically generated so as to become QT at a displacement Q of the robot base 140. Here, the displacement Q of the robot base 140 is determined so that a distance AQ becomes the length l.sub.3 of the most distal curvable portion 110-e. Now, three algorithms are conceivable for the bending angle of the first follower curvable portion 110-(e-1).
[0226] First, in the first algorithm shown in
[0227] Next, in the second algorithm shown in
[0228] Next, in the third algorithm shown in
[0229] The fourth embodiment also produces the same effects as those of the above-mentioned third embodiment.
Fifth Embodiment
[0230] Next, a fifth embodiment of the present disclosure is described. In the following description of the fifth embodiment, description of matters common to the first to fourth embodiments described above is omitted, and matters different from those of the first to fourth embodiments described above are described.
[0231] In each of the first to fourth embodiments described above, the control system has been designed for the continuum robot 100 to be driven in the x-z plane. In the fifth embodiment, a control system is designed for the continuum robot 100 capable of three-dimensional drive.
[0232]
[0233] In the continuum robot 100-5 illustrated in
[0234] In this embodiment, a mechanism formed of the wires 1011 to 1013 and the wire guides 1061 to 1064 is referred to as curvable portion 1100 being a continuum portion. Further, it is assumed that an actuator unit formed of a rotation motor and a rotation-linear motion conversion mechanism is used as the actuator (not shown). It is also assumed that the wire gripping mechanism has a function of detecting the tensile force of the wire. To that end, the above-mentioned wire gripping mechanism base is provided between the wire gripping mechanism and the actuator, and is connected to the actuator, and a spring is used to connect the wire gripping mechanism base and the wire gripping mechanism to each other. At this time, it is preferred to provide a linear guide or use a parallel spring as the spring so that the wire gripping mechanism is displaced only in the z-axis direction. Then, the tensile force of the wire can be detected by measuring the displacement of the spring.
[0235] Definitions of reference symbols to be used in this embodiment are described below. [0236] l.sub.d: Length of the central axis of the curvable portion 1100 [0237] ?.sub.n: Bending angle of the distal end of the curvable portion 1100 with respect to the reference axis 101 [0238] ?.sub.n: Turning angle of the distal end of the curvable portion 1100 with respect to the reference axis (x-axis) [0239] ?.sub.IK: Bending angle of the distal end of the curvable portion 1100 obtained by the inverse kinematics computing unit (IK) 270 [0240] ?.sub.IK: Turning angle of the distal end of the curvable portion 1100 obtained by the inverse kinematics computing unit (IK) 270 [0241] ?.sub.n: Curvature radius of the curvable portion 1100.
[0242] Further, in this embodiment, the wires 1011 to 1013 are referred to as an a wire, a b wire, and a c wire counterclockwise in an x-y plane, and drive displacements (drive amounts) of the a to c wires 1011 to 1013 are set as l.sub.p1a, l.sub.p1b, and l.sub.p1c.
[0243]
[0244] Further, in this embodiment, the following premises are assumed, and a kinematics of the continuum robot 100-5 is derived. [0245] [1] In each curvable portion 1100, the wire is deformed at a constant curvature. [0246] [2] Torsional deformation of the wire is not taken into consideration. [0247] [3] The wire is not deformed in the longitudinal direction. [0248] [4] The friction between the wire guide and the wire is not taken into consideration.
[0249] The drive displacement l.sub.p1a of the a wire, the drive displacement l.sub.p1b of the b wire, and drive displacement l.sub.p1c of the c wire that are used for setting the bending angle ?.sub.1 and the turning angle ?.sub.1 of the distal end of the curvable portion 1100 are accordingly expressed by Equation (49).
[0250] In this embodiment, in the same manner as in the first embodiment, the expansion or contraction of the wire is not taken into consideration, and hence target displacements ref.sub.za, ref.sub.zb, and ref.sub.zc of the wire gripping mechanisms in the a wire 1011 to c wire 1013 are expressed by Equation (50).
ref.sub.za=1.sub.p1a,ref.sub.zb=1.sub.p1b,ref.sub.zc=1.sub.p1c(50)
[0251] Further, an inverse kinematics computation to be performed by the inverse kinematics computing unit (IK) 270 is expressed by Equation (51).
[0252] In Equation (51), when z.sub.t2c?z.sub.t2b regarding the displacements of the wire gripping mechanisms, Equation (52) is obtained.
[0253] In Equation (51), when z.sub.t2c?z.sub.t2b regarding the displacements of the wire gripping mechanisms, Equation (53) is obtained.
[0254] In Equation (51), when z.sub.t2c=z.sub.t2b=z.sub.t2c regarding the displacements of the wire gripping mechanisms, Equation (54) is obtained.
?.sub.IK=?
?.sub.IK=0
l.sub.d=z.sub.t2a(54)
[0255] In this embodiment, distributed control in which the switching control in the first embodiment and the second embodiment described above is applied to the a wire, the b wire, and the c wire independently of each other is performed.
[0256]
[0257] The control system 10-5 for a continuum robot includes, as the same components as those of
[0258] In the same manner as in the first embodiment, the input unit 211 inputs the mode signal indicating the drive control unit to be selected to the switching control unit (H) 220. The input unit 212 inputs the target command value ref.sub.? of the bending angle of the curvable portion 1100 with respect to the reference axis 101 to the kinematics computing unit (Kinematics) 230 and the like. The input unit 214 inputs a target command value ref? of the turning angle of the curvable portion 1100 with respect to the reference axis (x axis) to the kinematics computing unit (Kinematics) 230 and the like.
[0259] The a wire drive control mechanism (K.sub.SWa) 510 includes the blocking units 241 and 242, the low back-drivability drive control unit (K.sub.POS) 251, the high back-drivability drive control unit (K.sub.BKD) 252, and the selection unit 260 that are illustrated in
[0260] The b wire drive control mechanism (K.sub.SWb) 520 includes the blocking units 241 and 242, the low back-drivability drive control unit (K.sub.POS) 251, the high back-drivability drive control unit (K.sub.BKD) 252, and the selection unit 260 that are illustrated in
[0261] The c wire drive control mechanism (K.sub.SWc) 530 includes the blocking units 241 and 242, the low back-drivability drive control unit (K.sub.POS) 251, the high back-drivability drive control unit (K.sub.BKD) 252, and the selection unit 260 that are illustrated in
[0262] The a wire drive control mechanism (K.sub.SWa) 510, the b wire drive control mechanism (K.sub.SWb) 520, and the c wire drive control mechanism (K.sub.SWc) 530 that are illustrated in
[0263] The target displacements ref.sub.za, ref.sub.zb, and ref.sub.zc of the respective wire gripping mechanisms output from the kinematics computing unit (Kinematics) 230 are obtained by substituting the target command value ref.sub.? of the bending angle and the target command value ref.sub.? of the turning angle into the bending angle ?.sub.1 and the turning angle ?.sub.1 of Equation (49).
[0264] The inverse kinematics computing unit (IK) 270 uses Equation (51) to Equation (54) to obtain the bending angle ?.sub.IK and the turning angle ?.sub.IK from the displacements z.sub.t2a, z.sub.t2b, and z.sub.t2c of the wire gripping mechanism.
[0265] Then, the difference ?.sub.err between the target command value ref.sub.? of the bending angle input to the kinematics computing unit (Kinematics) 230 and the bending angle ?.sub.IK output from the inverse kinematics computing unit (IK) 270, which is expressed by Equation (55), is input to the switching control unit (H) 220. In addition, a difference ?.sub.err between the target command value ref.sub.? of the turning angle input to the kinematics computing unit (Kinematics) 230 and the turning angle ?.sub.IK output from the inverse kinematics computing unit (IK) 270, which is expressed by Equation (56), is input to the switching control unit (H) 220.
?.sub.err=.sub.???.sub.IK(55)
?.sub.err=ref.sub.???.sub.IK(56)
[0266] In the switching from the high back-drivability drive control unit (K.sub.BKD) 252 to the low back-drivability drive control unit (K.sub.POS) 251, first, the mode signal indicating the low back-drivability drive control unit (K.sub.POS) 251 is input from the input unit 211. In this case, the switching control unit (H) 220 performs this switching when the above-mentioned difference ?.sub.err between the bending angles is equal to or smaller than a threshold value set in advance and the above-mentioned difference ?.sub.err between the turning angles is equal to or smaller than a threshold value set in advance.
[0267] Meanwhile, in the switching from the low back-drivability drive control unit (K.sub.POS) 251 to the high back-drivability drive control unit (K.sub.BKD) 252, the switching control unit (H) 220 performs this switching irrespective of the value of the above-mentioned difference ?.sub.err between the bending angles and the value of the above-mentioned difference ?.sub.err between the turning angles. That is, when the mode signal indicating the high back-drivability drive control unit (K.sub.BKD) 252 is input from the input unit 211, the switching control unit (H) 220 performs the switching.
[0268] In the fifth embodiment as well, in the same manner as in the first embodiment, when there are a plurality of drive control units having different back-drivability as the drive control units for curving the curvable portion, switching therebetween can be appropriately performed with a reduced burden on the operator.
[0269] The continuum robot 100-5 in the fifth embodiment includes the curvable portion 1100 configured to be curvable when the plurality of wires 1011 to 1013 are driven and the plurality of actuators (not shown) being the plurality of drive units that drive the plurality of wires 1011 to 1013, respectively. Further, in the control system 10 for a continuum robot according to the fifth embodiment, the drive control mechanisms (a wire drive control mechanism (K.sub.SWa) 510, b wire drive control mechanism (K.sub.SWb) 520, and c wire drive control mechanism (K.sub.SWc) 530) including the low back-drivability drive control unit (K.sub.POS) 251 and the high back-drivability drive control unit (K.sub.BKD) 252 are provided for each of the plurality of the wires 1011 to 1013. Further, in the case in which the mode signal indicating the low back-drivability drive control unit (K.sub.POS) 251 has been input from the input unit 211 while the drive control is being performed by the high back-drivability drive control unit (K.sub.BKD) 252, the switching control unit (H) 220 performs control to switch from the high back-drivability drive control unit (K.sub.BKD) 252 to the low back-drivability drive control unit (K.sub.POS) 251 when the above-mentioned difference ?.sub.err between the bending angles is equal to or smaller than the threshold value and the above-mentioned difference ?.sub.err between the turning angles is equal to or smaller than the threshold value.
[0270] According to the configuration of the control system 10-5 for a continuum robot, a rapid follow-up to the target value at the time of the switching is suppressed, and the prevention of damage to the continuum robot itself and a fragile target object can be achieved.
[0271] Further, in the case in which the mode signal indicating the high back-drivability drive control unit (K.sub.BKD) 252 has been input from the input unit 211 while the drive control is being performed by the low back-drivability drive control unit (K.sub.POS) 251, the switching control unit (H) 220 performs control to switch from the low back-drivability drive control unit (K.sub.POS) 251 to the high back-drivability drive control unit (K.sub.BKD) 252 irrespective of the value of the above-mentioned difference ?.sub.err between the bending angles and the value of the above-mentioned difference ?.sub.err between the turning angles.
Sixth Embodiment
[0272] Next, a sixth embodiment of the present disclosure is described. In the following description of the sixth embodiment, description of matters common to the first to fifth embodiments described above is omitted, and matters different from those of the first to fifth embodiments described above are described.
[0273] In the sixth embodiment, the follow-the-leader control involving the switching of the control system is performed on the continuum robot 100 including a plurality of curvable portions and having a capability of three-dimensional drive.
[0274]
[0275] Here, drive displacements of the a wire to c wire that drive the n-th curvable portion 1100-n are set as l.sub.pna, l.sub.pnb, and l.sub.pnc. Then, a relationship between the drive displacements l.sub.pna, l.sub.pnb, and l.sub.pnc of the a wire to c wire and the bending angle ?.sub.n and turning angle ?.sub.n at a distal end of the n-th curvable portion 1100-n is obtained. The number of curvable portions 1100 is set as e, and the phase angle ?.sub.n of the wires that drive the n-th curvable portion 1100-n is expressed by Equation (57).
[0276] The drive displacements l.sub.pna, l.sub.pnb, and l.sub.pnc of the a wire to c wire of the n-th curvable portion 1100-n are accordingly expressed by Equation (58).
[0277] In this embodiment as well, in the same manner as in the fifth embodiment, the expansion or contraction of the wire is not taken into consideration, and hence target-displacements ref.sub.zna, ref.sub.znb and ref.sub.znc of the wire gripping mechanisms in the a wire to c wire of the n-th curvable portion 1100-n are expressed by Equation (59).
ref.sub.zna=l.sub.pna,ref.sub.znb=l.sub.pnb,ref.sub.znc=l.sub.pnc(59)
[0278] Through use thereof, the wires are each driven by the switching control system in the same manner as in the fifth embodiment described above.
[0279]
[0280] The control system 10-6 for a continuum robot includes, as the same components as those of
[0281] In the same manner as in the first embodiment, the input unit 211 inputs the mode signal indicating the drive control unit to be selected to the switching control unit (H) 220. The input unit 212 inputs the target command value ref.sub.?L of the bending angle of the most distal curvable portion with respect to the reference axis 101 to the kinematics computing unit (Kinematics) 230 and the like. The input unit 214 inputs a target command value ref.sub.?l of the turning angle of the most distal curvable portion with respect to the reference axis (x-axis) to the kinematics computing unit (Kinematics) 230 and the like. The input unit 213 inputs the target displacement z.sub.bref of the robot base 1040 to the follow-up control unit (FTL) 330.
[0282] The most distal a wire drive control mechanism (K.sub.SWLa) 610 includes the blocking units 241 and 242, the low back-drivability drive control unit (K.sub.POS) 251, the high back-drivability drive control unit (K.sub.BKD) 252, and the selection unit 260 that are illustrated in
[0283] The most distal b wire drive control mechanism (K.sub.SWLb) 620 includes the blocking units 241 and 242, the low back-drivability drive control unit (K.sub.POS) 251, the high back-drivability drive control unit (K.sub.BKD) 252, and the selection unit 260 that are illustrated in
[0284] The most distal c wire drive control mechanism (K.sub.SWLc) 630 includes the blocking units 241 and 242, the low back-drivability drive control unit (K.sub.POS) 251, the high back-drivability drive control unit (K.sub.BKD) 252, and the selection unit 260 that are illustrated in
[0285] The follower a wire drive control mechanism (K.sub.SWFa) 640 includes the blocking units 241 and 242, the low back-drivability drive control unit (K.sub.POS) 251, the high back-drivability drive control unit (K.sub.BKD) 252, and the selection unit 260 that are illustrated in
[0286] The follower b wire drive control mechanism (K.sub.SWFb) 650 includes the blocking units 241 and 242, the low back-drivability drive control unit (K.sub.POS) 251, the high back-drivability drive control unit (K.sub.BKD) 252, and the selection unit 260 that are illustrated in
[0287] The follower c wire drive control mechanism (K.sub.SWFc) 660 includes the blocking units 241 and 242, the low back-drivability drive control unit (K.sub.POS) 251, the high back-drivability drive control unit (K.sub.BKD) 252, and the selection unit 260 that are illustrated in
[0288] The most distal a wire drive control mechanism (K.sub.SWLa) 610 to the follower c wire drive control mechanism (K.sub.SWFc) 660 may be separately designed, or may be the same control system. In
[0289] Target displacements ref.sub.zLa, ref.sub.zLb, and ref.sub.zLc of the respective wire gripping mechanisms that drive the most distal curvable portion output from the kinematics computing unit (Kinematics) 230 are obtained by substituting the target command value ref.sub.?L of the bending angle of the most distal curvable portion and the target command value ref.sub.?L of the turning angle into the bending angle ?.sub.n and the turning angle ?.sub.n of Equation (58).
[0290] Displacements z.sub.t2La, z.sub.t2Lb, and z.sub.t2Lc to be input to the inverse kinematics computing unit (IK) 270 are displacements of the wire gripping mechanisms relative to the a wire, the b wire, and the c wire of the most distal curvable portion, respectively.
[0291] Further, signal names and block names relating to the follower curvable portion are only required to be read with the subscript L being substituted by F, and also in
[0292] The inverse kinematics computing unit (IK) 270 can use Equation (51) to Equation (54) to obtain the bending angle .sub.?IKL of and the turning angle ?.sub.IKL of the most distal curvable portion and the bending angle ?.sub.IKF of and the turning angle ?.sub.IKF of the follower curvable portion. Here, the follow-up control unit (FTL) 330 uses the algorithm described in the third embodiment described above to obtain the target angle of the follower curvable portion in a turning direction in addition to a curve direction in the same manner as in the curve direction.
[0293] Further, in the case in which the mode signal indicating the low back-drivability drive control unit (K.sub.POS) 251 has been input from the input unit 211 while the drive control is being performed by the high back-drivability drive control unit (K.sub.BKD) 252, the switching control unit (H) 220 performs control to switch from the high back-drivability drive control unit (K.sub.BKD) 252 to the low back-drivability drive control unit (K.sub.POS) 251 when the difference ?.sub.err between the bending angles illustrated in
[0294] Further, in the case in which the mode signal indicating the high back-drivability drive control unit (K.sub.BKD) 252 has been input from the input unit 211 while the drive control is being performed by the low back-drivability drive control unit (K.sub.POS) 251, the switching control unit (H) 220 performs control to switch from the low back-drivability drive control unit (K.sub.POS) 251 to the high back-drivability drive control unit (K.sub.BKD) 252 irrespective of the value of the difference ?.sub.err between the bending angles and the value of the difference ?.sub.err between the turning angles illustrated in
Seventh Embodiment
[0295] Next, a seventh embodiment of the present disclosure is described. In the following description of the seventh embodiment, description of matters common to the first to sixth embodiments described above is omitted, and matters different from those of the first to sixth embodiments described above are described.
[0296] In each of the first to sixth embodiments described above, the operator monitors the generated force F and switches the control system by changing the mode signal to be input from the input unit 211 depending on whether or not the value of the generated force F has fallen out of the predetermined range (?2 N). However, in order to, for example, further reduce the burden on the operator, in the seventh embodiment, a mode in which the above-mentioned manipulations of the operator are automated and performed by the control system 10 for a continuum robot is employed. In the seventh embodiment, it is possible to employ, for example, a mode in which the continuum robot (P.sub.n) 100 illustrated in
[0297] First, a case in which automation processing in the seventh embodiment is applied to each of the first to fourth embodiments is described. The continuum robot (P.sub.n) 100 illustrated in
[0298] Subsequently, a case in which the automation processing in the seventh embodiment is applied to each of the fifth and sixth embodiments is described. The continuum robot (P.sub.n) 100 illustrated in
[0299] The switching from the high back-drivability drive control unit (K.sub.BKD) 252 to the low back-drivability drive control unit (K.sub.POS) 251 is performed under a constraint that a difference between the angle obtained by the inverse kinematics computing unit (IK) 270 and the target command value of the angle is equal to or smaller than the threshold value, but may be performed under a constraint that the operator manipulates the target command value and a difference corresponding to the manipulation is equal to or smaller than the threshold value. In addition, the manipulation may be automated. Specifically, for example, a functional block in which the mode signal, the angle obtained by the inverse kinematics computing unit (IK) 270, and the signal h.sub.OUT are input and an auxiliary target command is output is added. This auxiliary target command is added to the target command. When the switching from the high back-drivability drive control unit (K.sub.BKD) 252 to the low back-drivability drive control unit (K.sub.POS) 251 is commanded, the functional block outputs the auxiliary target command, and when the switching is completed, the functional block stops outputting the auxiliary target command. The auxiliary target command is set as a feedback loop that follows the angle obtained by the inverse kinematics computing unit (IK) 270, and is desired to be fed back with as low a gain as possible.
Other Embodiments
[0300] The present disclosure can also be achieved by processing in which a program for implementing one or more functions of the above-mentioned embodiments is supplied to a system or an apparatus via a network or storage medium, and one or more processors in a computer of the system or the apparatus read out and execute the program. Further, the processing can be achieved by a circuit (for example, ASIC) that implements one or more functions. The program and a computer-readable storage medium having the program stored thereon are encompassed in the present disclosure.
[0301] All the embodiments of the present disclosure described above merely describe embodied examples for carrying out the present disclosure. Therefore, the technical scope of the present disclosure should not be read as restrictive by the embodiments described above. Specifically, the present disclosure can be carried out in various forms without departing from the technical ideas or main features of the present disclosure.
[0302] The present disclosure is not limited to the embodiments described above, and various changes and modifications can be made without departing from the spirit and scope of the present disclosure. The following claims are appended hereto in order to make the scope of the present disclosure public.
[0303] While the present disclosure has been described with reference to exemplary embodiments, it is to be understood that the disclosure 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.