Robot monitoring method, robot monitoring device, and robot model creation method

JP7920874B2Active Publication Date: 2026-09-15SEIKO EPSON CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2022191193
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-11-30
Publication Date
2026-09-15
Estimated Expiration
2042-11-30

Smart Images

  • Figure 0007920874000001
    Figure 0007920874000001
  • Figure 0007920874000002
    Figure 0007920874000002
  • Figure 0007920874000003
    Figure 0007920874000003
Patent Text Reader

Abstract

To provide a robot monitoring method having excellent versatility, a robot monitoring device, and a robot model creation method.SOLUTION: A robot monitoring method includes: a first step of creating a robot model by using robot model data for both a first robot and a second robot; and a second step of monitoring the first robot or the second robot on the basis of the robot model created in the first step. The first robot includes m (m is an integer of 2 or more) arms and a first robot arm having m joints corresponding to the arms. The second robot includes n (n is an integer and n<m) arms and n joints corresponding to the arms.SELECTED DRAWING: Figure 8
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a robot monitoring method, a robot monitoring device, and a robot model creation method. [Background Art]

[0002] In order to operate a robot safely, monitoring the operation of the robot has been performed. For example, the device described in Patent Document 1 creates a robot model using Denavit-Hartenberg (DH) notation for static parameters such as the difference in length of each arm based on the manipulator structure and the offset amount between each axis, and performs monitoring by estimating the position and orientation of the robot during operation. [Prior Art Documents] [Patent Documents]

[0003] [Patent Document 1] Japanese Unexamined Patent Publication No. 2017-164838 [Summary of the Invention] [Problems to be Solved by the Invention]

[0004] However, for the forward kinematics calculation using a robot model based on DH notation, such as that disclosed in Patent Document 1, it is necessary to prepare monitoring processes in accordance with the manipulator structure, which makes it impossible to support a plurality of robots with different manipulator structures, resulting in poor versatility. [Means for Solving the Problems]

[0005] The robot monitoring method of the present invention comprises a first step of creating a robot model using shared robot model data for a first robot including a first robot arm having m (m is an integer of 2 or more) arms and m joints corresponding to the arms, and a second robot including a second robot arm having n (n is an integer and n<m) arms and n joints corresponding to the arms, a second step of monitoring said first robot or said second robot based on said robot model created in said first step; in said first step, when the monitoring target is said first robot, in said robot model data, as joint data of said first robot, m pieces of first joint data A, each representing, in three-dimensional coordinates, a vector of a direction of a rotation axis of said joint, are allocated to m said joints, respectively, as arm data of said first robot, first arm data B, each representing, in three-dimensional coordinates, a vector of a length and a direction of said arm, are allocated to m said arms, respectively, when the monitoring target is said second robot, in said robot model data, as joint data of said second robot, n pieces of second joint data C, each representing, in three-dimensional coordinates, a vector of a direction of a rotation axis of said joint, are allocated to n said joints, respectively, and second joint data D represented by m-n zero vectors is allocated, as arm data of said second robot, n pieces of second arm data E, each representing, in three-dimensional coordinates, a vector of a length and a direction of said arm, are allocated to n said arms, respectively, and second arm data F represented by m-n zero vectors is allocated.

[0006] The robot monitoring device of the present invention comprises: an acquisition unit that acquires a robot model created using robot model data compatible with both a first robot comprising a first robot arm having m (m is an integer of 2 or more) arms and m joints corresponding to said arms, and a second robot comprising a second robot arm having n (n is an integer and n < m) arms and n joints corresponding to said arms; a monitoring unit that monitors said first robot or said second robot based on said robot model acquired by said acquisition unit; said robot model is characterized in that, when the monitoring target is said first robot, in said robot model data, As the joint data of said first robot, m pieces of first joint data A each representing, by three-dimensional coordinates, a vector in the direction of the rotation axis of the joint are respectively allocated to m said joints, As the arm data of said first robot, first arm data B representing the length and direction vector of the arm by three-dimensional coordinates is respectively allocated to m said arms, When a monitored object is said second robot, in said robot model data, As the joint data of said second robot, n pieces of second joint data C each representing, by three-dimensional coordinates, a vector in the direction of the rotation axis of the joint are respectively allocated to n said joints, and second joint data D represented by m-n zero vectors is also allocated, As the arm data of the second robot, n pieces of second arm data E each representing, by three-dimensional coordinates, the length and direction vector of said arm are respectively allocated to n said arms, and second arm data F represented by m-n zero vectors is also allocated.

[0007] The robot model creation method of the present invention comprises a first step of creating a robot model using robot model data compatible for both a first robot provided with a first robot arm having m (m is an integer of 2 or more) arms and m joints corresponding to the arms, and a second robot provided with a second robot arm having n (n is an integer and n < m) arms and n joints corresponding to the arms, In said first step, When a monitored object is said first robot, in said robot model data, As the joint data of said first robot, m pieces of first joint data A each representing, by three-dimensional coordinates, a vector in the direction of the rotation axis of the joint are allocated respectively to m said joints, As the arm data of said first robot, first arm data B representing the length and direction vector of the arm by three-dimensional coordinates is allocated respectively to m said arms, When a monitored object is said second robot, in said robot model data, As the joint data of the second robot, n pieces of second joint data C representing, by three-dimensional coordinates, the direction vector of the rotation axis of each of the n joints are assigned to the n joints, respectively, and second joint data D represented by m-n zero vectors are assigned, and as arm data of the second robot, n pieces of second arm data E representing, by three-dimensional coordinates, the length and direction vector of each of the n arms are assigned to the n arms, respectively, and second arm data F represented by m-n zero vectors are assigned. BRIEF DESCRIPTION OF THE DRAWINGS

[0008] [Figure 1] FIG. 1 is a schematic configuration diagram of a robot system including a robot monitoring device according to an embodiment of the present invention. [Figure 2] FIG. 2 is a diagram showing an example of a first robot that is a monitoring target of the robot monitoring device according to the embodiment of the present invention. [Figure 3] FIG. 3 is a diagram showing an example of a second robot that is a monitoring target of the robot monitoring device according to the embodiment of the present invention. [Figure 4] FIG. 4 is a schematic diagram of the first robot shown in FIG. 2. [Figure 5] FIG. 5 is a schematic diagram of the second robot shown in FIG. 3. [Figure 6] FIG. 6 is a diagram showing an example of a conventional robot model. [Figure 7] FIG. 7 is a diagram showing another example of a conventional robot model. [Figure 8] FIG. 8 is a diagram showing an example of a robot model used in the robot monitoring method of the present invention. [Figure 9] FIG. 9 is a diagram showing an example of robot model data used when creating the robot model shown in FIG. 8. [Figure 10] FIG. 10 is a diagram showing an example of conventional robot model data used when creating the robot model shown in FIG. 6. [Figure 11] FIG. 11 is a diagram showing an example of conventional robot model data used when creating the robot model shown in FIG. 7. [Figure 12] This is a flowchart illustrating an example of the robot monitoring method of the present invention. [Modes for carrying out the invention]

[0009] The robot monitoring method, robot monitoring device, and robot model creation method of the present invention will be described in detail below based on the embodiments shown in the attached drawings. In the following description, when the term "robot" is used, it refers to the robots including the first robot and the second robot.

[0010] <First Embodiment> Figure 1 is a schematic diagram of a robot system equipped with a robot monitoring device according to an embodiment of the present invention. Figure 2 is a diagram showing an example of a first robot that is monitored by the robot monitoring device according to an embodiment of the present invention. Figure 3 is a diagram showing an example of a second robot that is monitored by the robot monitoring device according to an embodiment of the present invention. Figure 4 is a schematic diagram of the first robot shown in Figure 2. Figure 5 is a schematic diagram of the second robot shown in Figure 3. Figure 6 is a diagram showing an example of a conventional robot model. Figure 7 is a diagram showing an example of a conventional robot model. Figure 8 is a diagram showing an example of a robot model used in the robot monitoring method of the present invention. Figure 9 is a diagram showing an example of robot model data used when creating the robot model shown in Figure 8. Figure 10 is a diagram showing an example of conventional robot model data used when creating the robot model shown in Figure 6. Figure 11 is a diagram showing an example of conventional robot model data used when creating the robot model shown in Figure 7. Figure 12 is a flowchart illustrating an example of the robot monitoring method of the present invention.

[0011] In Figures 2 to 5, three mutually orthogonal axes, the X, Y, and Z axes, are defined. Of the three axes, the Z axis represents the vertical direction, and the XY plane represents the horizontal plane.

[0012] In Figures 2 and 3, the up and down directions coincide with the vertical direction. In Figures 2 to 5, the upper side is also referred to as "up" and the lower side as "down." For the first robot arm 10, the second robot arm 22, etc., the base 11 and 21 sides are referred to as the base end, and the end effector 20 and 26 sides are referred to as the tip.

[0013] In this specification, "vertical" means not only when the object coincides with the vertical, but also when it is slightly inclined from the vertical, for example, within ±10°. Similarly, in this specification, "parallel" means not only when two objects coincide parallel to each other, but also when they are slightly inclined from parallel, for example, within ±10°.

[0014] As shown in Figure 1, the robot system 100 includes a first robot 1, a second robot 2, a robot control device 9A that controls the drive of the first robot 1, and a robot control device 9B that controls the drive of the second robot 2. The second robot 2 is a different model from the first robot 1.

[0015] First, let me explain the first robot 1. As shown in Figure 2, the first robot 1 has a base 11 and a first robot arm 10 rotatably connected to the base 11. The first robot arm 10 has m (where m is an integer of 2 or more) arms and m joints corresponding to the arms. The number of arms and the number of joints in the first robot arm 10 are equal. In this embodiment, m is 6. That is, the first robot 1 is a 6-axis vertical articulated robot.

[0016] Note that the first robot 1 is not limited to the configuration shown in the figure, and may be, for example, a vertical articulated robot where m is not 6.

[0017] The base 11 is a support that movably supports the first robot arm 10 at its base end, and is fixed, for example, to the floor of a factory. The first robot 1 is electrically connected to the robot control device 9A via the base 11 and the electrical wires of a relay cable. Note that the connection between the first robot 1 and the robot control device 9A is not limited to a wired connection as shown in Figure 2, but may also be a wireless connection, for example. Alternatively, the connection may be made via a network such as the Internet.

[0018] In this embodiment, the first robot arm 10 has a first arm 12, a second arm 13, a third arm 14, a fourth arm 15, a fifth arm 16, and a sixth arm 17, and these arms are connected in this order from the base 11 side. The number of arms that the first robot arm 10 has is not limited to six, but may be two, three, four, five, or seven or more. Also, the size of each arm, such as the total length, is not particularly limited and can be set appropriately according to the conditions of the workpiece to be assembled or processed, the work content, etc.

[0019] The base 11 and the first arm 12 are connected via a first joint actuator 171. The first joint actuator 171 supports the first arm 12 so that it can rotate around a first rotation axis that extends vertically relative to the base 11. In this way, the first rotation axis coincides with the normal to the floor surface of the floor to which the base 11 is fixed, and the entire first robot arm 10 can rotate in either the forward or reverse direction around the axis of the first rotation axis.

[0020] Note that the first axis of rotation is not shown in Figure 2, and the same applies to the second, third, fourth, fifth, and sixth axes of rotation described below.

[0021] The first arm 12 and the second arm 13 are connected via a second joint actuator 172. The second arm 13 is then supported by a third joint actuator 173 so as to be rotatable with respect to the first arm 12, with respect to a second rotation axis that extends horizontally.

[0022] The second arm 13 and the third arm 14 are connected via a third joint actuator 173. The third joint actuator 173 supports the third arm 14 so that it can rotate around a third rotation axis that extends horizontally relative to the second arm 13. The third rotation axis is parallel to the second rotation axis.

[0023] The third arm 14 and the fourth arm 15 are connected via a fourth joint actuator 174. The fourth joint actuator 174 supports the fourth arm 15 so that it can rotate relative to the third arm 14 with respect to a fourth rotation axis that is parallel to the central axis direction of the third arm 14. The fourth rotation axis is perpendicular to the third rotation axis.

[0024] The fourth arm 15 and the fifth arm 16 are connected via a fifth joint actuator 175. The fifth joint actuator 175 supports the fifth arm 16 so that it can rotate around the fifth rotation axis relative to the fourth arm 15. The fifth rotation axis is perpendicular to the fourth rotation axis.

[0025] The fifth arm 16 and the sixth arm 17 are connected via a sixth joint actuator 176. The sixth joint actuator 176 supports the sixth arm 17 so that it can rotate relative to the fifth arm 16 with the sixth rotation axis as the center of rotation. The sixth rotation axis is perpendicular to the fifth rotation axis.

[0026] An end effector 20 can be detachably attached to the tip of the first robot arm 10. A control point TCP is set at the tip of the end effector 20.

[0027] Examples of the end effector 20 include a hand that grips a work, a chuck, a tool for drilling, grinding, polishing and the like, a coating tool such as a spray gun, and the like.

[0028] The joint actuators 171 to 176, which are connection portions of each arm, each include a motor, a motor driver, a speed reducer, an encoder, and the like (not shown). Each motor, each motor driver, and each encoder are each electrically connected to the robot controller 9A. Each encoder detects rotational position information of the corresponding motor and transmits the information to the robot controller 9A. The robot controller 9A controls energization conditions for each motor via the motor driver based on the rotational position information of each motor received from each encoder. Accordingly, the first arm 12 to the sixth arm 17 each operate, the posture of the first robot arm 10 changes over time in accordance with a predetermined program, and a desired work can be performed by the end effector 20 attached to the distal end portion of the first robot arm 10.

[0029] Next, the second robot 2 will be described. The second robot 2 shown in FIG. 3 includes a base 21 and a second robot arm 22 rotatably connected to the base 21. The second robot arm 22 has n (n is an integer and n<m) arms and n joints corresponding to the arms. The number of arms is equal to the number of joints. In the present embodiment, n is 4, and the second robot 2 is a 4-axis horizontal articulated robot, that is, a SCARA robot.

[0030] Note that the second robot 2 is not limited to the configuration shown in the drawing, and may be, for example, a horizontal articulated robot in which n is other than 4.

[0031] An end effector or the like (not shown) can be detachably attached to the distal end portion of the second robot arm 22. The base 21 is fixed to a floor surface parallel to the horizontal plane. A robot controller 9B is installed inside the base 21. Note that, unlike the configuration shown in the drawing, the robot controller 9B may be installed outside the base 21.

[0032] The second robot arm 22 includes a first arm 23 whose base end is connected to a base 21 and which rotates around a first rotation axis O1 that is perpendicular to the base 21, and a second arm 24 whose base end is connected to the tip of the first arm 23 and which rotates around a second rotation axis O2 that is perpendicular to the first arm 23.

[0033] A working head 25 is provided at the tip of the second arm 24. The working head 25 has a spline nut 251 and a ball screw nut 252 arranged coaxially with each other at the tip of the second arm 24, and a spline shaft 253 inserted through the spline nut 251 and the ball screw nut 252. The spline shaft 253 is rotatable about a third rotation axis O3 which is its central axis and is aligned vertically with respect to the second arm 24, and is also movable vertically along the third rotation axis O3.

[0034] An end effector 26 is attached to the lower end of the spline shaft 253. A control point TCP is set at the tip of the end effector 26. The end effector 26 can be the same as the end effector 20 exemplified above.

[0035] The second robot 2 includes a first joint actuator 27 that connects the base 21 and the first arm 23 and rotates the first arm 23 around a first rotation axis O1 relative to the base 21, and a second joint actuator 28 that connects the first arm 23 and the second arm 24 and rotates the second arm 24 around a second rotation axis O2 relative to the first arm 23.

[0036] Furthermore, the second robot 2 includes a first drive mechanism 291 as an articulation point that rotates a ball screw nut 252 to raise and lower the spline shaft 253 in a direction along the third rotation axis O3, and a second drive mechanism 292 as an articulation point that rotates the spline nut 251 to rotate the spline shaft 253 around the third rotation axis O3. When the first drive mechanism 291 is operated, the spline shaft 253 moves in the axial direction of the third rotation axis O3, and the end effector 26 moves in the same direction, i.e., rises or falls. Also, when the second drive mechanism 292 is operated, the spline shaft 253 rotates in a predetermined direction around the third rotation axis O3, and the end effector 26 rotates in the same direction.

[0037] The first joint actuator 27, the second joint actuator 28, the first drive mechanism 291, and the second drive mechanism 292 each include a motor, motor driver, reduction gear, encoder, etc. (not shown). Each motor, motor driver, and encoder is electrically connected to the robot control device 9B. Each encoder detects the rotational position information of the corresponding motor and transmits it to the robot control device 9B. Based on the rotational position information of each motor received from each encoder, the robot control device 9B controls the power supply conditions to each motor via each motor driver. As a result, the first arm 23, the second arm 24, and the spline shaft 253 operate, and the posture of the second robot arm 22 changes over time according to a predetermined program, allowing the end effector 26 attached to the tip of the second robot arm 22, i.e., the lower end of the work head 25, to perform the desired work.

[0038] Next, we will describe the robot monitoring device 3. As shown in Figure 1, the robot monitoring device 3 is a device that performs the robot monitoring method of the present invention, and comprises a monitoring unit 31 that monitors the first robot 1 or the second robot 2, a storage unit 32, and a communication unit 33 that acts as an acquisition unit for acquiring robot models.

[0039] The monitoring unit 31 has at least one processor, such as a CPU (Central Processing Unit), and reads and executes various programs stored in the storage unit 32. Specifically, the monitoring unit 31 monitors the robot being monitored by reading and executing the robot monitoring program stored in the storage unit 32. For example, the monitoring unit 31 estimates static parameters such as the difference in length of each arm and the offset amount between each axis based on the robot model RM described later, derives the position and orientation of the robot during operation using forward kinematics calculations, and monitors the first robot 1 or the second robot 2.

[0040] The storage unit 32 stores various programs and the like that are executed by the monitoring unit 31. Examples of the storage unit 32 include a configuration that includes volatile memory such as RAM (Random Access Memory), non-volatile memory such as ROM (Read Only Memory), and a removable external storage device. The storage unit 32 stores a program for executing the robot monitoring method of the present invention. In addition, the storage unit 32 temporarily or permanently stores the robot model RM input via the communication unit 33.

[0041] The communication unit 33 transmits and receives signals between the robot control device 9A and the robot control device 9B using a network 4 such as a wired LAN (Local Area Network) or a wireless LAN. In this case, communication may be performed via a server (not shown) or via a network such as the Internet.

[0042] Conventionally, robot model data and robot models were set for each robot model. Specifically, robot model RM1, as shown in Figure 6, was set for the first robot 1, and robot model RM2, as shown in Figure 7, was set for the second robot 2.

[0043] Therefore, conventionally, robot models RM1 and RM2 were input to robot monitoring devices corresponding to robot monitoring device 3, and monitoring of the target robot, either the first robot 1 or the second robot 2, was performed by deriving the position and orientation of the robot's movement using, for example, forward kinematics calculations.

[0044] In Figures 4, 6, and 8, in the first robot 1 shown in Figure 2, the first joint actuator 171 is indicated as the first joint by "J1", the second joint actuator 172 is indicated as the second joint by "J2", the third joint actuator 173 is indicated as the third joint by "J3", the fourth joint actuator 174 is indicated as the fourth joint by "J4", the fifth joint actuator 175 is indicated as the fifth joint by "J5", and the sixth joint actuator 176 is indicated as the sixth joint by "J6".

[0045] Furthermore, in Figures 5, 7, and 8, in the second robot 2 shown in Figure 3, the first joint actuator 27 is indicated as the first joint and labeled "J1", the second joint actuator 28 is indicated as the second joint and labeled "J2", the first drive mechanism 291 is indicated as the third joint and labeled "J3", and the second drive mechanism 292 is indicated as the fourth joint and labeled "J4".

[0046] The conventional robot model RM1 shown in Figure 6 is a robot model represented by vectors, and as an example, it contains data that identifies the model of the first robot 1 shown in Figure 2. The robot model RM1 includes first joint data A and first arm data B, and as an example, it can be represented in a table.

[0047] The first joint data A is effective joint data to which joint data, which is joint information represented in three-dimensional coordinates, is assigned to m first joint actuators 171 to 6th joint actuators 176 (in this embodiment, 6 first joint actuators 171 to 6th joint actuators 176). The first joint data A is also assigned to control points TCP. The direction of the rotation axis is the direction of the rotation axis in the initial posture of the first robot 1.

[0048] As shown in Figure 4, the first joint J1 (first joint actuator 171) is represented by vector a1. In the initial position, the rotation axis of the first joint J1 is along the z-axis direction, so as shown in Figure 6, vector a1 is represented by the 3D coordinate (0,0,1).

[0049] As shown in Figure 4, the second joint J2 (second joint actuator 172) is represented by vector a2. In the initial position, the rotation axis of the second joint J2 is along the x-axis direction, so as shown in Figure 6, vector a2 is represented by the three-dimensional coordinate (1,0,0).

[0050] As shown in Figure 4, the third joint J3 (third joint actuator 173) is represented by vector a3. In the initial position, the rotation axis of the third joint J3 is along the x-axis direction, so as shown in Figure 6, vector a3 is represented by the three-dimensional coordinate (1,0,0).

[0051] As shown in Figure 4, the fourth joint J4 (fourth joint actuator 174) is represented by vector a4. In the initial position, the rotation axis of the fourth joint J4 is along the y-axis, so as shown in Figure 6, vector a4 is represented by the three-dimensional coordinate (0,1,0).

[0052] As shown in Figure 4, the fifth joint J5 (fifth joint actuator 175) is represented by vector a5. In the initial position, the rotation axis of the fifth joint J5 is along the x-axis direction, so as shown in Figure 6, vector a5 is represented by the three-dimensional coordinate (1,0,0).

[0053] As shown in Figure 4, the sixth joint J6 (sixth joint actuator 176) is represented by vector a6. In the initial position, the rotation axis of the sixth joint J6 is along the y-axis, so as shown in Figure 6, vector a6 is represented by the three-dimensional coordinate (0,1,0).

[0054] As shown in Figure 4, the control point TCP is vector a tcp It is represented by vector a. tcpSince it does not have an axis of rotation, it can be represented by the three-dimensional coordinate system (0,0,0), i.e., the zero vector, as shown in Figures 6 and 8.

[0055] As described above, in the joint data of the first joint data A, for joints that have a rotation axis, we used 1 as one of the values ​​of X, Y, or Z in the 3D coordinates. However, we are not limited to this, and any value other than 1 may be used as long as it can be distinguished from 0.

[0056] The first arm data B is effective arm data to which joint data, which is joint information represented in three-dimensional coordinates, is assigned to m arms, or in this embodiment, 6 arms, each containing the length of the arm and a vector of the direction of extension (relative position vector). The first arm data B is also assigned to the control point TCP. The direction of extension of the arm is the direction of extension of the arm in the initial posture of the first robot 1. Here, "arm length" is the distance L between the origin set at the joint on the base end of the arm that rotates the arm and the tip of the arm. a and the distance L between the origin and the base end of the arm. b The difference ΔL (=L) a -L b This is shown by ).

[0057] As shown in Figure 4, the relative position vector between the origin set on the base and the first joint J1 is represented by vector b1. Vector b1 is represented by the three-dimensional coordinate system (0,0,L1), as shown in Figures 6 and 8. L1 is a positive integer.

[0058] As shown in Figure 4, the first arm 12 is represented by vector b2. In the initial position, the extension direction of the first arm 12 is along the y-axis, so vector b2 is represented by the three-dimensional coordinate (0, L2, 0) as shown in Figures 6 and 8. L2 is a positive integer representing the length of the first arm 12.

[0059] As shown in FIG. 4, the second arm 13 is represented by a vector b3. In the initial posture, the extending direction of the second arm 13 is along the z-axis direction, so the vector b3 is represented by three-dimensional coordinates (0,0,L3), as shown in FIGS. 6 and 8. Note that L3 is a positive integer representing the length of the second arm 13.

[0060] As shown in FIG. 4, the third arm 14 is represented by a vector b4. In the initial posture, the extending direction of the third arm 14 is along the z-axis direction, so the vector b4 is represented by three-dimensional coordinates (0,0,L4), as shown in FIGS. 6 and 8. Note that L4 is a positive integer representing the length of the third arm 14.

[0061] As shown in FIG. 4, the fourth arm 15 is represented by a vector b5. In the initial posture, the extending direction of the fourth arm 15 is along the y-axis direction, so the vector b5 is represented by three-dimensional coordinates (0,L5,0), as shown in FIGS. 6 and 8. Note that L5 is a positive integer representing the length of the fourth arm 15.

[0062] As shown in FIG. 4, the fifth arm 16 is represented by a vector b6. In the initial posture, the extending direction of the fifth arm 16 is along the y-axis direction, so the vector b6 is represented by three-dimensional coordinates (0,L6,0), as shown in FIGS. 6 and 8. Note that L6 is a positive integer representing the length of the fifth arm 16.

[0063] As shown in FIG. 4, the sixth arm 17 and the end effector 20 are represented by a vector b tcp represented by . The vector b tcp represents how much and in which direction the control point TCP is deviated from the sixth joint actuator 176, and as shown in FIGS. 6 and 8, it has three-dimensional coordinates (Ofs x ,Ofs y ,Ofs z ). Ofs x , Ofs y and Ofs z are integers representing the above deviation amounts.

[0064] When such a robot model RM1 is input to the robot monitoring device 3, the robot monitoring device 3 can, for example, use forward kinematics calculations to derive and monitor the position and orientation of the first robot 1.

[0065] Next, we will explain the conventional robot model RM2. The robot model RM2 shown in Figure 7 is a robot model represented by vectors, and as an example, it contains data that identifies the model of the second robot 2 shown in Figure 3. The robot model RM2 includes second joint data C and second arm data E.

[0066] The second joint data C is effective joint data to which joint data is assigned to n joints, or in this embodiment, 4 joints, each representing the direction vector of the joint's rotation axis in 3D coordinates. The second joint data C is also assigned to control points TCP. The direction of the rotation axis is the direction of the rotation axis in the initial posture of the second robot 2.

[0067] As shown in Figure 5, the first joint J1 (first joint actuator 27) is represented by vector a1. In the initial position, the rotation axis of the first joint J1 is along the z-axis direction, so as shown in Figure 7, vector a1 is represented as (0,0,1).

[0068] As shown in Figure 5, the second joint J2 (second joint actuator 28) is represented by vector a2. In the initial position, the rotation axis of the second joint J2 is along the z-axis direction, so as shown in Figure 7 (and Figure 8), vector a2 is represented as (0,0,1).

[0069] As shown in Figure 5, the third joint J3 (first drive mechanism 291) is represented by vector a3. Since the third joint J3 does not have a rotation axis, as shown in Figure 7 (and Figure 8), vector a3 is represented as (0,0,0), that is, a zero vector.

[0070] As shown in Figure 5, the fourth joint J4 (second drive mechanism 292) is represented by vector a4. In the initial position, the rotation axis of the fourth joint J4 is along the z-axis direction, so as shown in Figure 7, vector a4 is represented as (0,0,1).

[0071] As shown in Figure 5, the control point TCP is vector a tcp It is represented by vector a. tcp Since it does not have an axis of rotation, it can be represented as (0,0,0), i.e., the zero vector, as shown in Figure 7 (and Figure 8).

[0072] As described above, in the second joint data C, for joint data of joints that have a rotation axis, we used 1 as one of the values ​​of X, Y, or Z in the 3D coordinates. However, we are not limited to this, and any value other than 1 may be used as long as it can be distinguished from 0.

[0073] The second arm data E is effective arm data to which joint data, which is joint information representing the length of the arm and the vector of the direction of extension in three-dimensional coordinates, is assigned to n arms, or in this embodiment, four arms. The second arm data E is also assigned to the control point TCP. The direction of extension of the arm is the direction of extension of the arm in the initial posture of the second robot 2.

[0074] As shown in Figure 5, the forward kinematic calculations for the first joint J1 to the third joint J3 are performed in a two-dimensional plane, i.e., a plane parallel to the XY plane. Therefore, the vector b1 corresponding to the first joint J1 is represented as (0,0,0), or the zero vector, as shown in Figures 7 and 8.

[0075] As shown in Figure 5, the relative position vector between the first joint J1 and the second joint J2, i.e., the length of the first arm 23, is represented by vector b2. In the initial position, the extension direction of the first arm 23 is along the x-axis, so vector b2 is represented as (l1,0,0) as shown in Figure 7 (and Figure 8). Herein, l1 is a positive integer representing the length of the first arm 23.

[0076] As shown in Figure 5, the relative position vector between the second joint J2 and the third joint J3, i.e., the length of the second arm 24, is represented by vector b3. In the initial position, the extension direction of the second arm 24 is along the x-axis, so vector b3 is represented as (l2,0,0) as shown in Figure 7 (and Figure 8). Herein, l2 is a positive integer representing the length of the second arm 24.

[0077] As shown in Figure 5, the relative position vector between the third joint J3 and the fourth joint J4, i.e., the length of the work head 25, is represented by vector b4. Vector b4 is represented as (0,0,0), i.e., the zero vector, as shown in Figures 7 and 8.

[0078] As shown in Figure 5, the second drive mechanism 292 and the end effector are connected to vector b tcp It is represented by vector b. tcp This represents the direction and extent to which the control point TCP is offset from the tip of the work head 25, as shown in Figure 7 (and Figure 8), (Ofs x Ofs y Ofs z It is represented as Ofs. x Ofs y and Ofs z This is an integer representing the above-mentioned amount of deviation.

[0079] When such a robot model RM2 is input to the robot monitoring device 3, the robot monitoring device 3 recognizes that the object being monitored is the second robot 2, and can derive and monitor the position and orientation of the second robot 2 using forward kinematics calculations.

[0080] As mentioned above, robot models RM1 and RM2 are defined using vector-based robot models, rather than DH notation. Vector-based robot models can handle cases where the robot's joints are adjacent and perfectly parallel to each other's rotation axes, and they can represent the robot model without rotating the coordinate system orientation for each joint, making them more versatile than robot models using DH notation.

[0081] Traditionally, it was necessary to create different robot models, each represented by different vectors, depending on the type of robot that would be performing the task. For example, it was necessary to create robot model RM1 for the first robot 1 and robot model RM2 for the second robot 2.

[0082] To create robot model RM1, a dedicated robot model data RMD1, as shown in Figure 10, is prepared, and various data is assigned to the blank spaces in RMD1. On the other hand, to create robot model RM2, a dedicated robot model data RMD2, as shown in Figure 11, is prepared, and various data is assigned to the blank spaces in RMD2. RMD1 consists of a 7x2 table, and RMD2 consists of a 5x2 table; the two differ in conditions such as the number of data storage locations, table size, and table format. Thus, conventionally, it was necessary to prepare two different robot model data sets, RMD1 and RMD2. In other words, a single robot model data set cannot be used to monitor multiple types of robots with different models or numbers of arms, such as the first robot 1 and the second robot 2, using a single robot model. The present invention can solve this problem by the following method.

[0083] The following describes an example of the robot monitoring method and robot model creation method of the present invention.

[0084] The robot monitoring method of the present invention comprises a first step (robot model creation method) of creating a robot model RM as shown in Figure 8 using robot model data RMD which is used for both the first robot 1 and the second robot 2, and a second step of monitoring the robot based on the robot model RM created in the first step.

[0085] The first step comprises step S101, step S102, and step S103.

[0086] First, in step S101, it is determined whether the object being monitored is a 6-axis robot. That is, it is determined whether the object being monitored is the first robot 1. This determination is made by the robot control device 9A or the robot control device 9B. Furthermore, this determination is made based on information input by the operator using an input device such as a teaching device.

[0087] However, the configuration is not limited to this, and the decision in step S101 may be made by an external device that can communicate with the robot control device 9A or the robot control device 9B, such as a teaching device.

[0088] In step S101, if it is determined that the monitored object is a 6-axis robot (more precisely, a vertically articulated 6-axis robot), the process proceeds to step S102. If it is determined that the monitored object is not a 6-axis robot, i.e., a SCARA robot (more precisely, a horizontally articulated 4-axis robot), the process proceeds to step S103.

[0089] In step S102, a robot model for a 6-axis robot is created, that is, the robot model RM for the first robot 1 is created. In step S103, a robot model for a SCARA robot is created, that is, the robot model RM for the second robot 2 is created.

[0090] In this invention, in both steps S102 and S103, the robot model data RMD is created using one type of robot model data as shown in Figure 9. That is, the robot model data RMD is used for both the first robot 1 and the second robot 2. The robot model data RMD is, as an example, composed of a 7x4 table.

[0091] In step S102, as shown in Figure 8, the first joint data A is assigned to each row corresponding to J1-J6 and TCP in the "(6-axis) joint axis vector" column of the robot model data RMD, and the first arm data B is assigned to each row corresponding to J1-J6 and TCP in the "(6-axis) relative position vector" column. The details of the first joint data A and first arm data B are as described above. Note that no data is assigned to the "(scalar) joint axis vector" and "(scalar) relative position vector" columns. That is, in the table shown in Figure 8, these columns are assigned zero vectors as dummy data.

[0092] On the other hand, in step S103, as shown in Figure 8, second joint data C is assigned to each row corresponding to J1-J4 and TCP in the "(Scalar) Joint Axis Vector" column of the robot model data RMD, and second joint data D as dummy joint data is assigned to each row corresponding to J5 and J6 in the "(Scalar) Joint Axis Vector" column, and second arm data E is assigned to each row corresponding to J1-J4 and TCP in the "(Scalar) Relative Position Vector" column, and second arm data F as dummy arm data is assigned to each row corresponding to J5 and J6 in the "(Scalar) Relative Position Vector" column. Note that no data is assigned to the "(6-axis) Joint Axis Vector" and "(6-axis) Relative Position Vector" columns. That is, in the table shown in Figure 8, these columns are assigned zero vectors as dummy data.

[0093] As mentioned above, the second joint data C is assigned as a 3D vector to each row corresponding to J1-J4 and TCP.

[0094] The second joint data D represents the vectors in the rotation axis directions of all rows mn, i.e., the (n+1)th and (n+2)th (=m)th joints that exist in the first robot 1 but not in the second robot 2, in three-dimensional coordinates. Specifically, the second joint data D is assigned as vector a5 to the row corresponding to "J5" in the "(Scalar) Joint Axis Vector" column, and as vector a6 to the row corresponding to "J6" in the "(Scalar) Joint Axis Vector" column. Since vectors a5 and a6 do not actually exist, they are represented by the three-dimensional coordinate (0,0,0), i.e., the zero vector.

[0095] As mentioned above, the second arm data E is assigned as a three-dimensional vector to the rows corresponding to J1-J4 and TCP.

[0096] The second arm data F represents the lengths and extension direction vectors in 3D coordinates for all rows of mn, i.e., the (n+1)th and (n+2)th (=m)th arms that are present in the first robot 1 but not in the second robot 2. Specifically, the second arm data F is assigned as vector b5 in the row corresponding to "J5" in the "(scalar) joint axis vector" column, and as vector b6 in the row corresponding to "J6" in the "(scalar) joint axis vector" column. Since vectors b5 and b6 do not actually exist, they are represented by the 3D coordinate (0,0,0), i.e., the zero vector.

[0097] In this way, when monitoring a robot model data (RMD) for the first robot 1, which has a larger number of joints and arms, and a second robot 2, which has fewer joints and arms, a single common robot model (RM) is created by assigning zero vectors as dummy data (second joint data D and second arm data F) to arms and joints that do not actually exist. This allows for monitoring of both the first robot 1 and the second robot 2. In particular, since a single robot model data (RMD) can handle both the first robot 1 and the second robot 2, it offers excellent versatility.

[0098] In the above description, the explanation is given with m being 6 and n being 4. However, the present invention is not limited to this as long as n<m is satisfied, and m and n may be any numbers as long as they are positive integers.

[0099] In addition, in the above description, the case where first joint data A and first arm data B are allocated to robot model data RMD (step S102) and the case where second joint data C, second joint data D, second arm data E, and second arm data F are allocated (step S103) are described separately. However, the present invention is not limited to this. As shown in FIG. 8, a robot model RM may be created by allocating all of first joint data A, first arm data B, second joint data C, second joint data D, second arm data E, and second arm data F to robot model data RMD. This allows the determination in step S101 to be omitted. Furthermore, once such a robot model RM is created and stored in the storage unit 32, steps S101 to S103 can be omitted from the next time onward, and monitoring of the first robot 1 and the second robot 2 can be started more quickly.

[0100] After step S102 or step S103 and as a pre-process of step S104, the first robot 1 or the second robot 2 that is a monitoring target is placed at a reference position on XYZ coordinates and oriented in a predetermined direction. Next, the first robot 1 or the second robot 2 that is the monitoring target is operated according to a predetermined operation program, and in step S104, the operating first robot 1 or second robot 2 is monitored. In step S104, for example, the created robot model RM is used to monitor the first robot 1 or the second robot 2. This step is performed by the monitoring unit 31 of the robot monitoring device 3.

[0101] As described above, the robot monitoring method includes: a first step of creating a robot model RM using robot model data RMD that is compatible with both a first robot 1 including a first robot arm 10 having m arms (where m is an integer of 2 or more) and m joints corresponding to the arms, and a second robot 2 including a second robot arm 22 having n arms (where n is an integer and n<m) and n joints corresponding to the arms; and a second step of monitoring the first robot 1 or the second robot 2 based on the robot model RM created in the first step. Further, in the first step, when the monitoring target is the first robot 1, as the joint data of the first robot 1, m pieces of first joint data A, each representing a vector in the direction of the rotation axis of the joint by three-dimensional coordinates, are assigned to the m joints respectively in the robot model data RMD, and as the arm data of the first robot 1, first arm data B, representing the length and direction of each arm by three-dimensional coordinates, are assigned to the m arms respectively; when the monitoring target is the second robot 2, as the joint data of the second robot 2, n pieces of second joint data C, each representing a vector in the direction of the rotation axis of the joint by three-dimensional coordinates, are assigned to the n joints respectively in the robot model data RMD, and second joint data D represented by m-n zero vectors is further assigned, and as the arm data of the second robot 2, n pieces of second arm data E, representing the length and direction of each arm by three-dimensional coordinates, are assigned to the n arms respectively, and second arm data F represented by m-n zero vectors is further assigned. This enables monitoring not only of the first robot 1 but also of the second robot 2. In particular, since one set of robot model data RMD is compatible with both the first robot 1 and the second robot 2, the method is excellent in versatility.

[0102] Although the above description assumes two robots as the target of monitoring, the present invention is not limited to this, and three or more robots may be monitored. In this case, the robot model data has, for example, two columns for each robot: joint data and arm data. In addition, the robot model data has at least a row corresponding to the number of arms and joints, according to the robot with the most arms and joints.

[0103] Furthermore, the first robot 1 is a vertically articulated 6-axis robot, and the second robot 2 is a horizontally articulated 4-axis robot. In the first step, as arm data for the second robot 2, second joint data C and second arm data E are assigned to four existing arms and joints, respectively, and second joint data D and second arm data F are assigned to non-existent arms and joints, respectively. In this way, by applying a relatively widely used vertically articulated 6-axis robot and a horizontally articulated 4-axis robot as the combination of the first robot 1 and the second robot 2, the present invention can be utilized more effectively.

[0104] Further, the robot monitoring device 3 includes a communication unit 33 serving as an acquisition unit that acquires a robot model RM generated using shared robot model data RMD for both a first robot 1 including a first robot arm 10 having m (m is an integer of 2 or greater) arms and m joints respectively corresponding to the arms, and a second robot 2 including a second robot arm 22 having n (n is an integer satisfying n<m) arms and n joints respectively corresponding to the arms; and a monitoring unit 31 that monitors the first robot 1 or the second robot 2 based on the robot model RM acquired by the communication unit 33. Further, in the robot model RM, when the monitoring target is the first robot 1, the robot model data RMD is assigned, as joint data of the first robot 1, m pieces of first joint data A each representing a vector in the direction of the rotation axis of the joint in three-dimensional coordinates for each of the m joints, and is assigned, as arm data of the first robot 1, first arm data B representing the length and direction of the arm in three-dimensional coordinates for each of the m arms. When the monitoring target is the second robot 2, the robot model data RMD is assigned, as joint data of the second robot 2, n pieces of second joint data C each representing a vector in the direction of the rotation axis of the joint in three-dimensional coordinates for each of the n joints, and is also assigned second joint data D represented by m-n zero vectors; and as arm data of the second robot 2, n pieces of second arm data E representing the length and direction of the arm in three-dimensional coordinates for each of the n arms are assigned, and second arm data F represented by m-n zero vectors are also assigned. This enables compatibility for monitoring not only the first robot 1 but also the second robot 2. In particular, since a single set of robot model data RMD is compatible with both the first robot 1 and the second robot 2, the device is excellent in versatility.

[0105] Furthermore, the robot monitoring method comprises a first step of generating a robot model RM using shared robot model data RMD for both a first robot 1 including a first robot arm 10 having m arms (where m is an integer of 2 or greater) and m joints corresponding to the arms, and a second robot 2 including a second robot arm 22 having n arms (where n is an integer satisfying n<m) and n joints corresponding to the arms. In the first step, when the monitoring target is the first robot 1, m pieces of first joint data A each representing a direction vector of a rotation axis of a joint in three-dimensional coordinates are assigned to the m joints respectively as joint data of the first robot 1 in the robot model data RMD, and first arm data B each representing the length and direction of an arm in three-dimensional coordinates are assigned to the m arms respectively as arm data of the first robot 1. When the monitoring target is the second robot 2, n pieces of second joint data C each representing a direction vector of a rotation axis of a joint in three-dimensional coordinates are assigned to the n joints respectively as joint data of the second robot 2 in the robot model data RMD, and second joint data D represented by m-n zero vectors are further assigned; as arm data of the second robot 2, n pieces of second arm data E each representing the length and direction of an arm in three-dimensional coordinates are assigned to the n arms respectively, and second arm data F represented by m-n zero vectors are further assigned. This enables monitoring not only of the first robot 1 but also of the second robot 2. In particular, since a single piece of robot model data RMD can be compatible with both the first robot 1 and the second robot 2, the present invention is excellent in versatility.

[0106] Note that, the above description has discussed the case where the robot model data RMD generated in the first step is used for monitoring, but the present invention is not limited thereto. For example, the robot model data RMD generated in the first step may be used for other applications such as simulation.

[0107] Although the present invention has been described above based on the illustrated embodiments, the present invention is not limited thereto. The configurations of each part of the first robot 1, the second robot 2, the robot monitoring device 3, the robot system 100, etc., can be replaced with any configuration having similar functions, and other arbitrary components may be added. [Explanation of symbols]

[0108] 1...First robot, 2...Second robot, 3...Robot monitoring device, 4...Network, 9A...Robot control device, 9B...Robot control device, 10...First robot arm, 11...Base, 12...First arm, 13...Second arm, 14...Third arm, 15...Fourth arm, 16...Fifth arm, 17...Sixth arm, 20...End effector, 21...Base, 22...Second robot arm, 23...First arm, 24...Second arm, 25...Working head, 26...End effector, 27...First joint actuator, 28...Second joint actuator, 31...Monitoring unit, 32...Memory unit, 33...Communication unit, 100...Robot system, 171...First joint actuator, 172...Second joint actuator, 173...Third joint actuator, 174...Fourth joint Actuator, 175...5th joint actuator, 176...6th joint actuator, 251...spline nut, 252...ball screw nut, 253...spline shaft, 291...1st drive mechanism, 292...2nd drive mechanism, A...1st joint data, B...1st arm data, C...2nd joint data, D...2nd joint data, E...2nd arm data, F...2nd arm data, J1...1st joint, J2...2nd joint, J3...3rd joint, J4...4th joint, J5...5th joint, J6...6th joint, O1...1st rotation axis, O2...2nd rotation axis, O3...3rd rotation axis, RM...robot model, RM1...robot model, RM2...robot model, RMD...robot model data, RMD1...robot model data, RMD2...robot model data, TCP...control point

Claims

1. A first step of creating a robot model using robot model data that can be used for both a first robot having m (where m is an integer of 2 or more) arms and m joints corresponding to those arms, and a second robot having n (where n is an integer and n < m) arms and n joints corresponding to those arms. The process includes a second step of monitoring the first robot or the second robot based on the robot model created in the first step, In the first step described above, If the object being monitored is the first robot, the robot model data includes: As joint data for the first robot, m first joint data A are assigned to each of the m joints, each representing the direction vector of the rotation axis of the joint in three-dimensional coordinates. As arm data for the first robot, first arm data B, which represents the length and direction vectors of each arm in three-dimensional coordinates, is assigned to each of the m arms. If the object being monitored is the second robot, the robot model data includes: As joint data for the second robot, n second joint data C are assigned to each of the n joints, each representing a vector in the direction of the rotation axis of the joint in three-dimensional coordinates, and m-n second joint data D are assigned, represented by zero vectors. A robot monitoring method characterized by assigning n second arm data E, each representing the length and direction vectors of the arm in three-dimensional coordinates, to n arms of the second robot, and also assigning m-n second arm data F, each represented by zero vectors, to the arms of the second robot.

2. The first robot is a vertical multi-joint 6-axis robot, The second robot is a horizontal multi-joint 4-axis robot, The robot monitoring method according to claim 1, wherein in the first step, the second joint data C and the second arm data E are assigned to four existing arms and joints as arm data for the second robot, and the second joint data D and the second arm data F are assigned to non-existent arms and joints.

3. An acquisition unit acquires a robot model created using robot model data that can be used for both a first robot having m (where m is an integer of 2 or more) arms and m joints corresponding to those arms, and a second robot having n (where n is an integer and n < m) arms and n joints corresponding to those arms. The system includes a monitoring unit that monitors the first robot or the second robot based on the robot model acquired by the acquisition unit, The aforementioned robot model, If the object being monitored is the first robot, the robot model data includes: As joint data for the first robot, m first joint data A are assigned to each of the m joints, each representing the vector of the rotation axis direction of the joint in three-dimensional coordinates. As arm data for the first robot, first arm data B is assigned to each of the m arms, representing the length and direction vectors of the arms in three-dimensional coordinates. If the object being monitored is the second robot, the robot model data includes: As joint data for the second robot, n joints are each assigned n second joint data C, which represent the direction vector of the rotation axis of the joint in three-dimensional coordinates, and m-n second joint data D, which are represented by zero vectors. A robot monitoring device characterized in that, as arm data for the second robot, n arms are each assigned n second arm data E, which represent the length and direction vectors of the arms in three-dimensional coordinates, and m-n second arm data F, which are represented by zero vectors, are also assigned.

4. The first step involves creating a robot model using robot model data that can be used for both a first robot having m (where m is an integer of 2 or more) arms and m joints corresponding to those arms, and a second robot having n (where n is an integer and n < m) arms and n joints corresponding to those arms. In the first step described above, If the object being monitored is the first robot, the robot model data includes: As joint data for the first robot, m first joint data A are assigned to each of the m joints, each representing the direction vector of the rotation axis of the joint in three-dimensional coordinates. As arm data for the first robot, first arm data B, which represents the length and direction vectors of each arm in three-dimensional coordinates, is assigned to each of the m arms. If the object being monitored is the second robot, the robot model data includes: As joint data for the second robot, n second joint data C are assigned to each of the n joints, each representing a vector in the direction of the rotation axis of the joint in three-dimensional coordinates, and m-n second joint data D are assigned, represented by zero vectors. A method for creating a robot model, characterized in that, as arm data for the second robot, n second arm data E are assigned to each of the n arms, each representing the length and direction vectors of the arm in three-dimensional coordinates, and m-n second arm data F are also assigned to each arm.

Citation Information

Patent Citations

  • Parameter estimation device

    JP2017164838A

  • Information processor, information processing method, robot system, measurement system, article manufacturing method using robot system, control program and recording medium

    JP2022084259A

  • Axis-Invariant based Multi-axis robot inverse kinematics modeling and solving method

    US20200055192A1

  • Training data generation device, machine learning device, and robot joint angle estimation device

    WO2022138339A1