Continuum robot and control method for the same, and program
Patent Information
- Application Number
- JP2022034500
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-03-07
- Publication Date
- 2025-03-11
- Estimated Expiration
- 2042-03-07
AI Technical Summary
Continuum robots face issues with steep bending motions when moving forward or backward due to discrepancies in posture memory during look-around operations, lacking methods to avoid such motions and operate smoothly without external force.
The continuum robot is equipped with an attitude changing unit that adjusts bendable parts' postures using external force detection and switches control modes between position and back-driveable control to maintain smooth movement, storing and updating posture data to avoid steep bends.
Enables the continuum robot to move forward or backward with minimal external force while avoiding steep bending motions, enhancing operational ease and control.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a continuum robot, a control method thereof, and a program.
Background Art
[0002] A continuum robot, also called a continuum robot, has a bendable part with a flexible structure, and its shape is controlled by deforming the bendable part. This continuum robot has mainly two advantages over a robot composed of rigid links (hereinafter referred to as "rigid link robot"). The first advantage is that the continuum robot can move along the curve of an object with only the operation of its tip in a narrow space or an environment with scattered objects where the rigid link robot would get stuck. The second advantage is that since the continuum robot has an inherent softness, it can operate without damaging fragile objects, especially in open spaces. Therefore, the detection of external force at the end effector required for a rigid link robot is not always necessary.
[0003] Taking advantage of this feature, the continuum robot is expected to be applied to medical fields such as endoscope sheaths and catheters, and extreme work robots such as rescue robots. As driving methods for this continuum robot, there are those using tendon drive, those using push-pullable wires, those using air actuators, and the like.
[0004] Patent Document 1 discloses an endoscope equipped with a controller for controlling the posture of a bendable section of a continuous robot, wherein the controller controls subsequent bendable sections to follow the path taken by the bendable section located at the front of the continuous robot's direction of travel. Hereinafter, this posture control will be referred to as "leading-side tracking control." With an endoscope equipped with a controller that performs leading-side tracking control, when inserting the endoscope into the body cavity of a patient, the user only needs to operate the posture of the bendable section located at the front of the insertion direction, and the subsequent bendable sections are automatically controlled so as not to come into contact with the patient's body tissue. Furthermore, when withdrawing the endoscope, the posture of each bendable section is automatically controlled to follow the path taken during insertion, so the user does not need to operate the posture of the bendable sections. In this way, by using leading-side tracking control, the burden on the user during insertion and withdrawal of the continuous robot can be reduced.
[0005] Patent Document 2 discloses a method for determining a navigation path before or during surgery and performing automated navigation using images of a patient's anatomical structure, such as those generated using computed tomography (CT) scans, magnetic resonance imaging (MRI) scans, and the like. [Prior art documents] [Patent Documents]
[0006] [Patent Document 1] Patent No. 4758646 [Patent Document 2] Patent No. 6667691 [Overview of the project] [Problems that the invention aims to solve]
[0007] In one implementation of lead-follow control, the posture of the leading bendable section and the insertion distance of the continuous robot are stored in posture memory in order to propagate the posture of the leading bendable section to the subsequent bendable section when the continuous robot moves forward. Here, the insertion distance of the continuous robot is a value that increases each time the continuous robot moves forward, with the starting position of insertion into the body (body cavity) being set as 0.
[0008] After fully inserting the continuum robot into the body (body cavity), there is an operation to check the surroundings with a camera positioned at the front of the continuum robot for inspection purposes. In this operation, the continuum robot is not moved forward, but several flexible parts at the front are bent to check the entire area of the object to be inspected (hereinafter referred to as the "looking-around operation"). Here, the process of storing the posture of the flexible part at the front in the posture memory is performed only when the continuum robot is moving forward, so the posture stored in the posture memory and the posture after the looking-around operation diverge. If the continuum robot is moved forward or backward in this state, the control returns to the posture stored in the posture memory, which may result in the flexible parts of the continuum robot performing abrupt bending movements. In this regard, Patent Document 1 does not mention any method for avoiding the abrupt bending movements described above when the continuum robot is moving forward or backward. Furthermore, Patent Document 2 describes two methods for reversing: either perform control that follows the external force or regenerate the path. However, it is necessary to select one of these as the default state, and it is not always possible to move forward or backward with minimal external force.
[0009] This invention has been made in view of the above problems, and aims to provide a continuous robot that can move forward or backward with minimal external force while avoiding sharp bending movements during forward or backward movement, and that is easy to operate. [Means for solving the problem]
[0010] The continuous robot of the present invention comprises: a plurality of bendable parts arranged in series in the longitudinal direction, each of which is bendable; a forward / backward unit for moving the plurality of bendable parts forward or backward in the longitudinal direction; a posture changing unit for changing the posture of each of the plurality of bendable parts by bending them; a storage unit for storing the posture of each of the plurality of bendable parts; and, when the forward / backward unit detects the forward or backward movement, if the first posture, which is the posture of at least one of the plurality of bendable parts, deviates by a predetermined amount from the second posture, which is the posture of the at least one bendable part stored in the storage unit, a control unit that switches or continuously transitions the first posture change control for the posture changing unit from a first control that changes the posture to a specified posture to a second control that changes the posture in accordance with an external force. Furthermore, the present invention includes a method for controlling the continuum robot described above, and a program for causing a computer to execute the steps in the control method. [Effects of the Invention]
[0011] According to the present invention, it is possible to realize a continuous body robot that can move forward or backward with minimal external force while avoiding sharp bending movements during forward or backward movement, and that is easy to operate. [Brief explanation of the drawing]
[0012] [Figure 1] This figure shows an example of a schematic configuration of a continuous body robot according to the first embodiment of the present invention. [Figure 2] This figure illustrates the bending angle in the bendable portion of a continuous body robot according to the first embodiment of the present invention. [Figure 3] This figure illustrates the rotation angle in the curved portion of a continuous robot according to the first embodiment of the present invention. [Figure 4] This figure shows an example of a schematic configuration in the control system of a continuum robot according to the first embodiment of the present invention. [Figure 5]A diagram showing an example of the schematic configuration of the input selection unit shown in FIG. 4. [Figure 6] A diagram showing the control system of the continuum robot according to the first embodiment of the present invention, and showing a configuration example for performing leading following control more smoothly. [Figure 7] A diagram for explaining the backward movement of the continuum robot according to the first embodiment of the present invention. [Figure 8] A flowchart showing an example of the processing procedure in the control method of the continuum robot according to the first embodiment of the present invention. [Figure 9] A flowchart showing an example of the processing procedure in the control method of the continuum robot according to the first embodiment of the present invention. [Figure 10] A diagram for explaining the backward movement of the continuum robot according to the first embodiment of the present invention, and showing an example in which the control of the posture changing unit returns to position control due to an external force. [Figure 11] A diagram showing an example of the posture deviation determination method in STEP904 of FIG. 9. [Figure 12] A diagram for explaining the forward movement of the continuum robot according to the first embodiment of the present invention. [Figure 13] A diagram showing the control system of the continuum robot according to the first embodiment of the present invention, and showing a configuration example for performing a process of recalculating a trajectory and updating a posture memory. [Figure 14] A diagram showing an example of the schematic configuration of the posture changing unit of the continuum robot according to the second embodiment of the present invention. [Figure 15] A diagram showing an example of the schematic configuration of the posture changing unit of the continuum robot according to the third embodiment of the present invention. [Figure 16] A diagram showing an example of the schematic configuration in the wire drive unit of the continuum robot according to the fourth embodiment of the present invention. [Figure 17] A diagram showing an example of the schematic configuration of the posture changing unit of the continuum robot according to the fourth embodiment of the present invention.
Modes for Carrying Out the Invention
[0013] Hereinafter, embodiments for implementing the present invention will be described while referring to the drawings.
[0014] (First Embodiment) First, the first embodiment of the present invention will be described.
[0015] FIG. 1 is a diagram showing an example of a schematic configuration of a continuum robot 100 according to the first embodiment of the present invention. The continuum robot 100 includes a plurality of bendable portions 26S1 to 26S9 that are provided in series in the longitudinal direction and each of which can be bent. In the present embodiment, among the plurality of bendable portions 26S1 to 26S9, the bendable portion 26S1, the bendable portion 26S2,... are numbered in order from the most distal end side, and the most proximal end side is defined as the bendable portion 26S9. Note that the proximal end side is the side where the wire drive unit 25 is provided. Also, the section of the bendable portion 26S1 is defined as Sec1, the section of the bendable portion 26S2 is defined as Sec2, and so on, and the section of the bendable portion 26S9 is defined as Sec9. Note that the number of bendable portions 26 is not limited to nine and can be extended to any N. In this specification, when distinguishing which section the bendable portion 26 is in, it is specified with auxiliary symbols S1, S2,..., S9. Also, when it is not necessary to specify which section, it is expressed simply as "bendable portion 26" etc. without the auxiliary symbols such as S1. This expression applies to components other than the bendable portion 26 as well.
[0016] Here, among the plurality of bendable portions 26S1 to 26S9, the bendable portion 26S1 will be described as a representative. The bendable section 26S1 is the section shown in Sec1. The bendable section 26S1 includes wires 204A1, 204B1, and 204C1. These three wires are important in this specification. The wire drive units 25 corresponding to wires 204A1, 204B1, and 204C1 are identified by the auxiliary symbols A, B, and C, such as wire drive unit 25A1, wire drive unit 25B1, and wire drive unit 25C1. In Sec9, wire 204 is expressed as wire 204A9, wire 204B9, and wire 204C9, and the corresponding wire drive units 25 are expressed as wire drive unit 25A9, wire drive unit 25B9, and wire drive unit 25C9, respectively. This expression is also applied to components other than the wire drive units 25. Furthermore, when referring to the three wire drive units 25A1, 25B1, and 25C1 together, they are referred to as "wire drive unit 25S1," etc.
[0017] Let's return to the explanation of the flexible section 26S1. As described above, the bendable section 26S1 includes wires 204A1, 204B1, and 204C1. By pushing and pulling wires 204A1 to 204C1, the bendable section 26S1 can be bent in the vertical and horizontal directions of the paper. Wires 204A1 to 204C1 are fixed to the disc 210S1 via wire fixing section 205S1. Wires 204A1 to 204C1 are guided by the perforated disc 206 and led to wire drive section 25A1 to wire drive section 25C1.
[0018] The second bendable section 26S2 is the section shown in Sec2. Similar to the bendable section 26S1, the bendable section 26S2 can be bent in the vertical and horizontal directions of the paper by pushing and pulling wires 204A2 to 204C2. Wires 204A2 to 204C2 are fixed to the disc 210S2 via wire fixing section 205S2. Wires 204A2 to 204C2 are guided by the perforated disc 206 and led to wire drive section 25A2 to wire drive section 25C2.
[0019] By arranging nine similar mechanisms in series in the longitudinal direction, multiple bendable sections 26S1 to 26S9 are formed. In this embodiment, of the multiple bendable sections 26 provided in series in the longitudinal direction, the bendable section 26S1 furthest from the wire drive unit 25 is called the "distal end bendable section," and the bendable section 26S9 closest to the wire drive unit 25 is called the "proximal end bendable section."
[0020] The wire drive unit 25 will now be described. The wire drive unit 25A1 can push and pull the wire 204A1 by driving the stage 209A1 back and forth. The wire 204A1 is fixed to the stage 209A1 via the tension sensor 207A1. The stage 209A1 can be driven by rotating the actuator 201A1. The position of the stage 209A1 can be detected by the position detector 202A1. The position of the stage 209A1 will be referred to as "PosA1". The tension of the wire 204A1 can be measured by the tension sensor 207A1, and the measured value will be referred to as "ForceA1" (not shown). Here, the wire drive unit 25A1 has been described, but the same applies to the other wire drive units 25.
[0021] The continuous robot 100 also includes an advance / reverse unit 14 that moves multiple bendable sections 26S1 to 26S9 forward or backward in the longitudinal direction. The advance / reverse unit 14 can move all wires 204 forward or backward by moving a Z-stage 213 equipped with multiple wire drive units 25 forward or backward. The Z-stage 213 can be driven by rotating an actuator 211. The position of the Z-stage 213 can be detected by a position detector 212. The position of the Z-stage 213 will be referred to as "PosZ".
[0022] Actuators 201 and 211 can use rotary motors, etc. Also, position detectors 202 and 212 can use encoders attached to the motors, etc.
[0023] Figure 2 is a diagram illustrating the bending angle of the bendable portion 26 of the continuum robot 100 according to the first embodiment of the present invention. In Figure 2, components similar to those shown in Figure 1 are denoted by the same reference numerals, and their detailed explanation is omitted. In this embodiment, the posture of the bendable portion 26 when it is bent is defined by the bending angle and rotation angle of the bendable portion 26. As shown in Figure 2, the continuum robot 100 defines the forward direction as the positive Z coordinate. Also, as shown in Figure 2, the direction of the Z axis changes for each bendable portion 26. The bending angle 31 is defined relatively for each bendable portion 26. For example, the bending angle 31S1 of the bendable portion 26S1 is defined by the angle between the normal vector 301 of the disk 210S1 and the normal vector 302 of the disk 210S2. Similarly, the curvature angle 31S2 of the bendable portion 26S2 is defined by the angle between the normal vector 302 of the disk 210S2 and the normal vector 303 of the disk 210S3. The same applies to the other bendable portions 26.
[0024] Figure 3 is a diagram illustrating the rotation angle of the bendable portion 26 of the continuous robot 100 according to the first embodiment of the present invention. Figure 3 illustrates the case when the bending angle 31 of the bendable portion 26 is 60 degrees, and the rotation angle 32 is 0 degrees, 180 degrees, and 270 degrees.
[0025] Figure 4 shows an example of a schematic configuration in the control system of a continuous robot 100 according to the first embodiment of the present invention. The operation during forward movement will be explained using Figure 4. The input device 10 generates a target curving angle 101 and a target turning angle 102 for the curveable section 26 based on input from the operator. The input selection unit 22 determines which of the sections Sec1 to Sec9 the target angles for the target curving angle 101 and the target turning angle 102 are for.
[0026] Figure 5 shows an example of the schematic configuration of the input selection unit 22 shown in Figure 4. In Figure 5, components similar to those in Figure 4 are denoted by the same reference numerals, and their detailed explanations are omitted.
[0027] As shown in Figure 5, the input selection unit 22 includes a curve target angle processing unit 503 and a rotation target angle processing unit 504 for selecting the curve target angle 101 and the rotation target angle 102. Here, the curve target angle processing unit 503 will be explained as an example. The input selection unit 22 is equipped with a selection switch 502 corresponding to each bendable section 26 (see Figure 1). The selection switch 502 selects one of three inputs: the self-holding section 501, the input device 10, and the attitude memory 19. The selected signal is input to the forward kinematics calculation unit 23. The input selection unit 22 also includes a self-holding section 501 corresponding to each bendable section 26. The self-holding section 501 has the function of storing input data and outputting the stored data with a 1-sampling delay. When moving forward, the selection switch 502 is basically selected as shown in Table 1 below. [Table 1]
[0028] Let me explain the posture memory 19. The attitude memory 19 is a memory unit that stores the attitude of each of the multiple bendable parts 26S1 to 26S9. Specifically, the attitude memory 19 has an array structure and stores the bending angle and rotation angle corresponding to each bendable part 26 (see Figure 1) as the attitude of each bendable part 26. For example, address M1 of the attitude memory 19 stores the bending angle and rotation angle corresponding to bendable part 26S1, and address M2 stores the bending angle and rotation angle corresponding to bendable part 26S2. Other addresses M of the attitude memory 19 are stored similarly. In addition, addresses M10 and beyond in the attitude memory 19 do not have corresponding bendable parts 26, but are storage areas for lead-following control, which will be described later. Note that the data for each bendable part 26 and the attitude memory 19 do not necessarily have to be one-to-one; it is desirable for the attitude memory 19 to have at least 10 data for each bendable part 26 for smooth operation. This will be described later using Figure 6.
[0029] Returning to the explanation of Figure 4. Next, the forward kinematics calculation unit 23 will be explained. In this embodiment, forward kinematics is defined as taking the target bending angle 28 and target rotation angle 29 for each bendable part 26 (see Figure 1) as input and outputting a position command (RefPos) that all wires 204 (see Figure 1) should take. The forward kinematics calculation unit 23 is responsible for performing this forward kinematics calculation. The wires 204 (see Figure 1) are moved to their respective positions by each stage 209 (see Figure 1).
[0030] Next, we will explain the posture changing unit 27. The attitude change unit 27 changes the attitude of the bendable parts 26 by controlling the target position (RefPos) and bending each of the bendable parts 26 in the multiple bendable parts 26S1 to 26S9. As a specific example, the attitude change unit 27A1 will be described. The attitude change unit 27A1 performs position feedback control in order to set the current position (PosA1) of the stage 209A1 (see Figure 1) to the target value. That is, the attitude change unit 27A1 calculates the position deviation by subtracting the current position (PosA1) from the target position (RefPosA1), and calculates the force target value (RefForceA1) by multiplying the position deviation by the gain Ksv. At this time, position control can be achieved even if the force target value (RefForceA1) is directly applied to the wire drive unit 25A1, but in this embodiment, force feedback is also performed in order to perform control that follows an external force. Specifically, the attitude change unit 27A1 calculates the force deviation by subtracting the measured value (ForceA1) from the tension sensor 207A1 (see Figure 1) from the force target value (RefForceA1), multiplies the force deviation by the gain Kf to calculate the command current (RefCurrentA1), and adds it to the wire drive unit 25A1. Here, the attitude change unit 27A1 has been described, but the control of the other attitude change units 27 is similar. Note that the three attitude change units 27A1, 27B1, and 27C1 are collectively referred to as the attitude change unit 27S1.
[0031] As described above, the input device 10 can be used to perform at least one of bending and swiveling on any of the bendable sections 26.
[0032] Next, we will explain lead-following control. Lead-follow control is a control system that, with each forward movement, propagates the attitude of the distal end bendable section to the proximal bendable section, and with backward movement, propagates the attitude of the proximal end bendable section to the distal end bendable section. This allows the operator to operate only the distal end bendable section, reducing the load on the operator.
[0033] This lead-following control will be explained using Figure 4. In order to perform lead-follow control, it is necessary to store the bending angle 17S1 and rotation angle 18S1, which are attitude information of the distal end bendable part. Attitude information is stored in each element of the array of the attitude memory 19, which is the storage unit (stored attitude). In this embodiment, the attitude of each bendable part 26 (see Figure 1) is stored in the form of a bending angle 17 and a rotation angle 18. In this embodiment, the calculation of the bending angle 17 and rotation angle 18 from the position command (RefPos) or position (Pos) of the attitude change unit 27 is defined as inverse kinematics. The inverse kinematics calculation unit 24 performs the inverse kinematics calculation. Of the bending angle 17 and rotation angle 18 obtained by the inverse kinematics calculation unit 24, the bending angle 17S1 and rotation angle 18S1 of the distal end bendable part are always written to element M1 of the array of the attitude memory 19.
[0034] Furthermore, in order to determine the bending angle 17S1 and rotation angle 18S2 of the distal end bendable section, it is necessary to use the position command (RefPos) or position (Pos) of all attitude change units 27 because the wire 204 (see Figure 1) may not pass through the center of the cylinder. For example, if the intermediate bendable section 26 (see Figure 1) is bent, the wire 204 passing outside the curve requires more length than the wire 204 passing inside the curve. Therefore, the bending angle 17S1 and rotation angle 18S1 of the distal end bendable section cannot be calculated using only the position (PosA1), position (PosB1), and position (PosC1) of the three wires 204 204. Note that the position selection unit 30 determines whether the position command (RefPos) or position (Pos) signal is transmitted to the inverse kinematics calculation unit 24. When the control mode of the attitude change unit 27, described later, is position control, position command (RefPos) is selected, and when it is backdrivable control, position (Pos) is selected. Here, backdrivable control is a control that changes attitude in accordance with external forces.
[0035] Next, I will explain the process when moving forward. Forward movement is performed by the operator operating the input device 13. When the forward movement operation is performed, the Z-stage 213 (see Figure 1) of the forward / backward section 14 moves forward, and all wires 204 (see Figure 1) move forward. This causes the continuum robot 100 (see Figure 1) to move forward. To perform lead-follow control, when the bendable section 26 (see Figure 1) moves forward by one unit, the attitude should be propagated to the proximal side by one unit. The position of the Z-stage 213 is monitored, and when the bendable section 26 moves forward by one unit, the attitude memory 19 is propagated by the propagation process 20 by one unit of the bendable section 26. For example, the data at address M11 of the attitude memory 19 is copied to M12, and the data at M10 is copied to M11. This operation is repeated, and once the operation of copying the data at M1 to M2 is completed, the propagation process 20 is completed. For illustrative purposes, the explanation begins with copying the data from M11 to M12. However, this process should be performed across the entire array area of the allocated attitude memory 19. If the number of array elements is N, the process must begin with copying the data from M(N-1) to MN.
[0036] Once copying is complete, the subsequent bendable section 26 (see Figure 1) following the distal end bendable section is controlled by the bending target angle 37 and turning target angle 38 read from the attitude memory 19, and the attitude is propagated. In the case of lead-follow control, the output of the input device 10 is basically selected by the input selection unit 22 as the target value for the distal end bendable section, so the bending target angle 28 and turning target angle 29 for the subsequent bendable section 26 are read from the attitude memory 19 without being hindered by the input selection unit 22.
[0037] In this embodiment, an example of propagating attitude by copying the attitude memory 19 is shown, but it is also possible to achieve propagation by changing the reference position of the attitude memory 19 instead of copying. For example, in Figure 4, the bendable parts 26S1, 26S2, ..., 26S9 correspond to the addresses M1, M2, ..., M9 of the attitude memory 19, but propagation is possible simply by changing the correspondence to M2, M3, ..., M10.
[0038] The same applies to reversing, which is performed by the operator operating the input device 13. When reversing is performed, the Z-stage 213 (see Figure 1) of the forward / reverse section 14 reverses, and all wires 204 (see Figure 1) revert. For attitude propagation during reversing, when the bendable section 26 (see Figure 1) reverts by one unit, the attitude should be propagated distally by one unit. The position of the Z-stage 213 is monitored, and when the bendable section 26 reverts by one unit, the attitude memory 19 is propagated by the propagation process 21 by one unit of the bendable section 26. This operation involves copying the data at address M2 of the attitude memory to M1, the data at M3 to M2, ..., up to copying the data at MN to M(N-1). Subsequent processing is the same as during forward movement. In addition, during reversing, it is desirable for the input selection unit 22 to select a target value from the attitude memory 19 for all bendable sections 26, as shown in Table 2 below. [Table 2]
[0039] Figure 6 shows the control system of a continuous robot 100 according to the first embodiment of the present invention, and is a diagram showing an example of a configuration for performing lead-following control more smoothly. In Figure 6, the same reference numerals are used for components similar to those shown in Figures 4 and 5, and their detailed explanation is omitted.
[0040] In Figure 4, for the sake of simplicity, the propagation process is explained by monitoring the position of the Z-stage 213 and performing the propagation process when the bendable section 26 moves by one unit. However, the propagation process can be performed more finely. For example, as shown in Figure 6, the attitude memory 19 may be divided more finely, and the propagation process 20 may be performed when the Z-stage 213 (see Figure 1) moves forward by an amount less than one unit of the bendable section 26. Similarly, the propagation process 21 may be performed when the Z-stage 213 moves backward by an amount less than one unit of the bendable section 26. In this case, the attitude of the distal end bendable section will be stored in the attitude memory 19 in more detail. Furthermore, the smoothing unit 600 shown in Figure 6 can be used to calculate the bending target angle 37 and the turning target angle 38. The smoothing unit 600 can perform smoothing processing using elements of multiple arrays propagating on the attitude memory 19 as attitude information input. This smoothing processing can include, for example, calculating the arithmetic mean. As a result, even if the operator performs abrupt maneuvers, the smoothing unit 600 will smooth the operation, resulting in smooth movement. This concludes the explanation of lead-follow control.
[0041] Figure 7 is a diagram illustrating the backward movement of the continuous robot 100 according to the first embodiment of the present invention. In Figure 7, components similar to those shown in Figures 1 and 2 are denoted by the same reference numerals, and their detailed descriptions are omitted. Here, we will explain the scanning operation, which is an operation to check the entire area of the object to be inspected, and the subsequent backward movement. Note that the posture of the distal end bending portion is stored in the posture memory 19 only when moving forward, so the posture stored in the posture memory 19 and the posture after the scanning operation will differ. If forward or backward movement is performed in this state, the posture will return to the posture stored in the posture memory 19, which may result in a sharp bending motion. A method for avoiding this sharp bending motion will be explained.
[0042] Figure 7(a) shows the continuous robot 100 after the bending section 26 has completed its forward movement. Here, it is assumed that the robot is moving inside a pipe that has some degree of flexibility. The operator is moving forward by selecting a trajectory with minimal external force from the wall surface while checking the camera field of view 701.
[0043] Figure 7(b) shows the state in which the bendable sections 26S2 and 26S3 are bent for a panoramic view. At this time, the attitude changing section 27 (see Figure 4) that bends each bendable section 26 is performing position control, so the external force 702 from the wall surface is larger than in Figure 7(a). The operation of bending the bendable sections 26S2 and 26S3 is performed by switching the selection switch 502 of the input selection section 22 (see Figure 5). When operating the bendable section 26S2, the selection switch 502 of the input selection section 22 (see Figure 5) is switched as shown in Table 3 below. [Table 3]
[0044] Furthermore, this operation only requires the operator to switch the input selection unit 22 (see Figure 5) from section Sec1 to section Sec2. The previously selected curved section 26 (see Figure 1) in the input selection unit 22 (see Figure 5) is pre-programmed to switch to the self-holding unit 501.
[0045] In this state, the bendable section 26S2 is bent to the desired angle. Next, the selection switch 502 (see Figure 5) of the input selection unit 22 (see Figure 5) is switched as shown in Table 4 below. Note that this operation is simply a matter of switching the input selection unit 22 from section Sec2 to section Sec3 from the operator. [Table 4]
[0046] Next, as shown in Figure 7(c), the bendable section 26S3 is rotated 706 to perform a look-around operation. Incidentally, the posture 707 shown by the dashed line represents the posture of the bendable section 26 of the continuous robot 100 before the rotation 706 is performed. Figure 7(c) shows the state after the look-around operation has been completed. At this time, the posture 703 of the bendable section 26 stored in the posture memory 19 differs from the posture of each bendable section 26. If a backward operation is performed in this state, a sharp movement will occur. Therefore, in this embodiment, the process shown in the flowchart in Figure 8 is performed.
[0047] Figure 8 is a flowchart showing an example of a processing procedure in a control method for a continuous robot 100 according to the first embodiment of the present invention. Specifically, Figure 8 is a flowchart showing the switching of a predetermined bendable portion 26 from position control (first control) that changes to a specified posture to backdrivable control (second control) that changes the posture in accordance with an external force, as a posture change control. The processing in the flowchart shown in Figure 8 is mainly performed by the control switching unit 15 (control unit) and the deviation determination unit 16 shown in Figure 4.
[0048] First, in STEP 100 of Figure 8, the control switching unit 15 determines whether or not it has detected the forward or backward movement of the bendable portion 26 of the continuous robot 100 based on the input from the forward / backward unit 14. If, as a result of this determination, it has not detected the forward or backward movement of the bendable portion 26 of the continuous robot 100 (STEP 100 / NO), it waits in STEP 100 until it detects the forward or backward movement of the bendable portion 26 of the continuous robot 100.
[0049] On the other hand, if the judgment in STEP 100 detects that the bendable section 26 of the continuous robot 100 is moving forward or backward (STEP 100 / YES), the process proceeds to STEP 101. Here, we will explain the case where backward movement of the bendable section 26 of the continuous robot 100 is detected. By operating the input device 13 (see Figure 4), the Z-stage 213 (see Figure 1) of the forward / backward section 14 (see Figure 4) moves backward. When the Z-stage 213 moves backward, the position (PosZ) (see Figure 1) of the Z-stage 213 is input to the control switching unit 15. The control switching unit 15 monitors the position (PosZ), and in this case, it detects backward movement.
[0050] When the process proceeds to STEP 101, for example, the deviation determination unit 16 selects the most proximal bendable portion 26 (in the example shown in Figure 1, the bendable portion 26S9).
[0051] Next, in STEP 102, the deviation determination unit 16 determines whether the selected posture of the bendable portion 26 (first posture) and the posture 703 of the bendable portion 26 stored in the posture memory 19 (see Figure 7: second posture) deviate by a predetermined amount or more. Here, the selected posture of the bendable portion 26 (first posture) corresponds to the bending angle 17 and rotation angle 18 output by the inverse kinematics calculation unit 24 (see Figure 4), which performs calculations using inverse kinematics from the displacement position or rotation amount of the actuator 201. The posture 703 of the bendable portion 26 stored in the posture memory 19 (see Figure 7: second posture) corresponds to the bending target angle 37 (see Figure 4) and rotation target angle 38 (see Figure 4) retrieved from the posture memory 19 (see Figure 4).
[0052] If, as a result of the judgment in STEP 102, the posture of the selected bendable portion 26 and the posture 703 of the said bendable portion 26 stored in the posture memory 19 do not deviate by a predetermined amount (STEP 102 / NO), the process proceeds to STEP 103. For example, in the example shown in Figure 7, if the selected bendable portion 26 is the most proximal bendable portion 26, the judgment in STEP 102 is negative (NO), and the process proceeds to STEP 103. When the process proceeds to STEP 103, the deviation determination unit 16 determines whether or not the confirmation of all bendable parts 26 has been completed.
[0053] If, as a result of the judgment in STEP 103, confirmation has not been completed for all flexible parts 26 (STEP 103 / NO), proceed to STEP 104. Here, if the selected flexible part 26 is the most distal flexible part 26S1, the result is STEP 103 / YES. Also, if the selected flexible part 26 is a flexible part 26 other than flexible part 26S1, such as the most proximal flexible part 26S9, the result is STEP 103 / NO, and proceed to STEP 104. When the process proceeds to STEP 104, the deviation determination unit 16 selects the bendable portion 26 one position distal to the currently selected bendable portion 26. Then, it returns to STEP 102 and performs the processing from STEP 102 onward for the bendable portion 26 selected in STEP 104.
[0054] Furthermore, if, as a result of the judgment in STEP 102, the posture of the selected bendable portion 26 and the posture 703 of the said bendable portion 26 stored in the posture memory 19 deviate by a predetermined amount (STEP 102 / YES), the process proceeds to STEP 105. In the example shown in Figure 7, since the process has been operated up to the third bendable portion 26S3 from the distal side, when the bendable portion 26S3 is selected, STEP 102 / YES is obtained, and the process proceeds to STEP 105. When the process proceeds to STEP 105, the control switching unit 15 switches the control control of the attitude change unit 27 (see Figure 4) from position control (first control) to change to a specified attitude to backdrivable control (second control) which changes attitude in accordance with an external force. Specifically, the control switching unit 15 (see Figure 4) performs this switch by setting the attitude change unit 27 to Ksv=0 in response to the switching signal 35 (see Figure 4). More specifically, when the attitude change unit 27 becomes Ksv=0, the position command (RefPos) is ignored and the control becomes one which follows an external force. Here, in the processing of STEP 105, it is desirable for the control switching unit 15 to switch all bendable parts 26 distal to the selected bendable part 26S3 to backdrivable control. Therefore, in this example, the control switching unit 15 sets the Ksv of attitude change unit 27S3, attitude change unit 27S2 and attitude change unit 27S1 to Ksv=0.
[0055] Next, in STEP 106, for example, the control switching unit 15 stores the position (PosZ) of the Z-stage 213 (see Figure 1) at the time the control system of the attitude change unit 27 is switched from position control to backdrivable control. Furthermore, for example, the control switching unit 15 stores the required forward distance 1201 (see Figure 12) and the required backward distance 704 (see Figure 7), which will be described later. Here, the required forward distance 1201 and the required backward distance 704 are constant distances. The information stored in STEP 106 will later be used to switch back from backdrivable control to position control.
[0056] If the process in STEP 106 is completed, or if it is determined in STEP 103 that all bendable parts 26 have been checked (STEP 103 / YES), the process shown in the flowchart in Figure 8 is terminated.
[0057] Furthermore, if no scanning operation is performed, it is determined that the orientation of the bendable part 26 selected in STEP 102 and the orientation 703 of the bendable part 26 stored in the orientation memory 19 do not deviate by a predetermined amount (STEP 102 / NO), and it is determined that the confirmation of all bendable parts 26 has been completed in STEP 103 (STEP 103 / YES), and the flowchart process shown in Figure 8 is terminated, so the system does not switch to backdrivable control.
[0058] Furthermore, while the distal end bendable section is moving forward, the input from the input device 10 (see Figure 4) is active. However, as shown in Figure 4, the bending angle 17S1 and the rotation angle 18S1 of the distal end bendable section are constantly written to the attitude memory 19, so there is no discrepancy. Therefore, there is no need to make a determination, and the section Sec1 is not included as an input to the discrepancy determination unit 16 (see Figure 4).
[0059] Let's return to the explanation of Figure 7. Figure 7(d) shows the state after the flowchart shown in Figure 8 has been executed and the first three bendable sections 26 from the distal end have been switched to back-driveable control. In Figure 7(d), the bendable sections 26 where back-driveable control is effective are shown with thick dashed lines, and the bendable sections 26 where position control is effective are shown with thick solid lines.
[0060] Next, we will explain how to switch back from backdrivable control to position control. In STEP 106 of Figure 8, the required retraction distance 704 is stored. The required retraction distance 704 is the distance used to return the bendable section 26 to position control when the Z-stage 213 retracts. This required retraction distance 704 is set for each of the bendable sections 26 that are under backdrivable control. In this example, the required retraction distance 704 is set for bendable sections 26S1 to 26S3, resulting in required retraction distances 704S1, 704S2, and 704S3, as shown in Figure 7(d). Furthermore, the required retraction distance 704 increases from the most proximal of the bendable sections 26 that are under backdrivable control, towards the distal end. In other words, in this example, the required setback distance 704S3 for the bendable portion 26S3 is the distance of one bendable portion 26, the required setback distance 704S2 for the bendable portion 26S2 is the distance of two bendable portions 26, and the required setback distance 704S1 for the bendable portion 26S1 is the distance of three bendable portions 26.
[0061] Figure 9 is a flowchart illustrating an example of a processing procedure in a control method for a continuous robot 100 according to the first embodiment of the present invention. Specifically, Figure 9 is a flowchart showing how to return from backdrivable control (second control) to position control (first control) when predetermined conditions are met.
[0062] First, in STEP 900 of Figure 9, for example, the control switching unit 15 determines whether or not it has received a command to return to position control. In this embodiment, all flexible sections 26 can be immediately returned to position control by pressing an operation switch (not shown) by the operator.
[0063] If, as a result of the determination in STEP900, a command to return to position control has not been received (STEP900 / NO), proceed to STEP901. When the process proceeds to STEP 901, for example, the control switching unit 15 determines whether the Z-stage has moved forward from the state in which the control was changed to back-driveable control. This determination in STEP 901 can be made by comparing the position of the Z-stage 213 (see Figure 1) stored in STEP 106 in Figure 8 with the current position of the Z-stage 213 (PosZ) (see Figure 1).
[0064] If, as a result of the judgment in STEP 901, the Z-stage has not moved forward since the change to back-drive control (STEP 901 / NO), proceed to STEP 902. In the example shown in Figure 7, the Z-stage is moving backward, so the result is STEP 901 / NO, and the process proceeds to STEP 902. When the process proceeds to STEP 902, for example, the control switching unit 15 selects the most proximal bendable section 26 (see Figure 1) that is currently performing backdrivable control. In the example shown in Figure 7, the bendable section 26S3 is selected.
[0065] Next, in STEP 903, for example, the control switching unit 15 determines whether the curved section 26 selected in STEP 902 has retracted by the required distance. In this example, a comparison is made between the required retraction distance 704S3 (see Figure 7) and the retraction distance 705 (see Figure 7).
[0066] If, as a result of the judgment in STEP 903, the curveable section 26 selected in STEP 902 has not retracted by the required retraction distance (STEP 903 / NO), proceed to STEP 904. In the example shown in Figure 7(e), the required retraction distance 704S3 is greater than the retraction distance 705, so STEP 903 / NO occurs, and the process proceeds to STEP 904. Here, the retraction distance 705 is defined as how far the Z-stage 213 (see Figure 1) has retracted from the position where the process in STEP 105 in Figure 8 was executed and the backdrivable control was switched. When the process proceeds to STEP 904, for example, the control switching unit 15 determines whether the difference between the attitude of the bendable part 26 selected in STEP 902 and the attitude 703 of the bendable part 26 stored in the attitude memory 19 is below a threshold.
[0067] If it is determined in STEP 904 that the deviation related to posture is below the threshold (STEP 904 / YES), or if it is determined in STEP 903 that the required retreat distance has been reached (STEP 903 / YES), proceed to STEP 905. Here, once the retreat has been completed to Figure 7(f), the retreat distance 705 (see Figure 7) will be greater than the required retreat distance 704S3 (see Figure 7), so STEP 903 / YES will be reached, and the process will proceed to STEP 905. In STEP 905, the control switching unit 15 switches the control system of the bendable section selected in STEP 902 from backdrivable control to position control. In the example shown in Figure 7, since the bendable section 26S3 was selected in STEP 902, the attitude change unit 27S3 (see Figure 4) is switched from backdrivable control to position control. Specifically, the switch in STEP 905 is performed by substituting a constant value into Ksv of the attitude change unit 27S3 to switch to position control.
[0068] If the process in STEP905 is completed, or if it is determined in STEP904 that the deviation related to posture is not below the threshold (STEP904 / NO), proceed to STEP906. When the process proceeds to STEP 906, the control switching unit 15 determines whether all of the bendable parts 26 are under position control.
[0069] If, as a result of the judgment in STEP 906, all of the bendable parts 26 are not under position control (STEP 906 / NO), the process returns to STEP 900. In this example, the bendable parts 26S1 to 26S3 related to the attitude change parts 27S1, 27S2, and 27S3 are under backdrivable control, so the result is STEP 906 / NO, and the process returns to STEP 900.
[0070] On the other hand, if the result of the judgment in STEP 906 is that all of the curveable parts 26 are under position control (STEP 906 / YES), the process of the flowchart in Figure 9 is terminated. In the example shown in Figure 7, when the vehicle retracts to Figure 7(g), the retraction distance 705 becomes greater than the total required retraction distance 704. Therefore, in STEP 905, all of the attitude change parts 27 (see Figure 4) return to position control, resulting in STEP 906 / YES and the process of the flowchart in Figure 9 is terminated.
[0071] Here, we will explain an example in STEP 904 of Figure 9 where the discrepancy between the posture of the bendable portion 26 selected in STEP 902 and the posture 703 of the bendable portion 26 stored in the posture memory 19 is determined to be below a threshold.
[0072] Figure 10 is a diagram illustrating the reversal of the continuous robot 100 according to the first embodiment of the present invention, and shows an example in which the control of the attitude change unit 27 returns to position control due to an external force 702. In Figure 10, the same reference numerals are used for components similar to those shown in Figure 7, and their detailed explanation is omitted. Also, Figure 10(e) shows the same state as Figure 7(e).
[0073] As shown in Figure 10(e), the external force 702 causes the posture of the bendable portion 26S3 to approach the posture 703 of the bendable portion 26S3 stored in the posture memory 19. In this case, in STEP 904 of Figure 9, it is determined that the difference between the posture of the bendable portion 26S3 and the posture 703 of the bendable portion 26S3 stored in the posture memory 19 is below a threshold, and the process proceeds to STEP 905. As a result, the posture changing unit 27S3 is changed to position control. This state is shown in Figure 10(e2).
[0074] Next, in this embodiment, it is determined whether the discrepancy between the attitude of the bendable portion 26S2 and the attitude 703 of the bendable portion 26S2 stored in the attitude memory 19 is below a threshold. If the external force 702 causes the discrepancy to fall below the threshold, the attitude change unit 27S2 is changed to position control. This state is shown in Figure 10(e3). Similarly, when the attitude change unit 27S1 of the distal end bendable portion is changed to position control, the result is STEP 906 / YES in Figure 9, and the processing of the flowchart in Figure 9 is completed.
[0075] Note that the determination in STEP 904 in Figure 9 may be made by directly comparing the curvature angle 17 (see Figure 4) and rotation angle 18 (see Figure 4) with the target curvature angle 37 (see Figure 4) and rotation target angle 38 (see Figure 4), or by calculating the distance in three-dimensional space.
[0076] Figure 11 shows an example of a method for determining the deviation of attitude in STEP 904 of Figure 9. The attitude 1100 of the bendable part 26 and one side of the attitude 1101 stored in the attitude memory 19 are fixed on the same point, and the control switching unit 15 calculates the position of the other side in three-dimensional space using the bending angle 17 and the rotation angle 18 and the bending target angle 37 and the rotation target angle 38. Then, the control switching unit 15 calculates the distance 1102 of the point that is not on the same point side. Finally, the control switching unit 15 checks the deviation between the attitude 1100 of the bendable part 26 and the attitude 1101 of the bendable part 26 stored in the attitude memory 19 by comparing the distance 1102 with a threshold.
[0077] In the case of external force 702, the condition that the discrepancy between the posture of the bendable part 26 in STEP 904 of Figure 9 and the posture of the bendable part 26 stored in the posture memory 19 is below a threshold is not necessarily met. In that case, it is necessary to return to position control by retracting the robot or to send a command to return to position control. The above is a description of the retraction of the continuous robot 100 when the present invention is applied.
[0078] Next, we will explain the forward movement of the continuous robot 100. Figure 12 is a diagram illustrating the forward movement of the continuous robot 100 according to the first embodiment of the present invention. In Figure 12, components similar to those shown in Figure 7 are denoted by the same reference numerals, and their detailed explanation is omitted. Also, Figure 12(d) shows the same state as Figure 7(d). The following describes how to return from backdrivable control to position control during forward movement, using the flowchart in Figure 9 and Figure 12.
[0079] In STEP 106 of Figure 8, the required forward distance 1201 shown in Figure 12(d) is stored. This required forward distance 1201 is the distance required to return the bendable section 26 to position control when the Z-stage 213 (see Figure 1) moves forward by that distance. Specifically, the required forward distance 1201 is the length of the bendable section 26 which is under backdriveable control. In this example, since the bendable sections 26S1, 26S2, and 26S3 are under backdriveable control, the required forward distance 1201 is the distance of three bendable sections 26.
[0080] Now, let's explain while looking at the flowchart in Figure 9. In this example, since it is the case of STEP900 / NO in Figure 9, the process proceeds to STEP901, and since it has moved forward, it becomes STEP901 / YES, and proceeds to STEP907. In STEP907, for example, the control switching unit 15 determines whether the Z stage 213 has moved forward beyond the required forward distance 1201. If the result of this determination is that it has not exceeded the required forward distance 1201 (STEP907 / NO), the process returns to STEP900.
[0081] Returning to the explanation of Figure 12. Figure 12(e) shows an example where the Z-stage 213 (see Figure 1) has advanced a distance equivalent to one section of the bendable section 26. At this point, since it has not advanced to the required forward distance 1201, the bendable section 26S1 to the bendable section 26S3 does not return to position control. On the other hand, the bendable section 26S4 is in position control mode, and the attitude 703 stored in the attitude memory 19 is used as the target value. Since lead-follow control is enabled, the input selection unit 22 (see Figure 5) is as shown in Table 5 below. [Table 5]
[0082] In this case, in section Sec1, the target command from the input device 10 is valid, but it is ignored because the corresponding bendable section 26S1 is under backdrivable control. In sections Sec2 and Sec3, the target commands are from the attitude memory 19, but similarly, they are ignored because the corresponding bendable sections 26S2 and 26S3 are under backdrivable control.
[0083] Instead, the first three sections from the distal end bendable section are controlled to be backdrivable, so the external force 702 changes the posture to one where the load is reduced. This is shown in Figure 12, assuming that it approaches the posture stored in the posture memory 19. Specifically, even if the Z-stage 213 (see Figure 1) is not advanced from Figure 12(e), the posture changes, resulting in Figure 12(f). Between Figure 12(d) and Figure 12(e), the distal end bendable section advances by one section, and the posture of the distal end bendable section is stored in the posture memory 19. Due to the advancement by one section, the posture stored in the posture memory 19 is posture 1203. In Figure 12, posture 703 and posture 1203 stored in the posture memory 19 are discontinuous. Therefore, the value in the posture memory 19 needs to be updated before the bendable section 26S4, which is under position control, enters posture 1203 stored in the posture memory 19.
[0084] Figure 12(g) shows the moment just before the curved section 26S4 enters the attitude 1203 stored in the attitude memory 19, where the forward distance 1202 is smaller than the required forward distance 1201. If it moves forward further, the forward distance 1202 will be larger than the required forward distance 1201, updating the attitude memory 19 (see Figure 4), and the attitude change section 27 (see Figure 4), which is fully under backdrivable control, will return to position control.
[0085] Let's return to the explanation of Figure 9. In STEP 907, as described above, it is determined whether or not Z Stage 213 has advanced beyond the required forward distance of 1201. If, as a result of this determination, Z Stage 213 has advanced beyond the required forward distance of 1201 (STEP 907 / YES), the process proceeds to STEP 908. When the process proceeds to STEP 908, the control system of the continuum robot 100 performs a process to recalculate the trajectory and update the attitude memory 19.
[0086] Figure 13 shows a control system for a continuous robot 100 according to the first embodiment of the present invention, and is a diagram illustrating an example configuration for performing a process of recalculating the trajectory and updating the attitude memory 19. In Figure 13, components similar to those shown in Figures 4 to 6 are denoted by the same reference numerals, and their detailed explanation is omitted.
[0087] The update of the attitude memory 19 begins with the inverse kinematics calculation unit 24 converting the position command (RefPos) or position (Pos) passed from the position selection unit 30 into the curvature angle 17 and rotation angle 18 of each bendable part 26 (see Figure 1). Next, the interpolation unit 1301 interpolates the curvature angle 17 and rotation angle 18 and writes them to the attitude memory 19. Here, the position selection unit 30 selects the position command (RefPos) if the control mode of the attitude change unit 27 is position control, and selects the position (Pos) if it is backdrivable control. The reason the attitude change unit 27 selects the position command (RefPos) when it is position control is that the position command (RefPos) and the position (Pos) may diverge due to the force feedback control. When the external force is large, the backdrivable control system of the inner loop may cause the system to reach equilibrium while the position deviation 1302 of the outer loop's position control remains. In order to maintain the position (Pos), the target position of the attitude change unit 27 must be a position command (RefPos). Therefore, the position selection unit 30 selects a position command (RefPos) when the attitude change unit 27 is in position control mode.
[0088] Furthermore, when the external force is large, the fact that the position (Pos) does not coincide with the position command (RefPos) and follows the external force to some extent is useful for protecting the continuous robot 100 and the object that the continuous robot 100 is in contact with.
[0089] On the other hand, when the attitude change unit 27 is in backdrivable control mode, Ksv=0, and the position command (RefPos) is ignored. Therefore, the position selection unit 30 cannot select the position command (RefPos) and instead selects the position (Pos).
[0090] Furthermore, the interpolation unit 1301 performs resampling when there is no one-to-one correspondence between the attitude memory 19 and the bendable portion 26. In Figure 13, multiple attitude memories 19 are assigned to one bendable portion 26, allowing for smooth operation when the Z-stage 213 (see Figure 1) moves forward. For example, zero-order hold, linear interpolation, or spline interpolation can be used for the resampling process.
[0091] Let's return to the explanation of Figure 9. In STEP 908, the trajectory is recalculated and the attitude memory 19 is updated, then the process proceeds to STEP 909. In STEP 909, the control switching unit 15 performs the process of switching all bendable parts 26 to position control. Specifically, the control switching unit 15 switches from backdrivable control to position control by substituting a constant value into Ksv of the attitude change unit 27 (see Figure 4). Once this switching is complete, the process of the flowchart in Figure 8 is finished. The above is a description of the backward movement of the continuous robot 100 when the present invention is applied.
[0092] Furthermore, in cases where some attitude change units 27 (see Figure 4) are under backdrivable control, the operator can return to position control at any time. The operator can issue a command to return to position control at any time using a push-button switch (not shown), etc. Then, in Figure 9, STEP 900 becomes YES. The processes of STEP 908 and STEP 909, which have already been explained, are performed, and all attitude change units 27 return to position control.
[0093] In the continuous robot 100 according to the first embodiment described above, when forward or backward movement of the Z-stage 213 (see Figure 1) is detected after a look-around operation, if the posture of the bendable portion 26 (first posture) deviates by a predetermined amount from the posture 703 of the bendable portion 26 (see Figure 7: second posture) recorded in the posture memory 19, the control switching unit 15 switches from position control to set the posture to a specified posture (first control) to backdrivable control to change the posture in accordance with an external force (second control) as the posture change control of the bendable portion 26 for at least one posture change unit 27 (see Figure 4). With this configuration, when the continuous robot moves forward or backward after a turning operation, it is possible to avoid sharp bending movements by using the posture stored in the posture memory 19 (see Figure 4). Furthermore, it is possible to realize a continuous robot 100 that can move forward or backward with minimal external force while avoiding sharp bending movements when the continuous robot moves forward or backward, and that is easy to operate.
[0094] Furthermore, for all bendable parts 26 located distal to the bendable part 26 whose posture deviates beyond a predetermined level, the control system of the posture changing unit 27 (see Figure 4) is switched to back-driveable control (second control) which changes posture in accordance with external forces, thereby enabling smooth forward or backward movement while retaining the position control portion.
[0095] In this embodiment, the forward / reverse section 14 (see Figure 4) is shown as being driven by an actuator 211 (see Figure 1). However, it can also be manually moved using a handle or the like without using an actuator. Even in that case, if a position detector 212 (see Figure 1) is present, forward and reverse movement can be detected, and the present invention can be applied.
[0096] Furthermore, in this embodiment, one bendable section 26 is driven by three wires 204 (see Figure 1), but it is not limited to three wires. For example, if one wire is used for pushing and pulling, bending is still possible, although the degree of freedom for bending decreases from two to one.
[0097] Furthermore, in the attitude change unit 27 (see Figure 4), the gain Ksv is used for the position control unit and the gain Kf is used for the backdrivable control unit, but it is not limited to gains. For example, it is possible to change Ksv to a component such as Cpos(s). A combination of PID control and an IIR filter can be used for Cpos(s). Similarly, Kf can also be changed to a component such as Cforce(s). When changing from position control to backdrivable control, setting the output of Cpos(s) to 0 is an effective method. Also, when changing back from backdrivable control to position control, it is necessary to take measures such as clearing the state variables in Cpos(s) to 0.
[0098] Furthermore, in this embodiment, the control switching unit 15 switches from position control to backdrivable control by substituting a constant value for 0 in the attitude change unit 27 (see Figure 4) Ksv. However, it is also possible to continuously transition from position control to backdrivable control by continuously changing Ksv according to deviation, time progression, etc.
[0099] Similarly, in this embodiment, the control switching unit 15 switches from backdrivable control to position control by substituting a constant value from 0 for Ksv in the attitude change unit 27 (see Figure 4). However, Ksv can also be continuously changed according to deviation, time elapsed, etc. In this case, a continuous transition from backdrivable control to position control can be achieved.
[0100] (Second embodiment) Next, a second embodiment of the present invention will be described. In the description of the second embodiment below, matters common to the first embodiment described above will be omitted, and matters that differ from the first embodiment described above will be described.
[0101] Figure 14 shows an example of a schematic configuration of the attitude changing unit 27 of a continuous robot 100 according to a second embodiment of the present invention. In Figure 14, components similar to those shown in Figures 4 to 6 and Figure 13 are denoted by the same reference numerals, and their detailed explanation is omitted.
[0102] In the second embodiment, unlike the first embodiment, as shown in Figure 14, the position control unit and the backdrivable control unit are arranged in parallel and switched by a switch 1401. The switch 1401 can be switched by a switching signal 35 from the control switching unit 15 (see Figure 4). In the configuration shown in Figure 14, the position command (RefPos) and the position (Pos) do not diverge, so the position selection unit 30 can be omitted. In that case, the position (Pos) is used as the input to the inverse kinematics calculation unit 24.
[0103] According to the second embodiment, in addition to the effects of the first embodiment described above, accurate tracking of the position command (RefPos) can be expected during position control.
[0104] (Third embodiment) Next, a third embodiment of the present invention will be described. In the description of the third embodiment below, matters common to the first and second embodiments described above will be omitted, and matters that differ from the first and second embodiments described above will be explained.
[0105] The third embodiment differs from the first embodiment in that it does not perform lead-following control, but instead plans the trajectory in advance, stores the planned trajectory in the attitude memory 19, and controls the continuous robot 100 to an attitude corresponding to the position (PosZ) of the Z stage 213.
[0106] Figure 15 is a diagram illustrating an example of the schematic configuration of the attitude changing unit 27 of a continuous robot 100 according to a third embodiment of the present invention. Specifically, Figure 15 is a diagram illustrating an example of how to provide target values to the attitude changing unit 27. In Figure 15, components similar to those shown in Figures 4 to 6 and Figure 13 are denoted by the same reference numerals, and their detailed explanation is omitted.
[0107] The attitude memory 19 stores a trajectory plan derived from drawing information, magnetic resonance imaging (MRI) scans, computed tomography (CT) scans, and similar data, as the attitude related to the target curvature angle and target rotation angle. In this embodiment, the attitude memory 19 is associated with the position of the Z-stage 213 (Figure 1). The input selection unit 22 (see Figure 5) is set to select the attitude memory 19 in all cases, regardless of whether the movement is forward or backward, as shown in Table 6 below. [Table 6]
[0108] Figure 15(a) assumes that the current reference state of attitude memory 19 is reference state 1501. In reference state 1501, addresses M54 to M63 are assigned to attitude memory 19 corresponding to the bendable parts 26S1 to 26S9. Therefore, when the Z-stage 213 (see Figure 1) moves forward, it is necessary to change the reference address of attitude memory 19.
[0109] Figure 15(b) shows the reference state of the attitude memory 19 when the Z-stage 213 has advanced to a certain extent. As a result of changing the reference address of the attitude memory 19 in accordance with the advance of the Z-stage 213, the reference state becomes, for example, as shown in reference state 1502. In this way, by changing the address referenced by the attitude memory 19, it is possible to move along a pre-planned trajectory. Also, unlike the first embodiment, since lead-following control is not performed, the curvature angle 17S1 (see Figure 4) and the rotation angle 18S1 (see Figure 4) are not written to the attitude memory 19 (see Figure 4). The control after the look-around operation is the same as in the first embodiment.
[0110] Furthermore, the high-resolution modification of the attitude memory 19 shown in Figure 6 in the first embodiment is also applicable to this embodiment. The second embodiment is also applicable to this embodiment.
[0111] According to the third embodiment, in addition to the effects of the first embodiment described above, operation is simplified because the operation of the distal end bending portion, which was performed by the leading-end tracking control, is no longer required. If necessary, the input selection unit 22 (see Figure 5) can be switched to accept input from the input device 10 (see Figure 5).
[0112] (Fourth embodiment) Next, a fourth embodiment of the present invention will be described. In the description of the fourth embodiment below, matters common to the first to third embodiments described above will be omitted, and matters that differ from the first to third embodiments described above will be explained.
[0113] The fourth embodiment differs from the first embodiment in that it controls the continuous robot 100 using a linear motor instead of a ball screw.
[0114] Figure 16 shows an example of a schematic configuration in the wire drive unit 25 of a continuous robot 100 according to a fourth embodiment of the present invention. In Figure 16, components similar to those shown in Figure 1 are denoted by the same reference numerals, and their detailed descriptions are omitted.
[0115] As shown in Figure 16, the wire drive unit 25 in the fourth embodiment includes a linear guide 1601 and a linear motor 1602. Furthermore, as shown in Figure 16, the wire drive unit 25 in the fourth embodiment includes a scale 1603 and a scale head 1604 for position detection. In this case, the scale 1603 can be any type, such as optical or magnetic. Also, unlike the first embodiment, the tension sensor 207 in the fourth embodiment can be omitted, and the wire 204 can be directly fixed to the stage 209 via the wire clamp unit 1605. The reason why the tension sensor 207 (see Figure 1) can be omitted in the wire drive unit 25 of the fourth embodiment is that linear motor drive has less friction and higher backdrivability compared to ball screw drive.
[0116] Figure 17 shows an example of a schematic configuration of the attitude changing unit 27 of a continuous robot 100 according to a fourth embodiment of the present invention. In Figure 17, components similar to those shown in Figures 4, 13, and 14 are denoted by the same reference numerals, and their detailed descriptions are omitted.
[0117] Unlike the second embodiment, the attitude change unit 27 in the fourth embodiment omits the compensator Cforce(s) for backdrivable control (see Figure 14), as shown in Figure 17. In the attitude change unit 27 of the fourth embodiment, switching from position control to backdrivable control is performed by switch 1401. In the attitude change unit 27 of the fourth embodiment, when switching to backdrivable control, signal 1701 is selected and the current command (RefCurrentA1) becomes 0. As a result, the stage 209 can move freely in accordance with the external force. Alternatively, in the attitude change unit 27 of the fourth embodiment, the power to the linear motor may be cut off by directly disconnecting the power supply to the linear motor using switch 1401. Note that the switching of switch 1401 can be performed by a switching signal 35 from the control switching unit 15 (see Figure 4).
[0118] According to the fourth embodiment, in addition to the effects of the first embodiment described above, the tension sensor 207 can be omitted, resulting in a simpler configuration. Note that when using a linear motor drive, it is not necessarily required to omit the tension sensor 207, and it can be freely combined with other embodiments.
[0119] (Other embodiments) The present invention can also be realized by supplying a program that implements one or more of the functions of the above-described embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. It can also be realized by a circuit (e.g., an ASIC) that implements one or more functions. This program and a computer-readable storage medium storing said program are included in the present invention.
[0120] The embodiments of the present invention described above are merely examples of how the invention can be implemented, and the technical scope of the invention should not be interpreted as being limited by them. In other words, the present invention can be implemented in various forms without departing from its technical concept or its main features. [Explanation of symbols]
[0121] 10,13: Input device, 14: Forward / backward unit, 15: Control switching unit, 16: Deviation detection unit, 19: Pose memory, 22: Input selection unit, 23: Forward kinematics calculation unit, 24: Inverse kinematics calculation unit, 25: Drive unit, 26: Curvable unit, 27: Pose change unit, 30: Position selection unit, 100: Continuum robot, 201,211: Actuators, 202,212: Position detectors, 204: Wire, 207: Tension sensor, 209: Stage, 213: Z-stage
Claims
1. A plurality of bendable portions arranged in series in a longitudinal direction, each of which is bendable; an advancing / retracting portion that advances or retracts the plurality of bendable portions in the longitudinal direction; a position changing unit that bends each of the plurality of bendable portions to change its position; a storage unit configured to store the posture of each of the plurality of bendable portions; a control unit that switches or continuously transitions, when a first posture that is a posture of at least one of the plurality of bendable portions deviates by a predetermined amount or more from a second posture that is a posture of the at least one bendable portion stored in the storage unit, as a control for changing the first posture of the posture change unit, from a first control that changes the posture to a specified posture to a second control that changes the posture in accordance with an external force; A continuum robot comprising:
2. the memory unit stores, as the second posture, a posture of a bendable portion at a distal end of the plurality of bendable portions when the forward / reverse movement unit advances the bendable portion; The continuum robot according to claim 1, characterized in that the posture of the bendable portion at the distal end stored in the memory unit is a posture used to control a subsequent bendable portion following the bendable portion at the distal end to follow the leading edge each time the robot moves forward.
3. 2. The continuum robot according to claim 1, wherein the memory unit stores, as the second posture, a posture of the at least one bendable portion for realizing a trajectory preplanned from at least one of drawing information, a magnetic resonance imaging (MRI) scan, and a computed tomography (CT) scan.
4. 4. The continuum robot according to claim 1, wherein the first posture includes a bending angle and a turning angle of the at least one bendable portion calculated using inverse kinematics from a displacement position or a rotation amount of an actuator.
5. The plurality of bendable portions include a first bendable portion and a second bendable portion located further forward in the longitudinal direction than the first bendable portion, 5. The continuum robot according to claim 1, wherein when the forward movement or the backward movement by the forward / backward movement part is detected, if the posture of the first bendable part does not deviate by a predetermined amount or more from the posture of the first bendable part stored in the memory part, and the posture of the second bendable part deviates by a predetermined amount or more from the posture of the second bendable part stored in the memory part, the control part performs control to switch or continuously transition from the first control to the second control for the second bendable part.
6. The continuum robot according to any one of claims 1 to 5, characterized in that, when the control unit detects the forward movement or the backward movement by the forward / backward movement unit, it performs control to switch or continuously transition from the first control to the second control for all bendable sections located on the front side of the bendable section whose first posture deviates from the second posture by a predetermined amount or more.
7. The continuum robot according to any one of claims 1 to 6, characterized in that the control unit applies receipt of a command to return to the first control as a condition for returning from the second control to the first control.
8. The continuum robot according to any one of claims 1 to 6, characterized in that the control unit applies, as conditions for returning from the second control to the first control, that the positions of the multiple bendable parts have retreated since the first control was switched or continuously transitioned to the second control, and that a deviation between the first posture and the second posture of a bendable part located closest to the at least one bendable part performing the second control is equal to or less than a threshold value.
9. The continuum robot according to any one of claims 1 to 6, characterized in that the control unit applies, as a condition for returning from the second control to the first control, that the positions of the multiple bendable parts have advanced a certain distance or retreated a certain distance from the time when the first control is switched or continuously transitioned to the second control.
10. 10. The continuous body robot according to claim 1, wherein the posture changing unit changes the posture of the bendable portion by driving a wire, and includes a linear motor that drives the wire.
11. 11. The continuous body robot according to claim 10, wherein the second control involves setting a current command for the linear motor to 0 or cutting off power to the linear motor.
12. A control method for a continuum robot comprising: a plurality of bendable sections arranged in series in a longitudinal direction, each of which is bendable; an advancing / retreating section which advances or retreats the plurality of bendable sections in the longitudinal direction; a posture changing section which bends each of the plurality of bendable sections to change its posture; and a storage section which stores the posture of each of the plurality of bendable sections, A control method for a continuum robot, comprising: a control step of switching or continuously transitioning, as a control for changing the first attitude of the attitude change unit, from a first control for changing the attitude to a specified attitude to a second control for changing the attitude in accordance with an external force, when a first attitude, which is the attitude of at least one of the plurality of bendable parts, deviates by a predetermined amount or more from a second attitude, which is the attitude of the at least one bendable part stored in the memory unit, when the forward movement or backward movement by the forward / backward movement unit is detected.
13. A program for causing a computer to execute the steps of the method for controlling a continuum robot according to claim 12.