The present disclosure relates to a control system and a control method.
Various proposals have been made regarding a master-slave control system (refer to Patent Literature 1, for example).
In bilateral control in which the position and force are made to correspond to each other between a master and a slave, overcoming a communication delay between the master and the slave leads to improvement of operability.
One aspect of the present disclosure is to provide a control system and a control method capable of improving operability of bilateral control.
A control system according to one aspect of the present disclosure includes: an estimation unit that estimates future state information of a slave robot at a time after a predetermined period from a time corresponding to state information of a master robot and the slave robot, the state information being acquired by a master device among the master device and a slave device, the master device including the master robot while the slave device including the slave robot, the estimation of the future state information being performed by using the state information of the master robot and the slave robot and using a trained model; and a controller that controls the master robot and the slave robot based on an estimation result obtained by the estimation unit so as to achieve a correspondence between a position and an external force of the master robot and a position and an external force of the slave robot, respectively, wherein the trained model works such that, after having input of the state information, the trained model outputs the future state information.
A control method according to one aspect of the present disclosure includes: estimating, by a control system, future state information of a slave robot at a time after a predetermined period from a time corresponding to state information of a master robot and the slave robot, the state information being acquired by a master device among the master device and a slave device, the master device including the master robot while the slave device including the slave robot, the estimation of the future state information being performed by using the state information of the master robot and the slave robot and using a trained model; and controlling, by the control system, the master robot and the slave robot based on an estimation result so as to achieve a correspondence between a position and an external force of the master robot and a position and an external force of the slave robot, respectively.
Embodiments of the present disclosure will be described below in detail with reference to the drawings. Note that, in each of the following embodiments, the same elements are denoted by the same reference symbols, and a repetitive description thereof will be omitted.
The present disclosure will be described in the following order.
In this example, the control system 1 is used for surgery. A practitioner (doctor or the like) who performs the surgery is referred to as a user U1 in the drawing. A patient undergoing the surgery is referred to as a user U2 in the drawing.
By operating the master device 10, the user U1 remotely operates the slave device 20 to perform surgery on the user U2. Specifically, the master device 10 includes a master robot 11 operated by the user U1. The slave device 20 includes a slave robot 21 remotely controlled by the user U1. For convenience, the slave robot 21 and the master robot 11 will be described in this order.
In this example, the slave robot 21 includes an arm. The slave robot 21 in this example includes a link 21L, a joint 21J, and a distal end 21E. The links 21L provided adjacent to each other are pivotally connected via the joint 21J that rotates by motor drive. The distal end 21E is a portion that is located closest to the user U2 and can come in contact with the user U2. The slave robot 21 has various states depending on conditions such as the rotation angle of the joint 21J, for example. A force sensor 21F is provided at the distal end 21E. The force sensor 21F detects a reaction force (external force) acting on the distal end 21E. Note that the slave robot 21 may include more numbers of links 21L and joints 21J, and more numbers of distal ends 21E and the force sensors 21F, than the numbers in the diagram. The following description regarding the link, the joint, and the distal end may be appropriately read as each link, each joint, and each distal end.
The master robot 11 has a configuration suitable for the user U1 to remotely operate the slave robot 21. Information regarding the operation (user's operation) of the master robot 11 by the user U1 is transmitted as control information from the master device 10 to the slave device 20. The master robot 11 has a configuration corresponding to the slave robot 21 so as to transmit the state of the slave robot 21 to the user U1. For example, the master robot 11 includes portions corresponding to the respective portions of the slave robot 21 so as to have states corresponding to the states of the respective portions (link 21L, joint 21J, distal end 21E, and the like) of the slave robot 21. Hereinafter, a portion in the master robot 11 corresponding to the joint 21J of the slave robot 21 is referred to as a “joint of the master robot 11”. A portion in the master robot 11 corresponding to the distal end 21E of the slave robot 21 is referred to as a “distal end of the master robot 11”.
The master device 10 and the slave device 20 will be described with reference to
While details of the position controller 12 and the force controller 13 will be described below, only the force controller 13 is used in the unilateral control, and both the position controller 12 and the force controller 13 are used in the bilateral control.
The detection unit 14 detects the state of the master robot 11. An example of the detected state is an external force (for example, at the distal end) of the master robot 11, and this force is acquired from the above-described force sensor or the like. Other examples of the state to be detected include a torque reference value, an angle (joint angle), and an angular velocity (joint angular velocity) of the joint. The torque reference value, which substantially corresponds to a current value input to the master robot 11, is naturally sensed by the master device 10, and thus is detectable. The joint angle is acquired from an encoder in an actuator (not illustrated) provided at the joint of the master robot 11, for example. The joint angular velocity is obtained as a derivative of the joint angle with respect to time. Still other examples of the detected state include an acceleration reference value, the position, the speed, and the like of the distal end, which are input to the master robot 11. The acceleration reference value, which is a value as a basis of the above-described torque reference value, is naturally sensed by the master device 10 similarly to the torque reference value, and thus, is detectable. The position and speed of the distal end are specified from the above-described information such as a joint angle and joint angular velocity, for example, and thus are detectable.
The communication unit 15 communicates with other devices. An example of other devices is the slave device 20. For example, the communication unit 15 receives information to be used by the master device 10 from the slave device 20 via the network 5. Furthermore, the communication unit 15 transmits information acquired by the master device 10 to the slave device 20 via the network 5.
Here, the slave device 20 will be described first, and then the master device 10 will be described.
While details of the position controller 22 and the force controller 23 will be described below, only the position controller 22 is used in the unilateral control, and both the position controller 22 and the force controller 23 are used in the bilateral control.
The detection unit 24 detects the state of the slave robot 21. An example of the detected state is an external force of the slave robot 21 (for example, the distal end 21E), and this is acquired from the above-described force sensor or the like. Other examples of the state to be detected include a torque reference value, an angle (joint angle), and an angular velocity (joint angular velocity) of the joint 21J. The torque reference value, which substantially corresponds to a current value input to the slave robot 21, is naturally sensed by the slave device 20, and thus is detectable. The joint angle is acquired from an encoder in an actuator (not illustrated) provided at the joint 21J of the slave robot 21, for example. The joint angular velocity is obtained as a derivative of the joint angle with respect to time. Still other examples of the detected state include an acceleration reference value, the position, the speed, and the like of the distal end 21E, which are input to the slave robot 21. The acceleration reference value, which is a value as a basis of the above-described torque reference value, is naturally sensed by the slave device 20 similarly to the torque reference value, and thus, is detectable. The position of the distal end 21E and the speed of the distal end 21E are specified from the above-described information such as a joint angle and joint angular velocity, for example, and thus are detectable.
The communication unit 25 communicates with other devices. An example of other devices is the master device 10. For example, the communication unit 25 receives information to be used by the slave device 20 from the master device 10 via the network 5. Furthermore, the communication unit 25 transmits the information acquired by the slave device 20 to the master device 10 via the network 5.
The estimation unit 16 and the storage unit 17 of the master device 10 will be described with reference back to
The estimation unit 16 estimates the future state information of the slave robot 21 based on the state information of the master robot 11 and the slave robot 21. The state information includes various information for specifying the state of the master robot 11 or the slave robot 21. Examples of the state information include the position (distal end, for example) of the master robot 11 and the position and speed of the slave robot 21 (specifically, the distal end 21E, for example) acquired by the master device 10. The state information may be, for example, time-series information (that is, information up to the present) indicating the states of the master robot 11 and the slave robot 21 for at each time.
The future state information is state information of the slave robot 21 at a time after a lapse of a predetermined period from a time corresponding to the state information of the slave robot 21 acquired by the master device 10. The predetermined period may be determined based on a communication delay time between the master device 10 and the slave device 20. More specifically, the predetermined period may be determined based on a round-trip communication delay time between the master device 10 and the slave device 20. The communication delay time may be determined based on data such as design data and experimental data of the control system 1. The communication delay time will be described below with reference to
With reference back to
The position controller 12 and the like controls the master robot 11 and the slave robot 21 so as to achieve the correspondence between the position of the master robot 11 and the position of the slave robot 21. The correspondence between positions here means that the positions of the corresponding parts of the master robot 11 and the slave robot 21 have a correspondence relationship. For example, the master robot 11 and the slave robot 21 are controlled so as to allow the position of the distal end of the master robot 11 and the position of the distal end 21E of the slave robot 21 to have a correspondence relationship.
Specifically, the position controller 12 controls the position of the master robot 11 in accordance with a position command value designated by the user. An example of the control position is the position of the distal end of the master robot 11 (arm end position). This control is performed in accordance with information designating the position of the distal end (arm end position command). The arm end position command is generated in accordance with a user' operation or generated by the position controller 12. The position controller 12 controls the rotation (rotation speed, rotation angular velocity, torque, etc.) of the joint so as to allow the distal end of the master robot 11 to be located at a position according to the arm end position command.
The position controller 22 controls the position of the slave robot 21 so as to follow the position command value designated by the user. An example of the control position is a position (arm end position) of the distal end 21E of the slave robot 21. This control is performed in accordance with the arm end position command. The position controller 22 controls, for example, the rotation (rotation speed, rotation angular velocity, torque, etc.) of the joint 21J so as to allow the distal end 21E of the slave robot 21 to be positioned in accordance with the arm end position command.
The force controller 13 and the like controls the master robot 11 and the slave robot 21 so as to achieve the correspondence between the external force of the master robot 11 and the external force of the slave robot 21. The external force between positions here means that the external forces of the corresponding parts of the master robot 11 and the slave robot 21 have a correspondence relationship. For example, the master robot 11 and the slave robot 21 are controlled so as to allow the external force of the distal end of the master robot 11 and the external force of the distal end 21E of the slave robot 21 to have a correspondence relationship.
The position control and the force control by the position controller 12 and the like and the force controller 13 and the like are performed based on the estimation result obtained by the estimation unit 16. Details will be described below.
The storage unit 17 of the master device 10 will be described. The storage unit 17 stores various types of information needed for processing executed in the master device 10. The information stored in the storage unit 17 include a trained model NN as illustrated in
The trained model NN estimates the future state information of the slave robot 21 of the slave device 20. The trained model NN will be described with reference to
Using training data (such as labeled training data), the trained model NN is generated such that, after having an input of state information of the master robot 11 and the slave robot 21, the model NN will output future state information of the slave robot 21. In this example, the state information input to the trained model NN includes a position (xm) of the distal end of the master robot 11, a position (xse−Ts) and a speed (xse−Ts dot) of the distal end 21E of the slave robot 21. Note that the position (xse−Ts) and the speed (xse−Ts dot) of the distal end 21E here are information acquired by the master device 10, and are thus information (past information) delayed by the communication delay time (T) between the master device 10 and the slave device 20. Also note that the future state information of the slave robot 21 output by the trained model NN is a future position (xseTs) and a future speed (xseTs dot) of the distal end 21E of the slave robot 21, and thus is information shifted to the future by the communication delay time (T). Incidentally, the communication delay time (T) is a delay time occurring in communication from the master device 10 to the slave device 20 or communication from the slave device 20 to the master device 10. The round-trip communication delay time between the master device 10 and the slave device 20 is the sum of the individual communication delay times (for example, 2T).
As described above, the state information may be time-series information (time-series data). Such state information is suitable to be input to the trained model NN using an LSTM block NNa suitable for time-series data. For example, the estimation accuracy of the future state information can be improved as compared with the case of using a multilayer perceptron. The trained model NN can also be considered as a model (system) that predicts a future response by a communication delay from time-series data up to the current time.
A unilateral control system from the master device 10 to the slave device 20 is configured. The left part of
The system constructed on the side of the master device 10 is a force control system that follows 0 N. The force controller 13 calculates an input (um) to the master robot 11 so as to bring the external force (fm) of the distal end of the master robot 11 of the master device 10 closer to 0. Examples of the input (um) include an acceleration reference value and a torque reference value. In this example, the force controller 13 calculates the input (um) to the master robot 11 by multiplying an external force (fm) at the distal end of the master robot 11 by −Cf. The position (xm) of the distal end of the master robot 11 during such control is transmitted to the slave device 20 with a delay of the communication delay time (T).
The system constructed on the side of the slave device 20 is a position control system that follows the position of the distal end of the master robot 11. The position controller 22 calculates an input (us) to the slave robot 21 so as to bring the position (xs) of the distal end 21E of the slave robot 21 of the slave device 20 closer to the position of the distal end of the master robot 11. In this example, the position controller 22 calculates the input (us) to the slave robot 21 by multiplying a value obtained by subtracting the position (xs) of the distal end 21E of the slave robot 21 from the position of the distal end of the master robot 11 by Cp. The position (xs) of the distal end 21E of the slave robot 21 under such control is transmitted (as feedback) to the master device 10 with a delay (xse−Ts) by the communication delay time (T).
The master device 10 side acquires, as data, the position (xm) of the distal end of the master robot 11, the position (xse−Ts) and the speed (xse−Ts dot) of the distal end 21E of the slave robot 21. By acquiring the data in time series, the position (xseTs) and the speed (xseTs dot) of the distal end 21E of the future slave robot 21 are also acquired. The data obtained in this manner, specifically, the position (xm) of the distal end of the master robot 11, the position (xse−Ts) and speed (xse−Ts dot) of the distal end 21E of the slave robot 21, and the future position (xseTs) and future speed (xseTs dot) of the distal end 21E of the slave robot 21, are acquired as inputs and outputs of training data for the trained model NN. The training data is acquired by performing all sorts of unilateral control within a range of positions and speeds of the distal ends of the master robot 11 and the slave robot 21 assumed at the time of bilateral control described below. At this time, the master robot 11 is operated to set the slave robot 21 to be always in a no-load state (non-contact state).
For example, the training data of the trained model NN is acquired as described above. The trained model NN is generated using the acquired training data. The generation (learning) of the trained model NN may be performed outside the control system 1 (an information processing device or the like (not illustrated)). The generated trained model NN is stored in the storage unit 17 of the master device 10.
Returning to
A bilateral control system constructed by the control system 1 (
The following control targets are given between the position (xm) and the external force (fm) of the distal end of the master robot 11 and the position (xs) and the external force (fs) of the distal end 21E of the slave robot 21.
x
m
−x
s=0 (1)
f
m
−f
s=0 (2)
The above Formula (1) expresses matching between the position (xm) of the distal end of the master robot 11 and the position (xs) of the distal end 21E of the slave robot 21. Formula (2) expresses the law of action and reaction between the external force (fm) at the distal end of the master robot 11 and the external force (fs) at the distal end 21E of the slave robot 21. The external force (fs) and the external force (fm) are detected by the force sensor (the force sensor 21F or the like) as described above with reference to
On the master device 10 side, both the external force (fm) of the distal end of the master robot 11 and the external force (fse−Ts) of the distal end 21E of the slave robot 21 are subtracted. The force controller 13 multiplies the value by Cf and outputs the result. The output of the force controller 13 is added to the input (um) from the position controller 12 to the master robot 11.
On the side of the slave device 20, the position (xs) of the distal end 21E of the slave robot 21 is subtracted from the position (xme−Ts) of the distal end of the master robot 11. The position controller 22 multiplies the value by Cps and outputs the result. A value obtained by adding the output from the force controller 23 to the output from the position controller 22 is to be an input (us) to the slave robot 21 of the slave device 20. Both the external force (fs) of the distal end 21E of the slave robot 21 and the external force (fme−Ts) of the distal end of the master robot 11 are subtracted. The force controller 23 multiplies the value by Cf and outputs the result. The output of the force controller 23 is added to the input (us) from the position controller 22 to the slave robot 21.
In the master device 10, the position (xm) of the distal end of the master robot 11, the position (xse−Ts) of the distal end 21E of the slave robot 21, and the speed (xse−Ts dot) obtained by differentiating (S) the position are input to the trained model NN. Specifically, the estimation unit 16 inputs the position (xm) of the distal end of the master robot 11, the position (xse−Ts) of the distal end 21E, and the speed (xse−Ts dot) to the trained model NN.
The trained model NN outputs a future position (xseTs hat) and a future speed (xseTs hat and dot) of the distal end 21E of the slave robot 21. These values are acquired by the estimation unit 16.
The position controller 12 calculates an input (um) to the master robot 11 based on the position (xm) of the distal end of the master robot 11, the future position (xseTs hat) of the distal end 21E, and the future speed (xseTs hat and dot) of the distal end 21E.
In an assumable case of bilateral control constructed based on the control target without estimating the future position (xseTs hat) and the speed (xseTs hat and dot) using the trained model NN under the condition where there is a communication delay as illustrated in
u
m
=−C
f(fm+fse−Ts)+Cpm(xm−xse−Ts) (3)
u
s
=−C
f(fme−Ts+fs)+Cps(xme−Ts−xs) (4)
According to the above Formulas (3) and (4), the position (xm) of the distal end of the master robot 11 and the position (xse−Ts) of the distal end 21E of the slave robot 21 are not synchronized at a same time. This would lead to significant deterioration of the operability in the non-contact state as well as deterioration of the stability of the control system, resulting in instability of the control system particularly at the time of contact with an external environment.
In this regard, as described above, the master device 10 side estimates (predicts) the future response (position (xseTs)) of the distal end 21E of the slave robot 21 in real time using (implementing) the trained model NN. The position control system on the master device 10 side is constructed based on the estimated value and the current response (position (xm)) of the master robot 11. In a case where the trained model NN accurately outputs the future prediction value (xs hat), the above Formulas (3) and (4) are overwritten as follows.
u
m
=−C
f(fm+fse−Ts)+Cpm(xm−{circumflex over (x)}s) (5)
u
s
=−C
f(fse−Ts+fs)−Cps(xme−Ts−xs) (6)
The master device 10 side can virtually assume that there is no communication delay in the position and speed of the distal end 21E of the slave robot 21. Therefore, the position of the distal end of the master robot 11 and the position of the distal end 21E of the slave robot 21 are synchronized with each other at a same time. As a result, it is possible to suppress deterioration in operability and stability.
According to the control system 1 described above, the master device 10 side has a control system constructed using future state information of the slave robot 21 (the future position and future speed of the distal end 21E), making it possible to design with assumption of no communication delay. This can achieve both improvement of operability and stability at the time of contact, which have been difficult with conventional technologies.
For example, in contrast to the cases using a delay compensator such as the Smith predictor, with the technique according to the present embodiment, the above-described effect can be obtained without using such an additional delay compensator.
The master device 10 side can handle situations assuming there is no delay in the position of the distal end 21E and the speed of the distal end 21E of the slave robot 21. Therefore, an existing controller can be used without considering the communication delay without a need to design a complicated communication delay controller such as a method based on a passivity theory.
Step S1 estimates the future state information of the slave robot. As described above with reference to
In step S2, the master robot and the slave robot are controlled. As described above with reference to
Bilateral control is performed by repeatedly executing the above processing, for example.
In the bilateral control, scaling may be performed on an external force and a position. For example, in a case where scaling is performed on the position and force of the distal end 21E of the slave robot 21, control on the master device 10 side is expressed as follows.
u
m
=−C
f(fm+αfse−Ts)+Cpm(xm−β{circumflex over (x)}s) (7)
The control on the side of the slave device 20 is expressed as follows, for example.
u
s
=−C
f(fme−Ts+αfs)−Cps(xme−Ts−βxs) (8)
Here, α (>0) is a scaling factor of the external force. β (>0) is a scaling factor of the position.
By performing scaling as described above, it is possible to facilitate remote bilateral control in surgery requiring fine work, for example. Since the bilateral control is as described above with reference to
In the above embodiment, the medical bilateral control system for surgery or the like has been described as an example of the application of the control system 1. However, the control system 1 may be used for various other applications. Examples of other applications includes a bilateral control robot for extreme environments. The slave robot can be sent to an environment not easily accessible by humans, such as a disaster site or outer space, enabling bilateral operation from a remote location with excellent operability and stability. Another example of other applications is a network-based control system. By predicting a future response for a robot connected to a network in a factory or the like, it is possible to design a controller that is more robust than a Smith predictor and easier than the passivity theory.
The mechanism included in the robot is not limited to the arm. The robot may have various mechanisms depending on the application.
The position control object, the position/speed estimation object, and the like are not limited to the distal end of the robot. Any part of the robot may be a position control object and a position/speed estimation object.
The location of each function of the control system 1 may be provided in any device of the master device 10 and the slave device 20. This is because these devices can communicate with each other. Some functions may be provided in a device outside the control system 1 (for example, an external server).
The computer 1000 includes a CPU 1100, RAM 1200, read only memory (ROM) 1300, a hard disk drive (HDD) 1400, a communication interface 1500, and an input/output interface 1600. Individual components of the computer 1000 are interconnected by a bus 1050.
The CPU 1100 operates based on a program stored in the ROM 1300 or the HDD 1400 so as to control each of components. For example, the CPU 1100 develops the program stored in the ROM 1300 or the HDD 1400 into the RAM 1200 and executes processing corresponding to various programs.
The ROM 1300 stores a boot program such as a basic input output system (BIOS) executed by the CPU 1100 when the computer 1000 starts up, a program dependent on hardware of the computer 1000, or the like.
The HDD 1400 is a non-transitory computer-readable recording medium that records a program executed by the CPU 1100, data used by the program, or the like. Specifically, the HDD 1400 is a recording medium that records a program that executes control processing according to the present disclosure, which is an example of program data 1450.
The communication interface 1500 is an interface for connecting the computer 1000 to an external network 1550 (for example, the Internet). For example, the CPU 1100 receives data from other devices or transmits data generated by the CPU 1100 to other devices via the communication interface 1500.
The input/output interface 1600 is an interface for connecting an input/output device 1650 with the computer 1000. For example, the CPU 1100 receives data from an input device such as a keyboard or a mouse via the input/output interface 1600. In addition, the CPU 1100 transmits data to an output device such as a display, a speaker, or a printer via the input/output interface 1600. Furthermore, the input/output interface 1600 may function as a media interface for reading a program or the like recorded on predetermined recording medium (or simply medium). Examples of the media include optical recording media such as a digital versatile disc (DVD) or a phase change rewritable disk (PD), a magneto-optical recording medium such as a magneto-optical disk (MO), a tape medium, a magnetic recording medium, and semiconductor memory.
For example, when the computer 1000 functions as the master device 10 according to the embodiment, the CPU 1100 of the computer 1000 executes the program loaded on the RAM 1200 so as to implement the functions of the master device 10 or the like. In addition, the HDD 1400 stores a program that executes information processing according to the present disclosure (estimation processing or the like by the estimation unit 16) and data in the storage unit 17. While the CPU 1100 executes program data 1450 read from the HDD 1400, the CPU 1100 may acquire these programs from another device via the external network 1550, as another example.
The control system 1 described above is specified as follows, for example. As described with reference to
The control system 1 described above performs bilateral control in which the positions and external forces of the master robot 11 and the slave robot 21 are set to correspond to each other based on the estimation result of the future state information of the slave robot 21. By using the future state information of the slave robot 21 in this manner, it is possible to reduce the influence of the communication delay time between the master device 10 and the slave device 20, leading to improvement of the operability of the bilateral control.
As described with reference to
As described with reference to
The controller may control the master robot 11 and the slave robot 21 such that the position and the external force of the master robot 11 correspond to the scaled position (for example, the scaling factor is β) and the external force (for example, the scaling factor is α) of the slave robot 21, respectively. This makes it possible to facilitate remote bilateral control in surgery requiring fine work.
The control method described with reference to
Note that the effects described in the present disclosure are merely examples and are not limited to the disclosed contents. There may be other effects.
The embodiments of the present disclosure have been described above. However, the technical scope of the present disclosure is not limited to the above-described embodiments, and various modifications can be made without departing from the scope of the present disclosure. Moreover, it is allowable to combine the components across different embodiments and modifications as appropriate.
Note that the present technique can also have the following configurations.
Number | Date | Country | Kind |
---|---|---|---|
2020-219253 | Dec 2020 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2021/042873 | 11/24/2021 | WO |