Control system, control method, and program
The control system enhances robot interaction by calculating command values to mimic virtual object behavior, addressing reproducibility and maneuverability issues in conventional technologies, enabling high-precision bilateral control.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-06-25
- Publication Date
- 2026-03-18
AI Technical Summary
Conventional robot control technologies lack sufficient reproducibility and maneuverability in mechanical impedance, making appropriate physical interaction with robots difficult.
A control system comprising a first device for operation input, a second device for action on an object, and a control device that calculates command values to make the first and second devices follow the behavior of a virtual object, based on data acquisition of their physical quantities, using admittance to enhance reproducibility and operability.
The system achieves more appropriate physical interaction by improving reproducibility and operability of robot movements, allowing high-precision bilateral control and accurate force conversion.
Smart Images

Figure 0007832624000012 
Figure 0007832624000013 
Figure 0007832624000014
Abstract
Description
[Technical Field]
[0001] This invention relates to a control system, control method, and program for controlling the movements of robots and the like. [Background technology]
[0002] In recent years, robot control technologies that enable safe contact with people and the environment have become necessary to realize a wide range of tasks using robots. In particular, adaptive adjustment of mechanical impedance and the realization of compliant operation are essential to flexibly respond to elements that are difficult to model and uncertain, such as variations in the position, size, and hardness of the object. Furthermore, as a technology for controlling the movement of robots, for example, Patent Document 1 describes a technology related to a robot that performs compliance control. [Prior art documents] [Patent Documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2003-145457 [Overview of the project] [Problems that the invention aims to solve]
[0004] One method for achieving adaptive physical interaction with robots is the use of robot control technology that applies a master-slave system. Various techniques have been proposed for robot control using master-slave systems, such as reproducing the mechanical impedance of the surrounding environment between the master and slave, and improving the robot's operability. However, robots using conventional technology did not have sufficient reproducibility or maneuverability in terms of the mechanical impedance of the surrounding environment. Therefore, it has been difficult to achieve appropriate physical interaction with robots using conventional technology. The objective of this invention is to achieve more appropriate physical interaction for robots. [Means for solving the problem]
[0005] To solve the above problems, a control system according to one aspect of the present invention is: The system comprises a first device that receives input for operation, a second device that performs an action on an object, and a control device that controls the second device in accordance with the operation input to the first device, and also performs control to transmit the reaction force received by the second device from the object to the first device. The control device is A data acquisition means for acquiring data of physical quantities representing the operation of the movable part of the first device and data of physical quantities representing the operation of the movable part of the second device, A command value calculation means that virtualizes a virtual object including the first device and the second device, and calculates command values to cause the first device and the second device to follow the behavior that appears in the virtual object due to input to the first device and the second device, based on the data of the physical quantities acquired by the data acquisition means, It is characterized by having the following features. [Effects of the Invention]
[0006] According to the present invention, more appropriate physical interaction of robots can be achieved. [Brief explanation of the drawing]
[0007] [Figure 1] This is a schematic diagram illustrating the concept of the present invention. [Figure 2] This is a schematic diagram showing the overall configuration of control system 1 according to one embodiment of the present invention. [Figure 3] This is a block diagram showing a specific configuration example of control system 1. [Figure 4] This is a flowchart illustrating the flow of the speed control process performed by control system 1. [Figure 5]This is a schematic diagram showing a state where a virtual object is assumed to have a mass m (inertia). [Figure 6] This is a schematic diagram showing a state where a virtual object is assumed to have a viscous coefficient D (viscosity). [Figure 7] This is a schematic diagram showing a state where a virtual object is assumed to have an elastic coefficient K (elasticity).
Embodiments for Carrying out the Invention
[0008] Hereinafter, embodiments of the present invention will be described with reference to the drawings. First, the basic principle applied to the present invention will be described.
[0009] [Basic Principle] FIG. 1 is a schematic diagram showing the concept of the present invention. As shown in FIG. 1, in the present invention, a virtual object including a master device and a slave device in a robot applying a master-slave system is assumed, and control is performed to make the operations of the master device and the slave device follow the behavior of the virtual object when the inputs to the master device and the slave device are inputs to the virtual object. At this time, a parameter representing the speed is calculated by multiplying the force response input from the master device and the slave device by the admittance, and together with the current speed, it is given as a speed command value to the position control systems of the master device and the slave device. Thereby, as the reproducibility and operability of the operations in the master device and the slave device, performance equal to or better than that of the conventional case can be obtained. Therefore, it becomes possible to realize more appropriate physical interactions of the robot. Also, in the present invention, since control can be performed based on the speed command value, the affinity with an existing position (or speed) control system (a system that does not assume acceleration control) is high. However, in the present invention, it is also possible to perform control based on the acceleration command value. Furthermore, since position and velocity (or acceleration) or angle and angular velocity (or angular acceleration) are parameters that can be substituted using calculus, when performing operations related to position or angle, it is possible to appropriately substitute them with velocity or angular velocity, etc.
[0010] [composition] Next, the system configuration of the present invention will be described. Figure 2 is a schematic diagram showing the overall configuration of a control system 1 according to one embodiment of the present invention. As shown in Figure 2, the control system 1 according to this embodiment is composed of a control device 10, a master device 20, and a slave device 30. The control device 10, the master device 20, and the slave device 30 are connected by wired communication or wireless communication, such as a public network like the Internet, a dedicated line, or a direct connection via a communication cable.
[0011] The control device 10 is composed of an information processing device equipped with a processor and memory, such as a PC (Personal Computer) or a programmable controller. Based on the physical quantities acquired by the master device 20 and the slave device 30 (in this case, the positions of the movable parts in the master device 20 and the slave device 30), the control device 10 calculates command values for speed (or position) in the master device 20 and the slave device 30, respectively. The control device 10 then transmits the calculated command values for speed (or position) to the master device 20 and the slave device 30. At this time, the control device 10 assumes a virtual object including the master device 20 and the slave device 30, and calculates a command value for speed (or position) that causes the master device 20 and the slave device 30 to follow the behavior of the virtual object, assuming that the inputs to the master device 20 and the slave device 30 are inputs to the virtual object.
[0012] The master device 20 receives inputs for operating the slave device 30 and outputs a reaction force to the inputs. Specifically, the master device 20 acquires the physical quantity (in this case, position) of the movable part that has changed due to the inputs for operating the slave device 30 and transmits it to the control device 10. The master device 20 also controls the actuator based on the speed command value (or position command value) transmitted from the control device 10, causing the speed of the movable part to follow the target speed (or target position).
[0013] The slave device 30 outputs to the environment (object) in response to operations performed by the master device 20, and receives a reaction force from the environment corresponding to the output. Specifically, the slave device 30 controls the actuator based on the speed command value (or position command value) transmitted from the control device 10, causing the speed of the movable part to follow the target speed (or target position). The slave device 30 also acquires the physical quantity (in this case, position) of the movable part that has received the reaction force from the environment and transmits it to the control device 10.
[0014] [Specific configuration] Next, the specific configuration of control system 1 will be described. Figure 3 is a block diagram showing a specific configuration example of control system 1. As shown in Figure 3, the control device 10 includes a response value acquisition unit 151, a command value calculation unit 152, and a command value transmission unit 153.
[0015] The response value acquisition unit 151 acquires the physical quantities obtained in the master device 20 and the slave device 30 (in this case, the positions of the movable parts in the master device 20 and the slave device 30). The command value calculation unit 152 calculates a speed command value (or position command value) that causes the master device 20 and the slave device 30 to follow the behavior of a virtual object (a virtual object having mass m) that is assumed to include the master device 20 and the slave device 30, based on the physical quantities of the master device 20 and the slave device 30 acquired by the response value acquisition unit 151. Specifically, the command value calculation unit 152 calculates the speed command value for the master device 20 and the speed command value for the slave device 30 according to, for example, the following equations (1) and (2).
[0016]
number
[0017] F1 and F2 can be obtained from physical quantities (in this case, position) acquired from the master device 20 and slave device 30 using various force estimation methods (such as converting to acceleration and estimating as a multiplicative value with mass, or estimating by an observer). V1 and V2 can be obtained by the derivative of the physical quantities (in this case, position) acquired from the master device 20 and slave device 30. However, the control device 10 may also acquire force as a physical quantity from the master device 20 and slave device 30 and use it in the calculations of equations (1) and (2).
[0018] Furthermore, while equations (1) and (2) show the formulas for calculating the velocity command value, it is also possible to calculate the position command value and control the master device 20 and slave device 30 according to the position command value. It is also possible to calculate the acceleration command value (see, for example, equations (3) and (4) described later) and control the master device 20 and slave device 30 according to the acceleration command value. In addition, it is possible to calculate the current command value or voltage command value of the actuator and control the master device 20 and slave device 30 according to the current command value or voltage command value of the actuator.
[0019] The command value transmission unit 153 transmits the command value of the master device 20 (in this case, the speed command value) and the command value of the slave device 30 (in this case, the speed command value), which have been calculated by the command value calculation unit 152, to the master device 20 and the slave device 30.
[0020] Furthermore, as shown in Figure 3, the master device 20 includes a physical quantity acquisition unit 251, a driver 252, and an actuator 253. The physical quantity acquisition unit 251 includes a position sensor that detects the position of a movable part of the master device 20 (for example, the output shaft of the actuator 253), and transmits the position of the movable part detected by the position sensor to the control device 10. Alternatively, the physical quantity acquisition unit 251 may also include a force sensor in addition to the position sensor that detects the force acting on the movable part of the master device 20, and transmit the force acting on the movable part detected by the force sensor to the control device 10. Furthermore, instead of a position sensor, the physical quantity acquisition unit 251 may also include a velocity sensor (or acceleration sensor) that detects the velocity (or acceleration) of the movable part of the master device 20 (for example, the output shaft of the actuator 253), and transmit the velocity (or acceleration) of the movable part detected by the velocity sensor (or acceleration sensor) to the control device 10. The driver 252 outputs a drive current (or drive voltage) to the actuator 253 according to the command value of the master device 20 transmitted by the control device 10. The actuator 253 outputs a reaction force in accordance with the drive current (or drive voltage) input from the driver 252 in response to an operation input to the master device 20.
[0021] Furthermore, as shown in Figure 3, the slave device 30 includes a physical quantity acquisition unit 351, a driver 352, and an actuator 353. The physical quantity acquisition unit 351 includes a position sensor that detects the position of the movable part of the slave device 30 (for example, the output shaft of the actuator 353), and transmits the position of the movable part detected by the position sensor to the control device 10. Alternatively, the physical quantity acquisition unit 351 may include a force sensor in addition to the position sensor that detects the force acting on the movable part of the slave device 30, and transmit the force acting on the movable part detected by the force sensor to the control device 10. Alternatively, instead of a position sensor, the physical quantity acquisition unit 351 may include a velocity sensor (or acceleration sensor) that detects the velocity (or acceleration) of the movable part of the slave device 30 (for example, the output shaft of the actuator 353), and transmit the velocity (or acceleration) of the movable part detected by the velocity sensor (or acceleration sensor) to the control device 10.
[0022] The driver 352 outputs a drive current (or drive voltage) to the actuator 353 according to the command value of the slave device 30 transmitted by the control device 10. The actuator 353 outputs a force to the environment (object) according to the drive current (or drive voltage) input from the driver 352.
[0023] [Operation] Next, the operation of control system 1 will be explained. [Speed control processing] Figure 4 is a flowchart illustrating the flow of the speed control process performed by control system 1. The speed control process is initiated in the control device 10 in response to an instruction to execute the speed control process.
[0024] In step S1, the response value acquisition unit 151 of the control device 10 acquires physical quantities from the master device 20 and the slave device 30. Specifically, in step S1, the response value acquisition unit 151 acquires the position of the movable part from the physical quantity acquisition unit 251 of the master device 20 and the physical quantity acquisition unit 351 of the slave device 30. At this time, the response value acquisition unit 151 may also acquire the velocity or acceleration of the movable part, or the force acting on the movable part, from the physical quantity acquisition unit 251 of the master device 20 and the physical quantity acquisition unit 351 of the slave device 30.
[0025] In step S2, the command value calculation unit 152 of the control device 10 calculates speed command values for the master device 20 and the slave device 30. Specifically, the command value calculation unit 152 calculates speed command values for the master device 20 and the slave device 30 according to equations (1) and (2). At this time, it is also possible to calculate a position command value and control the master device 20 and the slave device 30 using the position command value. Furthermore, at this time, it is also possible to calculate an acceleration command value and control the master device 20 and the slave device 30 using the acceleration command value.
[0026] In step S3, the command value transmission unit 153 of the control device 10 transmits the speed command values for the master device 20 and the slave device 30, calculated by the command value calculation unit 152, to the master device 20 and the slave device 30. This enables bilateral control in the master device 20 and the slave device 30. In step S4, the command value calculation unit 152 of the control device 10 determines whether or not the termination of the speed control process has been instructed. If the termination of the speed control process is not instructed, the result in step S4 is determined to be NO, and the process returns to step S1. On the other hand, if the termination of the speed control process is instructed, the result in step S4 is determined to be YES, and the speed control process is terminated.
[0027] By such processing, it is possible to obtain performance equal to or better than that of the conventional technique in terms of the reproducibility and operability of the operations in the master device 20 and the slave device 30. Therefore, it becomes possible to realize more appropriate physical interaction of the robot. Further, when the master device 20 and the slave device 30 are controlled by the above-described control, since the parameters necessary for the control are reduced, the amount of data transmitted and received between the devices can be decreased.
[0028] [Verification of Effects] Next, the verification results of comparing the control performance between the above-described control system 1 and the conventional method will be described. In order to make a comparison with the conventional method, when the above-described equations (1) and (2) are converted into acceleration command values, they are expressed as the following equations (3) and (4).
[0029] [Equation]] However, in equations (3) and (4), s is the Laplace operator, X1 ref is the position command value to the master device 20 (that is, s 2 X1 ref is the acceleration command value to the master device 20), X2 ref is the velocity command value to the slave device 30 (that is, s 2 X2 ref is the acceleration command value to the slave device 30), C p is the position controller, Y is the admittance, F1 is the force response value of the master device, F2 is the force response value of the slave device 30, X1 is the position of the movable part of the master device 20, and X2 is the position of the movable part of the slave device 30.
[0030] In intuitive robot operations, the transmission of mechanical impedance is important. From the analogy with an electric system, the transmission of mechanical impedance can be expressed using a two-terminal pair circuit. The ABCD parameters in the two-terminal pair circuit are expressed by equation (5).
[0031] [Equation]] It is expressed as follows.
[0032] If the mechanical impedance of the contact environment is Z2, then the relationship between speed V2 and force F2 in the slave device 30 is: F2 = -Z2V2(6) This is the result.
[0033] From equations (5) and (6), the following equation (7) is obtained.
number
[0034] Here, the coefficient of V1 in the first term on the right-hand side is an indicator of the degree to which the mechanical impedance of the environment is reproduced, and is called the reproducibility Pr. Also, the coefficient of V1 in the second term on the right-hand side is an indicator of the degree of force generated during operation, and is called the operability Po. Using these, F1 can be expressed as shown in equation (8). F1=(P r Z2+Po)V2(8) In order to reproduce the mechanical impedance of the environment that the slave device 30 contacts using the master device 20, the master device 20 into which the operator inputs the operation, F1=Z2V1(9) It needs to be that way.
[0035] One ideal ABCD parameter to achieve this can be expressed as shown in equation (10) below.
number
[0036] In this case, the reproducibility Pr and operability Po take ideal values. Pr=1 (11) Po=0 (12) This is the result. In the control system 1 described above, a virtual object is assumed to be in contact with both the master device 20 and the slave device 30, and the control device 10 performs control to make the operation of the master device 20 and the slave device 30 follow the behavior of this virtual object.
[0037] At this point, if equations (3) and (4) are applied to an ideal acceleration control system, s 2 X ref =s 2 X res (13) This holds true. Therefore, the ABCD parameters can be calculated using the following equation (14).
number
[0038] In contrast, in the conventional method (acceleration-based bilateral control), the acceleration command value is expressed as shown in equations (17) and (18) below.
number
[0039] Here, assuming an ideal acceleration control system and that equation (13) holds, the ABCD parameters of the conventional method can be calculated as shown in equation (19).
number
[0040] [Comparison of usability] Comparing the operability of the present invention with that of the conventional method, if the admittance Y in the present invention is solely due to inertia My, Y=1 / M y s (22) It is expressed as follows. On the other hand, force controller C in the conventional method f Gain K f Assuming a proportional controller, 1 / K f =M y (twenty three) This shows that the same operability can be obtained with the present invention and the conventional method.
[0041] [Comparison of the effects of minor loops] Next, we will compare the effects of minor loops between the present invention and conventional methods. Here, we will assume and compare currently available industrial manipulators. To simulate conventional position-controlled industrial manipulators, we will assume a PID position controller as the minor loop. In this case, the transfer function from the acceleration command value to the acceleration response value can be obtained as shown in equation (24) below.
number
[0042] Here, C PID represents the PID controller, and M represents the motor inertia. For comparison, assuming the same as in equation (23), the operability of the conventional method can be expressed by the following equation (25).
number
[0043] On the other hand, the operability of the present invention can be expressed by the following formula (26).
number
[0044] [Example 1] In the embodiments described above, an example was given in which the master device 20 and the slave device 30 are actually connected and controlled, but the invention is not limited to this. That is, one or both of the master device 20 and the slave device 30 may be configured as virtual devices (models of virtual devices that perform various operations in a virtual space), and the control device 10 may control the master device 20 and the slave device 30. In this case, the virtual device may perform a specific operation model (such as a model of drawing a circle or a model that operates according to a specific routine), and the control device 10 may perform control to make the master device 20 or the slave device 30 follow the behavior of the virtual object corresponding to the specific operation model. This makes it possible to perform the above-mentioned control in a single device according to the operation of a virtual master-slave system. Furthermore, it becomes possible to control the master device 20 or the slave device 30 according to the operation of a virtual device that performs a specific operating model.
[0045] [Differentiation 2] In the above-described embodiment, it is possible to enlarge or reduce (scale) the force, position, velocity, etc., processed by the control system 1. For example, when the control device 10 performs control, it can scale the physical quantities (such as position or force) input to the virtual object, or scale the command values to the master device 20 or the slave device 30. Furthermore, the operation of the master device 20 or the slave device 30 can be scaled by increasing or decreasing the drive current (or drive voltage) output by the driver 252 of the master device 20 or the driver 352 of the slave device 30. This makes it possible to convert subtle or massive movements into a size that is easily perceptible to humans.
[0046] [Difference 3] In the above-described embodiment, it is possible to record control parameters (such as speed command values or acquired physical quantities) during operation of the control system 1. Furthermore, by reading the recorded control parameters and controlling the master device 20 or slave device 30 according to these control parameters, it is possible to reproduce the recorded operation. This makes it possible to save past actions or repeat specific actions.
[0047] [Differentiation Example 4] In the above-described embodiment, the physical properties of the object can be measured by analyzing the control parameters during operation of the control system 1. For example, in response to an input for operation, the inertia, viscosity, elasticity, etc. of the object can be calculated from the response value from the detected object. This allows the physical properties of an object to be determined by contacting it with the control system 1, without the need for special measuring instruments.
[0048] [Difference 5] In the above-described embodiment, the virtual object including the master device 20 and the slave device 30 was assumed to have mass m (inertia), but it is not limited to this. That is, it is possible to assume that the virtual object has various physical properties such as viscosity or elasticity (rigidity), in addition to mass m (inertia). Figure 5 is a schematic diagram showing a state in which a virtual object is assumed to have mass m (inertia). Figure 6 is a schematic diagram showing a state in which a virtual object is assumed to have a viscosity coefficient D (viscosity). Figure 7 is a schematic diagram showing a state in which a virtual object is assumed to have an elastic modulus K (elasticity). As shown in Figures 5 to 7, it is possible to assume inertia, viscosity, and elasticity in a virtual object. Furthermore, the inertia, viscosity, and elasticity of a virtual object can be assumed individually or in combination. When assuming the inertia, viscosity, and elasticity of a virtual object, the following equation (27) can be set as the admittance Y of the virtual object. Y = 1 / (ms + D + K(1 / s)) (27) Furthermore, in this case, the relationship between the force f acting on the virtual objects (i.e., the master device 20 and the slave device 30) and the velocity v is expressed by the following equation (28). v = Yf = f / (ms + D + K(1 / s)) (28) The inertia assigned to a virtual object represents how difficult it is to accelerate. When sensitive force transmission occurs between the master device 20 and the slave device 30, it is desirable to minimize the inertia as much as possible. Furthermore, the viscosity set for the virtual object represents the addition of a third force, determined by the admittance Y setting, in addition to the operating force input to the master device 20 and the reaction force from the environment (object) input to the slave device 30. The viscosity set for the virtual object has effects such as suppressing fluctuations in the operating force. Furthermore, the elasticity assigned to a virtual object represents its characteristic of returning to its original shape after deformation caused by an applied force. By assigning elasticity to a virtual object, it becomes possible to control its movement, such as moving it to a specific position. In this way, by assigning different physical characteristics to the virtual objects, it becomes possible to control the master device 20 and the slave device 30 in various operating modes.
[0049] As described above, the control system 1 according to this embodiment comprises a control device 10, a master device 20, and a slave device 30. The master device 20 accepts input for operation. The slave device 30 performs actions on the target object. The control device 10 controls the slave device 30 in accordance with the operation input to the master device 20, and also performs control to transmit the reaction force received by the slave device 30 from the object to the master device 20. The control device 10 includes a response value acquisition unit 151, a command value calculation unit 152, and a command value transmission unit 153. The response value acquisition unit 151 acquires data of physical quantities representing the operation of the movable parts of the master device 20 and data of physical quantities representing the operation of the movable parts of the slave device 30. The command value calculation unit 152 virtualizes a virtual object including the master device 20 and the slave device 30, and calculates command values to make the master device 20 and the slave device 30 follow the behavior that appears in the virtual object due to input to the master device 20 and the slave device 30, based on the physical quantity data acquired by the response value acquisition unit 151. As a result of using a control method that tracks a virtual object, the reproducibility and operability of the master device 20 and slave device 30 can be made to be equal to or better than conventional methods. Therefore, it becomes possible to achieve more appropriate physical interaction with robots.
[0050] The command value calculation unit 152 calculates a command value for the master device 20 or the slave device 30 based on the difference between the velocity, position, and acceleration of a virtual object obtained by multiplying the force input to the master device 20 and the slave device 30 by a multiplicative element that converts the force into at least one of velocity, position, and acceleration, and at least one of the velocity, position, and acceleration of the master device 20 or the slave device 30. This enables high-precision bilateral control by acquiring the force input to the virtual object from the master device 20 and the slave device 30, as well as at least one of the velocity, position, and acceleration of the master device 20 and the slave device 30.
[0051] The command value calculation unit 152 calculates a command value for the master device 20 or the slave device 30 based on the difference between at least one of the velocity, position, and acceleration of a virtual object obtained by multiplying the force input to the master device 20 and the slave device 30 by admittance, and at least one of the velocity, position, and acceleration of the master device 20 or the slave device 30. This allows for the precise conversion of force into velocity or position, enabling high-precision bilateral control.
[0052] The command value calculation unit 152 calculates the command value by adding the feedforward component based on the force input from the master device 20 and the slave device 30. This allows the master device 20 and the slave device 30 to track the behavior of virtual objects with greater precision.
[0053] At least one of the master device 20 and the slave device 30 is configured as a virtual device. The command value calculation unit 152 calculates command values to cause the master device 20 and the slave device 30 to follow the behavior of the virtual object based on the operation of the virtual device. This makes it possible for a single device to perform control that follows the behavior of a virtual object, in accordance with the operation of a virtual master-slave system.
[0054] At least one of the master device 20 and the slave device 30 is configured as a virtual device that performs a specific operating model. The command value calculation unit 152 calculates command values to cause the master device 20 and the slave device 30 to follow the behavior of a virtual object based on the specific operating model. This makes it possible to control the master device 20 or the slave device 30 according to the operation of a virtual device that performs a specific operating model.
[0055] Scaling is performed on at least one of the outputs of the master device 20 and the slave device 30, increasing or decreasing at least one of force, position, or velocity. This makes it possible to convert subtle or massive movements into a size that is easily perceptible to humans.
[0056] The parameters related to the control of at least one of the master device 20 and the slave device 30 are recorded in chronological order. This makes it possible to save actions that have been performed in the past.
[0057] The operation is reproduced by reading the recorded parameters related to the control of at least one of the master device 20 and the slave device 30 in chronological order and controlling the master device 20 or the slave device 30 based on those parameters. This makes it possible to reproduce actions that have been performed in the past or to repeatedly execute specific actions.
[0058] Information regarding the physical properties of the object is obtained based on parameters related to the control of at least one of the master device 20 and the slave device 30. This allows the physical properties of an object to be determined by contacting it with the control system 1, without the need for special measuring instruments.
[0059] Furthermore, the present invention is not limited to the embodiments described above, and any modifications, improvements, etc., that can achieve the objectives of the present invention are included within the scope of the present invention. For example, in the above-described embodiment, Y(F1+F2) is added as the second term on the right-hand side of equations (1) and (2). However, the speed command value may be calculated without adding the second term on the right-hand side of equations (1) and (2). That is, since the second term on the right-hand side of equations (1) and (2) is a feedforward term for further improving control accuracy, it is also possible to calculate the speed command value without adding the second term on the right-hand side of equations (1) and (2) depending on the control accuracy required by the control system 1. The same applies to the second term on the right-hand side of equations (3) and (4), Y(F1+F2)s.
[0060] Furthermore, in the embodiments described above, equations (1) and (2) illustrate an example of calculating velocity by multiplying the force response values of the master device 20 and the slave device 30 by admittance Y, but the invention is not limited to this. That is, it is possible to calculate a command value of velocity or position by multiplying the force response values of the master device 20 and the slave device 30 by various multiplicative elements that convert force into velocity or position. The various multiplicative elements that convert force into velocity or position can be fixed values, or their contents (conversion characteristics that convert force into velocity or position) can be designed as matrices or functions, etc.
[0061] Furthermore, although the above-described embodiment explained the case in which the master device 20 and the slave device 30 are controlled by the same type of command value (for example, a speed command value), it is not limited to this. That is, the types of command values given to the master device 20 and the slave device 30 may be different. Similarly, in the above-described embodiment, the example given was the acquisition of the same type of physical quantity (for example, the position of a movable part) by the master device 20 and the slave device 30, but the invention is not limited to this. That is, the types of physical quantities acquired by the master device 20 and the slave device 30 may be different. Furthermore, although the above-described embodiment has been explained using the example of a control device 10 that controls the master device 20 and the slave device 30, it is not limited to this. That is, a control device 10 that controls the master device 20 and a control device 10 that controls the slave device 30 may be installed separately.
[0062] Furthermore, embodiments combining the above-described embodiments and their variations are possible. Furthermore, the processing in the above-described embodiment can be performed by either hardware or software. In other words, the control system 1 only needs to be equipped with a function that can perform the above-mentioned processing, and the functional configuration and hardware configuration used to realize this function are not limited to the examples given above. When the above process is performed by software, the programs that make up that software are installed on the computer from a network or storage medium.
[0063] The storage medium for storing programs consists of removable media distributed separately from the main unit, or storage media pre-installed in the main unit. Removable media consists of, for example, semiconductor memory, magnetic disks, optical disks, or magneto-optical disks. Optical disks consist of, for example, CD-ROM (Compact Disk-Read Only Memory), DVD (Digital Versatile Disk), Blu-ray Disc (registered trademark), etc. Magneto-optical disks consist of, for example, MD (Mini-Disk). Furthermore, storage media pre-installed in the main unit consists of, for example, ROM (Read Only Memory), hard disks, or semiconductor memory on which programs are stored.
[0064] The above embodiments are merely examples of how the present invention can be applied and do not limit the technical scope of the present invention. That is, the present invention can be modified in various ways, such as by omitting or substituting, without departing from the spirit of the invention, and various embodiments other than those described above are possible. The various embodiments that the present invention can take and their variations are included within the scope of the invention described in the claims and its equivalents. [Explanation of Symbols]
[0065] 1 Control system, 10 Control device, 20 Master device, 30 Slave device, 151 Response value acquisition unit, 152 Command value calculation unit, 153 Command value transmission unit, 251, 351 Physical quantity acquisition unit, 252, 352 Driver, 253, 353 Actuator
Claims
1. The system comprises a first device for receiving input for operation, a second device for performing actions on an object, and a control device that controls the second device in accordance with the operation input to the first device, and also performs control to transmit the reaction force received by the second device from the object to the first device. The control device is A data acquisition means for acquiring position or velocity data representing the operation of the movable part of the first device and position or velocity data representing the operation of the movable part of the second device, A command value calculation means that virtualizes a virtual object including the first device and the second device, and calculates command values to cause the first device and the second device to follow the behavior that appears in the virtual object due to input to the first device and the second device, based on the position or velocity data acquired by the data acquisition means, Equipped with, The control system is characterized in that the command value calculation means estimates the forces acting on the first device and the second device based on the position or velocity data, which includes position changes due to external forces and position changes not due to external forces, and calculates the command value for causing the first device and the second device to follow the behavior of the virtual object caused by the forces estimated to act on the first device and the second device, based on the position or velocity data, which includes position changes due to external forces and position changes not due to external forces, the forces estimated to act on the first device and the second device, and a set admittance.
2. The control system according to claim 1, characterized in that the command value calculation means calculates the command value of the first device or the second device based on the difference between at least one of the velocity, position, and acceleration of the virtual object obtained by multiplying the force estimated to act on the first device and the second device by admittance, and at least one of the velocity, position, and acceleration of the first device or the second device.
3. The control system according to claim 1 or 2, characterized in that the command value calculation means calculates the command value by adding a feedforward component based on the force estimated to act on the first device and the second device.
4. At least one of the first and second devices is configured as a virtual device, The control system according to any one of claims 1 to 3, characterized in that the command value calculation means calculates the command value for causing the first device and the second device to follow the behavior of the virtual object based on the operation of the virtual device.
5. At least one of the first and second devices is configured as a virtual device that performs a specific operating model, The control system according to any one of claims 1 to 4, characterized in that the command value calculation means calculates the command value for causing the first device and the second device to follow the behavior of the virtual object based on the specific operating model.
6. The control system according to any one of claims 1 to 5, characterized in that scaling is performed to increase or decrease at least one of force, position, or velocity at the output of at least one of the first device and the second device.
7. The control system according to any one of claims 1 to 6, characterized in that it records parameters relating to the control of at least one of the first device and the second device in a time series.
8. The control system according to any one of claims 1 to 7, characterized in that it reads out recorded parameters relating to the control of at least one of the first and second devices in a time series, and reproduces the operation by controlling the first device or the second device based on said parameters.
9. The control system according to any one of claims 1 to 8, characterized in that it acquires information regarding the physical properties of the object based on parameters relating to the control of at least one of the first device and the second device.
10. A control method performed by a control device in a control system comprising: a first device for receiving input for operation; a second device for performing an operation on an object; and a control device that controls the second device in accordance with the operation input to the first device and performs control to transmit the reaction force received by the second device from the object to the first device, A data acquisition step of acquiring position or velocity data representing the operation of the movable part of the first device and position or velocity data representing the operation of the movable part of the second device, A command value calculation step involves creating a virtual object including the first device and the second device, and calculating a command value to cause the first device and the second device to follow the behavior that appears in the virtual object due to input to the first device and the second device, based on the position or velocity data acquired in the data acquisition step. Includes, The control method is characterized in that, in the command value calculation step, the force acting on the first device and the second device is estimated based on the position or velocity data, including position changes due to external forces and position changes not due to external forces, and the command value is calculated based on the position or velocity data, including position changes due to external forces and position changes not due to external forces, the force estimated to act on the first device and the second device, and a set admittance, to cause the first device and the second device to follow the behavior that occurs in the virtual object due to the force estimated to act on the first device and the second device.
11. A computer constituting the control unit in a control system including a first device that receives input for operation, a second device that performs an action on an object, and a control device that controls the second device in accordance with the operation input to the first device and performs control to transmit the reaction force received by the second device from the object to the first device, A data acquisition function that acquires position or velocity data representing the operation of the movable part of the first device and position or velocity data representing the operation of the movable part of the second device, A command value calculation function that virtualizes a virtual object including the first device and the second device, and calculates command values to cause the first device and the second device to follow the behavior that appears in the virtual object due to input to the first device and the second device, based on the position or velocity data acquired by the data acquisition function, To make it happen, The command value calculation function is a program characterized by estimating the forces acting on the first device and the second device based on the position or velocity data, which includes position changes caused by external forces and position changes not caused by external forces, and calculating the command value for causing the first device and the second device to follow the behavior of the virtual object caused by the forces estimated to act on the first device and the second device, based on the position or velocity data, which includes position changes caused by external forces and position changes not caused by external forces, the forces estimated to act on the first device and the second device, and a set admittance.
Citation Information
Patent Citations
Dynamic compliance reverse-feed type bilateral remote controller
JP1987124886A
Master / slave manipulator
JP1987297080A
Production of aminated arylene sulfide copolymer
JP1995041560A
Bipedal moving device, gait control device thereof, and gait control method
JP2003145457A
Position-force reproducing method and position-force reproducing device
JP2009279699A