Robotic system and method of controlling the same
By employing a master-slave system architecture and trajectory information reproduction technology, the robot system can reproduce the user's complex operations and force adjustments, solving the problem of existing technologies being unable to mimic user operations and improving the operational flexibility and accuracy of the robot system.
Patent Information
- Application Number
- CN202180068685.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-10-07
- Filing Date
- 2021-10-05
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2041-10-05
AI Technical Summary
Existing robot systems cannot reproduce the complex actions of users during actual operation, especially when applying force to objects, making it difficult to imitate the complex operations and force adjustments of users.
It adopts a master-slave system structure, and through the coordinated work of the operating device and the control device, it records the trajectory information and force information during the user's operation, and reproduces this information in the second control mode to simulate the user's complex operation and force adjustment.
This enables the robot system to reproduce the complex movements of the user during actual operation, mimic the user's operating trajectory and force adjustment, and improves the operational flexibility and accuracy of the robot system.
Smart Images

Figure CN116600946B_ABST
Abstract
Description
Technical Field
[0001] This invention mainly relates to robot systems and their control methods. Background Technology
[0002] To date, robotic systems that exert actions on objects by causing the robot to move are well known.
[0003] For example, Patent Document 1 discloses a robot system that grinds an object by moving the robot. In this robot system, the robot is moved to keep the grinding force acting on the object constant.
[0004] Patent Document 1: Japanese Patent Application Publication No. 2015-85496 Summary of the Invention
[0005] However, in the robot system described above, the robot merely maintains a constant force acting on the object. When a user actually manipulates the robot to apply force to the object, the robot may sometimes perform complex actions. In other words, the complex robot actions described above cannot be reproduced as those performed by the user during actual operation.
[0006] In view of the above, the purpose of the technology disclosed herein is to reproduce complex robot movements as those performed by a user when the robot moves to apply action to an object.
[0007] The robot system disclosed herein includes a master device, a slave device, and a control device. The master device is operated by a user. The slave device has an action part and an actuation part. The action part applies an action to an object, and the actuation part causes the action part to move. The control device controls the slave device. The control device performs a first control and a second control. In the first control, the action part is controlled according to the operation via the master device to apply an action to the object, and trajectory information associated with the action trajectory of the action part is recorded. In the second control, the action part is controlled according to the trajectory information recorded by the first control to move the action part to reproduce the action trajectory and apply an action to the object. In the second control, when controlling the action part according to the trajectory information, the control device controls the pressure of the action part on the object. Here, "reproduction" does not require strict reproducibility. That is, "reproduction" means not only strict reproduction but also approximate reproduction.
[0008] (The effect of the invention)
[0009] According to the robot system, when the robot moves to apply action to an object, it is able to reproduce complex robot movements as those performed by the user in actual operation. Attached Figure Description
[0010] Figure 1 This is a schematic diagram illustrating the structure of the robot system involved in the embodiment.
[0011] Figure 2 This is a diagram showing the general hardware structure of the robot control device.
[0012] Figure 3 This is a diagram showing the general hardware structure of the operation control device.
[0013] Figure 4 This is a diagram showing the general hardware structure of the control device.
[0014] Figure 5 This is a block diagram showing the structure of the control system of the robot system.
[0015] Figure 6 This is a flowchart illustrating the actions of the robot system.
[0016] Figure 7 This is a schematic diagram illustrating the operation of the grinding device in damping control.
[0017] Figure 8 This is a schematic diagram illustrating the operation of a grinding device in damped control where the direction selection function has been executed.
[0018] Figure 9 This is a schematic diagram illustrating the operation of the grinding device in elastic control.
[0019] Figure 10 This is a schematic diagram illustrating the operation of a grinding device in elastic control, as shown in other examples.
[0020] Figure 11 It is a graph showing how the stiffness coefficient changes with respect to operating force and contact force.
[0021] Figure 12 This is a schematic diagram illustrating the operation of the grinding device in the second control involved in the modified example. Detailed Implementation
[0022] Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings.
[0023] In this invention, the tasks performed by the robot do not include teaching tasks, confirmation of teaching, or correction of teaching tasks. Therefore, the operating device 2 described below does not include a teach pendant.
[0024] Figure 1 This is a schematic diagram showing the structure of the robot system 100 according to the embodiment.
[0025] The robot system 100 includes a robot 1, an operating device 2, and a control device 3. The operating device 2 is operated by a user, and the control device 3 controls the robot 1. The robot system 100 constitutes a master-slave system. The operating device 2 functions as the master device, and the robot 1 functions as the slave device. The control device 3 controls the entire robot system 100 and provides bidirectional control between the robot 1 and the operating device 2.
[0026] Robot 1 is, for example, an industrial robot. Robot 1 has an end effector 11 and a robot arm 12. The end effector 11 applies a force to an object W, and the robot arm 12 causes the end effector 11 to move. Robot 1 moves the end effector 11 through the robot arm 12, that is, it moves it so that a force can be applied to the object W through the end effector 11. For example, the force is processing.
[0027] The robot may also include a contact force sensor 13, which detects the reaction force (hereinafter referred to as "contact force") received by the end effector 11 from the object. It may also include a base 10 supporting the robot arm 12 and a robot control unit 14 controlling the entire robot 1.
[0028] A three-axis orthogonal robot coordinate system is defined for robot 1. For example, the Z-axis is set in the vertical direction, and the mutually orthogonal X-axis and Y-axis are set in the horizontal direction.
[0029] The end effector 11 has a grinding device 11a, which applies grinding as an action to the object W. For example, the object W is a large steel plate or the wall of a large tank. Alternatively, the action applied to the object W by the end effector 11 may not be grinding, but grinding or lapping. The end effector 11 is an example of an action unit.
[0030] For example, the grinding device 11a can also be a grinding machine, a track sander, a random track sander, a triangular sander, or a belt sander, etc. A grinding machine can also be a type that rotates a disc-shaped grinding wheel, a type that rotates a conical or cylindrical grinding wheel, etc. Here, the grinding device 11a is a grinding machine.
[0031] The robotic arm 12 changes the position of the grinding device 11a. Furthermore, the robotic arm 12 can also change the posture of the grinding device 11a. The robotic arm 12 is a vertical multi-joint robotic arm. The robotic arm 12 has multiple links 12a, joints 12b, and servo motors 15 (see reference). Figure 2The joint 12b connects to multiple links 12a, and the servo motor 15 rotates to drive the multiple joints 12b. The robot arm 12 is an example of a motion unit.
[0032] Alternatively, the robot arm 12 can also be a horizontal multi-joint robot arm, a parallel link robot arm, a Cartesian coordinate robot arm, or a polar coordinate robot arm, etc.
[0033] In this example, a contact force sensor 13 is disposed between the robot arm 12 and the end effector 11 (specifically, at the connection between the robot arm 12 and the end effector 11). The contact force sensor 13 detects forces in three orthogonal axial directions and torques about these three axes. The contact force sensor 13 is an example of a contact force detection unit.
[0034] Furthermore, the contact force detection unit is not limited to the contact force sensor 13. For example, the contact force sensor 13 may also detect forces in the direction of a single axis, dual axis, or three axes. Alternatively, the contact force detection unit may be a current sensor that detects the current of the servo motor 15 of the robot arm 12 or a torque sensor that detects the torque of the servo motor 15, etc.
[0035] Figure 2 This diagram illustrates the schematic hardware structure of the robot control device 14. The robot control device 14 controls the servo motor 15 of the robot arm 12 and the grinding device 11a. The robot control device 14 receives detection signals from the contact force sensor 13. The robot control device 14 transmits and receives information, commands, and data from the control device 3. The robot control device 14 includes a control unit 16, a storage unit 17, and a memory 18.
[0036] The control unit 16 controls the entire robot control device 14. The control unit 16 performs various calculations. For example, the control unit 16 is formed using a processor such as a CPU (Central Processing Unit). The control unit 16 can also be formed using a MCU (Microcontroller Unit), MPU (Microprocessor Unit), FPGA (Field Programmable Gate Array), PLC (Programmable Logic Controller), etc.
[0037] The storage unit 17 stores programs and various data executed by the control unit 16. The storage unit 17 is formed using non-volatile memory, HDD (hard disk drive), or SSD (solid-state drive), etc.
[0038] Memory 18 temporarily stores data, etc. For example, memory 18 is formed using volatile memory.
[0039] like Figure 1As shown, the operating device 2 includes an operating section 21 and an operating force sensor 23. The operating section 21 is operated by a user, and the operating force sensor 23 detects the operating force applied by the user to the operating section 21. The operating device 2 accepts input for manually operating the robot 1 and outputs operation information as the input information to the control device 3. Specifically, the user operates the operating device 2 by gripping the operating section 21. The operating force sensor 23 detects the force applied to the operating section 21 at this time. The operating force detected by the operating force sensor 23 is output as operation information to the control device 3.
[0040] The operating device 2 may also include a base 20, a support mechanism 22, and an operating control device 24. The support mechanism 22 is mounted on the base 20 and supports the operating part 21. The operating control device 24 controls the entire operating device 2. The operating device 2, under the control of the control device 3, provides a reaction force to the user in response to the operating force. Specifically, the operating control device 24 receives commands from the control device 3 and controls the support mechanism 22 to make the user perceive the reaction force.
[0041] An orthogonal three-axis operating coordinate system is defined for the operating device 2. The operating coordinate system corresponds to the robot coordinate system. That is, the Z-axis is set in the vertical direction, and the mutually orthogonal X-axis and Y-axis are set in the horizontal direction.
[0042] The support mechanism 22 has multiple links 22a, joints 22b and servo motors 25 (see reference). Figure 3 The joint 22b connects to multiple links 22a, and the servo motor 25 rotates to drive the multiple joints 22b. The support mechanism 22 supports the operating part 21, enabling the operating part 21 to be in any position and posture in three-dimensional space. The servo motor 25 rotates corresponding to the position and posture of the operating part 21. The amount of rotation of the servo motor 25, i.e., the rotation angle, is uniquely determined.
[0043] In this example, the operating force sensor 23 is disposed between the operating part 21 and the support mechanism 22 (specifically, at the connection between the operating part 21 and the support mechanism 22). The operating force sensor 23 detects forces in the directions of three orthogonal axes and torques around these three axes. The operating force sensor 23 is an example of an operating force detection unit.
[0044] Furthermore, the operating force detection unit is not limited to the operating force sensor 23. For example, the operating force sensor 23 may also detect force in the direction of a single axis, dual axis, or three axes. Alternatively, the operating force detection unit may be a current sensor that detects the current of the servo motor 25 of the support mechanism 22, or a torque sensor that detects the torque of the servo motor 25, etc.
[0045] Figure 3This diagram illustrates the schematic hardware structure of the operation control device 24. The operation control device 24 controls the servo motor 25 to move the support mechanism 22. The operation control device 24 receives detection signals from the operating force sensor 23. The operation control device 24 transmits and receives information, commands, and data from the control device 3. The operation control device 24 includes a control unit 26, a storage unit 27, and a memory 28.
[0046] The control unit 26 controls the entire operation control device 24. The control unit 26 performs various calculations. For example, the control unit 26 is formed using a processor such as a CPU (Central Processing Unit). The control unit 26 can also be formed using a MCU (Microcontroller Unit), MPU (Microprocessor Unit), FPGA (Field Programmable Gate Array), PLC (Programmable Logic Controller), etc.
[0047] The storage unit 27 stores programs and various data executed by the control unit 26. The storage unit 27 is formed using non-volatile memory, HDD (hard disk drive), or SSD (solid-state drive), etc.
[0048] Memory 28 temporarily stores data, etc. For example, memory 28 is formed using volatile memory.
[0049] Control device 3 controls robot 1 and operating device 2. Control device 3 performs a first control and a second control. The first control involves controlling robot arm 12 according to the operation via operating device 2, causing end effector 11 to apply force to object W, and recording trajectory information associated with the motion trajectory of end effector 11. The second control involves controlling robot arm 12 according to the trajectory information recorded by the first control, causing end effector 11 to move to reproduce the motion trajectory, thus causing end effector 11 to apply force to object W. In the second control, control device 3 controls the pressing force of end effector 11 on object W while controlling robot arm 12 according to trajectory information.
[0050] Figure 4 This diagram shows a schematic hardware structure of the control device 3. The control device 3 exchanges information, commands, and data with the robot control device 14 and the operation control device 24. The control device 3 includes a control unit 31, a storage unit 32, and a memory 33.
[0051] The control unit 31 controls the entire control device 3. The control unit 31 performs various calculations. For example, the control unit 31 is formed using a processor such as a CPU (Central Processing Unit). The control unit 31 can also be formed using a MCU (Microcontroller Unit), MPU (Microprocessor Unit), FPGA (Field Programmable Gate Array), PLC (Programmable Logic Controller), etc.
[0052] The storage unit 32 stores programs and various data executed by the control unit 31. The storage unit 32 is formed using non-volatile memory, HDD (hard disk drive), or SSD (solid-state drive), etc.
[0053] Memory 33 temporarily stores data, etc. For example, memory 33 is formed using volatile memory.
[0054] Figure 5 This is a block diagram showing the structure of the control system of the robot system 100.
[0055] The control unit 16 of the robot control device 14 performs various functions by reading programs from the storage unit 17 into the memory 18 and expanding them. Specifically, the control unit 16 functions as the input processing unit 41 and the motion control unit 42.
[0056] The input processing unit 41 outputs information, data, and commands received from the contact force sensor 13 and the servo motor 15 to the control device 3. Specifically, the input processing unit 41 receives force detection signals from the contact force sensor 13 along six axes and outputs these signals to the control device 3. Furthermore, the input processing unit 41 receives detection signals from a rotation sensor (e.g., an encoder) and a current sensor from the servo motor 15. The input processing unit 41 outputs these detection signals to the motion control unit 42 for feedback control of the robot arm 12 performed by the motion control unit 42. Additionally, the input processing unit 41 outputs these detection signals as position information of the robot arm 12 to the control device 3.
[0057] The motion control unit 42 receives the command position xds from the control device 3 and generates control commands to move the robot arm 12 according to the command position xds. The motion control unit 42 outputs control commands to the servo motor 15 to move the robot arm 12, causing the grinding device 11a to move to the position corresponding to the command position. At this time, the motion control unit 42 provides feedback control of the robot arm 12's movement based on the detection signals from the rotation sensor and / or current sensor of the servo motor 15 from the input processing unit 41. Furthermore, the motion control unit 42 outputs control commands to the grinding device 11a to move the grinding device 11a. Therefore, the grinding device 11a grinds the object W.
[0058] The control unit 26 of the operation control device 24 performs various functions by reading programs from the storage unit 27 into the memory 28 and expanding them. Specifically, the control unit 26 functions as the input processing unit 51 and the motion control unit 52.
[0059] The input processing unit 51 outputs information, data, and commands received from the operating force sensor 23 to the control device 3. Specifically, the input processing unit 51 receives force detection signals from the operating force sensor 23 for all six axes and outputs these detection signals to the control device 3. Furthermore, the input processing unit 51 receives detection signals from the servo motor 25 from a rotation sensor (e.g., an encoder) and a current sensor. The input processing unit 51 outputs these detection signals to the motion control unit 52 for feedback control of the support mechanism 22 performed by the motion control unit 52.
[0060] The motion control unit 52 receives the command position xdm from the control device 3 and generates a control command to move the support mechanism 22 according to the command position xdm. The motion control unit 52 outputs the control command to the servo motor 25, causing the support mechanism 22 to move and the operating unit 21 to move to the position corresponding to the command position. At this time, the motion control unit 52 provides feedback control of the operation of the support mechanism 22 based on the detection signals from the rotation sensor and / or current sensor of the servo motor 25 from the input processing unit 51. Therefore, it is possible to apply a reaction force to the operating force applied to the operating unit 21 by the user. As a result, the user can operate the operating unit 21 while seemingly feeling the reaction force from the object W.
[0061] The control unit 31 of the control device 3 performs various functions by reading the program from the storage unit 32 into the memory 33 and unfolding it. Specifically, the control unit 31 functions as an operating force acquisition unit 61, a contact force acquisition unit 62, an arithmetic unit 63, a force / velocity conversion unit 64, a first velocity / position conversion unit 65, and a second velocity / position conversion unit 66.
[0062] The operating force acquisition unit 61 receives the detection signal from the operating force sensor 23 via the input processing unit 51, and obtains the operating force fm based on the detection signal. The operating force acquisition unit 61 inputs the operating force fm into the calculation unit 63.
[0063] The contact force acquisition unit 62 receives the detection signal from the contact force sensor 13 via the input processing unit 41, and acquires the contact force fs based on the detection signal. The contact force acquisition unit 62 inputs the contact force fs to the calculation unit 63.
[0064] The calculation unit 63 calculates the sum of the operating force fm input from the operating force acquisition unit 61 and the contact force fs input from the contact force acquisition unit 62. Here, since the operating force fm and the contact force fs are forces in opposite directions, the signs of the operating force fm and the contact force fs are different. That is, by adding the operating force fm and the contact force fs, the absolute value of the operating force fm is reduced.
[0065] The force / velocity conversion unit 64 converts the resultant force fm+fs, which is the sum of the operating force fm and the contact force fs, into a command velocity xd'. The force / velocity conversion unit 64 calculates the command velocity xd' using a motion model based on motion equations that include the inertia coefficient, viscosity coefficient (damping coefficient), and stiffness coefficient (spring coefficient). Specifically, the force / velocity conversion unit 64 calculates the command velocity xd' according to the following motion equations.
[0066]
Mathematical Formula 1
[0067] md·e″+cd·e′+kd·e=fm+fs...(1
[0068] Here, e = xd - xu. xd is the command position. xu is the trajectory data, which will be discussed later. When there is no trajectory data, e = xd. md is the inertia coefficient. cd is the viscosity coefficient. kd is the stiffness coefficient. fm is the operating force. fs is the contact force. Additionally, "'" indicates the first-order differential, and "" indicates the second-order differential.
[0069] Equation (1) is a linear differential equation. Solving equation (1) for xd' yields equation (2).
[0070]
Mathematical Formula 2
[0071] xd′=xu′+A...(2)
[0072] Here, A is a term represented by fm, fs, md, cd, kd, etc.
[0073] Equation (2) is stored in storage unit 32. Force / velocity conversion unit 64 reads equation (2) from storage unit 32, calculates the command velocity xd', and outputs the calculated command velocity xd' to first velocity / position conversion unit 65 and second velocity / position conversion unit 66. Command velocity xd' is an example of position association information associated with the position of end effector 11.
[0074] The first speed / position conversion unit 65 uses the robot coordinate system as a reference to convert the command speed xd' after coordinate transformation into the command position xds for robot 1. For example, when there is a ratio between the movement of robot 1 and the movement of operating device 2, the first speed / position conversion unit 65 doubles the command position xd obtained from the command speed xd' according to the movement ratio to obtain the command position xds. The first speed / position conversion unit 65 outputs the obtained command speed xd' to the robot control device 14, specifically, to the motion control unit 42.
[0075] The second speed / position conversion unit 66 uses the operating coordinate system as a reference to convert the command speed xd' into the command position xdm used by the operating device 2. The second speed / position conversion unit 66 outputs the calculated command position xdm to the operating control device 24, specifically, to the motion control unit 52. The command position xdm, like the command position xds used by the end effector 11, is calculated based on the command speed xd'. Therefore, the command position xdm is associated with the command position xds.
[0076] (The actions of the robot system)
[0077] Next, the operation of the robot system 100 configured in this way will be explained. Figure 6 This is a flowchart illustrating the operation of the robot system 100. After performing the first control in step S1, the robot system 100 performs the second control in step S2. In both the first and second control, the actual work of grinding the object W is carried out by the grinding device 11a. However, in the first control, the user manually controls the robot 1's movements via the operating device 2, while in the second control, the control device 3 essentially automatically controls the robot 1's movements.
[0078] In the first control, trajectory information associated with the motion trajectory of the end effector 11 (i.e., the grinding device 11a) when grinding the object W is recorded.
[0079] In the second control, the robot arm 12 is controlled according to the trajectory information so that the end effector 11 reproduces the motion trajectory of the first control. At this time, the pressing force of the end effector 11 on the object W is controlled.
[0080] The first control and the second control are described in detail below.
[0081] (First Control)
[0082] In the first control, the robot 1 performs actual work on the object W by operating the operating device 2, as instructed by the user. That is, the user operates the operating device 2, and the robot 1 performs grinding on the object W. As the operation is performed by the user's operating device 2, the operating force applied to the operating part 21 by the operating force sensor 23 is detected. The robot arm 12 is controlled according to the operating force.
[0083] Specifically, when a user operates the operating device 2, the operating force sensor 23 detects the operating force applied by the user via the operating unit 21. The operating force detected by the operating force sensor 23 is input as a detection signal to the control device 3 via the input processing unit 51. In the control device 3, the operating force acquisition unit 61 inputs the operating force fm based on the detection signal to the calculation unit 63.
[0084] At this time, the contact force detected by the contact force sensor 13 of robot 1 is input as a detection signal to the contact force acquisition unit 62 of control device 3 via the input processing unit 41. The contact force acquisition unit 62 inputs the contact force fs based on the detection signal to the calculation unit 63.
[0085] The addition unit 63 inputs the resultant force fm+fs into the force / velocity conversion unit 64. The force / velocity conversion unit 64 uses the resultant force fm+fs to calculate the command velocity xd' according to formula (2).
[0086] Regarding robot 1, the first velocity / position conversion unit 65 calculates the command position xds from the command velocity xd'. The motion control unit 42 of robot control device 14 moves robot arm 12 according to the command position xds, controlling the position of grinding device 11a. Therefore, while the pressing force corresponding to the operating force fm is applied to object W, object W is ground by grinding device 11a.
[0087] Regarding the operating device 2, the second speed / position conversion unit 66 calculates the command position xdm from the command speed xd'. The action control unit 52 of the operating control device 24 actuates the support mechanism 22 according to the command position xdm, controlling the position of the operating unit 21. Therefore, the user perceives the reaction force corresponding to the contact force fs.
[0088] The user continues to perform actual operations based on the operation of such operating device 2, and the control device 3 records the trajectory data xu during this period in the storage unit 32.
[0089] Here, trajectory data xu refers to trajectory information associated with the motion trajectory of the end effector 11 (i.e., the grinding device 11a). In the control device 3, command position xdm, command position xds, and command speed xd' are trajectory information associated with the motion trajectory of the end effector 11. In this example, the control device 3 records the command position xdm as trajectory data xu in the storage unit 32. Alternatively, the command position xds or the command speed xd' may also be recorded as trajectory data xu in the storage unit 32.
[0090] Furthermore, when recording trajectory data xu, the control device 3 also records the operating force detected by the operating force sensor 23. In this example, the operating force fm from the operating force acquisition unit 61 is recorded as the operating force detected by the operating force sensor 23. The control device 3 correlates the trajectory data xu and the operating force fm and stores them as historical operation records in the storage unit 32.
[0091] (Secondary Control)
[0092] The second control is executed after the first control has finished. For example, the first control is executed for a portion of an object W or for one of multiple objects W. For instance, when grinding a large steel plate that is an object W, the actual operation of the first control is performed on a portion of the steel plate. Then, the actual operation of the second control is performed on the remaining portion of the steel plate. When grinding smaller object Ws, the actual operation of the first control is performed on one object W. Then, the actual operation of the second control is performed on the other object Ws.
[0093] In the second control, the control device 3 controls the robot arm 12 based on trajectory information and operations. In this example, the operating force fm used for controlling the robot arm 12 is the operating force fm recorded by the first control (hereinafter referred to as "historical operating force fm").
[0094] In detail, in the second control, the control device 3 generates the command position xds for the robot 1 based on the trajectory data xu and the historical operating force fm. At this time, no user operation is performed on the operating device 2.
[0095] Specifically, the force / velocity conversion unit 64 calculates the command velocity xd' by converting the trajectory data xu into the historical velocity xu' and substituting it into equation (2). At this time, the force / velocity conversion unit 64 also substitutes the historical operating force fm into equation (2). In addition, the contact force fs is the actual contact force fs when the robot 1 actually moves, that is, the current contact force fs.
[0096] Based on the calculated command speed xd', the final command position xds is generated. The robot control device 14 controls the robot 1 to perform position control on the grinding device 11a according to the generated command position xds.
[0097] Furthermore, the control device 3 does not generate or output the command position xdm used by the operating device 2. In other words, the operating device 2 does not perform position control of the operating unit 21.
[0098] In this way, in the second control, the end effector 11, i.e., the grinding device 11a, moves to reproduce the trajectory data xu while being influenced by the historical operating force fm, and performs grinding on the object W. That is, the grinding device 11a not only reproduces the trajectory data xu, but is also pressed onto the object W with a pressing force corresponding to the historical operating force fm. As a result, the robot system 100 can easily mimic the complex operations and complex force adjustments performed by an actual user, causing the grinding device 11a to move.
[0099] (Various functions in the second control)
[0100] The robot system 100 has various functions based on such control. The various functions of the robot system 100 are described below.
[0101] As a function, the robot system 100 is configured to allow selection of the presence or absence of a stiffness coefficient kd in equation (1). That is, it selects whether or not elastic force is present in the motion model of the end effector 11 and the robot arm 12. When the stiffness coefficient kd = 0, the effect of damping force in the motion model increases. Hereinafter, the control when the stiffness coefficient kd = 0 will be called damping control, and the control when the stiffness coefficient kd is not zero will be called elastic control. In other words, the robot system 100 can switch between damping control and elastic control.
[0102] (Damping control)
[0103] First, the basic damping control will be explained. Figure 7 This is a schematic diagram illustrating the operation of the grinding device 11a in damping control. For example, for grinding... Figure 7 The operation of the grinding apparatus 11a on the object W will be explained. It is assumed that the trajectory data xu, with its Y and Z components constant, is a linear trajectory where only the X component changes. On the other hand, it is assumed that a bulge w1 exists on the surface of the object W.
[0104] In the second control, robot 1 moves grinding device 11a to reproduce trajectory data xu and historical operating force fm. In portions far from the trajectory data xu, such as the bulge portion w1, due to the influence of the viscosity coefficient cd, i.e., the effect of viscous force, grinding device 11a either mimics the surface movement of the bulge portion w1 according to the historical operating force fm, or moves while reducing its speed in the X direction. That is, although grinding device 11a deviates slightly from the trajectory data xu, it moves in a pressing manner corresponding to the historical operating force fm.
[0105] Furthermore, when only the trajectory data xu is reproduced without considering the operating force fm, the grinding device 11a faithfully follows the trajectory data xu. Therefore, even when the grinding device 11a comes into contact with the protruding part w1, the robot 1 ensures that the grinding device 11a faithfully follows the trajectory data xu. Therefore, it is possible that an excessively large contact force fs would act on the grinding device 11a.
[0106] In this way, in damping control, the grinding device 11a moves in a manner that mimics the shape of the bulge portion w1 while reducing its speed, i.e., it performs grinding. As a result, excessive contact force fs can be avoided acting on the grinding device 11a.
[0107] (Select control direction)
[0108] Here, taking damping control as an example, other functions of the robot system 100 will be explained. The robot system 100 is configured to be able to select the directional component for reproducing the trajectory data xu and the directional component for controlling the historical operating force fm from multiple directions contained in the trajectory data xu and the historical operating force fm.
[0109] In other words, the trajectory data xu and the historical operating force fm are respectively represented as components in multiple directions, including X-axis components, Y-axis components, Z-axis components, components around the X-axis, components around the Y-axis, and components around the Z-axis. The control device 3 is configured to select, in the second control, the component of the multiple directional components contained in the trajectory data xu and the component of the multiple directional components contained in the historical operating force fm that is used for controlling the robot arm 12. That is, in the reproduction of the trajectory data xu, it is possible to set which directional component of the trajectory data xu to reproduce. Similarly, in the control of the pressing force of the grinding device 11a onto the object W, it is possible to set which directional component of the multiple directional components to control the pressing force.
[0110] For example, in the second control, the control device 3 uses a portion of the directional components (e.g., the Z-axis component) of the historical operating force fm to control the robot arm 12, and uses directional components other than the portion of the directional components of the historical operating force fm (e.g., components other than the Z-axis component) of the trajectory data xu to control the robot arm 12. That is, regarding the Z-axis direction, the grinding device 11a moves to reproduce the trajectory data xu, and regarding the Z-axis direction, the grinding device 11a moves according to the historical operating force fm.
[0111] Here, we will take damping control as an example to explain the function of selecting the control direction. The function of selecting the control direction is not limited to damping control.
[0112] Figure 8 This is a schematic diagram illustrating the operation of the grinding device 11a in damped control where the direction selection function is executed. For example, as Figure 8 As shown, it is assumed that the trajectory data xu has constant Y and Z components, and is a straight trajectory where only the X component changes. It is also assumed that the surface of the object W has a convex-concave shape facing the Z direction.
[0113] At this time, the grinding device 11a reproduces the historical operating force fm in the Z direction and moves in the XY direction following the trajectory data xu. Due to the influence of the viscosity coefficient cd in equation (1), the grinding device 11a moves in the Z direction with the historical operating force fm + contact force fs = 0. As a result, the grinding device 11a absorbs the error in the Z direction between the trajectory data xu and the actual object W's surface, while moving in the XY direction according to the trajectory data xu.
[0114] In this way, by controlling the pressure only in the Z direction and reproducing the trajectory data xu in the XY direction, it is possible to absorb the individual differences of the object W in the Z direction while making the grinding device 11a move in the XY direction according to the trajectory data xu.
[0115] (Flexible control)
[0116] First, let's explain the basic elastic control. Figure 9 This is a schematic diagram illustrating the operation of the grinding device 11a in elastic control. For example, for grinding... Figure 9 The operation of the grinding apparatus 11a on the object W will be explained. The surface of the object W has a shape with unevenness in the Z direction across the X direction. Assume that the trajectory data xu has a constant Y direction and moves up and down in the Z direction as the X direction changes, and assume that it has a wavy shape in the Z direction, similar to the surface of the object W. However, the up and down movement of the trajectory data xu in the Z direction is less than the up and down movement of the surface of the object W in the Z direction.
[0117] At this point, robot 1's actions are influenced not only by the viscosity coefficient cd but also by the stiffness coefficient kd. Specifically, as follows... Figure 9 As shown, while mimicking the movement of the surface of the object W, the grinding device 11a increases the pressing force toward the object W in the portion where the difference between the surface of the object W and the trajectory data xu is large, attempting to move it to a position close to the trajectory data xu. As a result, the cutting amount of the grinding device 11a increases, and the object W is cut into a shape close to the trajectory data xu.
[0118] As another example, grinding Figure 10 The situation of the object W shown will be explained. Figure 10 This is a schematic diagram illustrating the operation of the grinding device 11a in an elastic control system, as shown in other examples. Figure 10 This is a diagram showing the object W extending in the XY plane when viewed in the Z direction. The trajectory data xu is roughly circular when viewed in the Z direction. An obstacle S exists on the surface of the object W along the trajectory data xu.
[0119] At this point, after the grinding device 11a moves to the obstacle S according to the trajectory data xu, the pressing force applied to the obstacle S increases due to the influence of the stiffness coefficient kd, in order to approximate the shape of the trajectory data xu. Simultaneously, since the influence of the viscosity coefficient cd is also at play, the grinding device 11a, while being forcefully pressed against the obstacle S, moves forward mimicking the surface of the obstacle S. After passing the obstacle S, the grinding device 11a approximates the shape of the trajectory data xu according to the influence of the stiffness coefficient kd. Finally, the grinding device 11a moves according to the trajectory data xu.
[0120] In this way, in elastic control, elastic force and damping force coordinate to control the grinding device 11a. Even in the presence of external interference such as obstacles S, the grinding device 11a can appropriately avoid external interference and move following the trajectory data xu.
[0121] (Changes in stiffness coefficient)
[0122] Secondly, as a further function of elastic control, the robot system 100 can change the stiffness coefficient kd based on the historical operating force fm and contact force fs. This function can be toggled on / off via settings.
[0123] For example, the stiffness coefficient kd is calculated according to the following formula.
[0124]
Mathematical Expression 3
[0125]
[0126] |fs|>|fs-max|, fs=fs-max
[0127] When |fm|>|fm-max|, fm=fm-max
[0128] When kd < 0, kd = 0
[0129] Here, kmax is the maximum value of the stiffness coefficient. fm-max is the limit value of the operating force. fs-max is the limit value of the contact force.
[0130] Equation (3) is stored in storage unit 32. Force / velocity conversion unit 64 reads equations (2) and (3) from storage unit 32 and calculates the command velocity xd'.
[0131] According to equation (3), the stiffness coefficient kd is as follows: Figure 11 That kind of change. Figure 11 This is a graph showing how the stiffness coefficient kd changes relative to the historical operating force fm and contact force fs. For example, if we assume that the upward direction of the Z-axis is positive and the downward direction is negative in both the operating and robot coordinate systems, then the historical operating force fm typically becomes negative and the contact force fs becomes positive. Similarly, the limit value fm-max also becomes negative, and the limit value fs-max becomes positive. Figure 11In the graph, both the historical operating force *fm* and the contact force *fs* are represented by absolute values. The horizontal axis in the graph has no particular meaning. For example, the horizontal axis could also be time. In the curve graph, the absolute value of the historical operating force *fm* is represented by a double-dotted line, the absolute value of the contact force *fs* is represented by a dashed line, and the stiffness coefficient *kd* is represented by a solid line. This curve graph is used to represent the change in the stiffness coefficient *kd* relative to the absolute value of the historical operating force *fm* and the change in the stiffness coefficient *kd* relative to the absolute value of the contact force *fs*. The changes in the historical operating force *fm* and the contact force *fs* in the curve graph do not represent the actual changes in the historical operating force *fm* and the contact force *fs*.
[0132] First, assume the absolute value of the contact force fs is constant at 0, and the historical operating force fm increases linearly in the negative direction, that is, the absolute value of the historical operating force fm increases linearly. At that time, the stiffness coefficient kd increases as shown in the curve. When the absolute value of the historical operating force fm reaches the absolute value of the limit value fs-max, the stiffness coefficient kd becomes maximum.
[0133] Secondly, assuming the absolute value of the historical operating force fm is constant at the limit value fs-max, the contact force fs increases linearly in the positive direction, i.e., the absolute value of the contact force fs increases linearly. At that time, the stiffness coefficient kd decreases as shown in the curve. When the absolute value of the contact force fs reaches the absolute value of the limit value fs-max, the stiffness coefficient kd becomes 0.
[0134] As can be seen from the graph, when the absolute value of the historical operating force fm increases, i.e., when the historical operating force fm increases as a force, the stiffness coefficient kd tends to increase. As a result, the grinding device 11a is pressed forcefully against the object W. On the other hand, when the absolute value of the contact force fs increases, i.e., when the contact force fs increases as a force, the stiffness coefficient kd tends to decrease. In other words, when the contact force fs is too large, the pressing force of the grinding device 11a decreases.
[0135] In this way, by making the stiffness coefficient kd change according to the historical operating force fm and the contact force fs in the elastic control, the pressing force of the grinding device 11a on the object W can be appropriately changed according to the historical operating force fm and the contact force fs.
[0136] Furthermore, since the historical operating force fm is recorded as a force in the operation history, the stiffness coefficient kd is adjusted according to the historical operating force fm in the user's actual operation. For example, in the part where the user presses the grinding device 11a with force in actual operation, the stiffness coefficient kd also increases in the second control, and the pressing force of the grinding device 11a increases.
[0137] (A variation of the second control)
[0138] Next, a variation of the second control will be described. Figure 12 This is a schematic diagram showing the operation of the grinding device 11a in the second control involved in the modified example.
[0139] Even in the second control described in the variant example, the control device 3 generates the command position xds for the robot 1 based on the trajectory data xu and the operating force fm. The operating force fm used then is the operating force fm detected by the operating force sensor 23 based on the operation of the operating unit 21 in the second control. In other words, the user operates the operating device 2 in the second control. The control device 3 uses the operating force fm detected in real-time by the operating force sensor 23 in the second control to generate the command position xds.
[0140] Specifically, the control device 3 generates the command position xds for the robot 1 based on the trajectory data xu, as described above. The force / velocity conversion unit 64 converts the trajectory data xu into a historical velocity xu' and substitutes it into equation (2) to calculate the command velocity xd'. At this time, when there is an operating force fm as an operation history record, the force / velocity conversion unit 64 substitutes the recorded operating force fm into equation (2).
[0141] Based on the command speed xd' obtained in this way, the final command position xds is generated. The robot control device 14 controls the robot 1 to perform position control on the grinding device 11a according to the generated command position xds.
[0142] Therefore, the grinding device 11a performs grinding while following the trajectory data xu. While the operating force fm is recorded in the operation history, the grinding device 11a continues to move under the influence of the operating force fm.
[0143] Users can add operating force fm by operating the operating device 2 in the reproduction of the operation history of trajectory data such as xu.
[0144] For example, grinding Figure 12 The case of object W, as shown, will be explained. Figure 12 This is a schematic diagram illustrating the operation of the grinding device 11a in the second control involved in the modified example. The surface of the object W has a shape that is uneven in the Z direction across the X direction. Assuming that the trajectory data xu has a constant Y component, it is a trajectory that moves up and down in the Z component as the X component changes, and like the surface of the object W, it has a wavy shape in the Z direction.
[0145] Typically, the grinding device 11a performs grinding by following the trajectory data xu. While observing the grinding action of the grinding device 11a, the user can operate the operating device 2 to add an operating force fm when they want to increase the pressing force of the grinding device 11a on the object W. When the control device 3 calculates the command speed xd' according to equation (2), it also substitutes the added operating force fm into equation (2). Therefore, the command position xds is adjusted to increase the pressing force of the grinding device 11a. In this way, the pressing force of the grinding device 11a is adjusted in real time.
[0146] In this example, in the second control, the control device 3 does not generate or output the command position xds for the operating device 2. That is, the operating section 21 of the operating device 2 stops. The user operates the stopped operating section 21 as needed. Because the operating section 21 stops, the user can easily adjust the additional operating force fm.
[0147] However, the control device 3 can also generate a command position xds for the operation device 2 and output a command position xdm to the operation device 2. At this time, the user can feel the reaction force from the object W by gripping the operation unit 21. That is, the user can apply an additional operating force fm while feeling the reaction force from the object W.
[0148] As described above, the robot system 100 includes an operating device 2 (master device), a robot 1 (slave device), and a control device 3. The operating device 2 is operated by a user. The robot 1 has an end effector 11 and a robot arm 12 (motion unit). The end effector 11 applies force to an object W, and the robot arm 12 causes the end effector 11 to move. The control device 3 performs a first control and a second control. In the first control, while controlling the robot arm 12 according to the operation via the operating device 2 to cause the end effector 11 to apply force to the object W, trajectory information, i.e., trajectory data xu, associated with the motion trajectory of the end effector 11 is recorded. In the second control, the robot arm 12 is controlled by the trajectory data xu recorded by the first control to move the end effector 11 to reproduce the motion trajectory and cause the end effector 11 to apply force to the object W. In the second control, when the control device 3 controls the robot arm 12 according to the trajectory data xu, it controls the pressing force of the end effector 11 on the object W.
[0149] In other words, it is a control method for a robot system 100 including an operating device 2 and a robot 1. The operating device 2 is operated by a user, and the robot 1 has an end effector 11 and a robot arm 12. The end effector 11 applies a force to an object W, and the robot arm 12 causes the end effector 11 to move. The control method of the robot system 100 includes a step of performing a first control and a step of performing a second control. In the first control, the robot arm 12 is controlled according to the operation via the operating device 2 to cause the end effector 11 to apply a force to the object W, and trajectory information, i.e., trajectory data xu, associated with the movement trajectory of the end effector 11 is recorded. In the second control, the robot arm 12 is controlled according to the trajectory data xu recorded by the first control to move the end effector 11 to reproduce the movement trajectory and cause the end effector 11 to apply a force to the object W. In the second control, when controlling the robot arm 12 according to the trajectory data xu, the pressing force of the end effector 11 on the object W is controlled.
[0150] Using these structures, in the first control, the robot arm 12 is controlled according to the user's operation of the operating device 2, causing the end effector 11 to apply force to the object W, and the trajectory data xu of the end effector 11 at this time is recorded. Furthermore, in the second control, the robot arm 12 is controlled according to the trajectory data xu recorded in the first control, causing the end effector 11 to apply force to the object W. At this time, the end effector 11 moves while the pressing force of the end effector 11 on the object W is controlled to approximately reproduce the motion trajectory. Therefore, while the end effector 11 moves to approximately reproduce the motion trajectory when the user manually controls the robot arm 12 via the operating device 2 in the first control, the pressing force of the end effector 11 on the object W at that time is controlled. As a result, the robot system 100 can easily mimic the complex operations performed by an actual user and the complex force adjustment of the grinding device 11a.
[0151] Furthermore, the operating device 2 includes an operating section 21 and an operating force sensor 23 (operating force detection section). The operating section 21 is operated by the user, and the operating force sensor 23 detects the operating force applied to the operating section 21 by the user. In the first control, the control device 3 controls the robot arm 12 based on the operating force detected by the operating force sensor 23 as an operation via the operating device 2. In the second control, the control device 3 controls the robot arm 12 based on the operating force in addition to the trajectory data xu.
[0152] According to this structure, in the second control, the pressing force of the end effector 11 onto the object W is controlled by considering the user's operating force in addition to the trajectory data xu. The operating force is directly related to the pressing force of the end effector 11 onto the object W, and therefore is used in the control of the robot arm 12 in the first control. In other words, by considering the operating force in the control of the robot arm 12 in the second control, the pressing force of the end effector 11 onto the object W can be controlled more easily.
[0153] As an example, in the first control, when recording trajectory data xu, the control device 3 also records the operating force fm detected by the operating force sensor 23. The operating force fm used for controlling the robot arm 12 in the second control is the operating force fm recorded in the first control.
[0154] According to this structure, the operating force fm used for controlling the robot arm 12 in the second control is the operating force fm of the operating force sensor 23, which was recorded together with the trajectory data xu in the first control. That is, using the operating force fm generated when the trajectory data xu is to be reproduced in the second control, the end effector 11 is controlled to apply pressure to the object W. The result is that the trajectory data xu and operating force fm from the first control are reproduced in the second control.
[0155] Furthermore, the trajectory data xu and the operating force fm each contain multiple directional components, and the control device 3 is configured to select, in the second control, the directional components contained in the trajectory data xu and the directional components contained in the operating force fm that are used for the control of the robot arm 12.
[0156] According to this structure, the direction for reproducing trajectory data xu and the direction for controlling the pressing force of the end effector 11 by the operating force fm can be selected separately. That is, the reproduction of trajectory data xu can be prioritized in a certain direction, while the reproduction of trajectory data xu and the control of the pressing force of the end effector 11 can be performed in other directions. Sometimes, the object W and the task content determine the direction in which the reproduction of trajectory data xu and the control of the pressing force of the end effector 11 are prioritized. The robot system 100 can flexibly respond to such situations.
[0157] Furthermore, as another example of using the operating force fm for the control of the robot arm 12 in the second control, the operating force fm used for the control of the robot arm 12 in the second control can also be the operating force fm detected by the operating force sensor 23 according to the operation of the operating device 2 in the second control.
[0158] According to this structure, when the end effector 11 is position-controlled to reproduce trajectory data xu in the second control, the pressing force of the end effector 11 against the object W is adjusted according to the operating force fm input in real time through the operation device 2. In other words, the user can adjust the pressing force of the end effector 11 in real time by operating the operation device 2 as needed while observing the position control of the end effector 11 based on the operation history of the first control.
[0159] Furthermore, the robot system 100 also includes a contact force sensor 13 (contact force detection unit), which detects the contact force fs, which is the reaction force acting from the object W towards the end effector 11. The control device 3 is configured to control the robot arm 12 based on the operating force fm and the contact force fs by using a motion model of the end effector 11 and the robot arm 12 based on a motion equation including the inertia coefficient, viscosity coefficient, and stiffness coefficient in the first control and the second control.
[0160] According to this structure, the robot arm 12 can be controlled while taking into account the virtual inertia, viscosity and elasticity of the end effector 11 and the robot arm 12.
[0161] For example, the control device 3 is configured to select the presence or absence of the stiffness coefficient kd in the second control.
[0162] According to this structure, it is possible to select whether to consider the elasticity of the end effector 11 and the robot arm 12 in the motion model. For example, when elasticity is not considered, the motion model becomes a model where damping force based on the viscosity coefficient cd is dominant. In such a model, when there is a difference between the surface of the object W and the trajectory represented by the trajectory data xu, the grinding device 11a moves in a manner that mimics the surface of the object W according to the operating force fm.
[0163] Furthermore, in the second control, the control device 3 changes the stiffness coefficient kd according to the operating force fm and the contact force fs.
[0164] According to this structure, the pressing force of the end effector 11 can be controlled to correspond to the operating force fm and the contact force fs by changing the stiffness coefficient kd according to the operating force fm and the contact force fs. Specifically, the stiffness coefficient kd can be increased by increasing the operating force fm and / or decreasing the contact force fs, thereby increasing the pressing force of the end effector 11. Conversely, the stiffness coefficient kd can be decreased by decreasing the operating force fm and / or increasing the contact force fs, thereby decreasing the pressing force of the end effector 11. Furthermore, by limiting the stiffness coefficient kd according to the operating force fm and the contact force fs, it is also possible to limit the stiffness coefficient kd when the operating force fm or the contact force fs is too large, thus preventing damage to the end effector 11.
[0165] Furthermore, the robot system 100 also includes a contact force sensor 13, which detects the contact force as a reaction force acting from the object W towards the end effector 11. The control device 3 calculates position association information, such as a command speed xd', related to the position of the end effector 11 based on the operating force fm and the contact force fs. Based on the position association information, it generates a command position xds for the end effector 11 and a command position xdm for the operation unit 21 associated with the command position xds of the end effector 11. The robot arm 12 is controlled based on the command position xds of the end effector 11, and the operation device 2 is controlled based on the command position xdm of the operation unit 21. The trajectory information is at least one of the position association information, the command position xds of the end effector 11, and the command position xdm of the operation unit 21.
[0166] (Other implementation methods)
[0167] As described above, the embodiments have been presented as examples of the technology disclosed in this application. However, the technology disclosed herein is not limited to this and can be applied to embodiments with appropriate modifications, substitutions, additions, omissions, etc. Furthermore, the various constituent elements described in the embodiments can be combined to form new embodiments. Moreover, the constituent elements described in the drawings and detailed descriptions include not only those necessary to solve the problem, but also, for the purpose of illustrating the technology, constituent elements that are not necessary to solve the problem. Therefore, one should not immediately assume that those non-essential constituent elements are essential simply because they are described in the drawings and detailed descriptions.
[0168] For example, in the second control, the operating force used to control the pressing pressure of the end effector 11 onto the object W is not limited to the historical operating force fm in the first control and the operating force fm based on the operation of the operating unit 21 in the second control. For example, a preset operating force fm can also be used to control the pressing pressure of the end effector 11 onto the object W, i.e., by substituting into equation (2). In other words, the operating force used to control the pressing pressure of the end effector 11 onto the object W may not be the operating force via the operating device 2, but rather a preset operating force.
[0169] Furthermore, the trajectory data xu recorded in the first control is not limited to the command position xdm, but can also be the command position xds or the command velocity xd'. Moreover, the trajectory data xu recorded in the first control can also be position association information associated with the position of the end effector 11. In the example above, the command velocity xd' is calculated based on the resultant force fm+fs, and the command velocity xd' is equivalent to the position association information. However, when the command position xd is calculated based on the resultant force fm+fs, the command position xd is equivalent to the position association information.
[0170] The method described above for calculating the command position xds and command position xdm based on the resultant force fm+fs is merely an example. For instance, the motion model is just one example; different motion models can also be used.
[0171] The block diagram is just one example. It can also be implemented by combining multiple blocks into one block, dividing one block into multiple blocks, or transferring some functions to other blocks.
[0172] The technology disclosed herein can be either a program for executing the control method or a non-transitory computer-readable recording medium on which the program is recorded. Furthermore, the program can also be a program that can be distributed via a transmission medium such as the Internet.
[0173] The functions of the structures disclosed in this embodiment can also be executed using circuits or processing circuits. A processor is a processing circuit, etc., that includes transistors and other circuits. In this disclosure, the unit, controller, or device is hardware or programmed to perform the described functions. Here, hardware refers to the hardware disclosed in this embodiment or known hardware that is configured or programmed to perform the functions disclosed in this embodiment. When the hardware is a processor or controller, the circuit, device, or unit is a combination of hardware and software, with software used to construct the hardware and / or processor.
Claims
1. A robot system, characterized in that: The robot system includes a master device, slave devices, and a control device. The master device is operated by the user. The slave devices have an action part and an actuation part. The action part applies an action to an object, and the actuation part causes the action part to move. The control device controls the slave devices. The control device performs a first control and a second control. In the first control, the actuator is controlled according to the operation via the main device to apply an action to the object, and trajectory information associated with the action trajectory of the actuator is recorded. In the second control, the actuator is controlled according to the trajectory information recorded by the first control to move the actuator to reproduce the action trajectory and apply an action to the object. In the second control, when the control device controls the action unit according to the trajectory information, it controls the pressing pressure of the action unit onto the object. The main device includes an operating unit and an operating force detection unit. The operating unit is operated by the user, and the operating force detection unit detects the operating force applied to the operating unit by the user. In the first control, the control device controls the motion unit based on the operating force detected by the operating force detection unit, as an operation via the main device. In the second control, the motion unit is controlled based on the operating force in addition to the trajectory information. In the first control process, the control device records the operating force detected by the operating force detection unit along with the trajectory information. In the second control, the operating force used to control the actuator is the operating force recorded by the first control. The trajectory information and the operating force each contain multiple directional components. In the second control, the control device uses a portion of the directional components contained in the multiple directional components of the operating force for the control of the motion unit, and uses directional components other than the portion of the directional components of the operating force contained in the multiple directional components of the trajectory information for the control of the motion unit.
2. The robot system according to claim 1, characterized in that: The robot system further includes a contact force detection unit, which detects the contact force as a reaction force acting from the object onto the action unit. The control device is configured to control the actuating part according to the operating force and the contact force in the first control and the second control by using the motion model of the actuating part and the action part based on the motion equation including the inertia coefficient, viscosity coefficient and stiffness coefficient.
3. The robot system according to claim 2, characterized in that: The control device is configured to allow selection of the presence or absence of the stiffness coefficient in the second control.
4. The robot system according to claim 2, characterized in that: In the second control, the control device changes the stiffness coefficient according to the operating force and the contact force.
5. The robot system according to any one of claims 1 to 4, characterized in that... : The robot system further includes a contact force detection unit, which detects the contact force as a reaction force acting from the object onto the action unit. In the first control, the control device calculates position association information related to the position of the actuating part based on the operating force and the contact force, generates a command position for the actuating part and a command position for the operating part associated with the command position of the actuating part based on the position association information, controls the actuating part based on the command position of the actuating part, and controls the main device based on the command position of the operating part. The trajectory information is at least one of the location association information, the command position of the action unit, and the command position of the operation unit.
6. A control method for a robot system, comprising a master device and a slave device, wherein the master device is operated by a user, the slave device has an action part and an actuation part, the action part applies an action to an object, and the actuation part causes the action part to move, characterized in that... : The control method of the robot system includes the steps of executing a first control and executing a second control. In the first control, the actuator is controlled according to the operation via the main device to apply an action to the object, and trajectory information associated with the action trajectory of the actuator is recorded. In the second control, the actuator is controlled according to the trajectory information recorded by the first control to move the actuator to reproduce the action trajectory and apply an action to the object. In the second control, when controlling the action unit according to the trajectory information, the pressing force of the action unit on the object is controlled. The main device includes an operating unit and an operating force detection unit. The operating unit is operated by the user, and the operating force detection unit detects the operating force applied to the operating unit by the user. In the first control, the motion unit is controlled based on the operating force detected by the operating force detection unit, as an operation via the main device. In the second control, the motion unit is controlled based on the operating force in addition to the trajectory information. In the first control, when recording the trajectory information, the operating force detected by the operating force detection unit is also recorded. In the second control, the operating force used to control the actuator is the operating force recorded by the first control. The trajectory information and the operating force each contain multiple directional components. In the second control, a portion of the directional components contained in the plurality of directional components of the operating force are used for the control of the motion unit, and directional components other than the portion of the directional components of the operating force contained in the plurality of directional components of the trajectory information are used for the control of the motion unit.
7. The control method for the robot system according to claim 6, characterized in that... : The robot system further includes a contact force detection unit, which detects the contact force as a reaction force acting from the object onto the action unit. In the first control and the second control, the actuating part is controlled according to the operating force and the contact force by using the motion model of the actuating part and the action part based on the motion equation including the inertia coefficient, viscosity coefficient and stiffness coefficient.
8. The control method for the robot system according to claim 7, characterized in that... : In the second control, the presence or absence of the stiffness coefficient can be selected.
9. The control method for the robot system according to claim 7, characterized in that... : In the second control, the stiffness coefficient is changed according to the operating force and the contact force.
10. The control method for the robot system according to any one of claims 6 to 9, characterized in that... : The robot system further includes a contact force detection unit, which detects the contact force as a reaction force acting from the object onto the action unit. In the first control, position association information related to the position of the actuating part is calculated based on the operating force and the contact force. A command position for the actuating part and a command position for the operating part associated with the command position of the actuating part are generated based on the position association information. The actuating part is controlled based on the command position of the actuating part, and the main device is controlled based on the command position of the operating part. The trajectory information is at least one of the location association information, the command position of the action unit, and the command position of the operation unit.
Citation Information
Patent Citations
Robot, robot system and control device
JP2015085496A
Active compliant control method and device of industrial robot
CN104626152A
Robot Control Apparatus And Robot System
CN110405753A
Operation prediction system and operation prediction method
CN111194452A
Grinding device for plane and curved surface
JP1994214633A