Robot control device, robot control method, robot control system and robot control program
The robot control device dynamically adjusts movement timing and speed based on collision severity through internal and external force estimation, ensuring appropriate operation resumption and safety.
Patent Information
- Application Number
- DE112022006860
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-07-15
- Publication Date
- 2025-01-09
AI Technical Summary
Existing robot control systems fail to appropriately adjust movement timing after collisions, leading to inappropriate continuation or resumption of operations based on the severity of the collision, which can result in damage or inefficiency.
A robot control device that includes a movement command unit, internal force estimation, external force estimation, and control method determination to dynamically adjust the control method and timing based on the severity of collisions by calculating internal and external forces and setting variable switching periods.
Enables the robot to continue movement at an appropriate timing according to the situation, balancing safety and efficiency by adjusting operation speed and duration based on collision severity.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical area
[0001] The present disclosure relates to a robot control apparatus, a robot control method, a robot control system, and a robot control program for controlling a robot. Technological background
[0002] Conventionally, a robot controller that controls a robot such as an industrial robot performs control in such a manner as to slow down or stop the robot's movement when an external force equal to or greater than a specific determination value is detected due to a collision with some kind of object. When a robot collides with some kind of object, the robot or the object with which the robot collided may be damaged if the robot continues to apply a counter-load or shear stress to the object, causing the object to be clamped by the robot or trapped within the robot. Therefore, when a collision is detected, a robot controller continuously detects an external force and performs force feedback control in a direction in which the stress is deflected.
[0003] Meanwhile, to improve productivity by shortening the cycle time, it is desirable to automatically resume a robot's movement without manual operation. For example, it is desirable to immediately resume a robot's movement when a worker moves away from the robot, to prevent the worker from remaining in contact with the robot immediately after coming into contact, when a transport vehicle is moving near the robot and the floor is vibrating, or when electrical noise is applied to a force sensor or the like.
[0004] For example, the robot control device described in Patent Literature 1 for improving productivity continues execution of a motion program when an external force is continuously equal to or less than a first external force determination value during a period of a predetermined first time length, and the external force continuously exceeds a second external force determination value or less during a period of a second time length. Citation listPatent literature
[0005] Patent Literature 1: Japanese Patent No. 6 034 900 Short descriptionTechnical problem
[0006] However, in the technique of Patent Literature 1 described above, a robot's movement is uniformly continued after the lapse of a certain period of time (2 seconds or more or 3 seconds or less) without considering a situation where a collision has occurred. Therefore, the robot's movement may continue at an inappropriate timing. For example, in the technique of Patent Literature 1 described above, there may be a case where a time period before the automatic operation is continued is too long even though the collision is minor, or there may be a case where the time period before the automatic operation is continued is insufficient even though the collision is serious.Therefore, in the technique of the above Patent Literature 1, there is a problem that the movement of a robot cannot be continued at an appropriate timing according to a situation in which a collision has occurred.
[0007] The present disclosure has been made in view of the foregoing, and it is an object of the present disclosure to obtain a robot control device capable of continuing a movement of a robot at an appropriate timing according to a situation in which a collision has occurred. Solution to the problem
[0008] To solve the above-described problem and achieve the object, a robot control device of the present disclosure includes a motion command unit that issues a motion command to a robot having an arm driven by a motor. Further, the robot control device according to the present disclosure includes: an internal force estimation unit that calculates an internal force based on a change in a rotational position of the motor, the internal force being applied to the robot; and an external force estimation unit that calculates a disturbance estimation value based on a magnitude of a torque applied to each axis of the arm and the internal force, the disturbance estimation value being an estimation value of a disturbance that the arm receives from the outside.In addition, the robot control device of the present disclosure includes a control method determining unit that determines a control method and variably sets a switching time period based on a feature quantity of the disturbance estimation value, the control method corresponding to an operation state to which the robot is to be switched, the switching time period being the time period required to switch the control method.Until the control method determining unit determines the control method, the motion command unit controls the robot so that the robot is operated in an automatic operation state, wherein the motion command unit controls the robot by using a motion program for controlling the robot, and after the control method determining unit determines the control method, the motion command unit controls the robot by the set control method after the elapse of the variably set switching time period. Advantageous effects of the invention
[0009] The robot control device according to the present disclosure has an effect of enabling a movement of a robot to be continued at an appropriate timing in accordance with a situation in which a collision occurs. Short description of the drawings Fig. 1 is a block diagram illustrating a configuration of a robot control system including a robot control device according to an embodiment. Fig. 2 is a diagram showing a first example of a change in a disturbance estimation value calculated by an external force estimation unit of the robot control device according to the embodiment. Fig. 3 is a diagram showing a second example of a change in the disturbance estimation value calculated by the external force estimation unit of the robot control device according to the embodiment. Fig. 4 is a diagram illustrating state transitions of a robot according to the embodiment. Fig. 5 is a diagram for describing a speed restriction in a speed-restricted automatic operation state of the robot according to the embodiment. Fig. 6 is a flowchart illustrating a procedure for a control operation to be executed by the robot control device according to the embodiment. Fig. 7 is a diagram illustrating an exemplary configuration of hardware implementing the robot control device according to the embodiment. Description of embodiments
[0010] Hereinafter, a robot control apparatus, a robot control method, a robot control system, and a robot control program according to an embodiment of the present disclosure will be described in detail with reference to the drawings. Embodiment.
[0011] Fig. 1 is a block diagram illustrating a configuration of a robot control system including a robot control device according to an embodiment. A robot system 50 includes a robot 2 and a robot control device 1 that controls the robot 2.
[0012] The robot 2 is, for example, a six-axis vertically articulated robot that transports a processing target such as a workpiece. The robot 2 has an arm (not shown) and grasps a workpiece using a hand or the like attached to the arm. The hand has a function of grasping the workpiece and a function of releasing the workpiece. Note that a member to be attached to the arm is not limited to the hand and may be, for example, a suction mechanism that sucks a workpiece, etc., or a processing mechanism that processes a workpiece, etc.
[0013] The robot 2 includes an arm drive motor 21, a hand drive motor 22, a force detector 23, and a value sensor 24. The arm drive motor 21 is arranged on each axis. The force detector 23 is arranged on each axis. The value sensor 24 is arranged on each axis. In a case where the robot 2 is a six-axis vertically articulated robot, six arm drive motors 21, six force detectors 23, and six value sensors 24 are arranged in the robot 2.
[0014] The arm drive motors 21 drive the arm, and the hand drive motor 22 drives the hand. The arm drive motors 21 and the hand drive motor 22 are controlled by the robot controller 1.
[0015] Further, each force detector 23 detects the magnitude of a torque applied to the corresponding axis of the arm. The force to be received by the respective force detector 23 includes gravity, force due to inertia, force due to a collision with an object, and the like. That is, the force to be received by each of the force detectors 23 includes, for example, a force generated at the time of a collision, which is a force not expected by the robot 2. The encoders 24 detect the positions (rotational positions) of the arm drive motors 21 and the hand drive motor 22.
[0016] The robot control device 1 is a computer that controls the robot 2 based on a motion program. The robot control device 1 includes a motion program storage unit 11 for storing a motion program, and a control parameter storage unit 12 for storing control parameters to be used to control the robot 2. In addition, the robot control device 1 includes a determination value storage unit 13 for storing external force determination values and a robot model parameter storage unit 14 for storing robot model parameters used in calculating the dynamics of the robot 2. The robot model parameters are parameters related to internal forces to be applied to the arm, hand, or the like of the robot 2.
[0017] The motion program to be stored in the motion program storage unit 11 is a program in which a motion of the robot 2 is specified. The external force determination values stored in the determination value storage unit 13 are threshold values used to determine an operating state to which the motion state of the robot 2 is to be switched. Examples of the robot model parameters stored in the robot model parameter storage unit 14 include the length of each arm of the robot 2, the weight of each arm, the position of the center of gravity of each arm, and the thickness of each arm.
[0018] The robot control device 1 further includes a motion command unit 15, a control method determination unit 16, an external force estimation unit 17, and an internal force estimation unit 18. The internal force estimation unit 18 receives detection values detected by the value sensors 24. In addition, the internal force estimation unit 18 also reads the robot model parameters from the robot model parameter storage unit 14.
[0019] The internal force estimation unit 18 calculates internal forces based on a change in the detection values (change in rotational positions) detected by the encoders 24 and the robot model parameters. The internal forces to be calculated by the internal force estimation unit 18 include the gravity, inertial force, and the like of the robot 2 (arm and hand). The internal forces calculated by the internal force estimation unit 18 correspond to the forces applied to joints due to the movement of the robot 2. The internal force estimation unit 18 transmits the calculated internal forces to the external force estimation unit 17.
[0020] The external force estimation unit 17 receives from each of the force detectors 23 the magnitude of a torque applied to the corresponding one of the axes, which is detected by the force detector 23. The external force estimation unit 17 calculates a disturbance estimate F based on the internal forces calculated by the internal force estimation unit 18, the magnitude of the torque applied to a respective axis, which was detected by the corresponding one of the force detectors 23, and the robot model parameters. The disturbance estimate F is an estimate of a force (disturbance) that the arm of a respective axis or the hand receives from the outside. Thus, the following equation applies: Disturbance estimate F = (forces received by the force detectors 23) - (internal forces). The external force estimation unit 17 transmits the calculated disturbance estimate F to the control method determination unit 16.The external force estimation unit 17 or each force detector 23 corresponds to a collision detection unit.
[0021] In addition, the control method determination unit 16 receives the disturbance estimated value F from the external force estimation unit 17. The control method determination unit 16 reads the external force determination values from the determination value storage unit 13. The control method determination unit 16 compares the disturbance estimated value F with the external force determination values and determines a control method based on a comparison result. That is, the control method determination unit 16 determines an operation state in which the motion state of the robot 2 is to be switched based on the disturbance estimated value F and the external force determination values. The control method determination unit 16 transmits, as a determination result, information (hereinafter referred to as control method specification information) in which the control method is specified to the motion command unit 15.The control method determination unit 16 generates control method specification information for continuing automatic operation after a longer time as the external force applied to the robot 2 is larger, and generates control method specification information for continuing automatic operation after a shorter time as the external force applied to the robot 2 is smaller. As described above, the control method specification information is information corresponding to the state of the external force applied to the robot 2. The automatic operation is an operation performed according to the motion program and is a normal operation in which speed restriction, stop, force feedback, or the like are not performed.
[0022] The control method determination unit 16 stores in the determination value storage unit 13 a change in the disturbance estimation value F related to the disturbance during a period from a start time T1 to an end time T2. The start time T1 is a time at which the disturbance estimation value F exceeds an external force determination value (hereinafter referred to as external force determination value FA3). The end time T2 is a time at which the disturbance estimation value F becomes equal to or smaller than the external force determination value FA3.
[0023] The control method determining unit 16 calculates a feature quantity of the disturbance estimated value F stored in the determination value storage unit 13. The feature quantity of the disturbance estimated value F includes at least one of: a maximum value of the disturbance estimated value F with respect to a disturbance during a time period Tx from a start time T1 to an end time T2, a value of an integral of the disturbance estimated value F with respect to the disturbance during the time period Tx, a maximum derivative value of the disturbance estimated value F with respect to the disturbance during the time period Tx, and a time difference between the start time T1 and the end time T2 (length of the time period Tx).
[0024] Based on the feature size of the disturbance estimation value F, the control method determination unit 16 calculates a timing before the robot 2 starts automatic operation with a speed restriction (hereinafter referred to as speed-restricted automatic operation) and a timing before the robot 2 proceeds to automatic operation without speed restriction. Specifically, based on the feature size of the disturbance estimation value F, the control method determination unit 16 calculates a switching period (hereinafter referred to as period TL1) from the time the robot 2 enters a rest state until the time the robot 2 starts speed-restricted automatic operation.In addition, the control method determination unit 16 calculates, based on the feature quantity of the disturbance estimation value F, a switching time period (hereinafter referred to as time period TL2) from the start of the speed-limited automatic operation of the robot 2 to the continuation of the automatic operation of the robot 2. The time period TL1 corresponds to a first time period, and the time period TL2 corresponds to a second time period.
[0025] In this way, the control method determination unit 16 determines, based on the feature size of the disturbance estimation value F, a control method corresponding to an operation state to which the robot 2 is to be switched, and variably sets a switching time required to switch the control method. For example, when variably setting the switching time required to switch the control method, the control method determination unit 16 can linearly change a time required for switching. That is, the switching time can be increased linearly with an increase in the impact force of a collision (for example, the feature size of the disturbance estimation value F).As another example, the control method determination unit 16 may reserve a plurality of switching periods (two or more switching periods, such as a longer period and a shorter period) such that a longer switching period is set when the feature size of the disturbance estimation value F is greater than a specific value, and a shorter switching period is set when the feature size of the disturbance estimation value F is equal to or less than the specific value. That is, when three or more switching periods are reserved, the switching period may be gradually increased with an increase in the impact force of a collision (for example, the feature size of the disturbance estimation value F).For example, the control method determining unit 16 sets a switching time period such that at least one of the switching time period TL1 and the switching time period TL2 becomes longer as the feature quantity of the disturbance estimation value F becomes larger.
[0026] For example, the control method determination unit 16 lengthens the time periods TL1 and TL2, which are the switching time periods, as the maximum value of the disturbance estimate F becomes larger. In addition, the control method determination unit 16 lengthens the time periods TL1 and TL2 as the value of the integral of the disturbance estimate F becomes larger. Further, the control method determination unit 16 lengthens the time periods TL1 and TL2 as the maximum derivative value of the disturbance estimate F is larger. Further, the control method determination unit 16 lengthens the time periods TL1 and TL2 as the time difference between the start time T1 and the end time T2 is larger.
[0027] As described above, the robot control device 1 calculates the time periods TL1 and TL2 at which timing the automatic operation is continued, based on the feature size of the disturbance estimation value F. Thus, the robot control device 1 can set the timing at which the automatic operation is advanced to an appropriate timing depending on the feature size of the disturbance estimation value F, and can set an operation speed at which the automatic operation is continued to an appropriate speed depending on the feature size of the disturbance estimation value F.
[0028] Based on the time period TL1, the control method determination unit 16 generates control method specification information specifying a control method for starting a speed-limited automatic operation. Additionally, based on the time period TL2, the control method determination unit 16 generates control method specification information specifying a control method for starting an automatic operation.
[0029] The control method specifying information, which specifies the control method for starting a speed-limited automatic operation, is command information for starting the speed-limited automatic operation after the time period TL1 has elapsed since the robot 2 entered the sleep state. The control method specifying information, which specifies the control method for starting the automatic operation, is control information for causing the robot 2 to continue the automatic operation after the time period TL2 has elapsed since the start of the speed-limited automatic operation.
[0030] The motion command unit 15 receives the control method specification information from the control method determination unit 16. The motion command unit 15 reads the motion program from the motion program storage unit 11 and reads the control parameters from the control parameter storage unit 12. The motion command unit 15 controls the arm drive motors 21 and the hand drive motor 22 using the motion program and the control parameters.
[0031] Further, the motion command unit 15 changes a control method for the robot 2 based on the control method specification information. That is, the motion command unit 15 generates command values corresponding to the state of the external force applied to the robot 2 and outputs the command values to the arm drive motors 21 and the hand drive motor 22. As described above, the motion command unit 15 controls the arm drive motors 21 and the hand drive motor 22 using the command values corresponding to the state of the external force applied to the robot 2.
[0032] The motion command unit 15 controls the robot 2 so that the robot 2 operates in an automatic operation state based on the motion program until the control method determination unit 16 sets a control method. When the control method determination unit 16 sets a control method, the motion command unit 15 controls the robot 2 using the control method set by the control method determination unit 16. The control method determination unit 16 sets the automatic operation state after a specific condition is met.
[0033] Fig. 2 is a diagram showing a first example of a change in the disturbance estimation value calculated by the external force estimation unit of the robot control device according to the embodiment. In the Fig. In the graph given in Figure 2, the horizontal axis represents time, and the vertical axis represents the disturbance estimate F estimated by the external force estimation unit 17. This means that the Fig. The graph given in Figure 2 represents a temporal change of the disturbance estimate F.
[0034] The external force determination values stored in the determination value storage unit 13 are external force determination values FA1, FA2, and FA3. The external force determination values FA1, FA2, and FA3 have the following dependency: External force determination value FA1 > External force determination value FA2 > External force determination value FA3 > 0.
[0035] The external force determination value FA1 is a threshold value for determining whether the robot 2 should be stopped. When the disturbance estimation value F exceeds the external force determination value FA1, the control method determination unit 16 determines that the robot 2 should be stopped and enters a stopped state in which operation does not automatically resume.
[0036] The external force determination value FA2 is a threshold value for determining whether the robot 2 should be placed in a force feedback control state. The force feedback state is a state in which the robot control device 1 controls the robot 2 in a direction in which a load applied to the robot 2 is deflected, based on information about a detection of a force generated when the robot 2 and an object come into contact with each other. The control method determination unit 16 determines that the robot 2 should be placed in the force feedback state when the disturbance estimation value F exceeds the external force determination value FA2. In the present embodiment, the external force determination value FA2 corresponds to a first external force determination value, and the external force determination value FA3 corresponds to a second external force determination value.
[0037] The external force determination value FA3 is a threshold value for determining whether the robot 2 is subjected to an external force. The control method determination unit 16 determines that the robot 2 is subjected to the external force when the disturbance estimation value F exceeds the external force determination value FA3.
[0038] The control method determination unit 16 stores the start time T1 and the end time T2 in the determination value storage unit 13. The start time T1 is a time at which the disturbance estimation value F exceeds the external force determination value FA3. The end time T2 is a time at which the disturbance estimation value F becomes less than or equal to the external force determination value FA3.
[0039] The graph of Fig. Figure 2 shows a case where the robot 2 and the object have come into contact with each other at the starting time T1, and thus the disturbance estimation value F has exceeded the external force estimation value FA3. In addition, the graph in Fig. 2 illustrates a case in which the state of the robot 2 was switched to the force feedback control state at the time point at which the disturbance estimation value F exceeded the external force determination value FA2, and an external force factor (disturbance) was eliminated before the end time T2.
[0040] When control of the robot 2 is initiated, the motion command unit 15 controls the robot 2 using automatic operation. Subsequently, the control method determination unit 16 determines that the robot 2 and the object have come into contact with each other at the start time T1. Further, when the disturbance estimation value F exceeds the external force determination value FA2, the control method determination unit 16 transmits control method specification information specifying the force feedback control to the motion command unit 15. Thus, the motion command unit 15 controls the robot 2 so that the robot 2 enters the force feedback control state.
[0041] The graph of Fig. 2 illustrates a case where the disturbance estimation value F has begun to decrease without reaching the external force determination value FA1 after a specific time has elapsed, after which the robot 2 has entered the force feedback control state. The control method determination unit 16 determines that the contact between the robot 2 and the object has ended at the end time T2.
[0042] The control method determination unit 16 calculates the time periods TL1 and TL2 based on the feature size of the disturbance estimation value F with respect to the disturbance during the period from the start time T1 to the end time T2. The control method determination unit 16 transmits control method specification information corresponding to the time periods TL1 and TL2 to the motion command unit 15. Thus, the motion command unit 15 starts a speed-limited automatic operation at a time T3 (T2 + TL1), that is, at a time when the time periods TL1 have passed after the robot 2 enters the rest state. In the present embodiment, the robot 2 enters the rest state at the end time T2, that is, at the time when the disturbance estimation value F becomes equal to or smaller than the external force determination value FA3.The movement command unit 15 continues the automatic operation when the time periods TL2 have passed since the start of the speed-limited automatic operation.
[0043] Fig. 3 is a diagram showing a second example of a change in the disturbance estimation value calculated by the external force estimation unit of the robot control device according to the embodiment. In the Fig. In the graph given in Figure 3, the horizontal axis represents time, and the vertical axis represents the disturbance estimate F, which was estimated by the external force estimation unit 17. This means that the Fig. The graph given in Figure 3 represents a temporal change of the disturbance estimate F.
[0044] Fig. 3 illustrates a case where the disturbance estimation value F calculated by the external force estimation unit 17 exceeds the external force determination value FA1, which is a determination value for stopping. When control of the robot 2 is started, the motion command unit 15 controls the robot 2 through an automatic operation. Subsequently, the control method determination unit 16 determines that the robot 2 and the object have come into contact with each other at the start time T1. Further, when the disturbance estimation value F exceeds the external force determination value FA2, the control method determination unit 16 transmits control method specification information specifying the force feedback control to the motion command unit 15. Thus, the motion command unit 15 controls the robot 2 so that the robot 2 enters the force feedback control state.
[0045] The graph of Fig. 3 illustrates a case where the disturbance estimation value F exceeds the external force determination value FA1 after a specific time has passed since the robot 2 entered the force feedback control state. When the disturbance estimation value F exceeds the external force determination value FA1, the control method determination unit 16 immediately transmits control method specification information for decelerating and stopping the robot 2 to the motion command unit 15. As a result, the motion command unit 15 immediately decelerates and stops the robot 2 and turns off the power supply to the robot 2.
[0046] The graph of Fig. 3 illustrates a state in which the robot 2 continues to be subjected to a load from the object with which the robot 2 collided even after the robot 2 has stopped. As described above, in the present embodiment, it is difficult to guarantee that hardware has not failed when the disturbance estimation value F exceeds the external force determination value FA1. Therefore, the robot 2 does not automatically resume its operation thereafter.
[0047] The robot controller 1 calculates the disturbance estimate F in the following procedure. The robot controller 1 obtains a position of each arm drive motor 21 from the encoder 24 provided on a corresponding one of the axes of the arm of the robot 2. Further, the robot controller 1 obtains the position of the hand drive motor 22 from the encoder 24 provided on the hand of the robot 2. In addition, the robot controller 1 obtains the magnitude of a torque applied to each axis of the arm and hand of the robot 2 from the force detector 23 provided on the axis.
[0048] Specifically, the internal force estimation unit 18 calculates an internal force by using dynamics based on information about the temporal change of the position of each axis obtained from the corresponding one of the encoders 24 and the robot model parameters stored in the robot model parameter storage unit 14. Then, the external force estimation unit 17 subtracts the internal force calculated by the internal force estimation unit 18 for each axis from the magnitude of the torque acquired for each axis from the corresponding one of the force detectors 23 to estimate the torque applied to each axis from the outside.
[0049] Subsequently, the external force estimation unit 17 calculates an inverse matrix of a transposed matrix of the Jacobian matrix using the robot model parameters to act on the torque applied externally to a respective axis. Thus, the external force estimation unit 17 calculates the magnitude of a force applied to the arm and hand, i.e., the disturbance estimate F, using the statics.
[0050] Fig. 4 is a diagram illustrating state transitions of the robot according to the embodiment. States of the robot system 50 include an automatic operation state A1, a force feedback control state A2, a rest state A3, a speed-limited automatic operation state A4, and a stopped state A5. A control method corresponding to the force feedback state A2 is a first control method. A control method corresponding to the speed-limited automatic operation state A4 is a second control method. A control method corresponding to the automatic operation state A1 is a third control method.
[0051] The automatic operation state A1 is a state in which the robot 2 operates according to the motion program. The force feedback control state A2 is a state in which feedback control is performed in a direction in which an external force is deflected, according to the direction and magnitude of the external force detected as a result of a collision. The force feedback control state A2 includes the rest state A3. The rest state A3 is a state in which an external force factor is eliminated due to the force feedback control, and the robot 2 does not move. That is, the rest state A3 is a state in which the robot 2 is stationary in the force feedback control state A2.The speed-limited automatic operation state A4 is a state in which the movement speed, which changes according to the magnitude of the external force, is subject to a speed restriction. The stopped state A5 is a state in which operation does not resume automatically.
[0052] The robot controller A1 compares the disturbance estimation value F with the external force determination values FA1 to FA3, and changes the state of the robot 2 based on the comparison result. If the disturbance estimation value F exceeds the external force determination value FA2 (when F > FA2) is detected in the automatic operation state A1, the robot controller 1 changes the state of the robot 2 to the force feedback control state A2.
[0053] When the disturbance estimation value F is detected below the external force estimation value FA3 in the force feedback control state A2 (when F ≤ FA3), the robot controller 1 changes the state of the robot 2 to the rest state A3.
[0054] When the disturbance estimation value F exceeding the external force determination value FA2 is detected in the rest state A3 (when F > FA2), the robot controller 1 transitions the state of the robot 2 to the force feedback control state A2. When the time period TL1 required to continue the automatic operation has elapsed in the rest state A3, the robot controller 1 transitions the state of the robot 2 to the speed-limited automatic operation state A4.
[0055] When the disturbance estimation value F exceeding the external force determination value FA2 is detected in the speed-limited automatic operation state A4 (when F>FA2), the robot controller 1 transitions the state of the robot 2 to the force feedback control state A2. When the time period TL2 from the start of the speed-limited automatic operation state A4 to the end of the speed limitation has elapsed in the speed-limited automatic operation state A4, the robot controller 1 transitions the state of the robot 2 to the automatic operation state A1. When the disturbance estimation value F exceeding the external force determination value FA1 is detected in the force feedback control state A2 (when F>FA1), the robot controller 1 transitions the state of the robot 2 to the stopped state A5.
[0056] The motion command unit 15 generates command values according to the state determined by the control method determination unit 16. That is, the motion command unit 15 generates command values that correspond to the control method set by the control method determination unit 16.
[0057] In the automatic operation state A1, the motion command unit 15 controls the robot 2 based on the motion program stored in the motion program storage unit 11. In the automatic operation state A1, the control method determination unit 16 monitors the magnitude of a relationship between the external force determination value FA2 and the disturbance estimation value F.
[0058] In the force feedback control state A2, the motion command unit 15 stops the automatic operation performed based on the motion program and performs feedback control in a direction in which the detected disturbance estimate F is deflected, according to the direction and magnitude of the disturbance estimate F. In the force feedback control state A2, the control method determination unit 16 monitors the magnitude of the dependency between the external force determination value FA1 and the disturbance estimate F and the magnitude of the dependency between the external force determination value FA3 and the disturbance estimate F. In addition, the control method determination unit 16 stores in the determination value storage unit 13 the start time T1 at which the force feedback control state A2 was established.
[0059] A control method to be applied in the rest state A3 is the same as a control method to be applied in the force feedback control state A2. Meanwhile, the rest state A3 is a state in which contact with the object with which the robot 2 collided has been eliminated by force feedback control, or a state in which the external force has been eliminated.
[0060] In the rest state A3, the control method determination unit 16 monitors the magnitude of the relationship between the external force determination value FA2 and the disturbance estimation value F. Further, the control method determination unit 16 stores, in the determination value storage unit 13, the end time T2 at which the robot 2 entered the rest state A3. Then, the control method determination unit 16 monitors the magnitude of the relationship between a time elapsed since the end time T2 at which the robot 2 entered the rest state A3 and the time period TL1 required to resume automatic operation. In addition, in the stopped state A5, the robot 2 is immediately decelerated and stopped, and the power supply is cut off, and thereafter, the robot 2 does not automatically resume operation.
[0061] The speed-limited automatic operation state A4 is a state in which automatic operation is performed at a speed that is gradually increased. In the speed-limited automatic operation state A4, the control method determination unit 16 monitors the magnitude of the dependency between the external force determination value FA2 and the disturbance estimation value F. In addition, the control method determination unit 16 monitors the magnitude of the dependency between the time period TL2 and a time elapsed since the time T3 at which the robot 2 entered the speed-limited automatic operation state A4.
[0062] For example, the control method determining unit 16 calculates the time period TL1 required to continue the automatic operation with a speed restriction as follows.The control method determining unit 16 calculates the time period TL1 based on the sum of at least two of: a value obtained by multiplying the maximum value of the disturbance estimated value F with respect to the disturbance during the period from the start time T1 to the end time T2 by a weight WA1, a value obtained by multiplying the value of an integral of the disturbance estimated value F with respect to the disturbance during the period from the start time T1 to the end time T2 by a weight WA2, a value obtained by multiplying the maximum derived value for the disturbance estimated value F with respect to the disturbance during the period from the start time T1 to the end time T2 by a weight WA3, and a value obtained by multiplying the difference between the start time T1 and the end time T2 by a weight WA4.
[0063] Further, the control method determining unit 16 calculates the time period TL2 required to continue an automatic operation, for example, as follows.That is, the control method determining unit 16 calculates the time period TL2 based on the sum of at least two of: a value obtained by multiplying the maximum value of the disturbance estimated value F with respect to the disturbance during the period from the start time T1 to the end time T2 by a first weight WB1, a value obtained by multiplying the value of an integral of the disturbance estimated value F with respect to the disturbance during the period from the start time T1 to the end time T2 by a weight WB2, a value obtained by multiplying the maximum derivative value of the disturbance estimated value F with respect to the disturbance during the period from the start time T1 to the end time T2 by a weight WB3, and a value obtained by multiplying the difference between the start time T1 and the end time T2 by a weight WB4.
[0064] Weighting WA1 corresponds to a first weighting, and weighting WA2 corresponds to a second weighting. Additionally, weighting WA3 corresponds to a third weighting, and weighting WA4 corresponds to a fourth weighting.
[0065] Furthermore, the weighting WB1 corresponds to a fifth weighting, and the weighting WB2 corresponds to a sixth weighting.
[0066] Furthermore, the weighting WB3 corresponds to a seventh weighting and the weighting WB4 corresponds to an eighth weighting.
[0067] Fig. 5 is a diagram for describing a speed limitation in the speed-limited automatic operation state of the robot according to the embodiment. In the Fig. In the graph given in Figure 5, the horizontal axis represents time and the vertical axis represents the speed limit in the speed-limited automatic operation state A4. This means that the Fig. The graph given in Figure 5 represents the temporal change of the speed limit in the speed-limited automatic operation state A4.
[0068] In the robot 2, until the speed limit reaches an unlock Nmax specified in the motion program, the unlock increases linearly during the time period TL2 from time T3 at which the robot 2 enters the speed-limited automatic operation state A4. That is, the robot controller 1 linearly increases the speed limit from time T3 to time T4 (T3 + TL2), and controls the speed limit so that the speed limit becomes the unlock Nmax at time T4. That is, the control method determining unit 16 linearly increases the speed limit during the time period TL2 so that the speed limit becomes maximum when the time period TL2 elapses. The time T4 is represented as T2 + TL1 + TL2.It is noted that with respect to a method for increasing the speed limit, the speed limit may be increased gradually instead of being increased linearly.
[0069] Note that the control method determination unit 16 may calculate the speed limit instead of the time period TL2. The speed limit then refers to a speed corresponding to the time period TL2. In this case, the robot controller 1 causes the robot 2 to operate at time T3 and thereafter with a speed limit calculated by the control method determination unit 16. After the time period TL2 has elapsed, the robot 2 enters the automatic operation state A1 and executes a movement specified in the movement program.
[0070] Fig. 6 is a flowchart illustrating a procedure for a control process to be executed by the robot control device according to the embodiment. The motion command unit 15 of the robot control device 1 issues a motion command to the robot 2 (step S1). The internal force estimation unit 18 calculates internal forces based on a change in a detection value detected by each encoder 24 and the robot model parameters (step S2). The external force estimation unit 17 estimates the disturbance estimation value F based on the internal forces, the magnitude of a torque applied to each axis and detected by a corresponding one of the force detectors 23, and the robot model parameters (step S3).
[0071] The control method determination unit 16 compares the disturbance estimation value F with the external force estimation values. Specifically, the control method determination unit 16 determines whether the relationship "disturbance estimation value F > external force estimation value FA3" is satisfied (step S10).
[0072] When the dependency “disturbance estimated value F > external force determination value FA3” is not satisfied (step S10, NO), the control method determination unit 16 returns to the process of step S1 and executes the processes of steps S1 to S3.
[0073] When the dependency “disturbance estimated value F > external force determination value FA3” is satisfied (step S10, YES), the control method determination unit 16 updates the start time T1 stored in the determination value storage unit 13, and stores the temporary change of the disturbance estimated value F in the determination value storage unit 13 (step S20).
[0074] The control method determination unit 16 compares the disturbance estimation value F with the external force estimation values. Specifically, the control method determination unit 16 determines whether the relationship "disturbance estimation value F ≤ external force estimation value FA3" is satisfied (step S30).
[0075] When the dependency “disturbance estimation value F ≤ external force determination value FA3” is not satisfied (step S30, NO), the control method determination unit 16 proceeds to a process of comparing between the external force determination value FA3 and the time-changing disturbance estimation value F (step S30).
[0076] When the dependency “disturbance estimated value F ≤ external force determination value FA3” is satisfied (step S30, YES), the control method determination unit 16 updates the end time T2 stored in the determination value storage unit 13, and calculates the feature quantity of the disturbance estimated value F (step S40).
[0077] The control method determination unit 16 calculates the time periods TL1 and TL2 based on the feature size of the disturbance estimate F (step S50). The control method determination unit 16 sets control methods based on the time periods TL1 and TL2 (step S60). That is, the control method determination unit 16 generates control method specification information corresponding to the time periods TL1 and TL2. The control method determination unit 16 transmits the control method specification information to the movement command unit 15. In addition, the control method determination unit 16 deletes the temporal change of the disturbance estimate F stored in the determination value storage unit 13 (step S70).
[0078] The motion command unit 15 executes control according to the control method specification information. That is, the motion command unit 15 controls the robot 2 using the control method based on the time periods TL1 and TL2 (step S80). Thus, the robot control device 1 changes the control method for the robot 2 according to the time periods TL1 and TL2 calculated based on the feature size of the disturbance estimation value F.
[0079] As described above, when the feature quantity of the disturbance estimation value F calculated from the external force received by the robot 2 is small, the robot control device 1 determines that a collision was slight and shortens the time required to resume operation. Thus, the robot control device 1 can shorten the tact time by causing the robot 2 to operate at a high speed from the time of resume operation.
[0080] Meanwhile, when the feature size of the disturbance estimation value F calculated from the external force received by the robot 2 is large, the robot controller 1 determines that it takes time to recover and extends the time required to resume operation. As a result, the robot controller 1 can resume automatic operation after ensuring sufficient safety. In addition, in the event of a collision with a large impact force, the robot controller 1 can reduce a risk immediately after resume operation by gradually increasing an operation speed at the time of resume automatic operation.As described above, the robot control device 1 controls the time required to continue the operation and the operation speed at which the operation continues according to the strength (collision degree) of an external force received by the robot 2. This allows the robot control device 1 to achieve recovery operation with near-human feel. This means that the robot control device 1 can achieve both a reduction in tact time and an increase in safety.
[0081] A hardware configuration of the robot control device 1 is described below. Fig.7 is a diagram illustrating an exemplary configuration of hardware implementing the robot control device according to the embodiment. The robot control device 1 may be implemented by an input device 300, a processor 100, a memory 200, and an output device 400. Examples of the processor 100 include a central processing unit (CPU) (which may also be referred to as a processing device, arithmetic device, microprocessor, microcomputer, or digital signal processor (DSP)) and a large-scale integration (LSI) system. Examples of the memory 200 include a random access memory (RAM) and a read-only memory (ROM).
[0082] The robot control device 1 is implemented by the processor 100, which reads and executes a computer-executable control program for carrying out the operation of the robot control device 1, the control program being stored in the memory 100. It can also be said that the control program, which is a program for carrying out the operation of the robot control device 1, causes a computer to execute a procedure or method for the robot control device 1.
[0083] The control program to be executed by the robot control device 1 is configured in a modular manner, including an execution unit that performs various types of processing. The execution unit is loaded into a main storage device and generated on the main storage device.
[0084] The input device 300 receives the magnitude of the torque applied to a respective axis from a corresponding one of the force detectors 23 and transmits each magnitude to the processor 100. Furthermore, the input device 300 receives the rotational positions of the arm drive motors 21 and the hand drive motor 22 from the encoders 24 and transmits the rotational positions to the processor 100.
[0085] The memory 200 corresponds to the motion program storage unit 11, the control parameter storage unit 12, the determination value storage unit 13, and the robot model parameter storage unit 14 for storing the robot model parameters. The memory 200 stores a motion program, the control parameters, the external force determination values, the robot model parameters, the control program, and the like. In addition, the memory 200 stores the start time T1, the end time T2, the disturbance estimation value F, and the like. In addition, the memory 200 is used as a temporary storage when the processor 100 executes various types of processing. The output device 400 outputs command values to the arm drive motors 21 and the hand drive motor 22.
[0086] The control program may be stored as a file in an installable format or in an executable format on a computer-readable storage medium, and may be provided as a computer program product. Furthermore, the control program may be provided to the robot controller 1 via a network such as the Internet. Note that some functions of the robot controller 1 may be implemented by dedicated hardware, such as a dedicated circuit, and some of the other functions may be implemented by software or firmware.
[0087] In the embodiment, the robot control device 1 sets a control method based on the external force determination values and the feature size of the disturbance estimation value F, and controls the robot 2 using the set control method as described above. Thus, the movement of the robot 2 can be continued at an appropriate timing according to a situation in which a collision has occurred.
[0088] The configurations given in the above embodiment show examples, and it is possible to combine the configurations with other known technologies, and it is also possible to partially omit or change the configurations without deviating from the spirit. List of reference symbols 1 robot control device; 2 robots; 11 Movement program storage unit; 12 control parameter storage unit; 13 Determination value storage unit; 14 Robot model parameter storage unit; 15 movement command unit; 16 Tax Procedure Determination Unit; 17 External force estimation unit; 18 Internal force estimation unit; 21 Arm drive motor; 22 hand drive motor; 23 force detector; 24 valuers; 50 robot system; 100 processor; 200 storage; 300 input device; 400 output device. QUOTES CONTAINED IN THE DESCRIPTION
[0000] This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions. Cited patent literature
[0000] JP 6 034 900
[0005]
Claims
[1] Robot control device, comprising: a motion command unit for issuing a motion command to a robot having an arm driven by a motor; an internal force estimation unit for calculating an internal force based on a change in a rotational position of the motor, the internal force being applied to the robot; an external force estimation unit for calculating a disturbance estimation value based on a magnitude of a torque applied to each axis of the arm and the internal force, wherein the disturbance estimation value is an estimate of a disturbance that the arm experiences from the outside; and a control method determination unit for determining a control method based on a feature quantity of the disturbance estimation value and variably setting a switching time period, wherein the control method corresponds to an operating state to which the robot is to be switched, and wherein the switching time period is the time period required to switch the control method, wherein the motion command unit controls the robot so that the robot is operated in an automatic operation state until the control method determination unit sets the control method, wherein the motion command unit controls the robot by using a motion program for controlling the robot, and the motion command unit controls the robot by the set control method after the variably set switching time period has elapsed after the control method determination unit has set the control method. [2] The robot control device according to claim 1, wherein the control method determining unit determines the control method and variably sets the switching time period based on an external force determination value and the feature quantity of the disturbance estimation value, the external force determination value being a threshold value used for determining an operation state to which the operation state is to be switched. [3] The robot control device according to claim 1 or 2, wherein the control method determining unit sets the switching time period so that the switching time period becomes longer as the feature size of the disturbance estimation value becomes larger. [4] A robot control device according to claim 2, wherein the operating state comprises: a force feedback control state, which is a state in which the robot is controlled in a direction in which load applied to the robot is deflected; a rest state, which is a state in which a factor for disturbance due to the force feedback control state is eliminated, and the robot does not move; a speed-limited automatic operation state, which is a state in which an automatic operation is performed with a speed restriction imposed on a movement of the robot; and the automatic operation state, and the control method determination unit sets: a first control method of the control method corresponding to the force feedback control state when the robot is switched to the force feedback control state; a second control method of the control method corresponding to the speed-limited automatic operation state when the robot is switched to the speed-limited automatic operation state; and a third control method corresponding to the automatic operation state when the robot is switched to the automatic operation state. [5] Robot control device according to claim 4, wherein the control method determining unit sets the first control method when the disturbance estimate of the external force determination value exceeds a first external force determination value, the control method determining unit calculates a first time period for the switching period based on the feature size of the disturbance estimation value with respect to a disturbance during a period from a start time to an end time, wherein the start time is the time at which the disturbance estimation value exceeds a second external force determination value for the external force determination value, and the end time is the time at which the disturbance estimation value becomes equal to or smaller than the second external force determination value, and the control method determining unit sets the second control method when the first period of time has passed after the first control method was set and the robot is switched to the sleep state. [6] Robot control device according to claim 5, wherein the control method determining unit calculates a second period of the switching period based on the feature quantity of the disturbance estimation value with respect to a disturbance during the period from the start time to the end time, and the control method determining unit sets the third control method when the second period of time has passed after the second control method was set and the robot is switched to the speed-limited automatic operation state. [7] The robot control device according to claim 6, wherein the control method determining unit increases a speed limit during the second period of time so that the speed limit is maximized at a time point when the second period of time elapses. [8] The robot control device according to claim 6 or 7, wherein the feature quantity of the disturbance estimation value includes at least one of the following: a maximum value of the disturbance estimation value with respect to a disturbance during a period from the start time to the end time, a value of an integral of the disturbance estimation value with respect to a disturbance during the period from the start time to the end time, a maximum derived value for the disturbance estimation value with respect to a disturbance during the period from the start time to the end time, and the time difference between the start time and the end time. [9] The robot control device according to claim 8, wherein the control method determining unit calculates the first period of time based on a sum of at least two of the following: a value obtained by multiplying the maximum value by a first weight, a value obtained by multiplying the value of the integral by a second weight, a value obtained by multiplying the maximum derived value by a third weight, and a value obtained by multiplying the difference by a fourth weight. [10] The robot control device according to claim 8, wherein the control method determining unit calculates the second period of time based on a sum of at least two of the following: a value obtained by multiplying the maximum value by a fifth weight, a value obtained by multiplying the value of the integral by a sixth weight, a value obtained by multiplying the maximum derived value by a seventh weight, and a value obtained by multiplying the difference by an eighth weight. [11] Robot control method, comprising: a movement command issuing step of issuing a movement command to a robot having an arm driven by a motor by a robot controller; an internal force estimation step of calculating, by means of the robot control device, an internal force based on a change in a rotational position of the motor, the internal force being applied to the robot; an external force estimation step of calculating, by the robot control device, a disturbance estimation value based on a magnitude of a torque applied to a respective axis of the arm and the internal force, wherein the disturbance estimation value is an estimation value of a disturbance that the arm receives from the outside; and a control method determining step of determining a control method and variably setting a switching time period by means of the robot control device on the basis of a feature quantity of the disturbance estimation value, wherein the control method corresponds to an operating state to which the robot is to be switched, and wherein the switching time period is the time period required to switch to the control method, wherein the robot control device controls the robot until the control method is set so that the robot is operated in an automatic operation state, wherein the robot control device controls the robot using a motion program for controlling the robot, and after the control method is set, the robot control device controls the robot by using the set control method after the variably set switching time period has elapsed. [12] Robot control system, comprising: a robot having an arm driven by a motor; and a robot control device for controlling the robot, wherein the robot control device includes: a motion command unit for issuing a motion command to the robot; an internal force estimation unit for calculating an internal force based on a change in a rotational position of the motor, the internal force being applied to the robot; an external force estimation unit for calculating a disturbance estimation value based on a magnitude of a torque applied to a respective axis of the arm and the internal force, wherein the disturbance estimation value is an estimate of a disturbance that the arm receives from the outside; and a control method determination unit for determining a control method based on a feature quantity of the disturbance estimation value and variably setting a switching time period, wherein the control method corresponds to an operating state to which the robot is to be switched, and wherein the switching time period is the time period required to switch the control method, and the motion command unit controls the robot so that the robot is operated in an automatic operation state until the control method determination unit sets the control method, wherein the motion command unit controls the robot by using a motion program for controlling the robot, and the motion command unit controls the robot using the set control method after the control method determination unit has set the control method and the variably set switching time period has elapsed. [13] Robot control program to cause a computer to execute: a movement command issuing step of issuing a movement command to a robot having an arm driven by a motor; an internal force estimation step of calculating an internal force based on a change in a rotational position of the motor, the internal force being applied to the robot; an external force estimation step of calculating a disturbance estimation value based on a magnitude of a torque applied to a respective axis of the arm and the internal force, the disturbance estimation value being an estimation value of a disturbance that the arm receives from the outside; and a control method determining step of determining a control method and variably setting a switching time period based on a feature quantity of the disturbance estimation value, wherein the control method corresponds to an operating state to which the robot is to be switched, and wherein the switching time period is the time period required to switch the control method, wherein until the control method is set, the robot is controlled by using a motion program for controlling the robot so that the robot is operated in an automatic operation state, and after the control method is set, the robot is controlled using the set control method after the variably set switching time period has elapsed. [14] Robot control device, comprising: a motion command unit for issuing a motion command to a robot having an arm driven by a motor; a collision detection unit for detecting a collision between the arm and an object; and a control method determination unit for determining a control method based on the collision and variably setting a switching time period, wherein the control method corresponds to an operating state to which the robot is to be switched, and wherein the switching time period is the time required to switch the control method, wherein the motion command unit controls the robot by using a motion program for controlling the robot so that the robot is operated in an automatic operation state until the control method determination unit sets the control method, and the motion command unit controls the robot so that the switching time period becomes longer the greater the impact force of the collision.
Citation Information
Patent Citations
Switching pictures for posting
JP1985034900U
JAPANISCHESPATENTNR.6034900