Continuum robot, its control method, and program
The continuum robot's control system addresses steep bending issues by switching between position and backdrivable controls based on posture deviations, ensuring smooth movement and reducing operational burden.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-03-07
- Publication Date
- 2026-03-03
AI Technical Summary
Continuum robots face issues with steep bending when moving forward or backward due to discrepancies between stored postures and actual postures after look-around operations, and existing methods either require external force detection or limit movement direction.
A continuum robot design with bendable sections, an advancing/retreating mechanism, posture changing sections, and a control system that switches between position control and backdrivable control based on posture deviations, allowing smooth forward and backward movement without sharp bends.
Enables easy operation of continuum robots with minimal external force, avoiding sharp bending movements during forward and backward motions.
Smart Images

Figure 0007822831000006 
Figure 0007822831000007 
Figure 0007822831000008
Abstract
Description
[Technical Field]
[0001] The present invention relates to a continuum robot, a control method thereof, and a program. [Background technology]
[0002] Continuum robots, also known as continuum robots, have flexible, bendable parts, and their shape is controlled by deforming these bendable parts. These robots have two main advantages over robots made up of rigid links (hereafter referred to as "rigid-link robots"). The first advantage is that continuum robots can move along the curves of objects by simply manipulating the tip of their arms, even in narrow spaces or cluttered environments where rigid-link robots can get stuck. The second advantage is that continuum robots are inherently flexible, allowing them to manipulate fragile objects without damaging them, especially in open spaces. In these situations, external force detection by the end effector, which is required for rigid-link robots, is not necessarily required.
[0003] Taking advantage of this feature, continuum robots are expected to be applied in the medical field, such as in endoscopic sheaths and catheters, and in extreme work robots such as rescue robots. These continuum robots can be driven by tendons, by pushable and pullable wires, or by air actuators.
[0004] Patent Document 1 discloses an endoscope equipped with a controller that controls the posture of a bendable section of a continuum robot, and the controller controls subsequent bendable sections so that they follow the path traveled by the bendable section located at the front in the direction of travel of the continuum robot. Hereinafter, this type of posture control will be referred to as "leading-following control." With an endoscope equipped with a controller that performs leading-following control, when inserting the endoscope into a body cavity of a subject, the user only needs to manipulate the posture of the bendable section located at the front in the insertion direction; the subsequent bendable sections are automatically controlled so as not to come into contact with the subject's body tissue. Furthermore, when removing the endoscope, the posture of each bendable section is automatically controlled to follow the path traveled during insertion, eliminating the need for the user to manipulate the posture of the bendable section. In this way, using leading-following control can reduce the burden on the user when inserting and removing a continuum robot.
[0005] Patent Document 2 discloses a method for automatic navigation by determining a navigation path before or during surgery using images of a patient's anatomical structures, 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 Summary of the Invention [Problem to be solved by the invention]
[0007] In one implementation of the leading follow-up control, the posture of the leading bendable section is propagated to the posture of the following bendable sections when the continuum robot moves forward, and thus the posture of the leading bendable section and the insertion distance of the continuum robot are stored in a posture memory. Here, the insertion distance of the continuum robot is a value that increases each time the continuum robot moves forward, with the insertion start position into the body (body cavity) being set to 0.
[0008] After a continuum robot is fully inserted into a body cavity, an operation for inspection, etc., is performed in which the surroundings are checked using a camera located at the front of the continuum robot. In this operation, several bendable sections from the front are bent without moving the continuum robot forward, allowing the entire area of the object to be inspected within the field of view (hereinafter referred to as a "look-around operation"). Here, the process of storing the posture of the front bendable section in the posture memory described above is performed only when the continuum robot is moving forward, so the posture stored in the posture memory may differ from the posture after the look-around operation. In this state, if the continuum robot is moved forward or backward, control returns to the posture stored in the posture memory, which may result in a steep bending of the bendable sections of the continuum robot. In this regard, Patent Document 1 does not mention a method for avoiding the above-mentioned steep bending when the continuum robot is moving forward or backward. Furthermore, Patent Document 2 shows two methods for reversing: either performing control to follow external forces or regenerating a path, but one of these methods must be selected as the default state, meaning that the robot cannot always move forward or backward with minimal external forces.
[0009] The present invention has been made in consideration of such problems, and aims to provide a continuous body robot that is easy to operate, can move forward or backward with little external force, while avoiding sharp bending movements when moving forward or backward. [Means for solving the problem]
[0010] The continuum robot of the present invention comprises a plurality of bendable sections arranged in series in the longitudinal direction, each of which is bendable; an advancing / retreating section that moves the plurality of bendable sections forward or backward in the longitudinal direction; a posture changing section that bends each of the plurality of bendable sections to change its posture; a memory section that stores the posture for each of the plurality of bendable sections; and a control section that, when detecting the advance or retreat by the advancing / retreating section, switches or continuously transitions the first posture change control for the posture changing section 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, if a first posture that is the posture of at least one of the plurality of bendable sections deviates by a predetermined amount from a second posture that is the posture of the at least one bendable section stored in the memory section. The present invention also includes a control method for the above-described continuum robot, and a program for causing a computer to execute the steps of the control method. [Effects of the Invention]
[0011] According to the present invention, a continuous body robot can be realized that is easy to operate and can move forward or backward with little external force while avoiding sharp bending movements when moving forward or backward. [Brief explanation of the drawings]
[0012] [Figure 1] 1 is a diagram showing an example of a schematic configuration of a continuum robot according to a first embodiment of the present invention. [Figure 2] 3A and 3B are diagrams for explaining the bending angle of a bendable section of the continuum robot according to the first embodiment of the present invention. [Figure 3] 3A and 3B are diagrams for explaining the turning angle of a bendable section of the continuum robot according to the first embodiment of the present invention. [Figure 4] 1 is a diagram showing an example of a schematic configuration of a control system of a continuum robot according to a first embodiment of the present invention. [Figure 5]5 is a diagram illustrating an example of a schematic configuration of an input selection unit illustrated in FIG. 4. FIG. [Figure 6] FIG. 1 shows a control system of a continuum robot according to a first embodiment of the present invention, illustrating an example of a configuration for performing leading follow-up control more smoothly. [Figure 7] FIG. 2 is a diagram for explaining the movement of the continuum robot according to the first embodiment of the present invention when moving backward. [Figure 8] 1 is a flowchart showing an example of a processing procedure in a control method for a continuum robot according to a first embodiment of the present invention. [Figure 9] 1 is a flowchart showing an example of a processing procedure in a control method for a continuum robot according to a first embodiment of the present invention. [Figure 10] FIG. 2 is a diagram for explaining the state of the continuum robot according to the first embodiment of the present invention when it is moving backward, showing an example in which the control of the posture changing unit is returned to position control due to an external force. [Figure 11] FIG. 10 is a diagram illustrating an example of a method for determining deviation of an attitude in STEP 904 of FIG. 9. [Figure 12] FIG. 2 is a diagram for explaining the forward movement of the continuum robot according to the first embodiment of the present invention. [Figure 13] FIG. 1 shows a control system of a continuum robot according to a first embodiment of the present invention, and is a diagram showing an example of the configuration for performing processing to recalculate a trajectory and update a posture memory. [Figure 14] FIG. 10 is a diagram illustrating an example of a schematic configuration of a posture changing unit of a continuum robot according to a second embodiment of the present invention. [Figure 15] FIG. 10 is a diagram illustrating an example of a schematic configuration of a posture changing unit of a continuum robot according to a third embodiment of the present invention. [Figure 16] FIG. 10 is a diagram showing an example of a schematic configuration of a wire driving unit of a continuum robot according to a fourth embodiment of the present invention. [Figure 17] FIG. 10 is a diagram illustrating an example of a schematic configuration of a posture changing unit of a continuum robot according to a fourth embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0013] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0014] (First embodiment) First, a first embodiment of the present invention will be described.
[0015] 1 is a diagram showing an example of the schematic configuration of a continuum robot 100 according to a first embodiment of the present invention. The continuum robot 100 is provided with a plurality of bendable portions 26S1 to 26S9 that are arranged in series in the longitudinal direction and are each bendable. In this embodiment, the plurality of bendable portions 26S1 to 26S9 are numbered in order from the most distal end as bendable portion 26S1, bendable portion 26S2, ..., and the most proximal end is defined as bendable portion 26S9. The most distal side is the leading side of the continuum robot 100 . The proximal end side is the side where the wire drive unit 25 is located. The section of bendable section 26S1 is defined as Sec1, the section of bendable section 26S2 as Sec2, and the section of bendable section 26S9 as Sec9. The number of bendable sections 26 is not limited to nine, but can be expanded to any N number. In this specification, when distinguishing which section of bendable section 26 is involved, it is specified by adding auxiliary symbols such as S1, S2, ..., S9. When it is not necessary to specify which section, it is simply expressed as "bendable section 26" without adding an auxiliary symbol such as S1. This expression also applies to components other than bendable section 26.
[0016] Here, the bendable portion 26S1 will be described as a representative of the plurality of bendable portions 26S1 to 26S9. Bendable section 26S1 is the section indicated by Sec1. Bendable section 26S1 includes wires 204A1, 204B1, and 204C1. These three wires are important in this specification. Wire drivers 25 corresponding to wires 204A1, 204B1, and 204C1 are identified with auxiliary symbols A, B, and C, such as wire driver 25A1, wire driver 25B1, and wire driver 25C1. In addition, in Sec9, wire 204 is expressed as wire 204A9, wire 204B9, and wire 204C9, and the corresponding wire drivers 25 are expressed as wire driver 25A9, wire driver 25B9, and wire driver 25C9, respectively. This expression also applies to components other than wire driver 25. Furthermore, when wire driving unit 25A1, wire driving unit 25B1, and wire driving unit 25C1 are collectively referred to, they will be expressed as "wire driving unit 25S1" or the like.
[0017] Returning to the description of the bendable portion 26S1. As described above, bendable portion 26S1 includes wires 204A1, 204B1, and 204C1. By pushing and pulling wires 204A1 to 204C1, bendable portion 26S1 can be bent in the up-down, front-rear, and back directions of the page. Wires 204A1 to 204C1 are fixed to disk 210S1 via wire fixing portion 205S1. Wires 204A1 to 204C1 are guided by disk 206, which has holes, and are led to wire driving portions 25A1 to 25C1.
[0018] The second bendable section 26S2 is the section indicated by Sec2. As with bendable section 26S1, bendable section 26S2 can be bent in the up-down, front-rear, and back directions of the page by pushing and pulling wires 204A2 to 204C2. Wires 204A2 to 204C2 are fixed to disk 210S2 via wire fixing section 205S2. Wires 204A2 to 204C2 are guided by disk 206, which has holes, and are led to wire driving sections 25A2 to 25C2.
[0019] Nine similar mechanisms are arranged in series in the longitudinal direction to form multiple bendable sections 26S1 to 26S9. In this embodiment, of the multiple bendable sections 26 arranged in series in the longitudinal direction, bendable section 26S1, which is farthest from wire driving section 25, is referred to as the "distal end bendable section," and bendable section 26S9, which is closest to wire driving section 25, is referred to as the "proximal end bendable section."
[0020] The wire driving unit 25 will now be described. The wire driving 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 a tension sensor 207A1. The stage 209A1 can be driven by rotating the actuator 201A1. The position of the stage 209A1 can be detected by a 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). While the wire driving unit 25A1 has been described here, the same applies to the other wire driving units 25.
[0021] The continuum robot 100 also includes an advancing / retreating unit 14 that advances or retreats the multiple bendable units 26S1 to 26S9 in the longitudinal direction. The advancing / retreating unit 14 advances or retreats a Z stage 213 equipped with multiple wire driving units 25, thereby advancing or retreating all of the wires 204. 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] Rotary motors or the like can be used as the actuators 201 and 211. Furthermore, encoders attached to motors or the like can be used as the position detectors 202 and 212.
[0023] FIG. 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 FIG. 2, the same components as those shown in FIG. 1 are denoted by the same reference numerals, and detailed description thereof will be omitted. In this embodiment, the posture of the bendable portion 26 when the bendable portion 26 is bent is defined by the bending angle and rotation angle of the bendable portion 26. As shown in FIG. 2, the forward direction of the continuum robot 100 is defined as the positive Z coordinate. Also, as shown in FIG. 2, the direction of the Z axis varies 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 as the angle between the normal vector 301 of the disk 210S1 and the normal vector 302 of the disk 210S2. Similarly, the bending angle 31S2 of the bendable portion 26S2 is defined as the angle between the normal vector 302 of the disk 210S2 and the normal vector 303 of the disk 210S3.
[0024] 3 is a diagram for explaining the turning angle of the bendable section 26 of the continuum robot 100 according to the first embodiment of the present invention. FIG. 3 illustrates the case where the bending angle 31 of the bendable section 26 is 60 degrees, and the turning angle 32 is 0 degrees, 180 degrees, and 270 degrees.
[0025] 4 is a diagram showing an example of a schematic configuration of a control system of the continuum robot 100 according to the first embodiment of the present invention. Operation when moving forward will be described with reference to this FIG. The input device 10 generates a bending target angle 101 and a turning target angle 102 for the bendable section 26 based on input from the operator. The input selection unit 22 determines which of the sections Sec1 to Sec9 the bending target angle 101 and the turning target angle 102 correspond to.
[0026] Fig. 5 is a diagram showing an example of a schematic configuration of the input selection unit 22 shown in Fig. 4. In Fig. 5, the same components as those shown in Fig. 4 are denoted by the same reference numerals, and detailed description thereof will be omitted.
[0027] As shown in FIG. 5, the input selection unit 22 includes a bending target angle processing unit 503 and a turning target angle processing unit 504 to select the bending target angle 101 and the turning target angle 102. Here, the bending target angle processing unit 503 will be described as an example. The input selection unit 22 includes a selection switch 502 corresponding to each bendable portion 26 (see FIG. 1). The selection switch 502 selects one of three inputs: the self-holding unit 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 unit 501 corresponding to each bendable portion 26. The self-holding unit 501 has the function of storing input data and outputting the stored data with a delay of one sampling. When moving forward, the selection switch 502 is basically selected as shown in Table 1 below. [Table 1]
[0028] The posture memory 19 will now be described. The posture memory 19 is a storage unit that stores the posture of each of the plurality of bendable portions 26S1 to 26S9. Specifically, the posture memory 19 has an array structure and stores the bending angle and rotation angle corresponding to each bendable portion 26 as the posture of each bendable portion 26 (see FIG. 1). For example, address M1 of the posture memory 19 stores the bending angle and rotation angle corresponding to bendable portion 26S1, and address M2 stores the bending angle and rotation angle corresponding to bendable portion 26S2. Addresses M of the other posture memories 19 store data in a similar manner. Addresses M10 and beyond in the posture memory 19 do not have corresponding bendable portions 26, but are used as storage areas for the leading-tracking control described below. The data of the bendable portions 26 and the posture memory 19 do not necessarily need to be one-to-one. For smoother operation, it is preferable for the posture memory 19 to store at least 10 data items for one bendable portion 26. This will be described later with reference to FIG. 6.
[0029] Returning to the explanation of Figure 4. Next, the forward kinematics calculation unit 23 will be described. In this embodiment, forward kinematics is defined as inputting bending target angles 28 and rotation target angles 29 for each bendable section 26 (see FIG. 1) and outputting position commands (RefPos) to be taken by all wires 204 (see FIG. 1). The forward kinematics calculation is performed by the forward kinematics calculation unit 23. The wires 204 (see FIG. 1) are moved to their desired positions by each stage 209 (see FIG. 1).
[0030] Next, the attitude changing unit 27 will be described. The posture changer 27 controls this target position (RefPos) to bend each of the bendable portions 26 of the multiple bendable portions 26S1 to 26S9, thereby changing the posture of the bendable portion 26. As a specific example, the posture changer 27A1 will be described. The posture changer 27A1 performs position feedback control to set the current position (PosA1) of the stage 209A1 (see FIG. 1) to the target value. That is, the posture changer 27A1 calculates a position deviation by subtracting the current position (PosA1) from the target position (RefPosA1), and multiplies the position deviation by a gain Ksv to calculate a force target value (RefForceA1). At this time, position control would be established even if the force target value (RefForceA1) was directly applied to the wire driver 25A1, but in this embodiment, force feedback is also performed to perform control that follows the external force. That is, posture changer 27A1 subtracts the measurement value (ForceA1) of tension sensor 207A1 (see FIG. 1) from the force target value (RefForceA1) to obtain a force deviation, multiplies the force deviation by gain Kf to calculate a command current (RefCurrentA1), and supplies this to wire driver 25A1. While posture changer 27A1 has been described here, the control of the other posture changers 27 is similar. Note that posture changer 27A1, posture changer 27B1, and posture changer 27C1 are collectively referred to as posture changer 27S1.
[0031] As described above, the input device 10 can be used to perform at least one of bending and turning on any bendable portion 26.
[0032] Next, the leading follow-up control will be described. The leading-following control is a control in which the attitude of the distal bendable portion is propagated to the bendable portion located on the proximal side each time the robot moves forward, and the attitude of the proximal bendable portion is propagated to the bendable portion located on the distal side each time the robot moves backward. This allows the operator to operate only the distal bendable portion, reducing the burden of operation.
[0033] This leading follow-up control will be explained with reference to FIG. To perform leading-edge tracking control, it is necessary to store the bending angle 17S1 and the turning angle 18S1, which are the posture information of the distal end bendable portion. The posture information is stored in each element of the array of the posture memory 19, which is a storage unit (stored posture). In this embodiment, the posture of each bendable portion 26 (see FIG. 1) is stored in the form of a bending angle 17 and a turning angle 18. In this embodiment, the calculation of the bending angle 17 and the turning angle 18 from the position command (RefPos) or position (Pos) of the posture change unit 27 is defined as inverse kinematics. The calculation of the inverse kinematics is performed by the inverse kinematics calculation unit 24. Of the bending angle 17 and the turning angle 18 calculated by the inverse kinematics calculation unit 24, the bending angle 17S1 and the turning angle 18S1 of the distal end bendable portion are constantly written to element M1 of the array of the posture memory 19.
[0034] The reason why the position commands (RefPos) or positions (Pos) of all the attitude change units 27 must be used to calculate the bending angle 17S1 and the rotation angle 18S2 of the distal-end bendable unit is because the wires 204 (see FIG. 1) may not pass through the center of the cylinder. For example, if the intermediate bendable unit 26 (see FIG. 1) is bent, the wires 204 passing through the outside of the bend will require a longer length than the wires 204 passing through the inside of the bend. Therefore, the bending angle 17S1 and the rotation angle 18S1 of the distal-end bendable unit cannot be calculated using only the positions (PosA1), (PosB1), and (PosC1) of the three wires 204 of the distal-end bendable unit. The position selector 30 determines whether the position command (RefPos) or the 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, a position command (RefPos) is selected, and when it is backdrivable control, a position (Pos) is selected. Here, backdrivable control refers to control that changes the attitude in accordance with an external force.
[0035] Next, the process when moving forward will be described. The operator operates the input device 13 to move forward. When the forward movement operation is performed, the Z stage 213 (see FIG. 1) of the forward / backward movement unit 14 moves forward, and all wires 204 (see FIG. 1) move forward. This causes the continuum robot 100 (see FIG. 1) to move forward. To perform leading follow control, when the bendable unit 26 (see FIG. 1) moves forward by one position, the posture is propagated by one position to the proximal side. The position of the Z stage 213 is monitored, and when the bendable unit 26 moves forward by one position, a propagation process 20 is performed to propagate the posture memory 19 by one bendable unit 26. For example, data at address M11 in the posture memory 19 is copied to M12, and data at M10 is copied to M11. This operation is repeated until the operation of copying data at M1 to M2 is completed, at which point the propagation process 20 is completed. For the sake of illustration, the explanation has started with copying the data of M11 to M12, but this should be done for the entire array area of the allocated attitude memory 19, and if the number of arrays is N, it is necessary to start with the process of copying the data of M(N-1) to MN.
[0036] When the copying is complete, the posture of the subsequent bendable portion 26 (see FIG. 1) following the distal-end bendable portion is propagated by controlling the bending target angle 37 and the turning target angle 38 read from the posture memory 19. In the case of leading follow-up control, the output of the input device 10 is basically selected by the input selection unit 22 as the target values for the distal-end bendable portion, so the bending target angle 28 and turning target angle 29 for the subsequent bendable portion 26 are read from the posture memory 19 without being hindered by the input selection unit 22.
[0037] In this embodiment, an example has been shown in which the posture is propagated by copying the posture memory 19, but propagation can also be achieved by changing the reference position of the posture memory 19 instead of copying. For example, in Fig. 4, bendable portions 26S1, 26S2, ..., 26S9 correspond to addresses M1, M2, ..., M9 in the posture memory 19, but propagation is also possible by simply changing this correspondence to M2, M3, ..., M10.
[0038] The same applies to the case of retreat, which is performed by the operator operating the input device 13. When a retreat operation is performed, the Z stage 213 (see FIG. 1) of the advance / retract unit 14 retreats, and all wires 204 (see FIG. 1) retreat. The propagation of the posture during retreat is as follows: when the bendable unit 26 (see FIG. 1) retreats by one position, the posture is propagated by one position to the distal side. (leading side) The position of the Z stage 213 is monitored, and when the bendable section 26 moves backward by one position, the propagation process 21 propagates the posture memory 19 by one position of the bendable section 26. This operation involves copying the data at address M2 in the posture memory to M1, copying the data at M3 to M2, ..., copying the data at MN to M(N-1). The subsequent processing is the same as when moving forward. Note that when moving backward, it is desirable that the input selection unit 22 selects target values from the posture memory 19 for all of the bendable sections 26, as shown in Table 2 below.
[0039] 6 shows a control system of the continuum robot 100 according to the first embodiment of the present invention, and is a diagram illustrating an example of a configuration for performing leading follow-up control more smoothly. In this Fig. 6, the same components as those shown in Fig. 4 and Fig. 5 are denoted by the same reference numerals, and detailed description thereof will be omitted.
[0040] For simplicity's sake, FIG. 4 illustrates the case where the position of the Z stage 213 is monitored and propagation processing is performed when the bendable section 26 moves by one position. However, propagation processing can also be performed more finely. For example, as shown in FIG. 6, the orientation memory 19 may be divided into smaller sections, and propagation processing 20 may be performed when the Z stage 213 (see FIG. 1) advances by an amount less than one bendable section 26. Similarly, propagation processing 21 may be performed when the Z stage 213 retreats by an amount less than one bendable section 26. In this case, the orientation of the distal end bendable section is stored in the orientation memory 19 more finely. Furthermore, a smoothing unit 600 shown in FIG. 6 can be used to calculate the bending target angle 37 and the rotation target angle 38. The smoothing unit 600 can perform smoothing processing using the elements of multiple arrays propagating through the orientation memory 19 as orientation information input. This smoothing processing can be, for example, a process of calculating an arithmetic mean. As a result, even if the pilot performs a sudden operation, the operation becomes smooth because smoothing is performed by the smoothing unit 600. This concludes the description of the leading follow-up control.
[0041] FIG. 7 is a diagram illustrating the retraction of the continuum robot 100 according to the first embodiment of the present invention. In FIG. 7, the same components as those shown in FIGS. 1 and 2 are denoted by the same reference numerals, and detailed description thereof will be omitted. Here, the look-around operation, which is an operation for checking the entire area of the inspection target within the field of view, and the subsequent retraction operation will be described. Note that the posture of the bendable distal end portion is stored in the posture memory 19 only when moving forward, so the posture stored in the posture memory 19 will differ from the posture after the look-around operation. Moving forward or backward in this state will result in the robot returning to the posture stored in the posture memory 19, which may result in a steep bending motion. A method for avoiding this steep bending motion will be described.
[0042] 7(a) is a diagram showing the state when the bendable section 26 of the continuum robot 100 has completed moving forward. Here, it is assumed that the robot is moving through a pipe with some flexibility. The operator is moving forward by selecting a path that exerts minimal external force on the wall while checking the camera field of view 701.
[0043] 7(b) shows a state in which bendable portions 26S2 and 26S3 are bent for a look-around operation. At this time, the position change unit 27 (see FIG. 4) that bends each bendable portion 26 performs position control, so the external force 702 from the wall surface is greater than in FIG. 7(a). Note that the operation to bend bendable portions 26S2 and 26S3 is performed by switching the selection switch 502 of the input selection unit 22 (see FIG. 5). When operating bendable portion 26S2, the selection switch 502 (see FIG. 5) of the input selection unit 22 is switched as shown in Table 3 below. [Table 3]
[0044] This operation can be performed by the operator simply by switching the input selection unit 22 (see FIG. 5) from section Sec1 to section Sec2. The previous bendable portion 26 (see FIG. 1) selected by the input selection unit 22 (see FIG. 5) is programmed in advance to be switched to the self-holding portion 501.
[0045] In this state, the bendable section 26S2 is bent to a desired angle. Next, the selection switch 502 (see FIG. 5) of the input selection section 22 (see FIG. 5) is switched as shown in the following Table 4. Note that, from the operator's perspective, this operation simply switches the input selection section 22 from section Sec2 to section Sec3. [Table 4]
[0046] Next, as shown in FIG. 7(c), the bendable portion 26S3 is rotated 706 to perform a look-around operation. Incidentally, the attitude 707 indicated by the two-dot chain line indicates the attitude of the bendable portion 26 of the continuum robot 100 before the rotation 706 is performed. FIG. 7(c) shows the state after the look-around operation is completed. At this time, the attitude 703 of the bendable portion 26 stored in the attitude memory 19 and the attitude of each bendable portion 26 are different. If a backward operation is performed in this state, a sudden movement occurs. Therefore, in this embodiment, the processing of the flowchart shown in FIG. 8 is performed.
[0047] Fig. 8 is a flowchart showing an example of a processing procedure in a control method for the continuum robot 100 according to the first embodiment of the present invention. Specifically, Fig. 8 is a flowchart for switching, as a control for changing the posture of a predetermined bendable section 26, from position control (first control) for changing to a specified posture to backdrivable control (second control) for changing the posture in accordance with an external force. The processing of the flowchart shown in Fig. 8 is mainly performed by the control switching unit 15 (control unit) and deviation determination unit 16 shown in Fig. 4.
[0048] First, in STEP 100 of Fig. 8, the control switching unit 15 determines whether or not it has detected the advance or retreat of the bendable portion 26 of the continuum robot 100 based on the input from the advance / retreat unit 14. If the result of this determination is that it has not detected the advance or retreat of the bendable portion 26 of the continuum robot 100 (STEP 100 / NO), it waits in STEP 100 until it detects the advance or retreat of the bendable portion 26 of the continuum robot 100.
[0049] On the other hand, if the result of the determination in STEP 100 is that forward or backward movement of the bendable portion 26 of the continuum robot 100 is detected (STEP 100 / YES), proceed to STEP 101. Here, a case where backward movement of the bendable portion 26 of the continuum robot 100 is detected will be described. The operator operates the input device 13 (see FIG. 4) to cause the Z stage 213 (see FIG. 1) of the forward / backward movement unit 14 (see FIG. 4) to move backward. When the Z stage 213 moves backward, the position (PosZ) (see FIG. 1) of the Z stage 213 is input to the control switching unit 15. The control switching unit 15 monitors the position (PosZ) and detects backward movement here.
[0050] In STEP 101, for example, the deviation determination unit 16 selects the bendable portion 26 on the most proximal side (the bendable portion 26S9 in the example shown in FIG. 1).
[0051] Next, in STEP 102, the deviation determination unit 16 determines whether or not the selected posture (first posture) of the bendable section 26 and the posture 703 (see FIG. 7: second posture) of the bendable section 26 stored in the posture memory 19 deviate by a predetermined amount or more. Here, the selected posture (first posture) of the bendable section 26 corresponds to the bending angle 17 and the turning angle 18 output by the inverse kinematics calculation unit 24 (see FIG. 4) that performs calculations using inverse kinematics from the displacement position or rotation amount of the actuator 201. Furthermore, the posture 703 (see FIG. 7: second posture) of the bendable section 26 stored in the posture memory 19 corresponds to the bending target angle 37 (see FIG. 4) and the turning target angle 38 (see FIG. 4) extracted from the posture memory 19 (see FIG. 4).
[0052] As a result of the determination in STEP 102, if the posture of the selected bendable portion 26 and the posture 703 of the bendable portion 26 stored in the posture memory 19 do not deviate by a predetermined amount or more (STEP 102 / NO), the process proceeds to STEP 103. For example, in the example shown in FIG. 7, if the selected bendable portion 26 is the proximal bendable portion 26, a negative determination (NO) is made in STEP 102, and the process proceeds to STEP 103. In STEP 103, the deviation determination unit 16 determines whether or not checking of all the bendable portions 26 has been completed.
[0053] As a result of the determination in STEP 103, if confirmation has not been completed for all bendable portions 26 (STEP 103 / NO), the process proceeds to STEP 104. Here, if the selected bendable portion 26 is the distal-most bendable portion 26S1, the result is STEP 103 / YES. On the other hand, if the selected bendable portion 26 is a bendable portion 26 other than the bendable portion 26S1, such as the proximal-most bendable portion 26S9, the result is STEP 103 / NO, and the process proceeds to STEP 104. When proceeding to STEP 104, the deviation determination unit 16 selects a bendable portion 26 that is one bendable portion 26 distal to the currently selected bendable portion 26. Thereafter, the process returns to STEP 102, and the processes from STEP 102 onwards are performed for the bendable portion 26 selected in STEP 104.
[0054] Furthermore, if the determination result in STEP 102 shows that the posture of the selected bendable section 26 and the posture 703 of the bendable section 26 stored in the posture memory 19 deviate by a predetermined amount or more (STEP 102 / YES), the process proceeds to STEP 105. In the example shown in FIG. 7, the bendable sections up to the third bendable section 26S3 from the distal side have been operated, so when the bendable section 26S3 is selected, the result becomes STEP 102 / YES, and the process proceeds to STEP 105. In STEP 105, the control switching unit 15 switches the control system of the posture change unit 27 (see FIG. 4) from position control (first control) for changing the posture to a specified one to backdrivable control (second control) for changing the posture in response to an external force. Specifically, the control switching unit 15 (see FIG. 4) performs this switching by setting Ksv=0 for the posture change unit 27 using a switching signal 35 (see FIG. 4). More specifically, when Ksv=0 for the posture change unit 27, the position command (RefPos) is ignored and control is performed in response to an external force. Here, in the processing of STEP 105, it is desirable that the control switching unit 15 switch all bendable units 26 distal to the selected bendable unit 26S3 to backdrivable control. Therefore, in this example, the control switching unit 15 sets Ksv for the posture change units 27S3, 27S2, and 27S1 to Ksv=0.
[0055] Next, in STEP 106, for example, control switching unit 15 stores the position (PosZ) of Z stage 213 (see FIG. 1) at the time when the control system of attitude changing unit 27 is switched from position control to backdrivable control. Furthermore, for example, control switching unit 15 stores required forward distance 1201 (see FIG. 12) and required backward distance 704 (see FIG. 7), which will be described later. Here, required forward distance 1201 and required backward distance 704 are constant distances. Furthermore, the information stored in STEP 106 is used later to switch back from backdrivable control to position control.
[0056] When the processing in STEP 106 is completed, or when it is determined in STEP 103 that confirmation has been completed for all the bendable portions 26 (YES in STEP 103), the processing in the flowchart shown in FIG. 8 is terminated.
[0057] Furthermore, if no look-around operation or the like is performed, it is determined that the posture of the bendable section 26 selected in STEP 102 does not deviate by a predetermined amount from the posture 703 of the bendable section 26 stored in the posture memory 19 (STEP 102 / NO), and it is determined in STEP 103 that confirmation has been completed for all bendable sections 26 (STEP 103 / YES), and the processing of the flowchart shown in Figure 8 ends, so there is no switch to backdrivable control.
[0058] Furthermore, while the distal-end bendable portion is moving forward, input from the input device 10 (see FIG. 4) is valid, but as shown in FIG. 4, the bending angle 17S1 and the turning angle 18S1 of the distal-end bendable portion do not diverge because they are constantly written to the posture memory 19. Therefore, there is no need to make a judgment, and therefore the section Sec1 is not included as an input to the divergence judgment unit 16 (see FIG. 4).
[0059] Returning to the explanation of FIG. Fig. 7(d) shows a state in which the processing of the flowchart shown in Fig. 8 is executed and the first three bendable sections 26 from the distal end side are switched to backdrivable control. In Fig. 7(d), bendable sections 26 for which backdrivable control is active are indicated by thick dashed lines, and bendable sections 26 for which position control is active are indicated by thick solid lines.
[0060] Next, a method for returning from backdrivable control to position control will be described. In STEP 106 of FIG. 8, a required retraction distance 704 is stored. The required retraction distance 704 is the distance used to return the bendable portion 26 to position control when the Z stage 213 retracts. This required retraction distance 704 is set for each of the bendable portions 26 that are under back-drivable control. In this example, the required retraction distance 704 is set for the bendable portions 26S1 to 26S3, resulting in required retraction distances 704S1, 704S2, and 704S3, as shown in FIG. 7(d). Furthermore, the required retraction distance 704 increases from the closest to the bendable portion 26 under back-drivable control toward the distal end. That is, in this example, the required retreat distance 704S3 of the bendable portion 26S3 is the distance of one bendable portion 26, the required retreat distance 704S2 of the bendable portion 26S2 is the distance of two bendable portions 26, and the required retreat distance 704S1 of the bendable portion 26S1 is the distance of three bendable portions 26.
[0061] Fig. 9 is a flowchart showing an example of a processing procedure in the control method for the continuum robot 100 according to the first embodiment of the present invention. Specifically, Fig. 9 is a flowchart for returning from backdrivable control (second control) to position control (first control) when a predetermined condition is satisfied.
[0062] 9, for example, the control switching unit 15 determines whether or not a command to return to position control has been received. In this embodiment, it is assumed that all of the bendable sections 26 can be immediately returned to position control by the operator pressing an operation switch (not shown), for example.
[0063] If the result of the determination in STEP 900 is that a command to return to position control has not been received (STEP 900 / NO), the process proceeds to STEP 901. In 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 backdrivable control. This determination in STEP 901 can be made by comparing the position of the Z stage 213 (see FIG. 1) stored in STEP 106 of FIG. 8 with the current position (PosZ) of the Z stage 213 (see FIG. 1).
[0064] As a result of the determination in STEP 901, if the Z stage has not moved forward since the state changed to backdrivable control (NO in STEP 901), the process proceeds to STEP 902. In the example shown in Figure 7, the Z stage has moved backward, so the result in STEP 901 is NO, and the process proceeds to STEP 902. In STEP 902, for example, the control switching unit 15 selects the bendable section 26 (see FIG. 1) that is performing the backdrivable control on the proximal side. In the example shown in FIG. 7, the bendable section 26S3 is selected.
[0065] Subsequently, in STEP 903, for example, the control switching unit 15 determines whether the bendable portion 26 selected in STEP 902 has retreated by the required retreat distance. In this example, the control switching unit 15 compares the required retreat distance 704S3 (see FIG. 7) with the retreat distance 705 (see FIG. 7).
[0066] As a result of the determination in STEP 903, if the bendable section 26 selected in STEP 902 has not retracted the required retraction distance (STEP 903 / NO), the process proceeds to STEP 904. In the example shown in FIG. 7(e), the required retraction distance 704S3 is greater than the retraction distance 705, so the result in STEP 903 / NO is obtained, and the process proceeds to STEP 904. Here, the retraction distance 705 is defined as how far the Z stage 213 (see FIG. 1) has retracted from the position where the process in STEP 105 in FIG. 8 was executed and the control was switched to backdrivable control. When proceeding to STEP 904, for example, the control switching unit 15 determines whether the deviation between the posture of the bendable section 26 selected in STEP 902 and the posture 703 of the bendable section 26 stored in the posture memory 19 is less than a threshold value.
[0067] If it is determined in STEP 904 that the deviation related to the posture is equal to or smaller than the threshold value (YES in STEP 904), or if it is determined in STEP 903 that the vehicle has retreated the required retreat distance (YES in STEP 903), the process proceeds to STEP 905. Here, if the vehicle has retreated to the position shown in FIG. 7(f), the retreat distance 705 (see FIG. 7) becomes larger than the required retreat distance 704S3 (see FIG. 7), so the result in STEP 903 is YES, and the process proceeds to STEP 905. Proceeding to 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 Fig. 7, bendable section 26S3 is selected in STEP 902, so posture change section 27S3 (see Fig. 4) is switched from backdrivable control to position control. Specifically, the switching in STEP 905 is performed by substituting a fixed value for Ksv of posture change section 27S3 to switch to position control.
[0068] When the processing in STEP 905 is completed, or when it is determined in STEP 904 that the deviation related to the posture is not equal to or less than the threshold value (STEP 904 / NO), the process proceeds to STEP 906. In STEP 906, the control switching unit 15 determines whether all the bendable portions 26 are under position control.
[0069] As a result of the determination in STEP 906, if the position control is not performed for all of the bendable sections 26 (STEP 906 / NO), the process returns to STEP 900. In this example, the bendable sections 26S1 to 26S3 related to the position change section 27S1, the position change section 27S2, and the position change section 27S3 are under backdrivable control, so the result in STEP 906 / NO is obtained and the process returns to STEP 900.
[0070] On the other hand, if the result of the determination in STEP 906 is that position control is being performed for all bendable sections 26 (STEP 906 / YES), the processing of the flowchart in Fig. 9 is terminated. In the example shown in Fig. 7, when the robot is retracted to Fig. 7(g), retraction distance 705 becomes greater than all required retraction distances 704, so in STEP 905 all posture change sections 27 (see Fig. 4) return to position control, and as a result, STEP 906 / YES is determined and the processing of the flowchart in Fig. 9 is terminated.
[0071] Here, we will explain an example in which, in STEP 904 of Figure 9, it is determined that the deviation between the posture of the bendable section 26 selected in STEP 902 and the posture 703 of the bendable section 26 stored in the posture memory 19 is less than or equal to a threshold value.
[0072] Fig. 10 is a diagram for explaining when the continuum robot 100 according to the first embodiment of the present invention is moving backward, and shows an example in which the control of the posture change unit 27 returns to position control due to an external force 702. In Fig. 10, the same components as those shown in Fig. 7 are given the same reference numerals, and detailed description thereof will be omitted. Fig. 10(e) shows the same state as Fig. 7(e).
[0073] Assume that an external force 702 shown in FIG. 10(e) causes the posture of the bendable section 26S3 to approach the posture 703 of the bendable section 26S3 stored in the posture memory 19. In this case, in STEP 904 of FIG. 9, it is determined that the deviation between the posture of the bendable section 26S3 and the posture 703 of the bendable section 26S3 stored in the posture memory 19 is equal to or smaller than the threshold, and the process proceeds to STEP 905. As a result, the posture change section 27S3 is changed to position control. This state is shown in FIG. 10(e2).
[0074] Next, in this embodiment, it is determined whether the deviation between the posture of the bendable section 26S2 and the posture 703 of the bendable section 26S2 stored in the posture memory 19 is equal to or less than a threshold. When the deviation becomes equal to or less than the threshold due to external force 702, the posture change section 27S2 is changed to position control. This state is shown in FIG. 10(e3). Similarly, when the posture change section 27S1 of the distal end bendable section is changed to position control, the result becomes STEP 906 / YES in FIG. 9, and the processing of the flowchart in FIG. 9 ends.
[0075] The judgment in STEP 904 in FIG. 9 may be made by directly comparing the bending angle 17 (see FIG. 4) and the turning angle 18 (see FIG. 4) with the bending target angle 37 (see FIG. 4) and the turning target angle 38 (see FIG. 4), or by calculating the distance in three-dimensional space.
[0076] 11 is a diagram showing an example of a method for determining deviation of the posture in STEP 904 of FIG. One side of the posture 1100 of the bendable section 26 and the posture 1101 stored in the posture memory 19 are fixed to the same point, and the control switching unit 15, for example, calculates the position of the other side in three-dimensional space using the bending angle 17, the turning angle 18, the bending target angle 37, and the turning target angle 38. Then, for example, the control switching unit 15 calculates a distance 1102 to the point on the other side of the same point. Finally, for example, the control switching unit 15 compares the distance 1102 with a threshold value to confirm deviation between the posture 1100 of the bendable section 26 and the posture 1101 of the bendable section 26 stored in the posture memory 19.
[0077] Note that when the external force 702 is used, the condition that the deviation between the posture of the bendable section 26 in STEP 904 in Fig. 9 and the posture of the bendable section 26 stored in the posture memory 19 is equal to or less than the threshold value is not necessarily met. In that case, it is necessary to return to position control by a method of moving backward, or to send a command to return to position control. The above is the description of when the continuum robot 100 moves backward when the present invention is applied.
[0078] Next, the movement of the continuum robot 100 when moving forward will be described. FIG. 12 is a diagram for explaining the forward movement of the continuum robot 100 according to the first embodiment of the present invention. In FIG. 12, the same components as those shown in FIG. 7 are assigned the same reference numerals, and detailed description thereof will be omitted. Also, FIG. 12(d) shows the same state as FIG. 7(d). Below, a method for returning from backdrivable control during forward movement to position control will be explained using the flowchart in FIG. 9 and FIG. 12.
[0079] In STEP 106 of FIG. 8, a required advance distance 1201 shown in FIG. 12(d) is stored. This required advance distance 1201 is a distance for performing a process to return the bendable portion 26 to position control when the Z stage 213 (see FIG. 1) has advanced by that distance. Specifically, the required advance distance 1201 is the length of the bendable portion 26 that is under back-drivable control. In this example, the bendable portion 26S1, the bendable portion 26S2, and the bendable portion 26S3 are under back-drivable control, so the required advance distance 1201 is the distance for three of the bendable portions 26.
[0080] Here, an explanation will be given with reference to the flowchart in FIG. 9, the process proceeds to STEP 901, and since the Z stage 213 is moving forward, the result is STEP 901 / YES, and the process proceeds to STEP 907. In STEP 907, 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 the required forward distance 1201 has not been exceeded (STEP 907 / NO), the process returns to STEP 900.
[0081] Returning to the explanation of FIG. FIG. 12(e) is a diagram showing an example in which the Z stage 213 (see FIG. 1) has advanced a distance equivalent to one bendable section 26. At this time, because it has not advanced to the required advance distance 1201, bendable sections 26S1 to 26S3 do not return to position control. On the other hand, bendable section 26S4 is under position control, with the orientation 703 stored in orientation memory 19 as the target value. Because leading-tracking control is enabled, the input selection unit 22 (see FIG. 5) is as shown in Table 5 below. [Table 5]
[0082] At this time, in section Sec1, the target command from the input device 10 is valid, but is ignored because the corresponding bendable section 26S1 is under backdrivable control. In sections Sec2 and Sec3, the target commands are from the posture memory 19, but are similarly ignored because the corresponding bendable sections 26S2 and 26S3 are under backdrivable control.
[0083] Instead, the first three distal bendable sections are backdrivable controlled, and the external force 702 changes the position to one that reduces the load. This is shown in FIG. 12, where the position approaches the position stored in the position memory 19. Specifically, even if the Z stage 213 (see FIG. 1) is not advanced from FIG. 12(e), the position changes, resulting in the position shown in FIG. 12(f). Note that the distal bendable section advances by one bendable section between FIG. 12(d) and FIG. 12(e), and the position of the distal bendable section is stored in the position memory 19. Due to the advancement by one bendable section, the position stored in the position memory 19 is position 1203. In FIG. 12, the position 703 and position 1203 stored in the position memory 19 are discontinuous. Therefore, the value in the position memory 19 must be updated before the position-controlled bendable section 26S4 enters position 1203.
[0084] 12(g) shows the state immediately before the bendable section 26S4 enters the posture 1203 stored in the posture memory 19, where the advance distance 1202 is smaller than the required advance distance 1201. If the bendable section 26S4 advances further, the advance distance 1202 becomes larger than the required advance distance 1201, the posture memory 19 (see FIG. 4) is updated, and all posture change sections 27 (see FIG. 4) that are under backdrivable control are returned to position control.
[0085] Returning to the explanation of FIG. In STEP 907, as described above, it is determined whether or not the Z stage 213 has advanced beyond the required advance distance 1201. If the result of this determination is that the Z stage 213 has advanced beyond the required advance distance 1201 (STEP 907 / YES), the process proceeds to STEP 908. In STEP 908, the control system of the continuum robot 100 performs a process of recalculating the trajectory and updating the posture memory 19.
[0086] Fig. 13 shows a control system of the continuum robot 100 according to the first embodiment of the present invention, and is a diagram showing an example of the configuration for performing a process of recalculating a trajectory and updating the posture memory 19. In Fig. 13, the same components as those shown in Figs. 4 to 6 are assigned the same reference numerals, and detailed description thereof will be omitted.
[0087] To update the posture memory 19, first, the inverse kinematics calculation unit 24 converts the position command (RefPos) or position (Pos) passed from the position selection unit 30 into the bending angle 17 and rotation angle 18 of each bendable section 26 (see FIG. 1 ). Next, the interpolation unit 1301 interpolates the bending angle 17 and rotation angle 18 and writes them to the posture memory 19. Here, the position selection unit 30 selects the position command (RefPos) when the control mode of the posture change unit 27 is position control, and selects the position (Pos) when the control mode is backdrivable control. At this time, the position command (RefPos) is selected when the posture change unit 27 is position control because the position command (RefPos) and the position (Pos) may diverge due to force feedback control. When the external force is large, the action of the backdrivable control system of the inner loop may result in an equilibrium state with a position error 1302 of the position control of the outer loop remaining. To maintain the position (Pos), the target position of the attitude changer 27 must be the position command (RefPos). Therefore, when the attitude changer 27 is in position control, the position selector 30 selects the position command (RefPos).
[0088] In addition, when the external force is large, the position (Pos) does not match the position command (RefPos) and follows the external force to some extent, which is useful for protecting the continuum robot 100 and the object with which the continuum robot 100 is in contact.
[0089] On the other hand, when the attitude change unit 27 is in backdrivable control, Ksv=0 and the position command (RefPos) is ignored. Therefore, the position selector 30 cannot select the position command (RefPos) and selects the position (Pos).
[0090] Furthermore, the interpolation unit 1301 performs resampling processing when there is not a one-to-one correspondence between the posture memory 19 and the bendable section 26. In Fig. 13, multiple posture memories 19 are assigned to one bendable section 26, allowing smooth movement when the Z stage 213 (see Fig. 1) moves forward. For resampling processing, for example, zero-order hold, linear interpolation, or spline interpolation can be used.
[0091] Returning to the explanation of FIG. In STEP 908, the trajectory is recalculated and the posture memory 19 is updated, and then the process proceeds to STEP 909. In STEP 909, the control switching unit 15 performs a process of switching all of the bendable sections 26 to position control. Specifically, the control switching unit 15 switches from backdrivable control to position control by substituting a constant value for Ksv of the posture change unit 27 (see FIG. 4). When this switching is complete, the process of the flowchart in FIG. 8 ends. The above is an explanation of the backward movement of the continuum robot 100 when the present invention is applied.
[0092] Furthermore, when some of the attitude change units 27 (see FIG. 4) are in backdrivable control, the pilot can also return to position control at any time. The pilot can issue a command to return to position control at any time using a push button switch (not shown) or the like. Then, in FIG. 9, STEP 900 becomes YES. The processes of STEP 908 and STEP 909, which have already been explained, are performed, and all of the attitude change units 27 return to position control.
[0093] In the continuum 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 (first posture) of the bendable section 26 deviates by a predetermined amount or more from the posture 703 (see Figure 7: second posture) of the bendable section 26 stored in the posture memory 19, the control switching unit 15 switches the posture change control of at least one posture change unit 27 (see Figure 4) from position control (first control) that sets the posture to a specified posture to backdrivable control (second control) that changes the posture in accordance with an external force. According to this configuration, when the continuum robot moves forward or backward after a look-around operation, it is possible to avoid a sharp bending motion by using the posture stored in the posture memory 19 (see FIG. 4). Furthermore, it is possible to realize a continuum robot 100 that is easy to operate and can move forward or backward with little external force while avoiding a sharp bending motion when the continuum robot moves forward or backward.
[0094] Furthermore, for all bendable sections 26 located distal to the bendable section 26 whose posture deviates by more than a predetermined amount, by switching the control system of the posture change section 27 (see Figure 4) to backdrivable control (second control) that changes the posture in response to an external force, it becomes possible to move forward or backward smoothly while leaving the position control portion.
[0095] Although the forward / backward movement unit 14 (see FIG. 4) in this embodiment is shown as being driven by an actuator 211 (see FIG. 1), it can also be moved manually using a handle or the like without using an actuator. Even in this case, if there is a position detector 212 (see FIG. 1), forward and backward movement can be detected, and the present invention can be applied.
[0096] In addition, in this embodiment, one bendable section 26 is driven by three wires 204 (see Figure 1), but this is not limited to three. For example, when pushing and pulling with one wire, bending is possible although the degree of freedom of bending is reduced from two to one.
[0097] Furthermore, in the attitude change unit 27 (see FIG. 4), a gain Ksv is used for the position control unit, and a gain Kf is used for the backdrivable control unit, but these are not limited to gains. For example, it is possible to change Ksv to a component such as Cpos(s). For this Cpos(s), a combination of PID control and an IIR filter can be used. Similarly, Kf can also be changed to a component such as Cforce(s). When changing from position control to backdrivable control, an effective method is to set the output of Cpos(s) to 0. Furthermore, when returning from backdrivable control to position control, some ingenuity is required, such as clearing the state variable in Cpos(s) to 0.
[0098] In addition, in this embodiment, the control switching unit 15 has shown an example of switching from position control to backdrivable control by substituting 0 from a fixed value for Ksv of the attitude change unit 27 (see Figure 4), but it is also possible to continuously transition from position control to backdrivable control by continuously changing Ksv according to deviation, the passage of time, etc.
[0099] Similarly, in this embodiment, an example has been shown in which the control switching unit 15 switches from backdrivable control to position control by substituting a constant value starting from 0 into Ksv of the attitude changing unit 27 (see FIG. 4), but Ksv can also be continuously changed depending on the deviation, the passage of time, etc. In this case, it is possible to continuously transition from backdrivable control to position control.
[0100] (Second embodiment) Next, a second embodiment of the present invention will be described. In the following description of the second embodiment, matters common to the first embodiment will be omitted, and only matters different from the first embodiment will be described.
[0101] Fig. 14 is a diagram showing an example of a schematic configuration of the posture change unit 27 of the continuum robot 100 according to the second embodiment of the present invention. In Fig. 14, the same components as those shown in Figs. 4 to 6 and 13 are denoted by the same reference numerals, and detailed description thereof will be omitted.
[0102] Unlike the first embodiment, the second embodiment has a configuration in which a position control unit and a backdrivable control unit are arranged in parallel and switched by a switch 1401, as shown in Fig. 14. The switch 1401 can be switched by a switching signal 35 from the control switching unit 15 (see Fig. 4). In the case of the configuration shown in Fig. 14, the position command (RefPos) and the position (Pos) do not diverge, so the position selection unit 30 can be omitted. In this case, the position (Pos) is used as an 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 following description of the third embodiment, matters common to the first and second embodiments will be omitted, and only matters different from the first and second embodiments will be described.
[0105] The third embodiment differs from the first embodiment in that it does not perform leading-follow control, but instead plans a trajectory in advance, stores the planned trajectory in the posture memory 19, and controls the continuum robot 100 to a posture corresponding to the position (PosZ) of the Z stage 213.
[0106] Fig. 15 is a diagram showing an example of a schematic configuration of the posture change unit 27 of the continuum robot 100 according to the third embodiment of the present invention. Specifically, Fig. 15 is a diagram for explaining an example of how to give a target value to the posture change unit 27. In Fig. 15, the same components as those shown in Figs. 4 to 6 and 13 are denoted by the same reference numerals, and detailed description thereof will be omitted.
[0107] A trajectory plan is created based on drawing information, magnetic resonance imaging (MRI) scans, computed tomography (CT) scans, and the like, and this is written into the attitude memory 19 as an attitude related to the target bending angle and target turning angle. In this embodiment, the attitude memory 19 is associated with the position of the Z stage 213 (FIG. 1). The input selector 22 (see FIG. 5) is set to select the attitude memory 19 in all cases, regardless of whether the robot is moving forward or backward, as shown in Table 6 below. [Table 6]
[0108] 15(a), it is assumed that the current reference state of the posture memory 19 is a reference state 1501. In the reference state 1501, addresses M54 to M63 are assigned as posture memory 19 corresponding to bendable portions 26S1 to 26S9. As a result, when the Z stage 213 (see FIG. 1) moves forward, the reference addresses of the posture memory 19 must be changed.
[0109] FIG. 15(b) shows the reference state of the attitude memory 19 when the Z stage 213 has advanced to a certain extent. Changing the reference address of the attitude memory 19 in accordance with the advancement of the Z stage 213 results in, for example, a reference state 1502. By changing the address referenced in the attitude memory 19 in this way, it is possible to move along a pre-planned trajectory. Furthermore, because no leading follow-up control is performed, unlike the first embodiment, the bending angle 17S1 (see FIG. 4) and the turning angle 18S1 (see FIG. 4) are not written to the attitude memory 19 (see FIG. 4). The control after the look-around operation is the same as in the first embodiment.
[0110] 6 in the first embodiment can be applied to this embodiment as well. The second embodiment can also be applied to this embodiment.
[0111] According to the third embodiment, in addition to the effects of the first embodiment described above, the operation of the distal end bendable portion performed in the leading-following control is no longer necessary, and therefore the operation is simplified. If necessary, it is possible to switch the input selection unit 22 (see FIG. 5) to accept input from the input device 10 (see FIG. 5).
[0112] (Fourth embodiment) Next, a fourth embodiment of the present invention will be described. In the following description of the fourth embodiment, matters common to the first to third embodiments will be omitted, and only matters different from the first to third embodiments will be described.
[0113] The fourth embodiment differs from the first embodiment in that the continuum robot 100 is controlled using a linear motor instead of a ball screw.
[0114] Fig. 16 is a diagram showing an example of the schematic configuration of the wire driving unit 25 of the continuum robot 100 according to the fourth embodiment of the present invention. In Fig. 16, the same components as those shown in Fig. 1 are denoted by the same reference numerals, and detailed description thereof will be omitted.
[0115] As shown in FIG. 16, the wire driver 25 in the fourth embodiment includes a linear guide 1601 and a linear motor 1602. As shown in FIG. 16, the wire driver 25 in the fourth embodiment also includes a scale 1603 and a scale head 1604 for position detection. In this case, any scale, such as an optical or magnetic scale, can be used as the scale 1603. Unlike the first embodiment, the wire driver 25 in the fourth embodiment can omit the tension sensor 207 and directly fix the wire 204 to the stage 209 via a wire clamp 1605. The wire driver 25 in the fourth embodiment can omit the tension sensor 207 (see FIG. 1) because linear motor drive has less friction and higher backdrivability than ball screw drive.
[0116] Fig. 17 is a diagram showing an example of a schematic configuration of the posture change unit 27 of the continuum robot 100 according to the fourth embodiment of the present invention. In Fig. 17, the same components as those shown in Figs. 4, 13, and 14 are denoted by the same reference numerals, and detailed description thereof will be omitted.
[0117] Unlike the second embodiment, the attitude changer 27 in the fourth embodiment omits the compensator Cforce(s) (see FIG. 14) for backdrivable control, as shown in FIG. 17. In the attitude changer 27 in the fourth embodiment, switching from position control to backdrivable control is performed by the switch 1401. When switching to backdrivable control, the attitude changer 27 in the fourth embodiment selects the signal 1701 and the current command (RefCurrentA1) becomes 0. This allows the stage 209 to move freely in response to the external force. Also, in the attitude changer 27 in the fourth embodiment, the switch 1401 may directly cut off the power supply to the linear motor to cut off the power of the linear motor. Note that the switch 1401 can be switched by a switching signal 35 from the control switching unit 15 (see FIG. 4).
[0118] According to the fourth embodiment, in addition to the effects of the first embodiment described above, it is possible to simplify the configuration by omitting the tension sensor 207. Note that when linear motor drive is used, it is not always necessary to omit the tension sensor 207, and it is also possible to freely combine it with other embodiments.
[0119] (Other embodiments) The present invention can also be realized by supplying a program that realizes one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program.The present invention can also be realized by a circuit (e.g., ASIC) that realizes one or more functions. This program and a computer-readable storage medium storing the program are included in the present invention.
[0120] It should be noted that the above-described embodiments of the present invention are merely illustrative examples of the implementation of the present invention, and the technical scope of the present invention should not be construed as being limited by these. In other words, the present invention can be implemented in various forms without departing from its technical concept or main features. [Explanation of symbols]
[0121] 10, 13: Input device, 14: Forward / backward movement unit, 15: Control switching unit, 16: Deviation determination unit, 19: Posture memory, 22: Input selection unit, 23: Forward kinematics calculation unit, 24: Inverse kinematics calculation unit, 25: Driving unit, 26: Bending unit, 27: Posture change unit, 30: Position selection unit, 100: Continuum robot, 201, 211: Actuator, 202, 212: Position detector, 204: Wire, 207: Tension sensor, 209: Stage, 213: Z stage
Claims
1. a plurality of bendable portions arranged in series in the longitudinal direction, each of which is bendable; an advancing / retracting unit that advances or retracts the plurality of bendable sections in the longitudinal direction; a position change 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, when detecting the advance or retreat of the advance / retreat unit, switches or continuously transitions control 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, as a control of change of the first posture of the posture change unit, 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 the posture of the at least one bendable portion stored in the storage unit; A continuum robot comprising:
2. the storage unit stores, as the second posture, a posture of a bendable portion at a distal end of the plurality of bendable portions when the advancement / retraction unit advances the bendable portion; 2. The continuum robot according to claim 1, wherein 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 that is 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 continuous body robot according to claim 1, wherein, when the forward movement or the backward movement by the forward / backward movement section is detected, if the posture of the first bendable section does not deviate by a predetermined amount or more from the posture of the first bendable section stored in the memory section, and if the posture of the second bendable section deviates by a predetermined amount or more from the posture of the second bendable section stored in the memory section, the control section controls the second bendable section to switch or continuously transition from the first control to the second control.
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 continuous body robot according to any one of claims 1 to 6, characterized in that the control unit applies reception 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 sections have retreated since the first control was switched or continuously transitioned to the second control, and that the deviation between the first posture and the second posture of the bendable section located closest to the at least one bendable section 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 of switching or continuously transitioning from the first control 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 object 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 that advances or retreats the plurality of bendable sections in the longitudinal direction; a posture changing section that bends each of the plurality of bendable sections to change its posture; and a storage section that stores the posture of each of the plurality of bendable sections, A control method for a continuum robot, characterized in that, when the forward movement or backward movement by the forward / backward movement unit is detected, if a first posture, which is the posture of at least one of the plurality of bendable sections, deviates by a predetermined amount or more from a second posture, which is the posture of the at least one bendable section stored in the memory unit, the control for changing the first posture of the posture change unit is switched or continuously transitioned 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.
13. A program for causing a computer to execute the steps of the control method for a continuum robot according to claim 12.
Citation Information
Patent Citations
Control device of continuum robot system, control method of continuum robot system, and program
JP2018175602A
Control system of continuous robot and control method thereof, and program
JP2022008179A
Tendon-driven endoscope and method of insertion thereof
JP4758646B2
Medical system having multiple operating modes for directing a medical device through a connecting body passageway - Patents.com
JP6667691B2
Actively controlled steerable medical device with passive bending mode
US20200375682A1