Robot control device, robot control system, and robot control method

By controlling and analyzing the state data of multiple drive axes of a parallel linkage robot, and estimating the contact force using the Lagrange equation of motion, the problem of abnormal judgment caused by torque cancellation of multiple drive axes in a parallel linkage robot is solved. This achieves high-precision collision and dislocation detection, ensuring the stability and safety of the robot's movements.

CN113492391BActive Publication Date: 2026-08-04YASKAWA DENKI KK
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
YASKAWA DENKI KK
Filing Date
2021-03-16
Publication Date
2026-08-04

AI Technical Summary

Technical Problem

In parallel linkage robots, multiple drive axes apply different torques that cancel each other out, resulting in complex relationships between state information and making it difficult to determine abnormalities such as collisions or dislocations based on the state information of a single drive axis.

Method used

A robot control device is used to control multiple drive axes through the drive control unit, and the anomaly determination unit determines collisions and dislocations based on the status data of multiple drive axes. This includes the calculation and processing of motor torque commands, detection positions and detection speeds, and the estimation of contact forces by combining the Lagrange equations of motion to achieve high-precision anomaly determination.

Benefits of technology

It can accurately determine collisions and dislocations in the mechanisms of parallel linkage robots, ensuring the stability and safety of robot movements and reducing the impact of abnormalities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113492391B_ABST
    Figure CN113492391B_ABST
Patent Text Reader

Abstract

A robot control device, a robot control system, and a robot control method. An abnormality of a mechanism section of a parallel link robot is determined. A robot control device (3) controls a parallel link robot (4) having a drive control section (31) that controls a plurality of motors (44) of the parallel link robot (4) and an abnormality determination section (32) that determines at least either of a collision and a dislocation of a mechanism section (50) of the parallel link robot (4) from state data of the plurality of motors (44). In a case where the abnormality determination section (32) determines the collision, the drive control section (31) controls the plurality of motors (44) in such a manner that the mechanism section (50) moves differently in the collision in an XY-axis direction and the collision in a Z-axis direction in a motion space of an XYZ-axis rectangular coordinate system, the Z-axis direction of the XYZ-axis rectangular coordinate system corresponding to a vertical direction.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The disclosed embodiments relate to robot control devices, robot control systems, and robot control methods. Background Technology

[0002] For example, Patent Document 1 describes an anomaly monitoring device that extracts the state information of the motor driving the robot mechanism according to different frequency bands and detects anomalies based on the value obtained by accumulating the output according to each frequency band.

[0003] Patent Document 1: Japanese Patent Application Publication No. 2020-022329 Summary of the Invention

[0004] The problem that the invention aims to solve

[0005] On the other hand, in structures like parallel linkage robots that utilize multiple drive axes to collaboratively control closed linkage mechanisms, there exists a situation where these multiple drive axes apply different torques that cancel each other out, resulting in complex relationships between the state information of these drive axes. Therefore, in the control of parallel linkage robots, it is difficult to determine abnormalities such as collisions or dislocations using only the state information of a single drive axis, as is the case with the aforementioned existing technologies.

[0006] The present invention was made in view of this problem, and its object is to provide a robot control device, a robot control system, and a robot control method capable of detecting abnormalities in the mechanism of a parallel linkage robot.

[0007] Methods for solving problems

[0008] To address the aforementioned issues, according to one aspect of the present invention, a robot control device is provided for controlling a parallel linkage robot. The robot control device comprises: a drive control unit that controls multiple drive axes of the parallel linkage robot; and an anomaly determination unit that determines, based on state data of the multiple drive axes, at least one of collision or dislocation of a mechanism portion of the parallel linkage robot.

[0009] Furthermore, according to another aspect of the present invention, a robot control system is applied, comprising a parallel linkage robot and a robot control device for controlling the parallel linkage robot, the robot control device comprising: a drive control unit that controls a plurality of drive axes of the parallel linkage robot; and an anomaly determination unit that determines, based on state data of the plurality of drive axes, at least one of collision and dislocation of a mechanism of the parallel linkage robot.

[0010] Furthermore, according to another aspect of the present invention, a robot control method is applied, which is executed by a computing device of a robot control device for controlling a parallel linkage robot. Based on the state data of multiple drive axes of the parallel linkage robot, at least one of collision and dislocation of the mechanism of the parallel linkage robot is determined. If a collision is determined, a predetermined control is performed on the multiple drive axes of the parallel linkage robot. If a dislocation is determined, the control of the multiple drive axes is stopped.

[0011] Invention Effects

[0012] According to the present invention, it is possible to determine abnormalities in the mechanism of a parallel linkage robot. Attached Figure Description

[0013] Figure 1 This is a perspective view showing an example of the overall structure of the robot control system according to the first embodiment.

[0014] Figure 2 This is a diagram showing an example of the general structure of an electric motor.

[0015] Figure 3 This is a diagram illustrating an example of the internal structure of a robot control device and the various information it receives and transmits around it.

[0016] Figure 4 This is a diagram illustrating an example of a feedback loop processed within a server.

[0017] Figure 5 This is a diagram illustrating an example of a single-axis drive mechanism model that demonstrates a collision determination method.

[0018] Figure 6 This is a diagram illustrating an example of the time-varying state data of the motor in the control sequence of a single-axis drive mechanism model.

[0019] Figure 7 This is a diagram illustrating an example of a mechanism model for a parallel linkage robot.

[0020] Figure 8 This is a diagram illustrating an example of how to respond to a collision in the XY axis direction.

[0021] Figure 9 This is a diagram illustrating an example of how to respond to a collision in the Z-axis direction.

[0022] Figure 10 This is a diagram illustrating an example of how to respond to a dislocation.

[0023] Figure 11 This is a flowchart illustrating an example of the control steps for exception detection and handling.

[0024] Figure 12 This is a flowchart illustrating an example of the control steps in a job control process.

[0025] Figure 13 This is a perspective view showing an example of the overall structure of the robot control system according to the second embodiment.

[0026] Figure 14 This is a diagram illustrating an example of the internal structure of a robot control device and the various information it receives and transmits around it.

[0027] Figure 15 This is a system block diagram showing the hardware structure of the robot control device.

[0028] Label Explanation

[0029] 1. Robot control system; 2. Upper control device; 3. Robot control device; 4. Parallel linkage robot; 12. Motor body; 13. Braking unit; 14. Encoder unit; 15. Reducer; 16. Three-dimensional acceleration sensor; 31. Drive control unit; 32. Anomaly detection unit; 33. Operation control unit; 34. Motion control unit; 35. Servo unit; 41. Base unit; 42. Movable part; 43. Linkage mechanism unit; 44. Motor (drive shaft); 45. Mounting components; 46. Drive link; 47. Passive link; 48, 49. Spherical bearings; 50. Mechanism unit; SH shaft. Detailed Implementation

[0030] <1. First Implementation>

[0031] <1-1. Simplified Structure of Robot Control System>

[0032] The robot control system of the first embodiment will now be described with reference to the accompanying drawings. The robot control system shown in this embodiment is, for example, a system for controlling a parallel linkage robot that performs tasks such as picking up and placing workpieces. Figure 1 In this system, the robot control system 1 includes a host control device 2, a robot control device 3, and a parallel linkage robot 4. Furthermore, for the sake of clarity in explaining the structure of the parallel linkage robot, etc., directions such as up, down, left, right, forward, and backward are sometimes used appropriately, but the positional relationships of the various structures of the parallel linkage robot 4, etc., are not limited.

[0033] The host control device 2, for example, determines the user's input operation and the type of operation to be performed by the parallel linkage robot 4 via a communication line not specifically illustrated, and outputs the corresponding operation instructions to the robot control device 3 described later.

[0034] The robot control device 3 supplies motor drive power to the multiple motors 44 of the parallel linkage robot 4 according to a predetermined work sequence corresponding to the work instructions input from the aforementioned upper control device 2, thereby controlling the operation of the parallel linkage robot 4. Furthermore, as described later, each of the multiple motors 44 of the parallel linkage robot 4 is equipped with an encoder unit 14 that detects the rotational position of its respective rotor as the motor detection position. The robot control device 3 controls the supply of drive power to each motor based on its detection position to achieve operation based on the aforementioned work sequence. The internal structure and processing of this robot control device 3 will be described in detail later (see the description below). Figure 3 ).

[0035] In the illustrated example, the parallel linkage robot 4 is a mechanical system with three motors 44, capable of controlling the movement of the end effector (not shown) to any coordinate position in its action space through the shaft drive of each motor 44.

[0036] <1-2. Structure of Parallel Linkage Robots>

[0037] like Figure 1 As shown, the parallel linkage robot 4 in this example has a base part 41, a movable part 42, three linkage mechanism parts 43a, 43b, and 43c, and three motors 44a, 44b, and 44c.

[0038] Three linkage components 43a, 43b, and 43c are arranged circumferentially around the central axis AX of the parallel linkage robot 4, connecting the base 41 and the movable part 42. Three motors 44a, 44b, and 44c are disposed on the base 41, driving the linkage components 43a, 43b, and 43c respectively. In this example, the base 41 is formed in a disk shape, and the three motors 44a to 44c are fixed and housed inside it. In this example, the movable part 42 is formed in a disk shape, with a mounting member 45 at its lower end. An end effector, such as a robot hand (not shown), is mounted on the mounting member 45. Furthermore, the structure of each motor 44a to 44c will be described in detail later (see the following description). Figure 2 ).

[0039] All three linkage mechanisms 43a to 43c have the same structure. Linkage mechanism 43a has a drive link 46a connected to the output shaft of motor 44a, and two driven links 47a connected to the drive link 46a and the movable part 42. The two driven links 47a are connected to the drive link 46a via spherical bearings 48a and to the movable part 42 via spherical bearings 49a. Linkage mechanism 43b has a drive link 46b connected to the output shaft of motor 44b, and two driven links 47b connected to the drive link 46b and the movable part 42. The two driven links 47b are connected to the drive link 46b via spherical bearings 48b and to the movable part 42 via spherical bearings 49b. The linkage mechanism 43c includes a drive link 46c connected to the output shaft of the motor 44c, and two passive links 47c connected to the drive link 46c and the movable part 42. The two passive links 47c are connected to the drive link 46c via spherical bearings 48c and to the movable part 42 via spherical bearings 49c. The drive links 46a, 46b, and 46c are linear components extending radially about the central axis AX. In this embodiment, the three linkage mechanism parts 43a, 43b, and 43c, the movable part 42, the mounting part 45, and the end effector (not specifically shown) are collectively referred to as mechanism part 50.

[0040] Furthermore, in the parallel linkage robot 4, a robot coordinate system is set in the motion space of the end effector, with the Z-axis direction corresponding to the XYZ-axis Cartesian coordinates in the vertical direction. In addition, the motor 44 and its corresponding linkage mechanism 43 in the parallel linkage robot 4 are not limited to the three sets shown in the example, but can also be configured with four or more sets (i.e., a multi-axis drive type structure with four or more axes) (not specifically shown).

[0041] Figure 2 An example of the general structure of each motor 44a to 44c will be described. The three motors 44a to 44c have the same structure. For example... Figure 2 As shown, the motor 44 (44a to 44c) includes a motor body 12, a brake unit 13, an encoder unit 14, and a reducer 15. Furthermore, the motors 44a to 44c of this structure correspond to an example of the drive shaft described in each claim.

[0042] The motor body 12 is a rotary type motor having a stator and a rotor (not shown), and the rotor rotates relative to the stator by being supplied with motor drive power.

[0043] The braking unit 13 brakes the rotation of the rotor by receiving a braking signal.

[0044] The encoder section 14 detects the position of the rotor (also known as "rotational position" or "rotation angle") and outputs the position as the motor detection position.

[0045] The reducer 15 takes the rotor's rotating shaft (not shown) as its input shaft, and outputs it to shaft SH via a gear reduction mechanism installed inside the reducer to reduce the speed (position conversion, torque conversion). The aforementioned drive linkages 46 (46a to 46c) are fixed to shaft SH and oscillate for drive.

[0046] <1-3. Detailed Structure of the Robot Control Device>

[0047] Figure 3 The internal structure of the robot control unit 3 and the various information transmitted and received around it are shown. Figure 3 In the robot control device 3, there is a drive control unit 31 and an anomaly determination unit 32.

[0048] The drive control unit 31 controls the three motors 44a to 44c of the parallel linkage robot 4. The drive control unit 31 includes an operation control unit 33, a motion control unit 34, and three servos 35a, 35b, and 35c corresponding to each motor 44a to 44c.

[0049] The operation control unit 33 outputs the movement destination position, i.e., the coordinate position command, of the end effector of the parallel linkage robot 4 to the motion control unit 34 according to the operation sequence corresponding to the operation instructions input from the above-mentioned upper control device 2. The coordinate position command is the three-dimensional coordinate position in the robot coordinate system. The operation control unit 33 continuously outputs the coordinate position command one after another as the movement destination position that the end effector should move to next (by continuously outputting the same coordinate position, the movement stops).

[0050] Furthermore, the operation control unit 33 can output servo shutdown signals indicating the cessation of motor drive power supply and torque limit signals indicating a limitation on output torque to all servos 35 as needed, based on the anomaly determination information input from the anomaly determination unit 32 (described later). Similarly, the operation control unit 33 can also output braking signals to the braking units 13 of all motors 44 as needed, based on the anomaly determination information, to brake the rotation of the motors 44. Regarding the operation of the end effector itself mounted on the mounting component 45 of the parallel linkage robot 4, the operation control unit 33 also controls it according to the above-described operation sequence. For ease of explanation, illustrations related to the control of the end effector are omitted below. The processing details of the operation control unit 33 will be described in detail later.

[0051] The motion control unit 34 calculates the target positions of each motor 44 required for the end effector to move in response to the coordinate position command input from the operation control unit 33 through so-called inverse kinematics calculation, and outputs them as motor position commands to the corresponding servo 35 one by one.

[0052] The servo 35 performs drive power supply control as follows: referring to the motor detection position detected by the encoder unit 14 of the corresponding motor 44, and based on the motor position command input from the motion control unit 34, it performs drive control (in this case, position control) on the motor 44. Furthermore, each servo 35 sequentially outputs its internally generated motor torque command, the motor detection position detected by the corresponding encoder unit 14, and the motor detection speed as motor status data to the fault determination unit 32, which will be described later. The control content of this servo 35 will be described in detail later (see the following description). Figure 4 ).

[0053] The anomaly determination unit 32 determines whether an abnormal state, such as a collision or dislocation, has occurred in the mechanism section 50 of the parallel linkage robot 4, based on the motor status data (motor torque command, motor detection position, and motor detection speed in this example) input from each server 35. It then outputs anomaly determination information, including the determination result and related information, to the operation control unit 33. The processing details of this anomaly determination unit 32 will be described in detail later.

[0054] Furthermore, the processing in the aforementioned drive control unit 31 (job control unit 33, motion control unit 34, and server 35), fault determination unit 32, etc., is not limited to examples of processing division. For example, it can be processed by a smaller number of processing units (e.g., one processing unit), or by more specialized processing units. Additionally, the robot control device 3 can utilize the CPU 901 (computing unit: see below) described later. Figure 15 The program to be executed is installed in software, but some or all of it can also be installed in hardware using actual devices such as ASIC, FPGA, and other circuits.

[0055] <1-4. Control Processing Structure in a Server>

[0056] Figure 4 The feedback loop processed within the aforementioned server 35 is shown. Figure 4 The feedback loop shown is represented by a transfer function in the control processing executed in the servo 35. In this embodiment, the servo 35 performs position control based on the motor position command output by the motion control unit 34, and correspondingly executes the dual-loop processing of the position control feedback loop and the speed control feedback loop shown in the figure.

[0057] In this dual-loop processing, the deviation between the motor position command input from the motion control unit 34 and the motor detection position detected by the encoder unit 14 is calculated as the position deviation, and the position control unit 61 generates a speed command based on this position deviation. Furthermore, the deviation between this speed command and the motor detection speed detected by the encoder unit 14 is calculated as the speed deviation, and the speed control unit 62 generates a motor torque command based on this speed deviation. Additionally, as shown in the figure, the motor detection speed can be calculated by performing a first-order time derivative on the motor detection position using the differential arithmetic unit 65. Then, the PWM control unit 64 supplies drive power based on the motor torque command received via the torque limiter 63, thereby driving the motor 44.

[0058] Here, the torque limiter 63 normally outputs the input motor torque command at its original value. However, during the period when a torque limit signal is input from the operation control unit 33, it limits and outputs the value of the motor torque command using a preset upper limit (or lower limit). Furthermore, the PWM control unit 64 normally supplies motor drive power through PWM control based on the motor torque command. However, during the period when a servo shutdown signal is input from the operation control unit 33, it stops supplying motor drive power, allowing the motor 44 to operate freely (hereinafter referred to as servo shutdown).

[0059] <1-5. Features of this embodiment>

[0060] As described above, the parallel linkage robot 4 generally has a mechanism 50 that forms a closed linkage mechanism by connecting multiple linkage mechanism sections 43 in parallel. The drive control unit 31 cooperates to control multiple motors (drive shafts) that drive each linkage mechanism section 43 individually, thereby enabling the mechanism 50 as a whole to perform arbitrary actions.

[0061] Thus, in a structure where a closed linkage mechanism is driven by the combined cooperative control of multiple motors, depending on the configuration and attitude of the mechanism section 50, in order to stabilize its state, the multiple motors sometimes apply different torques to each linkage to cancel each other out, and the relationship between these torques is complex. Therefore, it is difficult to determine the occurrence of abnormal actions such as collisions or dislocations in the mechanism section 50 simply by relying on the action or state data of any single motor.

[0062] In contrast, this embodiment includes an anomaly determination unit 32, which determines at least one of the collision and dislocation of the mechanism 50 of the parallel linkage robot 4 based on the state data of multiple motors (motor torque command, motor detection position and motor detection speed in this embodiment example).

[0063] Therefore, based on all the state data of the multiple motors 44a to 44c that drive the mechanism 50 of the parallel linkage robot 4, it is possible to determine with high precision whether there is a collision between the mechanism 50 and the outside world, or whether there is a dislocation in the spherical bearings 48 and 49. The methods required to achieve the above functions will be explained in turn below.

[0064] <1-6. Basic Methods for Collision Detection>

[0065] First, refer to Figure 5 The single-axis drive mechanism shown is used as a model example to illustrate the basic method of collision determination in this embodiment. Figure 5 The single-axis drive mechanism 70 shown is configured such that a ball screw 71, vertically mounted on the ground, is rotated by a motor 72, causing the connecting rod 73 to move up and down. As a control sequence for handling collisions in this single-axis drive mechanism 70, the following control sequence is executed: [The text abruptly ends here, likely due to an incomplete sentence or missing information.] Figure 5 (a) shows the link 73 moving downwards midway, when... Figure 5 (b) When the unexpected foreign object 74 collides with the link 73, the movement of the link 73 stops, and then, as shown in the diagram... Figure 5 (c) shows the linkage 73 moving upward to avoid the foreign object 74. Figure 6 The diagram illustrates the time variations in position command speed, motor torque command, and collision torque before and after the collision in this control sequence. Furthermore, the collision torque is equivalent to the value obtained by converting the contact force acting as resistance applied to the link 73 that collides with the foreign object 74 into an external disturbance torque.

[0066] like Figure 6 As shown, the stable motor torque command during the downward movement of link 73 drops significantly immediately after colliding with the foreign object 74, accompanied by a large change in the collision torque. This change is caused by the position or speed command input after the collision, which is to be implemented in the feedback loop of the servo controlling motor 72. In this control sequence, a collision is determined by detecting this change in motor torque command and collision torque. Furthermore, in this control sequence, specifically, after the collision determination, the motor torque command is immediately restricted in the collision direction (torque restriction), and the downward movement is stopped. This suppresses the impact of the collision with the foreign object 74, and then link 73 is moved upward to avoid the collision. In addition, torque restriction is not required for the pull-back direction during this upward movement.

[0067] Here, as Figure 5As shown in (b), the resistance F1 experienced by link 73 immediately after contact with foreign object 74 and the influence of foreign object 74 are relatively small. However, as the downward movement continues, the resistance F2 increases, and the influence of foreign object 74 also increases. Therefore, it is desirable to determine the collision as quickly as possible after link 73 actually contacts foreign object 74 and stop its downward movement. To this end, a method of determining the collision by comparing the motor torque command with a threshold whose absolute value is as small as possible can be considered. However, in this case, it is difficult to set this threshold when considering the stability of the normal upward and downward movement of link 73.

[0068] That is, when the mass of the link 73 itself is very large, or when it is subjected to a rapid lifting or lowering motion, a large motor torque is required during the acceleration and deceleration periods of its lifting and lowering movement, making it impossible to set a lower threshold. Furthermore, in cases such as multi-axis driven multi-joint robots used for transferring workpieces, the required motor torque varies significantly depending on the increase or decrease in the mass of the workpiece being held, the configuration of the link parts, and their orientation. In particular, when controlling the movement of a closed linkage mechanism such as the parallel linkage robot 4 of this embodiment, to stabilize the state of each link mechanism 43, multiple motors 44 sometimes apply different torques to each link mechanism 43, causing them to cancel each other out; the relationship between these torques is complex. As described above, it is difficult to determine collisions in the motor drive mechanism simply by comparing the motor torque command with a fixed threshold.

[0069] In contrast, the anomaly determination unit 32 of this embodiment estimates the contact force F itself, which acts as a resistance from the foreign object 74 on the mechanism unit 50 during a collision. By comparing this contact force F with a very low threshold, a rapid and highly accurate collision determination is performed. The contact force F is estimated through calculation processing based on motor state data of multiple motors 44 (motor torque command, motor detection position, and motor detection speed in this embodiment example).

[0070] <1-7. Estimation and Calculation of Contact Forces>

[0071] The following details the calculation process for estimating the contact force F acting on the mechanism 50 of the parallel linkage robot 4. In this embodiment, the calculation is based on the calculation... Figure 7 The Lagrange equation of motion is derived from the specification parameters defined in the mechanism model of the parallel linkage robot 4 shown. The contact force F acting on the mechanism part 50 is calculated based on the equation of motion.

[0072] First, the kinetic energy of the end effector can be described by the following formula.

[0073]

[0074] Similarly, the kinetic energy of the driving link 46 and the driven link 47 can be described by the following formula.

[0075]

[0076]

[0077] Furthermore, the potential energy of the end effector can be described by the following formula.

[0078] U p =m p g c P z (t)…(Equation 4)

[0079] Similarly, the potential energy of the driving link 46 and the driven link 47 can be described by the following formula.

[0080]

[0081]

[0082] Furthermore, in the above equations (1) to (6), Figure 7 The specifications not listed are as follows.

[0083] m p Quality of the end effector

[0084] m a Mass of the drive link

[0085] J a The inertial torque of the motor's rotor and gears

[0086] J b (t,θ b ): The inertial tensor matrix of the passive link about its center of gravity relative to the XYZ plane.

[0087] g c Gravitational acceleration

[0088] here,

[0089] J b =Rot(δx)Rot(δy)J′ b Rot(δy) T Rot(δx) T

[0090] in,

[0091]

[0092]

[0093] δx and δy are the rotation angles of the passive link 47 about the X and Y axes, respectively. Furthermore,

[0094]

[0095] m b Mass of the passive link

[0096] L1: Length of the passive link

[0097] Moreover, based on the above equations (1) to (6), the following Lagrange function can be obtained.

[0098] L = (T) p +T a +T b )-(U p +U a +U b ...(Equation 7)

[0099] Here, the generalized coordinates are set as

[0100] q = [P x P y P z θ α1 θ α2 θ α3 ]

[0101] The generalized force applied to mechanism 50 is set as

[0102] Q = [F x F y F z Trq1 Trq2 Trq3]

[0103] The equations of motion can be derived by performing the following calculations.

[0104]

[0105] (Where, j = 1 to 6)

[0106] Based on Equation 8 above, the equations of motion can be obtained based on the contact forces F (Fx, Fy, Fz) and the shaft torques (Trq1, Trq2, Trq3) of each motor 44, which are represented by vectors in the XYZ axis directions. Furthermore, in the normal state where the mechanism 50 is not in contact with a foreign object, the contact forces F are 0; therefore, Fx = Fy = Fz = 0. In addition, the shaft torques (Trq1, Trq2, Trq3) are the torques that drive the drive link 46 to swing by the shaft SH output of the reducer 15 of each motor 44, and are values ​​equivalent to the motor torque command × η when the product of the reduction ratio and reduction efficiency of the reducer 15 is η. Moreover, in this embodiment, the contact forces F can be calculated by substituting the motor state data (motor torque command, motor detection position, motor detection speed) of each motor 44 and the position (Px, Py, Pz), speed, and acceleration of the end effector into the differential equation obtained by transforming the equations of motion above (Equation 8). In addition, the anomaly determination unit 32 determines the anomaly based on the... Figure 7 The position, velocity, and acceleration of the end effector can be calculated by using the mechanical specifications shown in the mechanism model and the motor status data input from each servo 35 through forward kinematics calculation.

[0107] <1-8. Regarding the response and control measures for collisions in each axial direction>

[0108] Generally, the picking and placing actions performed by multiple parallel linkage robots 4 are divided into horizontal (XY axis) movement actions and vertical (Z axis) movement actions in their control, and in most cases, these actions are combined as needed. Moreover, in the working environment where the above-mentioned picking and placing actions are performed, the content of the response control required when the mechanism 50 collides with a foreign object 74 other than the workpiece in the horizontal direction and when it collides with a foreign object 74 other than the workpiece in the vertical direction are sometimes different. Therefore, in this embodiment, the operation control unit 33 of the drive control unit 31 performs cooperative control of multiple motors 44 in a manner that different response actions are performed in the horizontal (XY axis) and vertical (Z axis) directions when the mechanism 50 collides.

[0109] <1-8-1. Collision Response Control Content in the XY Axis Direction>

[0110] Figure 8 (a) A side view showing the movable part 42 of the parallel linkage robot 4 colliding with the foreign object 74 mainly in the XY axis direction (horizontal direction). Figure 8(b) shows the state in which the operation control unit 33 controls the movable part 42 to move backward in response to the collision in the XY axis direction. As described above, the anomaly determination unit 32 can substitute the motor state data (motor torque command, motor detection position, motor detection speed) of each motor 44 and the position, speed, and acceleration of the end effector into the prescribed calculation formula obtained according to the equation of motion, thereby successively calculating the contact force F applied to the movable part 42 at that moment, and outputting it to the operation control unit 33 as anomaly determination information. This contact force F is calculated using the component forces Fx, Fy, and Fz in the X-axis, Y-axis, and Z-axis directions of the robot coordinate system.

[0111] Therefore, it is possible to use Fxy=(Fx 2 +Fy 2 ) 1 / 2 The absolute value of the composite force Fxy, obtained by combining the X-axis and Y-axis components Fx and Fy of the contact force F, is calculated. Furthermore, the direction of the composite force Fxy can be determined based on the signs of each component Fx and Fy. Then, if the absolute value of the calculated composite force Fxy exceeds a predetermined threshold, the anomaly determination unit 32 determines that a collision has occurred in the XY-axis direction. Similarly, if the absolute value of the Z-axis component Fz of the contact force F exceeds another threshold, a collision in the Z-axis direction can be easily determined. In these two collision determinations, the object compared with the threshold is only the contact force applied to the mechanism 50; therefore, even with a very small threshold setting, collision determination with high reliability and sensitivity can be performed.

[0112] exist Figure 8 In the example shown in (a), the calculated component force Fz of the contact force F is very small compared to the corresponding threshold, while the resultant force Fxy is very large compared to the corresponding threshold. Therefore, the anomaly determination unit 32 determines that a collision in the XY axis direction only occurred in the mechanism 50 (movable part 42). In the typical operation of a parallel linkage robot 4, when a foreign object 74 collides with the mechanism 50 in the horizontal direction, the impact of the collision can be minimized by simply moving the mechanism 50 away from the collision point P in the horizontal direction along the collision direction. Therefore, in this embodiment, when the anomaly determination unit 32 outputs a determination result that a collision in the XY axis direction has occurred and the resultant force Fxy as anomaly determination information, such as Figure 8 As shown in (b), the operation control unit 33, upon receiving the information, outputs an operation command to cause the movable part 42 to retract and move to a position (predetermined position) that is horizontally separated by a predetermined separation distance De in the direction of the composite force Fxy.

[0113] Alternatively, although there is no specific illustration, instead of comparing the combined force Fxy with the threshold, the force Fx in the X-axis direction and the force Fy in the Y-axis direction can be compared with the threshold separately, and collisions can be determined according to the axial direction, and corresponding responses can be taken for each collision determination.

[0114] <1-8-2. Control measures for collisions in the Z-axis direction>

[0115] In addition, such as Figure 9 As shown in example (a), if the calculated resultant component Fxy of the contact force F is very small compared to the corresponding threshold, and on the other hand, the component Fz is very large compared to the corresponding threshold, it is determined that a collision in the Z-axis direction only occurred in the mechanism 50 (movable part 42). In the typical work environment of a parallel linkage robot 4, when a vertical collision occurs with the mechanism 50, sometimes the mechanism 50, for example, clamps a foreign object 74 between itself and the ground and presses it downwards, such as in a belt conveyor (not shown). Therefore, in this embodiment, when the anomaly determination unit 32 outputs a determination result that a collision in the Z-axis direction has occurred and the component Fz as anomaly determination information, the work control unit 33, which receives this information, as follows: Figure 9 (b) The output operation command causes the movable part 42 to retract and move to a position (predetermined position) that is separated by a predetermined separation distance Ue in the same direction (upward or downward) as the component force Fz. In addition, at this time, the operation control unit 33 outputs a torque limiting signal to all servos 35 to limit the output torque of each motor 44, thereby quickly and reliably mitigating the influence of both the mechanism 50 and the foreign object 74.

[0116] In addition, depending on the contact direction between the mechanism 50 and the foreign object 74, it is sometimes determined that a collision has occurred in both the XY axis direction and the Z axis direction. In this case, the response control (avoidance movement) of both sides can be executed simultaneously (not shown in the figure).

[0117] <1-9. Response and Control Measures for Dislocation>

[0118] For example, in the event that the mechanism 50 collides sharply with the foreign object 74, such as Figure 10 As shown in (a), the spherical joint may sometimes dislocate from any of the spherical bearings 48 or 49 of the mechanism 50. In this case, the driving force of each motor 44 on the mechanism 50 changes significantly, and therefore, the contact force F calculated by the anomaly determination unit 32 also changes significantly. In this embodiment, the anomaly determination unit 32 can distinguish between collision and dislocation by determining the difference in the contact force F (or its time variation, etc.) between the collision and dislocation situations.

[0119] In the event of such a dislocation, unnecessary excitation or constraint forces should not be applied to the linkage mechanisms 43 of the mechanism section 50, such as... Figure 10 As shown in (b), it is preferable that the entire mechanism 50 descends directly downwards by utilizing its own weight. Therefore, in this embodiment, when the abnormality determination unit 32 outputs a dislocation determination as abnormality determination information, the operation control unit 33, upon receiving this information, outputs a servo shutdown signal to all servos 35, stopping the supply of drive power to each motor 44.

[0120] <1-10. Control Flow>

[0121] Reference Figure 11 , Figure 12 The flowchart illustrates the control steps of the abnormality determination process and the work control process executed in software in the CPU901 of the robot control device 3 in order to realize the functions of the abnormality determination unit 32 and the work control unit 33 described above. Figure 11 The flowchart shows the case where the fault determination unit 32 is installed in software. This process is executed when the control of the parallel linkage robot 4 is started.

[0122] First, in step S105, the CPU901 of the robot control device 3 obtains the motor torque command generated by each servo 35, as well as the detected motor detection position and motor detection speed as motor status data.

[0123] Next, the process moves to step S110, where the CPU 901 of the robot control device 3 calculates the position, velocity, and acceleration of the end effector (abbreviated as "EE" in the figure) at that moment through forward kinematics calculation based on the motor state data obtained in step S105 above.

[0124] Next, proceeding to step S115, the CPU901 of the robot control device 3 calculates the contact force F (Fx, Fy, Fz) based on the motor state data obtained in step S105 and the position, velocity, and acceleration of the end effector calculated in step S110. This calculation method in this embodiment can be performed by processing the motion equations described in Equation 8.

[0125] Next, the process moves to step S120, where the CPU901 of the robot control device 3 calculates the composite force Fxy based on the XY axis components Fx and Fy of the contact external force F calculated in step S115 above.

[0126] Next, the process moves to step S125, where the CPU901 of the robot control device 3 determines whether the calculated composite force Fxy in step S120 is above the corresponding threshold, in other words, whether a collision has occurred in the XY axis direction. If the composite force Fxy is above the threshold, the determination is satisfied (S125: Yes), and the process moves to step S130.

[0127] In step S130, the CPU901 of the robot control device 3 outputs the determination result that a collision has occurred in the XY axis direction and the combined force Fxy as anomaly determination information to the operation control unit 33. Then, the process proceeds to step S135.

[0128] On the other hand, if the resultant force Fxy is less than the threshold in the determination of step S125 above, the determination is not satisfied (S125: No), and the process proceeds to step S135.

[0129] In step S135, the CPU901 of the robot control device 3 determines whether the Z-axis component force Fz of the contact force F calculated in step S115 is above the corresponding threshold, in other words, whether a collision has occurred in the Z-axis direction. If the component force Fz is above the threshold, the determination is satisfied (S135: Yes), and the process proceeds to step S140.

[0130] In step S140, the CPU901 of the robot control device 3 outputs the determination result that a collision has occurred in the Z-axis direction and the component force Fz as anomaly determination information to the operation control unit 33. Then, the process proceeds to step S145.

[0131] On the other hand, if the component force Fz is less than the threshold in the above step S135, the determination is not satisfied (S135: No), and the process proceeds to step S145.

[0132] In step S145, the CPU901 of the robot control device 3 determines whether a dislocation has occurred based on the contact force F (or its time variation, etc.) calculated in step S115. If a dislocation has occurred, the determination (S145: Yes) is satisfied, and the process proceeds to step S150.

[0133] In step S150, the CPU 901 of the robot control device 3 outputs the determination result that a dislocation has occurred as an abnormality determination information to the operation control unit 33. Then, it returns to step S105 and repeats the same steps.

[0134] On the other hand, if no dislocation occurs in the determination of step S145 above, the determination is not satisfied (S145: No), and the process returns to step S105 to repeat the same steps.

[0135] By repeating the above steps, when a collision or dislocation occurs in the mechanism section 50 of the parallel linkage robot 4, the anomaly determination unit 32 outputs information related to its determination result as anomaly determination information to the operation control unit 33 one by one.

[0136] Next, refer to Figure 12 The flowchart illustrates the control steps of the operation control process. When starting the control of the parallel linkage robot 4, it follows the steps described above. Figure 11 The exception handling is performed in parallel with the operation control process.

[0137] First, in step S205, the CPU901 of the robot control device 3 obtains the operation instructions input from the host control device 2.

[0138] Next, the process moves to step S210, where the CPU 901 of the robot control device 3 calculates the next moving destination position of the end effector as a coordinate position command according to the control sequence corresponding to the work command obtained in step S205 above, and outputs it to the motion control unit 34.

[0139] Next, the process moves to step S220, where the CPU 901 of the robot control device 3 obtains the abnormality determination information input from the abnormality determination unit 32.

[0140] Next, the process moves to step S225, where the CPU901 of the robot control device 3 determines whether the abnormality determination information obtained in step S220 contains any abnormality determination results, in other words, whether it contains determination results such as a collision or dislocation. If no abnormality determination results are found, the determination is not satisfied (S225: No), and the process moves to step S230.

[0141] In step S230, the CPU901 of the robot control device 3 determines whether the current job sequence has ended. If the job sequence is still in progress, the determination is not met (S230: No), and the process returns to step S210 to repeat the same steps.

[0142] On the other hand, if the work sequence ends and the condition is met (S230: Yes), return to step S205 and repeat the same steps.

[0143] Furthermore, on the other hand, if the abnormality determination information includes an abnormality determination result in the determination of step S225 above, the determination is satisfied (S225: Yes), and the process proceeds to step S235. Additionally, at this time, the coordinate position command can be temporarily fixed to stop the output position of each motor 44.

[0144] In step S235, the CPU901 of the robot control device 3 determines whether a collision in the XY axis direction has occurred; in other words, whether the anomaly determination information includes a determination result indicating that a collision in the XY axis direction has occurred. If a collision in the XY axis direction has occurred, the determination is satisfied (S234: Yes), and the process proceeds to step S240.

[0145] In step S240, the CPU901 of the robot control device 3 calculates the destination position for the movable part 42 to move backward based on the resultant force Fxy contained in the anomaly determination information, and outputs it as a coordinate position command to the motion control unit 34. Then, the process proceeds to step S245.

[0146] On the other hand, if the determination in step S235 above does not determine that a collision in the XY axis direction has occurred, the determination is not satisfied (S235: No), and the process proceeds to step S245.

[0147] In step S245, the CPU901 of the robot control device 3 determines whether a collision in the Z-axis direction has occurred; in other words, whether the anomaly determination information includes a determination result indicating that a collision in the Z-axis direction has occurred. If a collision in the Z-axis direction is determined to have occurred, the determination is satisfied (S245: Yes), and the process proceeds to step S250.

[0148] In step S250, the CPU901 of the robot control device 3 outputs torque limiting signals to each servo 35, and calculates the destination position for the movable part 42 to rise and move backward based on the component force Fz included in the anomaly determination information, and outputs it as a coordinate position command to the motion control unit 34. Then, the process proceeds to step S255.

[0149] On the other hand, if the determination in step S245 above does not determine that a collision in the Z-axis direction has occurred, the determination is not satisfied (S245: No), and the process proceeds to step S255.

[0150] In step S255, the CPU901 of the robot control device 3 determines whether a dislocation has occurred, or in other words, whether the abnormality determination information contains a determination result indicating that a dislocation has occurred. If a dislocation has occurred, the determination is satisfied (S255: Yes), and the process proceeds to step S260.

[0151] In step S260, the CPU901 of the robot control device 3 outputs a servo shutdown signal to each servo 35. Then, the process proceeds to step S265.

[0152] On the other hand, if the determination in step S255 above does not determine that a dislocation has occurred, the determination is not satisfied (S255: No), and the process proceeds to step S265.

[0153] In step S265, the CPU 901 of the robot control device 3 notifies the user, via a display unit (not specifically shown), that an abnormality such as a collision or dislocation has occurred in the mechanism 50 of the parallel linkage robot 4. Then, the process ends.

[0154] <1-11. Effects of this implementation method>

[0155] As explained above, the robot control device 3 of this embodiment includes: a drive control unit 31 that controls a plurality of motors 44 of the parallel linkage robot 4; and an anomaly determination unit 32 that determines, based on the state data of the plurality of motors 44 (motor torque command, motor detection position, motor detection speed), at least one of a collision or dislocation of the mechanism 50 of the parallel linkage robot 4. Thus, based on the state data of all the plurality of motors 44 driving the mechanism 50 of the parallel linkage robot 4, it is possible to determine with high precision whether the mechanism 50 experiences a collision with an external object or a dislocation of any of the spherical bearings 48, 49.

[0156] Furthermore, while the robot control system 1 in this embodiment uses a parallel linkage robot 4 controlled by cooperatively driving multiple rotary motors 44a to 44c, it can also be applied to a parallel linkage robot (not specifically shown) controlled by cooperatively driving multiple linear motors. In this case, the encoder 14 is replaced with a linear scale capable of detecting the moving position (movement speed) of the movable part, and the reducer 15 is not required. Moreover, the equation of motion in equation (8) can be derived based on the mechanism model of the parallel linkage robot using linear motors.

[0157] Furthermore, in this embodiment, specifically, when the anomaly determination unit 32 determines a collision, the drive control unit 31 controls the multiple motors 44 in such a way that the operation of the mechanism unit 50 differs in collisions in the XY-axis direction and collisions in the Z-axis direction within the XYZ-axis rectangular coordinate system's motion space. Here, the Z-axis direction of the XYZ-axis rectangular coordinate system corresponds to the vertical direction. Thus, in the picking and placing operations of the parallel linkage robot 4, which combines horizontal (XY-axis) and vertical (Z-axis) movement, a functional response to collisions is possible.

[0158] Furthermore, in this embodiment, specifically, when the anomaly determination unit 32 determines a collision in the XY axis direction, the drive control unit 31 controls the multiple motors 44 to move the end effector of the mechanism 50 to a relative position that is a predetermined distance away from the collision point P in the XY axis direction. For example, even if a collision occurs with the mechanism 50 in the horizontal direction, in most cases, simply moving the mechanism 50 away from the collision direction in the horizontal direction can minimize the impact of the collision on both the mechanism 50 and the foreign object 74. Thus, for horizontal collisions, the drive control unit 31 can quickly and reliably respond appropriately by coordinating the control of the multiple motors 44 to move only to a predetermined position. In addition, the destination position for movement during collision determination is not limited to the relative position from the collision point P described above; it can also be moved to an absolute position such as a so-called original position preset in the robot coordinate system.

[0159] Furthermore, in the event of a collision in the XY axis direction, the movement of the end effector in that direction can be stopped immediately. That is, if the anomaly detection unit 32 determines that a collision has occurred in the XY axis direction, the drive control unit 31 can control multiple motors 44 to stop the movement of the end effector of the mechanism 50. For example, in the event of a collision with the mechanism 50 in the horizontal direction, to minimize the impact of the collision on both the mechanism 50 and the foreign object 74, it is necessary to stop the movement in the XY axis direction at a minimum. Thus, in the event of a horizontal collision, the drive control unit 31 coordinates the control of multiple motors 44 to stop the movement in the XY axis direction. This eliminates the computational burden on the drive control unit 31 compared to moving to a predetermined position, allowing for a faster and more reliable response. Additionally, regarding the movement stop control at this time, the operation control unit 33 can continuously output the same coordinate position command to fix the position of the end effector. Alternatively, the operation control unit 33 may output a servo shutdown signal and stop supplying motor drive power to each motor 44, and output a braking signal to brake the position of each motor 44.

[0160] Furthermore, in this embodiment, specifically, when the anomaly determination unit 32 determines a collision in the Z-axis direction, the drive control unit 31 limits the output torque of the plurality of motors 44 and controls the plurality of motors 44 in such a way that the end effector of the mechanism unit 50 moves to a relative position that is a predetermined distance away from the collision point P in the Z-axis direction. For example, in the case of a collision with the mechanism unit 50 in the vertical direction, sometimes the mechanism unit 50 may be pressing down on the ground, for example, with a foreign object 74 sandwiched between it and the ground, such as in a belt conveyor. In contrast, not only is the mechanism unit 50 moved from the collision direction to the vertical direction (upward or downward direction), but the output torque of each motor 44 is also limited, thereby quickly and reliably mitigating the influence of both the mechanism unit 50 and the foreign object 74. In addition, the destination position for movement during collision determination is not limited to the relative position from the collision point P described above, but can also be moved to an absolute position such as the so-called original position preset in the robot coordinate system.

[0161] Furthermore, in this embodiment, specifically, when the abnormality determination unit 32 determines that a dislocation has occurred, the drive control unit 31 stops controlling the multiple motors 44. Thus, for example, if a dislocation occurs in the spherical bearings 48 and 49, causing the mechanism 50 to disintegrate, the operation control unit 33 also stops control by outputting a servo shutdown signal and stopping the servo shutdown that supplies motor drive power to each motor 44. As a result, unnecessary excitation and constraint forces are not applied to each linkage mechanism, allowing free movement, and thus reducing interference to the surrounding environment.

[0162] <1-12. Variations>

[0163] Furthermore, the embodiments described above can be modified in various ways without departing from their main idea and technical concept.

[0164] In the above embodiment, the anomaly determination unit 32 calculates the estimated contact force F applied to the mechanism 50 based on the state data of each motor 44 (motor torque command, motor detection position, motor detection speed), and directly determines the occurrence of collision and dislocation of the mechanism 50 based on this contact force F, but is not limited thereto. Alternatively, it can further calculate the external disturbance torque of each motor 44 based on the calculated contact force F, and determine collision and dislocation based on these disturbance torques. In this case, the aforementioned external disturbance torque is equivalent to the potential torque value included in the motor torque command of each motor 44 as a resistance amount against the contact force F. To estimate this external disturbance torque, by considering the above... Figure 7 The external disturbance observer, appropriately designed for each motor 44, converts the contact force F into an estimated external disturbance for each motor 44, based on the mechanism model shown. This external disturbance observer is designed based on the relationship between the contact force F of the generalized force Q and the shaft torque Trq in Equation 8 (not specifically illustrated).

[0165] The external disturbance torque estimated for each motor 44 in this way is simply equivalent to the torque value of the contact force F applied to the mechanism 50. Therefore, by comparing it with a threshold set at a very low value, collision determination with high reliability and sensitivity can be performed. Furthermore, by determining based on this external disturbance torque, dislocation determination with high accuracy can also be performed. In addition, to estimate the contact force F and external disturbance torque with higher accuracy, the encoder section 14 of the motor 44 may not detect the rotor of the motor 44, but instead detect the rotational position of the output shaft of the reducer 15, i.e., shaft SH, as the motor detection position, and estimate the encoder position, speed, acceleration, contact force F, and external disturbance torque by referring to the corresponding motor torque command and motor detection speed.

[0166] <2. Second Implementation>

[0167] In the first embodiment described above, the contact force F used in determining collision and dislocation is calculated based on the equation of motion based on the state data of each motor 44, but this is not the only method. Alternatively, the contact force F can be determined by comparing the detection value of the sensor installed in the mechanism section 50 with the motor state data. A second embodiment with this structure will be described below. Furthermore, illustrations and descriptions of the same structure and processing as in the first embodiment described above are omitted.

[0168] With the above Figure 1 corresponding Figure 13 A schematic structure of the robot control system 1A in this embodiment is shown. Figure 13 In the parallel linkage robot 4, a three-dimensional accelerometer 16 is provided on the upper surface of the movable part 42. This three-dimensional accelerometer 16 detects the acceleration of the movable part 42 corresponding to the X-axis, Y-axis, and Z-axis directions of the robot coordinate system, respectively, as coordinate detection acceleration, and outputs it to the robot control device 3. (As described above...) Figure 3 corresponding Figure 14 The internal structure of the robot control device 3 in this embodiment and the various information transmitted and received around it are shown. Figure 14 In this process, the coordinate detection acceleration detected by the aforementioned three-dimensional acceleration sensor 16 is input to the anomaly determination unit 32 of the robot control device 3.

[0169] In the robot control system 1A with the above structure, the anomaly detection unit 32 can calculate the acceleration (and position, velocity) of the end effector based on the motor state data input from each servo 35, and estimate the contact force F acting on the mechanism 50 based on these calculated values ​​and the coordinate detection acceleration input from the three-dimensional accelerometer 16. For example, it can be assumed that the difference between the calculated acceleration and the coordinate detection acceleration of the end effector in each of the XYZ axis directions is proportional to the components Fx, Fy, and Fz of the contact force F (F = a·m). Based on this study, considering the above... Figure 7 The specifications of the shown mechanism model allow for the calculation of the components Fx, Fy, and Fz of the contact force F along each of the XYZ axes. Furthermore, the calculated contact force F can be used to estimate the external disturbance torque of each motor 44.

[0170] Therefore, in this second embodiment, compared to the first embodiment which utilizes the equation of motion, the contact forces F acting on the mechanism 50 in each axial direction can be calculated more easily with less computational processing. Furthermore, the external disturbance torque can be calculated by using the external disturbance observer designed according to Equation 8 above, with reference to the motor state data input from each server 35.

[0171] <3. Example of hardware structure for robot control device>

[0172] Next, refer to Figure 15 Hereinafter, an example of the hardware structure of a robot control device 3 will be described, which implements the processing of the drive control unit 31 (job control unit 33, motion control unit 34, server 35), the fault determination unit 32, etc., which are installed in software by the program executed by the CPU 901 described above.

[0173] like Figure 15 As shown, the robot control device 3 includes, for example, a CPU 901, a ROM 903, RAM 905, an ASIC or FPGA, an application-specific integrated circuit 907, an input device 913, an output device 915, a recording device 917, a driver 919, a connection port 921, and a communication device 923. These structures are connected to each other via a bus 909 and an input / output interface 911 in a manner that enables signal transmission.

[0174] The program can be pre-recorded in ROM 903, RAM 905, recording device 917, etc.

[0175] Furthermore, the program can be pre-recorded temporarily or permanently on a removable recording medium 925 such as a floppy disk, various CDs, MO discs, DVDs, or semiconductor memory. This recording medium 925 can also be provided as a so-called software package. In this case, the program recorded on these recording media 925 can also be read by the drive 919 and recorded in the recording device 917 via the input / output interface 911, bus 909, etc.

[0176] Furthermore, the program can be pre-recorded on a download site, other computer, other recording device, etc. (not shown). In this case, the program is transmitted via a network such as a LAN or the Internet, and the communication device 923 receives the program. Moreover, the program received by the communication device 923 can also be recorded in the aforementioned recording device 917 via the input / output interface 911, bus 909, etc.

[0177] Furthermore, the program can be pre-recorded in a suitable external connection device 927. In this case, the program can also be transmitted via a suitable connection port 921, or recorded in the aforementioned recording device 917 via an input / output interface 911, bus 909, etc.

[0178] Furthermore, the CPU 901 executes various processes according to the program recorded by the recording device 917, thereby realizing the processing performed by the drive control unit 31 (job control unit 33, motion control unit 34, server 35), the exception determination unit 32, etc. At this time, the CPU 901 can, for example, directly read the program from the recording device 917 and execute it, or it can temporarily load it into the RAM 905 and execute it. Furthermore, for example, when the CPU 901 receives a program via the communication device 923, the driver 919, or the connection port 921, it can directly execute the received program without recording it in the recording device 917.

[0179] In addition, the CPU 901 can, for example, perform various processing based on signals and information input from input devices 913 such as mouse, keyboard, microphone (not shown), etc., as needed.

[0180] Furthermore, the CPU 901 can output the result of the above processing from the output device 915, such as a display device or a sound output device. Furthermore, the CPU 901 can also send the processing result via the communication device 923 or the connection port 921 as needed, and can also record it in the recording device 917 or the recording medium 925.

[0181] Furthermore, in the above explanation, the use of terms such as "perpendicular," "parallel," and "plane" is not strictly accurate. That is, these terms allow for design and manufacturing tolerances and errors, meaning "substantially perpendicular," "substantially parallel," and "substantially plane," respectively.

[0182] Furthermore, in the above explanation, when there are descriptions of "same," "identical," "equal," or "different" in terms of appearance, such descriptions are not strictly defined. That is, these descriptions of "same," "equal," or "different" allow for design and manufacturing tolerances and errors, and mean "substantially the same," "substantially identical," "substantially equal," or "substantially different."

[0183] Furthermore, in addition to the methods described above, the above-described embodiments and variations can be appropriately combined. Moreover, although not all examples have been shown, the above-described embodiments and variations can be implemented with various modifications without departing from their essence.

Claims

1. A robot control device for controlling a parallel linkage robot, characterized in that, The robot control device has the following features: A drive control unit that controls multiple drive axes of the parallel linkage robot; and The anomaly detection unit determines collisions in the mechanism of the parallel linkage robot based on the state data of the multiple drive axes. When the anomaly determination unit determines that a collision has occurred, the drive control unit controls the plurality of drive axes in a manner that the action of the mechanism unit differs between a collision in the XY-axis direction and a collision in the Z-axis direction within the XYZ-axis Cartesian coordinate system's motion space. Here, the Z-axis direction of the XYZ-axis Cartesian coordinate system corresponds to the vertical direction. If the anomaly determination unit determines that there is a collision in the XY axis direction, the drive control unit controls the plurality of drive shafts in such a way that the end effector of the mechanism unit moves to a predetermined position, or the drive control unit controls the plurality of drive shafts in such a way that the movement of the end effector of the mechanism unit stops. If the anomaly determination unit determines that there is a collision in the Z-axis direction, the drive control unit limits the output torque of the plurality of drive shafts and controls the plurality of drive shafts in such a way that the end effector of the mechanism unit moves to a predetermined position.

2. A robot control system comprising a parallel linkage robot and a robot control device for controlling the parallel linkage robot, characterized in that, The robot control device has the following features: A drive control unit that controls multiple drive axes of the parallel linkage robot; and The anomaly detection unit determines collisions in the mechanism of the parallel linkage robot based on the state data of the multiple drive axes. When the anomaly determination unit determines that a collision has occurred, the drive control unit controls the plurality of drive axes in a manner that the action of the mechanism unit differs between a collision in the XY-axis direction and a collision in the Z-axis direction within the XYZ-axis Cartesian coordinate system's motion space. Here, the Z-axis direction of the XYZ-axis Cartesian coordinate system corresponds to the vertical direction. If the anomaly determination unit determines that there is a collision in the XY axis direction, the drive control unit controls the plurality of drive shafts in such a way that the end effector of the mechanism unit moves to a predetermined position, or the drive control unit controls the plurality of drive shafts in such a way that the movement of the end effector of the mechanism unit stops. If the anomaly determination unit determines that there is a collision in the Z-axis direction, the drive control unit limits the output torque of the plurality of drive shafts and controls the plurality of drive shafts in such a way that the end effector of the mechanism unit moves to a predetermined position.

3. A robot control method, executed by a computing device in a robot control apparatus for controlling a parallel linkage robot, characterized in that, Based on the state data of multiple drive axes of the parallel linkage robot, a collision of the mechanism parts of the parallel linkage robot is determined. In the event of a collision, prescribed control is performed on multiple drive axes of the parallel linkage robot. In the event of a collision, the plurality of drive axes are controlled in such a way that the actions of the mechanism differ between collisions in the XY-axis direction and collisions in the Z-axis direction within the XYZ-axis Cartesian coordinate system's motion space. The Z-axis direction of the XYZ-axis Cartesian coordinate system corresponds to the vertical direction. In the event of a collision in the XY axis direction, the multiple drive shafts are controlled to move the end effector of the mechanism to a predetermined position, or the multiple drive shafts are controlled to stop the movement of the end effector of the mechanism. In the event of a collision in the Z-axis direction, the output torque of the plurality of drive shafts is limited, and the plurality of drive shafts are controlled in such a way that the end effector of the mechanism is moved to a predetermined position.