Robot system, robot control device, robot, and robot control method
The robot system predicts and displays force interactions with objects, addressing the lack of security in shared workspaces by estimating and outputting force information, enabling safe collaboration with humans.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- HITACHI LTD
- Filing Date
- 2024-11-25
- Publication Date
- 2026-06-04
AI Technical Summary
Existing robot systems do not provide complete prediction of how a robot will behave when it comes into contact with an object, including a person, leading to a lack of security for individuals in shared workspaces.
A robot system equipped with a robot control device that estimates the magnitude and direction of force applied to an object during contact, using sensors and control methods to output information on force and direction, enabling collaborative work with humans.
Enables collaborative work between robots and humans by providing a sense of security through accurate prediction of force interactions, allowing safe coexistence in shared workspaces.
Smart Images

Figure 2026091712000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a robot system, a robot control device, a robot, and a robot control method.
Background Art
[0002] In recent years, the decline in the working population has become a problem mainly in developed countries, and solutions such as eliminating labor shortages and improving productivity are being sought. As one of the means to solve such problems, for example, the introduction of collaborative robot systems in which robots are installed in human workspaces and made to work is progressing in the manufacturing industry. In the future, the spread of robots that actively interact with humans is expected not only in the manufacturing industry but also in the fields of caregiving and medical care.
[0003] Based on such a background, Patent Document 1 discloses a technique for displaying how a robot moves and enhancing safety and efficiency.
[0004] Patent Document 1 describes "a robot system including a robot, a sensor, a control device, and an image display device, wherein the control device includes a robot control unit and an image display device control unit, the robot control unit includes an operation planning unit that plans the operation of the robot and creates operation data, and controls the robot based on the operation data, the image display device control unit includes a proximity determination unit and an image generation unit, the proximity determination unit determines whether proximity between a person and the robot occurs, the image generation unit generates data of a virtual object based on the operation data, and synthesizes data of augmented reality based on the data obtained from the sensor and the data of the object, the image display device displays an augmented reality image based on the data of augmented reality, and when it is determined by the proximity determination unit that proximity has occurred, the object is displayed on the image display device."
Prior Art Documents
Patent Documents
[0005]
Patent Document 1
[0006] Incidentally, if a robot were to come into contact with an object, including a person, the force applied to the object would differ significantly depending on the control method used by the robot (for example, whether it uses position control or force control). In this regard, the prior art described in Patent Document 1 only displays the robot's future movements and cannot display how the robot will apply force to the object. For example, in a caregiving setting, when a robot comes into contact with a person, a person cannot predict whether it will simply touch them without applying any force, or whether it will apply strong force after contact. Furthermore, if a person accidentally comes into contact with a robot while it is operating, it is impossible to predict how much force will be applied to that person.
[0007] In other words, the prior art described in Patent Document 1 does not allow for complete prediction of how a robot will behave, including force sensing, when it comes into contact with an object, including a person. Therefore, there is a problem in that it does not provide a sense of security to people in the surrounding area when a robot and a person are coexisting in the same workspace.
[0008] The present invention has been made in view of the above circumstances, and aims to provide a robot system, a robot control device, a robot, and a robot control method that enable collaborative work even when a robot and a person are coexisting in the same workspace. [Means for solving the problem]
[0009] To solve the above problems, the robot system according to the present invention is A robot system comprising a robot having an arm and a hand, and a robot control device that causes the robot to perform actions according to predetermined control commands, The robot control device is The control command includes a command output unit that outputs one or more of the position commands and force commands relating to the arm or hand portion, A robot control unit that controls the operation of the robot using a predetermined control method based on the control command output by the command output unit, A force estimation unit that estimates the magnitude and direction of the force acting on the robot when the robot comes into contact with an object as the robot moves, based on the control command and the predetermined control method, An output unit that outputs information relating to the magnitude and direction of the object force estimated by the force estimation unit, Its most important feature is that it is equipped with [the following]. [Effects of the Invention]
[0010] According to the present invention, collaborative work can be performed even when a robot and a person are coexisting in the same workspace. Other issues, configurations, and effects not mentioned above will be clarified by the following description of the embodiments. [Brief explanation of the drawing]
[0011] [Figure 1] This is an overall configuration diagram of a robot system according to an embodiment of the present invention. [Figure 2] This is a block diagram illustrating the hardware configuration of a robot control device included in a robot system according to an embodiment of the present invention. [Figure 3] This is a block diagram illustrating the schematic configuration of the first robot control device included in the first robot system. [Figure 4] This is a block diagram illustrating the schematic configuration of the first robot control unit provided in the first robot control device. [Figure 5] This is an explanatory diagram that conceptually represents the movement of a robot based on robot control related to the robot control unit of a robot control device. [Figure 6] This is an explanatory diagram that schematically represents the estimation results of object forces based on robot control related to the first robot control unit. [Figure 7] It is an explanatory diagram showing an example display of the estimated result of the object acting force shown in FIG. 6. [Figure 8] It is a block configuration diagram exemplarily showing a second robot control unit provided in the first robot control device. [Figure 9] It is an explanatory diagram schematically showing the estimated result of the object acting force based on the robot control related to the second robot control unit. [Figure 10] It is an explanatory diagram showing an example display of the estimated result of the object acting force shown in FIG. 9. [Figure 11] It is a block configuration diagram exemplarily showing a third robot control unit provided in the first robot control device. [Figure 12] It is an explanatory diagram schematically showing the estimated result of the object acting force based on the robot control related to the third robot control unit. [Figure 13] It is an explanatory diagram showing an example display of the estimated result of the object acting force shown in FIG. 12. [Figure 14] It is an explanatory diagram showing an example display of the safety level based on the robot control related to the third robot control unit. [Figure 15] It is a block configuration diagram exemplarily showing a fourth robot control unit provided in the first robot control device. [Figure 16] It is an explanatory diagram schematically showing the estimated result of the object acting force based on the robot control related to the fourth robot control unit. [Figure 17] It is a block diagram exemplarily showing the schematic configuration of a second robot control device provided in the second robot system. [Figure 18] It is an explanatory diagram schematically showing the estimated result of the object acting force based on the robot control related to the second robot control device provided in the second robot system shown in FIG. 17. [Figure 19] It is an explanatory diagram showing an example display of the estimated result of the object acting force shown in FIG. 18.
Embodiments for Carrying Out the Invention
[0012] Hereinafter, a robot system, robot control device, robot, and robot control method according to embodiments of the present invention will be described with reference to the drawings as appropriate. In the descriptions of the robot system and robot control device according to the embodiments of the present invention, components having a common function are denoted by the same reference numerals, and their redundant descriptions are omitted.
[0013] [Overall configuration of the robot system 11 according to an embodiment of the present invention] First, the overall configuration of the robot system 11 according to the present invention, which is a concept encompassing multiple robot systems according to multiple embodiments, will be described with reference to Figure 1. Figure 1 is an overall configuration diagram of a robot system 11 according to an embodiment of the present invention.
[0014] As shown in Figure 1, the robot system 11 according to an embodiment of the present invention comprises a robot 13, a robot control device 15 that controls the operation of the robot 13, and a presentation device 17.
[0015] The robot 13 is comprised of a base portion 13a, a multi-joint arm portion 13b, and a hand portion 13c. The multi-joint arm portion 13b is provided so as to be able to rotate and bend relative to the base portion 13a. The hand portion 13c is also provided so as to be able to rotate and bend relative to the multi-joint arm portion 13b. The hand portion 13c is configured to be able to grasp cylindrical members 21 and the like. The multi-joint arm section 13b is a sub-concept of the "arm section".
[0016] The operation of the robot 13 shown in Figure 1 will be explained by illustrating the process of fitting a cylindrical member 21 into a cylindrical hole 25 made in a flat workpiece 23 located near the robot 13, while the hand portion 13c of the robot 13 is gripping the member 21. In addition, a worker 27, though not particularly limited, monitors the aforementioned work in the vicinity of the robot 13.
[0017] Each of the base portion 13a, the articulated arm portion 13b, and the hand portion 13c of the robot 13 is connected to the robot control device 15 via a wired or wireless medium and is configured to communicate with the robot control device 15.
[0018] Each of the base section 13a, the articulated arm section 13b, and the hand section 13c is equipped with a sensor group 14 (see Figure 3) for monitoring and acquiring the working environment and operating status of the robot 13. The sensor group 14 is connected to the robot control device 15 via a wired or wireless medium and is configured to communicate with the robot control device 15.
[0019] The sensor group 14 includes a current sensor 14a, an encoder 14b (see, for example, Figure 4), and a torque sensor 14c (see, for example, Figure 7). The current sensor 14a detects the current supplied to actuators (not shown), such as motors, which are responsible for the operation of the robot 13. The encoder 14b detects the rotational position of the base 13a, the position of the articulated arm 13b, the position of the hand 13c, and other related information in conjunction with the movement of the robot 13. The torque sensor 14c detects the torque generated in each part (rotating part, bending part, gripping part, etc.) of the base part 13a, the articulated arm part 13b, and the hand part 13c as the robot 13 moves. The torque detected by the torque sensor 14c is converted into force and treated as a force response. Current information detected by the current sensor 14a, position information (including joint angle information) detected by the encoder 14b, and torque information (hereinafter sometimes referred to as force information) detected by the torque sensor 14c are each sent to the robot control device 15 via a wired or wireless medium.
[0020] The sensor group 14 may include external sensors such as a camera, distance sensor, microphone, joint angle sensor, acceleration sensor, and tactile sensor, in addition to the current sensor 14a, encoder 14b, and torque sensor 14c described above. Examples of distance sensors include LiDAR, laser displacement sensor, stereo camera, infrared rangefinder, laser rangefinder, and TOF (Time of Flight) distance sensor. The sensor group 14 may be appropriately installed at various locations on the robot 13, or it may be installed in a location where information regarding the relative positional relationship of the entire working environment of the robot 13 can be acquired.
[0021] The robot control device 15 generates control commands (including position commands and force commands) by referring to pre-set work instructions and monitoring and acquisition information of the robot's working environment and operating status by the sensor group 14 (current information detected by the current sensor 14a, position information detected by the encoder 14b, and force information detected by the torque sensor 14c). The base unit 13a, the articulated arm unit 13b, and the hand unit 13c of the robot 13 each operate in coordination to perform a predetermined task according to a program that realizes the control commands generated by the robot control device 15.
[0022] For example, the robot control device 15 acquires information via the sensor group 14 regarding the position of the member 21 to be gripped by the hand portion 13c, the hole 25 in the workpiece 23 into which the member 21 is fitted, and the position of any obstacles surrounding the robot 13. As a result, even if the orientation of the member 21 or the position of the hole 25 in the workpiece 23 is deviated from its original orientation and position, the robot control device 15 can operate the robot 13 to correct the deviation based on the acquired information.
[0023] [Hardware configuration of robot control device 15] Next, the hardware configuration of the robot control device 15 provided in the robot system 11 according to an embodiment of the present invention will be described with reference to Figure 2. Figure 2 is a block diagram illustrating the hardware configuration of a robot control device 15 included in a robot system 11 according to an embodiment of the present invention.
[0024] As shown in Figure 2, the robot control device 15 can be configured using, for example, a computer. The computer, which functions as the robot control device 15, comprises a bus 30, a CPU (Central Processing Unit) 31, a ROM (Read Only Memory) 33, a RAM (Random Access Memory) 35, a non-volatile storage 37, a network interface 39, an input unit 41, and an output unit 43. Each of the CPU 31, ROM 33, RAM 35, non-volatile storage 37, network interface 39, input unit 41, and output unit 43 is connected to the bus 30.
[0025] The CPU 31 is an arithmetic processing unit that reads and executes the program code of the software that performs the calculation processing related to robot control, which will be described later, from the ROM 33. Variables and parameters that occur during the calculation processing are temporarily written to the RAM 35.
[0026] The non-volatile storage 37 constitutes a database where the taught data is stored. For the non-volatile storage 37, a large-capacity information storage unit such as an HDD (Hard Disk Drive) or SSD (Solid State Drive) can be used.
[0027] The network interface 39 is used for bidirectional communication between the robot 13 and the sensor group 14. For example, a Network Interface Card (NIC) can be used as the network interface 39.
[0028] The input unit 41 receives information related to teaching the robot 13 from an input device (not shown) and performs input processing for the control program, such as switching to the direct teaching mode and registering waypoints, which are necessary for teaching the robot 13. The output unit 43 outputs various information regarding the robot 13's working environment and operating status to the display device 17.
[0029] [Outline configuration of the first robot control device 15A provided in the first robot system 11A] Next, the general configuration of the first robot control device 15A provided in the first robot system 11A will be described with reference to Figure 3. Figure 3 is a block diagram illustrating the schematic configuration of the first robot control device 15A provided in the first robot system 11A.
[0030] As shown in Figure 3, the first robot system 11A comprises a robot 13 having a base portion 13a, a multi-joint arm portion 13b, and a hand portion 13c, and a first robot control device 15A that controls the movement of the robot 13. The first robot control device 15A is configured to include a trajectory planning unit 51, a robot control unit 53, a force estimation unit 55, a force image generation unit 57, and an output unit 59.
[0031] The trajectory planning unit 51 is a command output unit that calculates and outputs control commands as a trajectory plan, relating to one or more combinations of position commands, force commands, and torque commands related to the multi-joint arm section 13b and position commands, force commands, and torque commands related to the hand section 13c of the robot 13. However, the position command relating to the multi-joint arm portion 13b is a concept that encompasses the joint angle command relating to the multi-joint arm portion 13b and the rotational position command relating to the base portion 13a. Similarly, the position command relating to the hand portion 13c is a concept that encompasses the joint angle command relating to the multi-joint arm portion 13b and the rotational position command relating to the hand portion 13c.
[0032] The trajectory planning algorithm applied to the trajectory planning unit 51 is not particularly limited, but for example, an RRT (Rapidly exploring Random Tree) algorithm can be implemented. In this case, the trajectory planning unit 51 uses the RRT algorithm to generate a trajectory that allows the robot 13 to perform the desired action.
[0033] However, the trajectory planning unit 51 may, for example, store the trajectory of the robot 13 (including both position commands and force commands) taught by the administrator, and adopt a configuration that plays back both the position commands and force commands. Alternatively, the system may use sensor information, which is monitoring and acquisition information of the robot 13's work environment and operating state by the sensor group 14, and the taught robot trajectory to be learned by an AI (Artificial Intelligence), and the AI may generate the robot 13's trajectory by inference based on the sensor information.
[0034] The robot control unit 53 controls the operation of the robot 13 by controlling the power supplied to each part of the robot 13, namely the base unit 13a, the articulated arm unit 13b, and the hand unit 13c, based on the control commands and the sensor information from the sensor group 14. More specifically, the robot control unit 53 controls the movement of the robot 13 in accordance with the control command by outputting a PWM signal to an inverter (not shown) that controls the power supplied to actuators (not shown), such as motors, which are responsible for the movements of the robot 13.
[0035] Based on the control command and the control method applied to the robot control unit 53, the force estimation unit 55 estimates the magnitude and direction of the force applied to an object (including a worker 27) when the robot 13 comes into contact with an object during the coordinated movement of the robot 13, if any object (including a worker 27) is present in the current or future trajectory associated with the coordinated movement of the base unit 13a, articulated arm unit 13b, and hand unit 13c of the robot 13. Furthermore, the term "object" encompasses both real-world objects and hypothetical objects that do not actually exist. It also does not distinguish between rigid and flexible bodies. The types of control methods applied to the robot control unit 53 will be described in detail later.
[0036] The force image generation unit 57 generates a force image relating to the magnitude and direction of the force applied to the object, which has been estimated by the force estimation unit 55. The output unit 59 outputs the force image information (force image information). The display device 17 on the robot 13 displays the force image information relating to the magnitude and direction of the force acting on the object, which has been output by the output unit 59.
[0037] [Hierarchical structure of robot system 11 and robot control device 15 according to an embodiment of the present invention] Here, we define the hierarchical structure of the robot system 11 and robot control device 15 according to the embodiment of the present invention. The robot system 11 according to the embodiment of the present invention is a concept that encompasses both the first robot system 11A (see Figure 3) and the second robot system 11B (see Figure 17). The first robot system 11A comprises a robot 13 and a first robot control device 15A (see Figures 3, 4, 7, 11, and 15). The second robot system 11B comprises a robot 13 and a second robot control device 15B (see Figure 17). In short, the first robot control device 15A is one of the constituent elements of the first robot system 11A, while the second robot control device 15B is one of the constituent elements of the second robot system 11B. The robot control device 15 according to the embodiment of the present invention is a concept that encompasses both the first robot control device 15A and the second robot control device 15B. The robot control unit 53, provided in the first robot control device 15A, controls the movement of the robot 13 in accordance with the control command, according to the type of control method for the robot 13 (for example, whether it is position control or force control).
[0038] [Outline configuration of the first robot control unit 53A provided in the first robot control device 15A] Next, the general configuration of the first robot control unit 53A, which is provided in the first robot control device 15A, will be explained with reference to Figure 4. Figure 4 is a block diagram illustrating the schematic configuration of the first robot control unit 53A provided in the first robot control device 15A.
[0039] As shown in Figure 4, the first robot control unit 53A in the first robot control device 15A applies position control, which controls the movement of the robot based on position commands, as the control method for the robot 13. More specifically, the first robot control unit 53A is configured to include a first subtraction unit 61, a position control unit 63, and a current control & disturbance observer 65.
[0040] The first subtraction unit 61 subtracts the position response (current position value) detected by the encoder 14b from the position command (including the position command value) output by the track planning unit 51. In short, the first subtraction unit 61 calculates the deviation between the position command and the position response and outputs the calculated deviation to the position control unit 63.
[0041] The position control unit 63 performs PD (Proportional Derivative) control to reduce the deviation between the position command and position response output from the first subtraction unit 61, and outputs an acceleration command in accordance with the PD control.
[0042] The current control and disturbance observer 65 performs robust robot control, which realizes the required performance while tolerating uncertainty caused by disturbances such as friction and gravity, based on acceleration commands that follow PD control output from the position control unit 63, current information detected by the current sensor 14a, and position information detected by the encoder 14b.
[0043] [Estimated results of object force acting based on robot control by the first robot control unit 53A] Next, the estimation results of the object force acting on the robot 13 while it is operating based on the robot control of the first robot control unit 53A will be explained with reference to Figures 5 and 6. In this specification, "the force that the robot 13 applies to an object while it is operating based on robot control" may be abbreviated as "object force based on robot control".
[0044] Figure 5 is an explanatory diagram that conceptually models and represents the motion of the robot 13 based on robot control by the robot control unit 53 provided in the robot control device 15. Figure 6 is an explanatory diagram that schematically represents the estimation results of the object force based on robot control by the first robot control unit 53A.
[0045] In the following description of several embodiments, for simplicity, we will refer to a spring-mass-damper system model (see Figure 5) in which a spring 56 and a damper 58 are arranged side by side between the wall 54 and the mass 60, and assume that the motion of the mass 60 is one-dimensional. In Figure 5, F represents the external thrust, M represents the mass of the mass 60, K is the spring constant of the spring 56, D is the viscosity coefficient of the damper 58, X is the displacement of the mass 60, and ΔX is the position command correction amount. The mass 60 corresponds to the operating part of the robot 13.
[0046] In the first robot control device 15A, which includes a first robot control unit 53A that is a subordinate concept of the robot control unit 53, the force estimation unit 55 estimates the magnitude and direction of the object force acting on the robot 13, assuming that there is an object (including a virtual object) on the path of the robot 13, based on the position command output by the trajectory planning unit 51 (actually, the deviation between the position command and the position response) and the robot control method (position control) related to the first robot control unit 53A.
[0047] In the robot control related to the first robot control unit 53A, the position control unit 63 performs position control based on position commands, and the current control & disturbance observer 65 applies a disturbance observer. In this case, in the spring-mass-damper system model shown in Figure 5, the characteristics of the spring 56 become infinite impedance characteristics.
[0048] As shown in Figure 6, when observing the estimation results of the object force based on robot control by the first robot control unit 53A, with respect to the position of the robot 13, during the period up to the present time (hereinafter sometimes abbreviated as "past period"), the position response characteristics follow the position command with a slight time delay. On the other hand, in a future period (a period after the present time: hereinafter sometimes abbreviated as "future period") assuming that an object has come into contact with the robot 13 (for example, the hand unit 13c; the same applies hereinafter), the position response characteristics show flat characteristics without following the position command.
[0049] Furthermore, regarding the force applied to robot 13, in past periods, the force response characteristics remained almost zero. On the other hand, in future periods, the force response characteristics rapidly increased from zero to the force limit, and then maintained the force limit. This is based on the fact that the current control & disturbance observer 65 works to suppress disturbances, causing a rapid increase in the force pushing back against the object.
[0050] In the robot control related to the first robot control unit 53A, a force limit value (see Figure 6) is set as an upper limit for the force acting on an object, in order to protect the control system from unexpected disturbances. Therefore, assuming that an object comes into contact with, for example, the hand portion 13c of the robot 13 in the future, the force acting on the object will not exceed the force limit value. The direction of the object force acting on the robot 13 is in the direction of the position command (direction of motion). Furthermore, both setting an appropriate force limit as the upper limit of the force acting on the object, and ensuring that the direction of the force acting on the object related to the robot 13 is in the direction of the position command (direction of motion), are applicable to multiple embodiments of the present invention as appropriate.
[0051] [Example of display of object force based on robot control by the first robot control unit 53A] An example of displaying object forces based on robot control by the first robot control unit 53A will be explained with reference to Figure 7. Figure 7 is an explanatory diagram showing an example of how the estimated force acting on an object shown in Figure 6 is displayed. As shown in Figure 7, the display device 17 overlays (displays) force images relating to the magnitude and direction of object forces acting on robots based on robot control (position control), which are estimated by the force estimation unit 55 and generated by the force image generation unit 57 based on force image information output from the output unit 59, onto an external image of the robot 13.
[0052] In the example shown in Figure 7, a force image is displayed showing the magnitude and direction of the force applied to an object after a predetermined time has elapsed from the current time (not particularly limited, but for example, 0.5 seconds later). In the example shown in Figure 7, the length of the white arrow (or the area occupied by the arrow) represents the magnitude of the force acting on the object, and the direction of the white arrow represents the direction of the force acting on the object. However, instead of or in addition to the length of the white arrow (or the area occupied by the arrow), the magnitude of the force acting on an object may be expressed using the numerical value of the force itself (for example, see F1 [N] shown in Figure 7), a pie chart, etc. Furthermore, the degree of danger may be categorized according to the magnitude of the force acting on the object, and this degree of danger may be indicated by color, for example (low danger: green / medium danger: yellow / high danger: red). In addition, the magnitude and direction of the force acting on the object based on robot control may be presented, for example, by voice, or by a combination of displaying the force image and providing voice information. These force image presentation formats (including various variations) can be appropriately applied in common to multiple embodiments of the present invention.
[0053] When a robot 13 operating at the same speed comes into contact with an object, if the robot 13's control method is position control, the magnitude of the force acting on the object will be relatively larger compared to when the robot 13's control method is one of the force control, impedance control, position control, or force control combinations described later. As a result, the display device 17 indicates that a relatively large force is applied to the object when the robot 13 comes into contact with it. Therefore, users who encounter this display through their vision or other means can easily understand that there is a significant safety risk if a person comes into contact with the robot 13.
[0054] According to the first robot control device 15A, which includes a first robot control unit 53A that is a subordinate concept of the robot control unit 53, the magnitude and direction of the object force based on the robot control method (position control) related to the first robot control unit 53A can be estimated and presented. Furthermore, if there is an obstacle in the trajectory of the robot 13, which is being positioned according to the robot control method related to the first robot control unit 53A (for example, if a person reaches out), it is possible to show people around how the robot 13 will output force feedback. This makes it possible for people to foresee the movements of the robot 13, including force feedback, and to predict whether it is dangerous or safe to touch the robot 13. As a result, even when the robot 13 and people are coexisting in the same workspace, collaborative work between the robot 13 and people can be carried out while providing a sense of security to those around them.
[0055] [Outline configuration of the second robot control unit 53B provided in the first robot control device 15A] Next, the general configuration of the second robot control unit 53B, which is provided in the first robot control device 15A, will be explained with reference to Figure 8. Figure 8 is a block diagram illustrating the schematic configuration of the second robot control unit 53B provided in the first robot control device 15A.
[0056] The first robot control unit 53A and the second robot control unit 53B, both provided in the first robot control device 15A, share the common feature of applying position control as the control method for the robot 13. Therefore, by focusing on the differences between the two, we will substitute the explanation of the configuration of the second robot control unit 53B provided in the first robot control device 15A.
[0057] As shown in Figure 8, the second robot control unit 53B, which is provided in the first robot control device 15A, applies impedance control based on position control (maintaining the impedance characteristic value at a target value) as the control method for the robot 13. More specifically, the second robot control unit 53B is configured to include a first subtraction unit 61, a position control unit 63, a current control & disturbance observer 65, as well as a first adder unit 67 and an impedance calculation unit 69.
[0058] The first adder 67 adds the position command correction amount ΔX calculated by the impedance calculation unit 69 (described below) to the position command output by the track planning unit 51. In short, the first adder 67 corrects the position command by adding the position command correction amount ΔX, which is the deviation inherent in the position command, and outputs the corrected position command to the position control unit 63.
[0059] The impedance calculation unit 69 is configured to include a transfer function G(s) (see Equation 1) having the required impedance characteristics for the robot 13.
number
[0060] The first subtraction unit 61 calculates the deviation between the corrected position command and position response output by the first addition unit 67, and outputs the calculated deviation to the position control unit 63.
[0061] The position control unit 63 performs PD control to reduce the deviation based on the deviation output from the first subtraction unit 61, and outputs an acceleration command in accordance with the PD control.
[0062] The current control and disturbance observer 65 performs robust robot control, which realizes the required performance while tolerating uncertainty caused by disturbances such as friction and gravity, based on acceleration commands that follow PD control output from the position control unit 63, current information detected by the current sensor 14a, and position information detected by the encoder 14b.
[0063] [Impedance characteristics of robot 13] In the second robot control unit 53B provided in the first robot control device 15A, impedance control is applied as a control method for the robot 13 to complement position control, thereby giving the robot 13 the required impedance characteristics (see Figure 5). In other words, the movement of the robot 13 can be displaced according to the external thrust F, and according to the characteristic values of the spring constant K of the spring 56, the viscosity coefficient D of the damper 58, and the mass M of the mass 60, and can be appropriately followed.
[0064] [Estimated results of object forces acting on objects based on robot control related to the second robot control unit 53B] Next, the estimation results of the object force based on robot control by the second robot control unit 53B will be explained with reference to Figure 9. Figure 9 is an explanatory diagram that schematically represents the estimation results of the object force acting on it based on robot control by the second robot control unit 53B.
[0065] In the first robot control device 15A, which includes a second robot control unit 53B that is a subordinate concept of the robot control unit 53, the force estimation unit 55 estimates the magnitude and direction of the force that the robot 13 applies to a virtual object, assuming that the virtual object is on the path of the robot 13, based on the position command output by the trajectory planning unit 51 (in reality, the deviation between the corrected position command and the position response) and the robot control method related to the second robot control unit 53B (impedance characteristics related to impedance control).
[0066] As shown in Figure 9, when observing the estimation results of the object force acting based on robot control by the second robot control unit 53B, with respect to the position of the robot 13, similar to the example of the first robot control unit 53A, in past periods, the position response characteristics follow the position command with a slight time delay. On the other hand, in future periods, the position response characteristics show flat characteristics without following the position command.
[0067] Furthermore, regarding the force applied to the robot 13, in past periods, the force response characteristics remained almost zero (similar to the example of the first robot control unit 53A). On the other hand, in future periods, compared to the example of the first robot control unit 53A (sudden increase), the force response characteristics show a gradual increase. This is based on the suppression of a sudden increase in the force pushing back against the object by the impedance characteristics related to the impedance calculation unit 69.
[0068] In the example shown in Figure 9, the force acting on the robot 13 is approximately proportional in magnitude to the deviation between the corrected position command and position response over the future period. This is because the example shown in Figure 9 represents a case where the viscosity coefficient D of the damper 58 and the mass M of the mass 60 are relatively small. If, for example, the viscosity coefficient D of the damper 58 is relatively large, the force acting on the object based on robot control will increase in accordance with the change in displacement velocity. However, in several embodiments of the present invention, the object force acting on the robot is estimated based on robot control in a state where impedance characteristics and environmental forces are balanced, without considering the kinetic energy of the robot 13 before it makes contact with the object. In this regard, when the robot 13 is operating at a relatively high speed, by adopting a configuration in which the robot control estimates the object force acting on the robot when it makes contact with the object, taking into account the kinetic energy of the robot 13 before it makes contact with the object, the object force acting on the robot can be estimated more accurately.
[0069] [Example of display of object force based on robot control by the second robot control unit 53B] An example of displaying object forces based on robot control by the second robot control unit 53B will be explained with reference to Figure 10. Figure 10 is an explanatory diagram showing an example of how the estimated force acting on an object shown in Figure 9 is displayed. As shown in Figure 10, the display device 17 overlays (displays) a force image relating to the magnitude and direction of the object force acting on it based on robot control (impedance control), which is estimated by the force estimation unit 55 and generated by the force image generation unit 57 based on the force image information output from the output unit 59, onto an image of the robot 13's appearance.
[0070] A user who visually interacts with a force image relating to the magnitude and direction of the force acting on an object based on robot control (impedance control) can easily understand that it is dangerous for a person to come into contact with the robot 13.
[0071] According to the first robot control device 15A, which includes a second robot control unit 53B that is a subordinate concept of the robot control unit 53, the magnitude and direction of the object force based on the robot control method (impedance control) related to the second robot control unit 53B can be estimated and presented. Furthermore, if there is an obstacle in the trajectory of the robot 13, which is impedance-controlled according to the robot control method related to the second robot control unit 53B (for example, if a person reaches out), it is possible to show people around how the robot 13 will output force feedback. This makes it possible for people to foresee the movements of the robot 13, including force feedback, and to predict whether it is dangerous or safe to touch the robot 13. As a result, even when the robot 13 and people are coexisting in the same workspace, collaborative work can be carried out while providing a sense of security to those around them.
[0072] [Outline configuration of the third robot control unit 53C provided in the first robot control device 15A] Next, the general configuration of the third robot control unit 53C, which is provided in the first robot control device 15A, will be explained with reference to Figure 11. Figure 11 is a block diagram illustrating the schematic configuration of the third robot control unit 53C provided in the first robot control device 15A.
[0073] As shown in Figure 11, the third robot control unit 53C, which is provided in the first robot control device 15A, applies force control as the control method for the robot 13, which controls the robot's movement based on force commands. More specifically, the third robot control unit 53C is comprised of a second subtraction unit 62, a force control unit 71, and a current control & disturbance observer 65.
[0074] The second subtraction unit 62 subtracts the force response (current force value) detected by the torque sensor 14c from the force command (including the force command value) output by the track planning unit 51. In short, the second subtraction unit 62 calculates the deviation between the force command and the force response and outputs the calculated deviation to the force control unit 71.
[0075] The force control unit 71 performs P (Proportional) control to reduce the deviation between the force command and force response output from the second subtraction unit 62, and outputs an acceleration command that conforms to the P control.
[0076] The current control and disturbance observer 65 performs robust robot control, which realizes the required performance while tolerating uncertainties caused by disturbances such as friction and gravity, based on acceleration commands that follow P control output from the force control unit 71, current information detected by the current sensor 14a, and force information detected by the torque sensor 14c.
[0077] [Estimated results of object force acting based on robot control related to the third robot control unit 53C] Next, the estimation results of the object force based on robot control by the third robot control unit 53C will be explained with reference to Figure 12. Figure 12 is an explanatory diagram that schematically represents the estimation results of the object force acting on it based on robot control by the third robot control unit 53C.
[0078] In the first robot control device 15A, which includes a third robot control unit 53C that is a subordinate concept of the robot control unit 53, the force estimation unit 55 estimates the magnitude and direction of the force that the robot 13 applies to a virtual object, assuming that the virtual object is on the path of the robot 13, based on the force command output by the trajectory planning unit 51 (actually, the deviation between the force command and the force response) and the robot control method (force control) related to the first robot control unit 53A.
[0079] As shown in Figure 12, when observing the estimation results of the object force acting on the robot based on the robot control by the third robot control unit 53C, the position of the robot 13 shows a position response characteristic that increases gradually and almost linearly in the past period, while the position response characteristic that is almost flat in the future period.
[0080] Furthermore, regarding the force applied to robot 13, in past periods, the force response characteristics remain almost zero for a given force command value. On the other hand, in future periods, the force response characteristics show a logarithmic curve that increases sharply from zero to the force command value, and then converges to the force command value.
[0081] [Example of display of object force based on robot control related to the 3rd robot control unit 53C] An example of displaying object forces based on robot control by the third robot control unit 53C will be explained with reference to Figure 13. Figure 13 is an explanatory diagram showing an example of how the estimated force acting on an object shown in Figure 12 is displayed. As shown in Figure 13, the display device 17 overlays (displays) a force image relating to the magnitude and direction of the object force acting on it based on robot control (force control), which is estimated by the force estimation unit 55 and generated by the force image generation unit 57 based on the force image information output from the output unit 59, onto an external image of the robot 13.
[0082] When robot 13, operating at the same speed, comes into contact with an object, if robot 13 is controlled by force, the magnitude of the force acting on the object will be relatively smaller compared to when robot 13 is controlled by position control, impedance control, or a combination of position control and force control. As a result, the display device 17 indicates that a relatively small force is applied to the object when robot 13 comes into contact with it. Therefore, users who see this display visually can easily understand that it is safe for a person to come into contact with robot 13.
[0083] According to the first robot control device 15A, which includes a third robot control unit 53C, a subordinate concept of the robot control unit 53, it is possible to estimate and present the magnitude and direction of the object force based on the robot control method (force control) related to the third robot control unit 53C. Furthermore, if there is an obstacle in the trajectory of the robot 13, which is force-controlled according to the robot control method related to the third robot control unit 53C (for example, if a person reaches out), it is possible to show people around how the robot 13 will output force. This makes it possible for people to foresee the movements of the robot 13, including force perception, and to predict whether it is dangerous or safe to touch the robot 13. As a result, even when the robot 13 and people are coexisting in the same workspace, collaborative work can be carried out while providing a sense of security to those around them.
[0084] [Example of displaying safety level based on robot control related to the 3rd robot control unit 53C] An example of displaying the safety level based on robot control by the third robot control unit 53C will be explained with reference to Figure 14. Figure 14 is an explanatory diagram showing an example of a safety level display based on robot control by the third robot control unit 53C. As shown in Figure 14, the display device 17 overlays an integrated image representing the safety level based on the robot control by the third robot control unit 53C onto the external image of the robot 13.
[0085] Even if an object comes into contact with the hand portion 13c of the robot 13, if force control is employed as the robot control method, as in the third robot control unit 53C, the force acting on the object based on the robot control will be controlled to the required force command value. Therefore, unexpectedly large forces will not occur in principle. However, in cases where an object comes into contact with the base portion 13a side compared to the installation position of the torque sensor 14c (see Figure 14), the torque sensor 14c cannot detect the force associated with that contact. In such cases, the force that the robot 13 is applying to the object cannot be fed back, and as the current control & disturbance observer 65 attempts to compensate for the disturbance, a sudden and unexpectedly large force is generated. In other words, the force that the robot 13 exerts on an object varies greatly depending on which part of the robot 13 the object comes into contact with. In this regard, if it were possible to show people around the robot 13 the difference in safety levels when an object comes into contact with it, it would be possible to provide them with an even greater sense of security.
[0086] Therefore, the force estimation unit 55 takes into account the installation position of the torque sensor 14c (see Figure 14) and estimates the magnitude and direction of the force acting on the object when the object comes into contact with the hand portion 13c of the robot 13, which is located on the free end side compared to the torque sensor 14c, and the magnitude and direction of the force acting on the object when the object comes into contact with the articulated arm portion 13b, which is located on the base portion 13a side compared to the torque sensor 14c. The force image generation unit 57 generates an integrated image that represents each of the force images relating to the magnitude and direction of the object force based on robot control (force control), along with an index relating to safety / danger. The output unit 59 outputs the integrated image generated by the force image generation unit 57. Based on the information of the integrated image output from the output unit 59, the display device 17 overlays (displays) the integrated image on the external image of the robot 13, showing the magnitude and direction of the object force acting on it (corresponding to the object contact area of the robot 13) and the degree of safety / danger, based on robot control (force control).
[0087] In the example shown in Figure 14, information regarding the degree of safety / danger is presented separately for each area, indicating that the area around the hand portion 13c of the robot 13, which is located on the free end side compared to the torque sensor 14c, is safe, while the area around the articulated arm portion 13b, which is located on the base portion 13a side compared to the torque sensor 14c, is dangerous. Users who encounter the information presented through their vision or other means can intuitively understand that the area around the hand portion 13c of the robot 13 is safe, while the area around the articulated arm portion 13b is dangerous.
[0088] However, in cases where a reaction force estimation observer is used instead of a torque sensor for force detection, force control can be appropriately achieved regardless of the installation location of the torque sensor on the robot 13. Furthermore, even when a torque sensor is installed at the bending portion of the multi-joint arm 13b, force control can be appropriately achieved. Therefore, in the above cases, information will be provided indicating that it is safe for an object to come into contact with the robot 13, regardless of the part of the object that comes into contact with it.
[0089] According to the first robot control device 15A, which includes a third robot control unit 53C, a subordinate concept of the robot control unit 53, it is possible to estimate and present the magnitude and direction of the force acting on an object based on the robot control method (force control) related to the third robot control unit 53C, as well as the degree of safety / danger when the robot 13 comes into contact with an object.
[0090] Furthermore, if there is an obstacle in the trajectory of the robot 13, which is force-controlled according to the robot control method related to the third robot control unit 53C (for example, if a person reaches out), it is possible to show people around how the robot 13 will output force. This makes it possible for people to foresee the movements of the robot 13, including force perception, and to predict whether it is dangerous or safe to touch the robot 13 by dividing it into different parts. As a result, even when the robot 13 and people are coexisting in the same workspace, it is possible to bring a greater sense of security to people around them.
[0091] [Outline configuration of the fourth robot control unit 53D provided in the first robot control device 15A] Next, the general configuration of the fourth robot control unit 53D, which is provided in the first robot control device 15A, will be explained with reference to Figure 15. Figure 15 is a block diagram illustrating the schematic configuration of the fourth robot control unit 53D provided in the first robot control device 15A.
[0092] The first robot control unit 53A and the fourth robot control unit 53D, both provided in the first robot control device 15A, share the common feature of applying position control as the control method for the robot 13. Therefore, by focusing on the differences between the two, we will substitute the explanation of the configuration of the fourth robot control unit 53D provided in the first robot control device 15A.
[0093] As shown in Figure 15, the fourth robot control unit 53D in the first robot control device 15A applies a combination of position control, which controls the robot's movement based on position commands, and force control, which controls the robot's movement based on force commands, as the control method for the robot 13. More specifically, the fourth robot control unit 53D is comprised of a first subtraction unit 61, a second subtraction unit 62, a position control unit 63, a force control unit 71, a second addition unit 73, and a current control & disturbance observer 65.
[0094] As described above, the first subtraction unit 61 calculates the deviation between the position command and position response output by the track planning unit 51, and outputs the calculated deviation to the position control unit 63.
[0095] As described above, the second subtraction unit 62 calculates the deviation between the force command and force response output by the track planning unit 51, and outputs the calculated deviation to the force control unit 71.
[0096] As described above, the position control unit 63 performs PD control to reduce the deviation between the position command and position response output from the first subtraction unit 61, and outputs an acceleration command in accordance with the PD control.
[0097] As described above, the force control unit 71 performs P control to reduce the deviation between the force command and force response output from the second subtraction unit 62, and outputs an acceleration command in accordance with the P control.
[0098] The second adder 73 adds the acceleration command according to PD control output from the position control unit 63 and the acceleration command according to P control output from the force control unit 71, and outputs the resulting acceleration command to the current control & disturbance observer 65.
[0099] The current control and disturbance observer 65 performs robot control (robust control) that converges the position and force to the required target values while allowing uncertainty caused by disturbances such as friction and gravity, based on the acceleration command after addition output from the second adder 73, the current information detected by the current sensor 14a, and the position information detected by the encoder 14b.
[0100] [Estimated results of object forces acting on objects based on robot control related to the 4th robot control unit 53D] Next, the estimation results of the object forces acting on the robot 13 during operation based on the robot control by the fourth robot control unit 53D will be explained with reference to Figure 16. Figure 16 is an explanatory diagram that schematically represents the estimation results of the object force acting on it based on robot control by the fourth robot control unit 53D.
[0101] In the first robot control device 15A, which includes a fourth robot control unit 53D that is a subordinate concept of the robot control unit 53, the force estimation unit 55 estimates the magnitude and direction of the object force acting on the robot 13, assuming that an object is in the path of the robot 13, based on the position command (actually the deviation between the position command and the position response) and force command (actually the deviation between the force command and the force response) output by the trajectory planning unit 51, as well as the robot control method (combination of position control and force control) related to the fourth robot control unit 53D.
[0102] In the robot control related to the fourth robot control unit 53D, the position control unit 63 performs position control based on position commands, etc., while the force control unit 71 performs force control based on force commands, etc., and the current control & disturbance observer 65 applies a disturbance observer. In this case, the force estimation unit 55 estimates the magnitude of the force acting on the robot 13 based on the impedance characteristics set using the control gain and the position deviation that occurs when the robot 13 comes into contact with the object.
[0103] As shown in Figure 16, when observing the estimation results of the object force acting on the robot based on the robot control by the fourth robot control unit 53D, with respect to the position of the robot 13, in past periods, the position response characteristics follow the position command with a slight time delay. On the other hand, in future periods, the position response characteristics show flat characteristics without following the position command.
[0104] Furthermore, regarding the force applied to robot 13, the force command has remained almost zero over both past and future periods. In contrast, in past periods, the force response characteristics have remained almost zero, similar to the force command, while in future periods, the force response characteristics show a sharp increase from zero. This is based on the fact that in the future period, the force response will increase sharply to reduce the positional deviation.
[0105] In the first robot control device 15A, which is equipped with a fourth robot control unit 53D, the presentation device 17 overlays (displays) a force image on the external image of the robot 13. This force image is estimated by the force estimation unit 55 and generated by the force image generation unit 57 based on the force image information output from the output unit 59, and represents the magnitude and direction of the object force acting on the robot (a combination of position control and force control). The example of displaying the object force acting on it based on robot control by the fourth robot control unit 53D is the same as in Figure 7, so the redundant explanation is omitted.
[0106] According to the first robot control device 15A equipped with the fourth robot control unit 53D, the magnitude and direction of the object force based on the robot control method (combination of position control and force control) related to the fourth robot control unit 53D can be estimated and presented. Furthermore, if there is an obstacle in the trajectory of the robot 13, which is being controlled by position and force according to the robot control method related to the fourth robot control unit 53D (for example, if a person reaches out), it is possible to show people around how the robot 13 will output force. This makes it possible for people to foresee the movements of the robot 13, including force, and to predict whether it is dangerous or safe to touch the robot 13. As a result, even when the robot 13 and people are coexisting in the same workspace, collaborative work can be carried out while providing a sense of security to those around them.
[0107] [Outline configuration of the second robot control device 15B provided in the second robot system 11B] Next, the general configuration of the second robot control device 15B provided in the second robot system 11B will be described with reference to Figure 17. Figure 17 is a block diagram illustrating the schematic configuration of the second robot control device 15B provided in the second robot system 11B.
[0108] The second robot control device 15B, provided in the second robot system 11B shown in Figure 17, is configured with components common to the first robot control device 15A, provided in the first robot system 11A shown in Figure 3. Therefore, by focusing on the different components between the two, we will substitute the explanation for the second robot control device 15B provided in the second robot system 11B.
[0109] The second robot system 11B shown in Figure 17 has the function of displaying information regarding the future posture of the robot 13 (for example, a few seconds ahead), as well as the magnitude and direction of the object forces acting on it in that posture. To achieve the above functions, the second robot system 11B is configured to include a robot 13 (same as the first robot system 11A up to this point) having a base portion 13a, a multi-joint arm portion 13b, and a hand portion 13c, and a second robot control device 15B that controls the movement of the robot 13.
[0110] The second robot control device 15B is configured to include a trajectory planning unit 51, a robot control unit 53, a force estimation unit 55, a force image generation unit 57, and an output unit 59 (the same as the first robot control device 15A up to this point), in addition to a future attitude image generation unit 77.
[0111] The future posture image generation unit 77 generates, frame by frame, future posture images of the robot 13 that change moment by moment over a future period (for example, from the present time until a predetermined time (for example, 10 seconds) has elapsed) based on the position command and force command. The output unit 59 outputs the information of the generated multi-frame future posture images.
[0112] [Estimated results of object forces acting on objects based on robot control related to the 4th robot control unit 53D] Next, we will illustrate the case where the fourth robot control unit 53D shown in Figure 15 is applied as the robot control unit 53 provided in the second robot control device 15B, and explain the estimation results of the object force acting on the robot 13 in operation based on the robot control related to the fourth robot control unit 53D with reference to Figure 18. Figure 18 is an explanatory diagram that schematically represents the estimation results of the object force acting on it based on robot control by the fourth robot control unit 53D.
[0113] In an embodiment in which the fourth robot control unit 53D shown in Figure 15 is applied as the robot control unit 53 provided in the second robot control device 15B, the trajectory planning unit 51 stores the trajectory of the robot 13 (including both position commands and force commands) taught by the administrator using remote control, and generates position commands and force commands, respectively, using a configuration that plays back both position commands and force commands.
[0114] In the second robot control device 15B, which is equipped with a fourth robot control unit 53D, a sub-concept of the robot control unit 53, the force estimation unit 55 estimates the magnitude and direction of the object force acting on the robot 13, assuming that an object is in the path of the robot 13, based on the position command (actually the deviation between the position command and the position response) and force command (actually the deviation between the force command and the force response) output by the trajectory planning unit 51, as well as the robot control method (combination of position control and force control) related to the fourth robot control unit 53D, similar to the case where the fourth robot control unit 53D is applied as the robot control unit 53 in the first robot control device 15A (see Figure 15).
[0115] In this embodiment, the fourth robot control unit 53D is applied as the robot control unit 53 in the second robot control device 15B. Similar to the case where the fourth robot control unit 53D is applied as the robot control unit 53 in the first robot control device 15A (see Figure 15), the position control unit 63 performs position control based on position commands, etc., while the force control unit 71 performs force control based on force commands, etc., and the current control & disturbance observer 65 applies a disturbance observer.
[0116] In this case, the force estimation unit 55 estimates the magnitude and direction of the force acting on the robot 13 based on the impedance characteristics set using the control gain and the positional deviation that occurs when the robot 13 comes into contact with the object, for a future period when the robot 13 is in the path of the robot 13, after performing a free motion, the robot 13 performs an action to fit a cylindrical member 21 into a cylindrical hole 25 made in the workpiece 23.
[0117] In this embodiment, the force estimation unit 55 estimates the magnitude and direction of the object force acting on the robot 13 at a predetermined time (for example, 10 seconds) after a predetermined time has elapsed from the current time. However, as a variation of this embodiment, a configuration may be adopted in which the magnitude and direction of the object force acting on the robot 13 are estimated over time during a future period from the first time point to the second time point (first time point < second time point). The force information regarding the magnitude and direction of the object force estimated by the force estimation unit 55 is presented (displayed) according to the predetermined procedure. With this configuration, it is possible to verify whether the robot 13 operates as instructed (according to position commands and force commands) (i.e., whether it outputs the force acting on the object). If the programmed environment differs from the actual environment (for example, if the installation environment of the workpiece 23 is lower than the programmed environment), interference may occur between position control and force control due to this difference. In such cases, the force estimation unit 55 can estimate force information regarding the magnitude and direction of the force acting on the object by performing a motion simulation of the robot 13.
[0118] As shown in Figure 18, when observing the estimation results of the object force acting on the robot based on the robot control by the fourth robot control unit 53D, it can be seen that, with respect to the position of the robot 13, the position response characteristics follow the position command with a slight time delay over both past and future periods.
[0119] Furthermore, regarding the force applied to robot 13, the force command has remained almost zero over both past and future periods. In contrast, in past periods, the force response characteristics have remained almost zero, similar to the force command, while in future periods, the force response characteristics show a sharp increase from zero. This is based on the assumption that in the future period, the second robot control device 15B will operate to increase the force response in order to reduce the positional deviation.
[0120] [Example of display of object force based on robot control by the 4th robot control unit 53D] An example of displaying object forces based on robot control by the fourth robot control unit 53D will be explained with reference to Figure 19. Figure 19 is an explanatory diagram illustrating an example of how the estimated force acting on an object shown in Figure 18 is displayed.
[0121] As shown in Figure 19, in the second robot control device 15B, which is equipped with a fourth robot control unit 53D, the presentation device 17 displays (shows) a future posture image of the robot 13 over its current posture image (see "Current posture of the robot" in Figure 19), which is generated by the future posture image generation unit 77 and output by the output unit 59, and which changes moment by moment over a future period.
[0122] Furthermore, the display device 17 overlays (displays) a force image (see "Future Forces" in Figure 19) relating to the magnitude and direction of the object force acting on it based on robot control (a combination of position control and force control), which is estimated by the force estimation unit 55 and generated by the force image generation unit 57 based on the force image information output from the output unit 59, onto the external image of the robot 13.
[0123] According to the second robot control device 15B, which is equipped with a fourth robot control unit 53D, future posture images of the robot 13, which change moment by moment over a future period, can be superimposed on the current posture image of the robot 13. Furthermore, the second robot control device 15B, which is equipped with the fourth robot control unit 53D, can estimate and present the magnitude and direction of the object force acting on it based on the robot control method (combination of position control and force control) related to the fourth robot control unit 53D at a required time in the future.
[0124] Furthermore, if there is an obstacle in the trajectory of the robot 13, which is being controlled by position and force according to the robot control method of the fourth robot control unit 53D (for example, if a person reaches out), it is possible to show people around how the robot 13 will output force. This makes it possible for people to foresee the movements of the robot 13, including force, and to predict whether it is dangerous or safe to touch the robot 13. As a result, even when the robot 13 and people are coexisting in the same workspace, collaborative work can be carried out while providing a sense of security to those around them.
[0125] Furthermore, by visualizing the images that show how the robot 13 operates and what forces it applies to real-world objects, it is possible to verify whether the robot 13 is moving according to the programmed movements and what forces it is outputting to real-world objects. As a result, people can predict the movements of the robot 13, including its force perception. Furthermore, when a robot (caregiving robot) 13 and a person coexist in the same workspace, and, for example, when the robot 13 performs a massage on a person, the person receiving the massage can predict what kind of force the robot 13 will exert. As a result, a sense of security can be provided to the person receiving the massage.
[0126] [Robot control device 15 according to an embodiment of the present invention] Furthermore, the robot control devices 15, 15A, and 15B according to the embodiment of the present invention are Robot control devices 15, 15A, and 15B that cause a robot 13, which is equipped with a multi-joint arm 13b and a hand 13c, to perform actions according to predetermined control commands, The aforementioned control command is a trajectory planning unit 51 (corresponding to a command output unit) which outputs one or more of the position command and force command relating to the multi-joint arm portion 13b or the hand portion 13c, Based on the control commands output by the trajectory planning unit 51, robot control units 53, 53A, 53B, 53C, and 53D control the movement of the robot 13 using a predetermined control method. Based on the control command and the predetermined control method, a force estimation unit 55 estimates the magnitude and direction of the force acting on the robot 13 when the robot 13 comes into contact with an object during its operation. An output unit 59 outputs information relating to the magnitude and direction of the object force estimated by the force estimation unit 55, You may adopt a configuration that includes this feature.
[0127] According to the robot control devices 15, 15A, and 15B of the present invention, when there is an obstacle in the trajectory of a robot 13 controlled according to a predetermined control method (for example, when a person reaches out their hand), it is possible to show people around how the robot 13 will output force feedback. This makes it possible for people to foresee the movements of the robot 13, including force feedback, and thus predict whether it is dangerous or safe to touch the robot 13. As a result, even when the robot 13 and a person are coexisting in the same workspace, collaborative work can be carried out while providing a sense of security to those around them.
[0128] [Robot control method according to an embodiment of the present invention] Furthermore, the robot control method according to the embodiment of the present invention is A robot control method used when making a robot 13, which is equipped with a multi-joint arm 13b and a hand 13c, perform an action in accordance with a predetermined control command, The steps include outputting one or more position commands and force commands relating to the multi-joint arm portion 13b and the hand portion 13c as the control commands, The steps include: controlling the movement of the robot 13 using a predetermined control method based on the control command; Based on the control command and the predetermined control method, the steps include: estimating the magnitude and direction of the force acting on the object when the robot 13 comes into contact with the object during the operation of the robot 13; The steps include outputting information relating to the magnitude and direction of the estimated force acting on the object, You may adopt a configuration that includes the following:
[0129] According to the robot control method of the embodiment of the present invention, if there is an obstacle in the trajectory of a robot 13 that is being controlled according to a predetermined control method (for example, if a person reaches out their hand), it is possible to show people around how the robot 13 will output force feedback. As a result, people can predict the movements of the robot 13, including force feedback, and thus predict whether it is dangerous or safe to touch the robot 13. As a result, even when the robot 13 and a person are coexisting in the same workspace, collaborative work can be carried out while providing a sense of security to those around them.
[0130] [Other Embodiments] The embodiments described above are examples of the embodiment of the present invention. Therefore, the technical scope of the present invention should not be interpreted as being limited by these embodiments, as the present invention can be implemented in various forms without departing from its gist or its main features.
[0131] Furthermore, it is possible to replace some of the configurations of the embodiments described here with those of other embodiments, and even to add configurations from other embodiments to the configuration of one embodiment. In addition, it is possible to add, delete, or replace some of the configurations of each embodiment with those of other embodiments. Furthermore, the control lines and information lines shown are those deemed necessary for explanatory purposes, and not all control lines and information lines are necessarily shown in the actual product. In reality, it can be assumed that almost all components are interconnected.
[0132] For example, while a multi-jointed arm type robot was described as an example of robot 13 according to the embodiment of the present invention, the present invention is not limited to this example. A mobile manipulator type robot may also be used as robot 13 according to the embodiment of the present invention. Furthermore, the robot 13 according to the embodiment of the present invention may have a robot control device 15 built in, or the robot control device 15 may be connected externally. Moreover, the robot 13 may be mobile or stationary.
[0133] Furthermore, in the description of the robot control device 15 according to an embodiment of the present invention, an example was given in which a group of sensors 14 for monitoring and measuring the surrounding work environment of the robot 13 is provided on the hand portion 13c of the robot 13, but the present invention is not limited to this example. The group of sensors 14 may be built into the robot 13.
[0134] Furthermore, configuring the robot control device 15 with the computer shown in Figure 2 is just one example; the robot control device 15 may be configured using other devices that perform calculations other than a computer. For example, some or all of the functions performed by the robot control device 15 may be implemented using hardware such as an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit).
[0135] Furthermore, the configuration in which the robot control device 15 includes an input unit 41 and an output unit 43 is merely an example; a configuration in which either the input unit 41 or the output unit 43, or both, are provided independently of the robot control device 15 may also be adopted.
[0136] The display device 17 shown in Figure 3, etc., may be incorporated inside the robot control device 15, or it may be a separate tablet or head-mounted display.
[0137] In this embodiment, an example was described in which the functional units of the first robot control device 15A include a trajectory planning unit 51, a robot control unit 53, a force estimation unit 55, a force image generation unit 57, and an output unit 59. However, the present invention is not limited to this example. A configuration in which some or all of the functional units of the first robot control device 15A are implemented in separate hardware is also acceptable.
[0138] Furthermore, in the description of several embodiments of the present invention, for the sake of simplicity, a spring-mass-damper system model (see Figure 5) in which a spring 56 and a damper 58 are arranged side by side between a wall 54 and a mass 60 (robot 13) was used as a reference, and an example was given in which the motion of the mass 60 is assumed to be one-dimensional, and the force estimation unit 55 estimates the object force acting on the robot 13 in one dimension. However, the present invention is not limited to this example. For example, when estimating the object force acting on the robot 13 in three dimensions, the force estimation unit 55 can estimate the magnitude of the object force by the resultant force of the forces along the X, Y, and Z axes, and estimate the direction of the force by the direction of that resultant force. Note that the direction of the object force acting on the robot 13 is a concept that also includes the force moment in the rotational direction.
[0139] In this embodiment, only so-called motion control was used as an example of information on the control method employed in the robot control unit 53, but the present invention is not limited to this example. The information on the control method employed in the robot control unit 53 may also include protection functions and force limit values. For example, if a maximum value is defined for the force acting on the robot 13 for the purpose of protecting the control system, the robot 13 will stop when the defined maximum force is applied. In contrast, if a force limit is imposed, the output of the robot 13 will be limited. When such force limitations are applied, the force estimation unit 55 can appropriately estimate the force acting on the object based on the estimated value of the force acting on the object and the maximum value set by the protection function.
[0140] Furthermore, in several embodiments of the present invention, a torque sensor is used to detect the object force acting on the robot 13, but a reaction force estimation observer that estimates the reaction force by subtracting the effects of friction, gravity, etc. from a disturbance observer may also be used. Furthermore, the control systems according to multiple embodiments of the present invention may be constructed in the joint angle space of the robot 13, or they may be constructed in the workspace (Cartesian coordinate system). Furthermore, although impedance control has been described as one of the control methods for the robot 13 in several embodiments of the present invention, other control methods that achieve similar functions may be adopted as appropriate instead of impedance control.
[0141] Finally, in the robot control devices 15, 15A, and 15B according to the embodiments of the present invention, each functional unit, each processing unit, and each processing means may be partially or entirely implemented by hardware such as an integrated circuit. Each of the aforementioned functional units, each processing unit, and each processing means may also be implemented by software, with a processor interpreting and executing a program that realizes each function. Information such as programs, tables, and files that realize each function can be stored in a recording device such as memory, a hard disk, or an SSD (Solid State Drive), or on a recording medium such as a flash memory card or a DVD (Digital Versatile Disk). [Explanation of Symbols]
[0142] 11 Robot Systems 11A First Robot System 11B Second Robot System 13 Robots 13a Base part 13b Multi-jointed arm section 13c Hand section 14 Sensor Groups 15 Robot control device 15A First Robot Control Device 15B Second robot control device 17 Presentation device 51 Track Planning Section (Command Output Section) 53 Robot Control Unit 53A First Robot Control Unit 53B Second Robot Control Unit 53C Third Robot Control Unit 53D 4th Robot Control Unit 55 Force estimation section 57 Force Image Generation Unit 59 Output section 77 Future posture image generation unit
Claims
1. A robot system comprising a robot having an arm and a hand, and a robot control device that causes the robot to perform actions according to predetermined control commands, The robot control device is The control command includes a command output unit that outputs one or more of the position commands and force commands relating to the arm or hand portion, A robot control unit that controls the operation of the robot using a predetermined control method based on the control command output by the command output unit, A force estimation unit that estimates the magnitude and direction of the force acting on the robot when the robot comes into contact with an object as the robot moves, based on the control command and the predetermined control method, An output unit that outputs information relating to the magnitude and direction of the object force estimated by the force estimation unit, A robot system characterized by having the following features.
2. A robot system according to claim 1, The predetermined control method is one of the following: position control, force control, impedance control, or a combination of position control and force control, for controlling the motion of the robot. A robotic system characterized by the following features.
3. A robot system according to claim 2, If the predetermined control method includes the force control, a force limit value is set as the upper limit of the force response based on the force control. The force estimation unit estimates the maximum value of the object force acting on the robot based on the force limit value. A robotic system characterized by the following features.
4. A robot system according to claim 2, The predetermined control method is impedance control, and impedance characteristics based on the impedance control are set. The force estimation unit estimates the object force acting on the robot based on the impedance characteristics. A robotic system characterized by the following features.
5. A robot system according to claim 3, If the predetermined control method is the force control, The force estimation unit estimates the object force acting on the robot based on the force command among the control commands. A robotic system characterized by the following features.
6. A robot system according to claim 2, The predetermined control method is a control method relating to a combination of position control and force control, and an impedance characteristic based on the control gain is set. The force estimation unit estimates the object force acting on the robot based on the impedance characteristics. A robotic system characterized by the following features.
7. A robot system according to claim 2, If the predetermined control method is a control method relating to a combination of position control and force control, the force estimation unit estimates the object force acting on the robot based on the position command and the force command among the control commands. A robotic system characterized by the following features.
8. A robot system according to any one of claims 1 to 7, The system further includes a future posture image generation unit that generates future posture images of the robot that change moment by moment over a future period, based on the position command and the force command among the control commands. The output unit outputs information about the multiple future attitude images that have been generated. A robotic system characterized by the following features.
9. A robot system according to any one of claims 1 to 7, The output unit outputs information relating to the magnitude of the object force estimated by the force estimation unit using numerical values. A robotic system characterized by the following features.
10. A robot system according to any one of claims 1 to 7, The output unit outputs information relating to the magnitude of the object force estimated by the force estimation unit using an index related to safety / risk. A robotic system characterized by the following features.
11. A robot system according to any one of claims 1 to 7, The force estimation unit estimates the magnitude of the force acting on the object based on the contact portion of the object with the robot. A robotic system characterized by the following features.
12. A robot system according to claim 1, The robot is equipped with a display device that displays information about the robot, The display device displays force image information relating to the magnitude and direction of the object force output by the output unit. A robotic system characterized by the following features.
13. A robot control device that causes a robot equipped with an arm and a hand to perform actions according to predetermined control commands, The control command includes a command output unit that outputs one or more of the position commands and force commands relating to the arm or hand portion, A robot control unit that controls the operation of the robot using a predetermined control method based on the control command output by the command output unit, A force estimation unit that estimates the magnitude and direction of the force acting on the robot when the robot comes into contact with an object as the robot moves, based on the control command and the predetermined control method, An output unit that outputs information relating to the magnitude and direction of the object force estimated by the force estimation unit, A robot control device characterized by comprising the following features.
14. The robot control device according to claim 13, The arm section, The hand part, A display device that displays information relating to the magnitude and direction of the force that the robot acts on an object, A robot characterized by being equipped with the following features.
15. A robot control method used when making a robot equipped with an arm and a hand perform actions according to predetermined control commands, The steps include outputting one or more position commands and force commands relating to the arm portion or the hand portion as the control command, The steps include: performing motion control of the robot using a predetermined control method based on the control command; A step of estimating the magnitude and direction of the force acting on the object when the robot comes into contact with the object in conjunction with the robot's movement, based on the control command and the predetermined control method, The steps include outputting information relating to the magnitude and direction of the estimated force acting on the object, A robot control method characterized by having the following features.