Robot control device and robot control method

The robot control device addresses the delay and collision issues in existing systems by predicting the operating position of the robot, performing real-time interference determination, and implementing a forced stop with increased deceleration when interference is detected, thereby ensuring timely operation and collision avoidance.

JP7690405B2Active Publication Date: 2025-06-10FUJI CORP
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
JP2021574418
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2020-01-31
Publication Date
2025-06-10
Estimated Expiration
2040-01-31

AI Technical Summary

Technical Problem

Existing robot control systems face delays in starting operations due to time-consuming interference determination processes between robot operation paths and surrounding objects, and they lack effective measures to avoid collisions when interference is detected during operation.

Method used

A robot control device that predicts the operating position of the robot during operation, performs interference determination based on component and surrounding object information at that position, and stops the robot at a deceleration greater than a preset deceleration when interference is detected to avoid collisions.

Benefits of technology

This solution allows for real-time interference determination during robot operation, preventing delays at startup and effectively avoiding collisions with surrounding objects, thus enhancing productivity and safety.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007690405000001
    Figure 0007690405000001
  • Figure 0007690405000002
    Figure 0007690405000002
  • Figure 0007690405000003
    Figure 0007690405000003
Patent Text Reader

Abstract

This robot control device for controlling a robot comprises: a storage unit that stores information of a surrounding object(s) disposed around the robot, and information of constituent elements of the robot; a determination processing unit that predicts, on the basis of information related to an operation command of the robot during operation of the robot, an operation location of the robot after the present time, and that determines, on the basis of information of the constituent elements at the operation location and information of the surrounding object, an interference between the constituent elements and the surrounding object; and a stop processing unit that, if it is determined by the interference determination that interference will occur, stops the operation of the robot at a deceleration greater than a preset deceleration.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification discloses a robot control device and a robot control method.

Background Art

[0002] Conventionally, as this type of robot control device, there has been proposed one that determines the presence or absence of interference between the operation path of a robot and surrounding objects arranged around the robot (see, for example, Patent Document 1). This device approximates and models each component of the robot such as a robot arm and each surrounding object as a rectangular parallelepiped or a combination of rectangular parallelepipeds, and determines the presence or absence of interference by determining the presence or absence of overlap of each model projected onto a two-dimensional plane.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] Here, before starting the operation of the robot, it is conceivable to perform the above-described determination process for all of the planned operation paths and then operate the robot. However, the determination process may take time and delay the start of the robot's operation, affecting productivity. On the other hand, in order to suppress the influence, it is also conceivable to perform the determination process during the operation of the robot, but when it is determined that there is interference, an appropriate measure is required so that the robot and the surrounding objects do not collide.

[0005] The main object of the present disclosure is to appropriately avoid a collision between a robot and a surrounding object when it is determined that there is interference while performing an interference determination with the surrounding object during the operation of the robot.

Means for Solving the Problems

[0006] To achieve the above main object, the present disclosure has adopted the following means.

[0007] The robot control device of the present disclosure is a robot control device for controlling a robot, a storage unit that stores information on surrounding objects arranged around the robot and information on components of the robot; a determination processing unit that predicts the operating position of the robot after the current time based on information regarding the operation command of the robot during the operation of the robot, and performs an interference determination between the component and the surrounding object based on the information on the component and the information on the surrounding object at the operating position; a stop processing unit that stops the operation of the robot at a deceleration greater than a preset deceleration when it is determined that interference occurs in the interference determination; The gist is that it includes the above.

[0008] The robot control device of the present disclosure predicts the operating position of the robot after the current time during the operation of the robot, and performs an interference determination based on the information on the components and the information on the surrounding objects at the operating position. When it is determined that interference occurs in the interference determination, the operation of the robot is stopped at a deceleration greater than a preset deceleration. Thereby, it is not necessary to perform an interference determination for all of the planned operation paths before the start of the operation of the robot, and it is possible to suppress a delay in the start of the operation of the robot. Further, when it is determined that interference occurs, by stopping the operation of the robot at a deceleration greater than a preset deceleration, it is possible to appropriately avoid a collision between the robot and the surrounding objects.

Brief Description of the Drawings

[0009]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Embodiments for Carrying Out the Invention

[0010] Next, embodiments for carrying out the invention of the present disclosure will be described with reference to the drawings.

[0011] FIG. 1 is a configuration diagram showing an outline of the configuration of robot system 10. FIG. 2 is a configuration diagram showing an outline of the configuration of robot 20. FIG. 3 is a block diagram showing the electrical connection relationship of robot system 10. In FIGS. 1 and 2, the left - right direction is the X - axis direction, the front - rear direction is the Y - axis direction, and the up - down direction is the Z - axis direction.

[0012] The robot system 10 uses a vertically articulated robot to perform a predetermined operation on a workpiece. For example, the robot system 10 picks up workpieces such as a large number of bolts B placed in a scattered manner one by one, turns the head downward, and places them on the tray T in an upright posture. As shown in FIG. 1, the robot system 10 includes a base 12, a cover 14, a bolt supply device 16, a tray transfer device 18, a case 19, a robot 20, a control device 40 (see FIG. 3), and a management device 50 (see FIG. 3). The arrangement positions of the bolt supply device 16, the tray transfer device 18, the case 19, and the robot 20 can be represented in a world coordinate system with the base 12 as a reference.

[0013] The bolt supply device 16 is a belt conveyor device that conveys a large number of bolts B placed in a scattered manner. The tray transfer device 18 is a belt conveyor device that conveys the tray T in the X direction. The tray transfer device 18 is installed so as to extend in the X direction at the central portion in the Y direction of the base 12. Further, the bolt supply device 16 is installed in front of the tray transfer device 18 on the base 12. The case 19 is used for supplying workpieces or discarding workpieces with defective shapes. Note that a plurality of cases 19 may be arranged.

[0014] The robot 20 is a vertically articulated robot. The robot 20 is installed on the opposite side of the bolt supply device 16 with the tray transfer device 18 on the base 12 in between. The robot 20 includes a plurality of arms (tip arm 21, intermediate arms 22, 23, base arm 24) connected in series, a pedestal 25, an end effector 26, and a camera 28. The position of each arm can be represented in a base coordinate system with the bottom surface of the pedestal 25 as a reference. Each arm includes a plurality of joints 31 to 35, motors 31a to 35a for driving each joint 31 to 35, and encoders 31b to 35b for detecting the rotation angle of each joint 31 to 35. The base arm 24 is horizontally pivotally attached to the pedestal 25 via the joint 35. The tip arm 21, the intermediate arms 22, 23, and the base arm 24 are vertically pivotally connected to each other via corresponding joints 32 to 34. Further, the tip arm 21 has a disk-shaped flange 21f (hand) coaxially attached via a joint 31 that can rotate about an axis along the longitudinal direction at the tip portion in the longitudinal direction.

[0015] The end effector 26 includes a fixing portion 26a fixed to the flange 21f of the tip arm 21 by bolts or the like, and a tool portion 26b supported so as to be capable of performing opening / closing operations, turning operations, etc. with respect to the fixing portion 26a. The tool portion 26b is composed of an electromagnetic chuck, a mechanical chuck, a suction nozzle, etc., and is appropriately selected according to the shape and material of the work (bolt B) to be worked on. The end effector 26 of the present embodiment includes a motor, an encoder, etc. (not shown) such that the tool portion 26b can vertically pivot with respect to the fixing portion 26a. Note that the position of the end effector 26 can be represented in a tool (mechanical interface) coordinate system with the end face of the flange 21f as a reference.

[0016] The camera 28 is attached to the side surface of the tip arm 21. The camera 28 images the work (bolt B) supplied by the bolt supply device 16 or the work in the case 19 to recognize the position and orientation of the work, or images the tray T to recognize the position of the tray T conveyed by the tray conveying device 18. As shown in FIG. 2, mounting holes (female screw holes) 21h are formed on the front surface and the right surface of the tip arm 21, and mounting holes 21h are similarly formed on the left surface and the back surface (not shown). The camera 28 is attached to the mounting hole 21h formed on any surface of the tip arm 21 using a bracket and bolts (not shown). That is, the camera 28 can be selectively attached to any of the front side, the left side, the right side, and the back side of the tip arm 21, and in this embodiment, it is attached to the right side.

[0017] The control device 40 is configured as a microprocessor centered on the CPU 41. In addition to the CPU 41, it includes a ROM 42, an HDD 43, a RAM 44, an input / output interface (not shown), etc., and controls the operation of each device and the robot 20. Detection signals from sensors (not shown) of the bolt supply device 16 and the tray conveying device 18, detection signals from the encoders 31b to 35b of the robot 20, detection signals from the encoder of the end effector 26, images from the camera 28, etc. are input to the control device 40. Further, control signals to the bolt supply device 16 and the tray conveying device 18, drive signals to the motors 31a to 35a of the robot 20, drive signals to the tool part 26b of the end effector 26, control signals to the camera 28, etc. are output from the control device 40.

[0018] The management device 50 is configured as a microprocessor centered around the CPU 51. In addition to the CPU 51, it includes a ROM 52, an HDD 53, a RAM 54, an input / output interface (not shown), etc., and manages the entire system. The operation status of the system, the captured images of the camera 28, the input signals from the input device 56, etc. are input to the management device 50. The input device 56 is an input device such as a keyboard or a mouse for an operator to perform input operations. Also, various instructions, various information to the control device 40, output signals to the output device 58, etc. are output from the management device 50. The output device 58 is a display device such as a liquid crystal display for displaying various information.

[0019] Here, interference determination information is stored in the HDD 43 of the control device 40. FIG. 4 is an explanatory diagram showing an example of the interference determination information. FIG. 5 is an explanatory diagram showing an example of the set shape of the surrounding objects of the robot 20. FIG. 6 is an explanatory diagram showing an example of the set shape of the components of the robot 20. In the interference determination information, coordinates (X, Y, Z) are set in either the world coordinate system, the base coordinate system, or the tool coordinate system. Since the coordinate systems are mutually convertible, they will be described without particular distinction.

[0020] The interference determination information 43a in FIG. 4A stores information on the cover 14, bolt supply device 16, tray transfer device 18, tray T, and case 19, which are peripheral objects of the robot 20. In the present embodiment, an approximate shape (see FIG. 5) in which the shape of the peripheral object based on 3D CAD data or the like is approximated by a rectangular parallelepiped is set. Among the eight vertices of each rectangular parallelepiped, the upper left corner is defined as vertex P*1 and the lower right corner is defined as vertex P*2. For example, in the case of the cover 14, the coordinates of the vertex P11 at the upper left corner and the vertex P12 at the lower right corner are stored as basic information. Also, in the case of the tray T, the coordinates of the vertex P41 at the upper left corner and the vertex P42 at the lower right corner in the state where the tray T is transported to the work position by the tray transfer device 18 are stored as basic information. In the case of the tray T, the coordinates of the rectangular parallelepiped approximated by combining the thickness of the tray T with the height of the workpiece may be stored. Also, since the tray T is transported to the work position or carried out to the outside by the tray transfer device 18, its presence or absence changes. Therefore, in the interference determination information 43a, as additional information on the tray T, it is stored that the tray T can be excluded.

[0021] The interference determination information 43b in FIG. 4B stores information about the end effector 26, the camera 28, and the intermediate arms 1 and 2 (intermediate arms 22 and 23), which are components of the robot 20. In this embodiment, an approximate shape in which the shapes of the end effector 26 and the camera 28 based on 3D CAD data or the like are approximated by rectangular parallelepipeds is set. The end effector 26 has a fixed part 26a and a tool part 26b that are each approximated by a rectangular parallelepiped, and thus is approximated by a shape formed by combining rectangular parallelepipeds. For these components, similar to the surrounding objects, the coordinates of the top left vertex P*1 and the bottom right vertex P*2 among the eight vertices of each rectangular parallelepiped are stored as basic information. For the tool part 26b, the coordinates of the top left vertex P71 and the bottom right vertex P72 in the initial state where the tip faces downward (see FIG. 6A) are stored. Further, as additional information of the tool part 26b, the offset amounts in the swiveled state where it is vertically swiveled (see FIG. 6B) are stored. The offset amounts include the offset amount ΔP71 with respect to the top left vertex P71 and the offset amount ΔP72 with respect to the bottom right vertex P72. For the camera 28, the coordinates of the top left vertex P81 and the bottom right vertex P82 of the rectangular parallelepiped in the state where it is attached to the front side of the tip arm 21 (see FIG. 6A) are stored as basic information. Further, as additional information of the camera 28, the offset amounts in the states where the camera 28 is attached to the left side, the right side, and the back side are stored. In this embodiment, since the camera 28 is attached to the right side of the tip arm 21 (see FIG. 6B), the offset amounts on the right side surface, that is, the offset amount ΔP81R of the top left vertex P81 and the offset amount ΔP82R of the bottom right vertex P82 are used.

[0022] In the interference determination information 43b, as the basic information of four line segments A11 to A14 approximating the four corners along the longitudinal direction of the intermediate arm 1 (intermediate arm 22) with line segments, the length L1 of each line segment and the offset amounts ΔL11 to ΔL14 from the arm center 22c are stored. Further, in the interference determination information 43b, as the basic information of the two front line segments A21 and A22 among the four corners approximated by line segments along the longitudinal direction of the intermediate arm 2 (intermediate arm 23), the length L2 of each line segment and the offset amounts Δ21 and Δ22 from the arm center 23c are stored. The two rear line segments of the intermediate arm 2 (intermediate arm 23) are excluded because the necessity for interference determination is low. Each offset amount can store each value in the XYZ directions, but the directions without offset may omit the offset amounts.

[0023] The following is an explanation of the operation of the robot 20. The control device 40 executes a process of causing the robot 20 to pick up a workpiece and a process of placing the workpiece on the tray T. Here, the movement control of the robot arm when executing these will be described. FIG. 7 is a flowchart showing an example of robot arm movement control.

[0024] In the robot arm movement control, the CPU 41 of the control device 40 first operates each arm of the robot 20 using a command value of the speed obtained by subjecting a rectangular wave speed command to a moving average process (S100). FIG. 8 is an explanatory diagram of the state of deriving the command value of the speed. The CPU 41 acquires the movement distance of the tip of the tip arm 21 from the current position and posture to the target position and posture, divides this movement distance by the target speed V1 to calculate the time T1, and derives a rectangular wave speed command with a constant speed for each control cycle (FIG. 8A). Next, the CPU 41 subjects the rectangular wave speed to a moving average process using a moving average filter to derive a trapezoidal speed command having an acceleration section, a constant speed section, and a deceleration section (FIG. 8B). In S100, the CPU 41 sets the target positions of the respective joints 31 to 35 of each arm so that the tip of the tip arm 21 moves based on the speed command value for each control cycle in this trapezoidal speed command, and drives and controls the respective motors 31a to 35a so that the positions of the respective joints 31 to 35 coincide with the target positions.

[0025] Next, the CPU 41 performs an interference determination process during the operation of the robot 20 (S110), and determines whether there is a risk of interference between the components of the robot 20 and the surrounding objects (S120). If the CPU 41 determines that there is no interference, it determines whether the robot 20 has normally stopped after passing through the deceleration section (S130). If it determines that the robot 20 has not normally stopped, it returns to S100 and performs the process. That is, the CPU 41 operates each arm of the robot 20 based on the speed command value in the next control cycle. Note that the control cycle is, for example, several hundred μsec. Further, if the CPU 41 determines in S130 that the robot 20 has normally stopped, it ends the robot arm movement control.

[0026] The interference determination process during the operation in S110 is executed based on the flowchart of FIG. 9. In the interference determination process, the CPU 41 determines whether the mounting position of the camera 28 has been set (S200). If it determines that the mounting position has not been set, it determines whether the mounting position is on the front side (S210). Note that when the operator attaches the camera 28 or changes the mounting position, the operator inputs to the management device 50 using the input device 56 which side of the front side, left side, right side, or back side the mounting position is. The CPU 41 makes the determination in S210 based on the mounting position information transmitted from the management device 50. If the CPU 41 determines that the mounting position is on the front side, it sets the coordinates of the vertices P81 and P82, which are the basic information of the camera 28 in the interference determination information 43b, as the determination target (S220). Further, if the CPU 41 determines that the mounting position is not on the front side, it selects the offset amount corresponding to the mounting position from the additional information of the camera 28 in the interference determination information 43b, and reflects the offset amount in the coordinates of the vertices P81 and P82 and sets it as the determination target (S230). After the CPU 41 performs the settings in S220 and S230, it determines that the mounting position of the camera 28 has been set in S200 and skips S210 to S230 as long as the mounting position of the camera 28 is not changed.

[0027] Next, the CPU 41 determines whether or not there is a tray T at the working position on the tray conveyance device 18 based on the detection signal from the sensor of the tray conveyance device 18 (S240). When the CPU 41 determines that there is a tray T, it sets the tray T as the target for the current determination (S250). When the CPU 41 determines that there is no tray T, it excludes the tray T from the target for the current determination (S260). Thus, the CPU 41 dynamically changes whether or not to make the tray T the target for interference determination according to the presence or absence of the tray T on the tray conveyance device 18.

[0028] Subsequently, the CPU 41 determines whether or not the tool part 26b of the end effector 26 is in the initial state (S270). When the CPU 41 determines that the tool part 26b is in the initial state, it sets the coordinates of the vertices P71 and P72, which are the basic information of the tool part 26b of the interference determination information 43b, as the target for the current determination (S280). Further, when the CPU 41 determines that the tool part 26b is not in the initial state but in the turning state, it selects the offset amount during turning, which is the additional information of the tool part 26b of the interference determination information 43b, and reflects the offset amount in the coordinates of the vertices P71 and P72 and sets it as the target for the current determination (S290). Thus, the CPU 41 dynamically changes whether to use the initial state or the turning state as the target for determination according to the state of the tool part 26b. Note that the CPU 41 may read out the offset amount only when the tool part 26b is in the turning state and reflect it in the basic information.

[0029] When the CPU 41 performs various settings for interference determination in this way, it predicts the operating position of the robot 20 after the current time (the tip position of the tip arm 21) using the rectangular wave speed command before the moving average process (S300). As described above, since the robot 20 operates based on the command value based on the trapezoidal speed command, for example, the command value v01 at time t01 (the first control cycle) in FIG. 8B is a value smaller than the target speed V1 before the moving average process. Therefore, considering the moving distance, which is the product of time and speed, the position predicted using the rectangular wave speed command is a position advanced by the distance of the area difference (the hatched part in FIG. 8B) compared to the position instructed to move in this control cycle. That is, the CPU 41 predicts a position advanced beyond the reach position based on the command value of this control cycle. The CPU 41 sets the vertex coordinates and line segment coordinates of each component to be determined from the predicted operating position (S310).

[0030] Then, the CPU 41 performs interference determination by the following first to third determinations. The first determination is a determination based on the information of the vertices of the components and surrounding objects (vertex determination). FIG. 10 shows an example of the vertex determination which is the first determination. As shown in FIG. 10, in the first determination, whether there is interference is determined by whether the vertices of the component to be determined are located within the rectangular parallelepiped space defined by the upper left vertex P*1 and the lower right vertex P*2 of the surrounding object. For example, if the vertices of the component are located within the space of the vertices P11, P12 of the cover 14, the CPU 41 determines that there is no interference, and if the vertices of the component are not located within the space of the vertices P11, P12, the CPU 41 determines that there is interference. Also, if the vertices of the component are located within the space of the vertices P31, P32 of the tray transfer device 18, the CPU 41 determines that there is interference, and if the vertices of the component are not located within the space of the vertices P31, P32, the CPU 41 determines that there is no interference.

[0031] The second determination is a determination (line segment determination) based on information about line segments of components of the robot 20 and surfaces of surrounding objects. An example of the line segment determination, which is the second determination, is shown in FIGS. 11 and 12. As shown in FIG. 11, in the second determination, whether or not there is interference is determined by whether or not a line segment of a component of the robot 20 intersects each surface of a rectangular parallelepiped defined by the upper left vertex P*1 and the lower right vertex P*2 of the surrounding object. First, the CPU 41 derives the start point coordinates Ps and the end point coordinates Pe for each of the line segments A11 to A14, A21, A22 of the arm, which is a component of the robot 20, by kinematic calculation. That is, the CPU 41 obtains, by kinematic calculation, the start point coordinates and the end point coordinates of the arm centers 22c and 23c corresponding to the hand position of the tip arm 21, and based on those coordinates, the length of the line segment and the offset amount stored in the interference determination information 43b, derives the start point coordinates Ps and the end point coordinates Pe of each line segment. Next, the CPU 41 determines the possibility of intersection between any plane PS of the surrounding object and the line segment. That is, the CPU 41 defines the normal vector NV at a point P0 on the plane PS and the vectors Vs and Ve from the point P0 to the start point coordinates Ps and the end point coordinates Pe, and compares the sign of the dot product of the vectors Vs and Ve with the sign of the normal vector NV. For example, one side (the upper side in FIG. 12) with respect to the plane PS is defined as positive, and the other side (the lower side in FIG. 12) with respect to the plane PS is defined as negative. If the signs of the positive and negative are the same, the CPU 41 determines that there is no possibility of intersection because the start point coordinates Ps and the end point coordinates Pe are on the same side with respect to the plane PS (see FIG. 12A). If the signs of the positive and negative are different, the CPU 41 determines that there is a possibility of intersection because the start point coordinates Ps and the end point coordinates Pe are on different sides with respect to the plane PS (see FIG. 12B). Then, when the CPU 41 determines that there is a possibility of intersection, it calculates the coordinates of the intersection point between the line segment and the plane PS, and determines that there is interference if the calculated coordinates of the intersection point are included in the surrounding object, and determines that there is no interference if the coordinates of the intersection point are not included in the surrounding object.

[0032] The third determination is a determination (projection determination) based on a projection image obtained by projecting the components and surrounding objects onto a predetermined projection plane assuming the upper surface of the base 12 or the like. FIG. 13 shows an example of the projection determination which is the third determination. In FIG. 13, the component is the projection image J and the surrounding object is the projection image K, and the case where the XY directions are defined along the sides of the projection image K is illustrated. First, the CPU 41 calculates the center-to-center distance Dx in the X direction between the projection images J and K, the distance Jx from the center of the projection image J to the edge in the X direction, and the distance Kx from the center of the projection image K to the edge in the X direction, and compares the sum of the distance Jx and the distance Kx with the center-to-center distance Dx. If the center-to-center distance Dx is greater than the sum of the distance Jx and the distance Kx, the CPU 41 determines that there is no overlap between the projection images J and K in the X direction, and if the center-to-center distance Dx is less than or equal to the sum of the distance Jx and the distance Kx, the CPU 41 determines that there is an overlap between the projection images J and K in the X direction. Further, the CPU 41 calculates the center-to-center distance Dy (not shown) in the Y direction between the projection images J and K, the distance Jy from the center of the projection image J to the edge in the Y direction, and the distance Ky from the center of the projection image K to the edge in the Y direction, and compares the sum of the distance Jy and the distance Ky with the center-to-center distance Dy to determine the presence or absence of overlap between the projection images J and K in the Y direction. The CPU 41 performs the same determination in two directions defined along the sides of the projection image J, and determines the presence or absence of overlap in a total of four directions. If there is no overlap in even one direction such as the X direction in FIG. 13, for example, the CPU 41 determines that there is no interference, and if there is overlap in all directions, the CPU 41 determines that there is interference.

[0033] The CPU 41 performs interference determination between each component of the robot 20 and the cover 14 by the first and second determinations among these first to third determinations (S320). Further, the CPU 41 performs interference determination between each component of the robot 20 and each surrounding object other than the cover 14 by the second and third determinations (S330), and ends the interference determination process. In the present embodiment, the processing load of the interference determination is suppressed by using an approximate shape or the like, and the time required for the interference determination process is set to several tens of μsec within the control cycle to prevent it from affecting the operation control.

[0034] As a result of such interference determination processing, if there is a risk of interference, the CPU 41 determines that interference occurs at S120 of the robot arm movement control in FIG. 7, and increases the deceleration rate more than normal to forcibly stop the arm of the robot 20 (S140). FIG. 14 shows an example of changing the command value at the time of forced stop, when it is determined that there is interference at time tn. In this case, the robot 20 is controlled to stop at a speed with a larger deceleration than the normal speed (dotted line in the figure) in the deceleration section set by the moving average processing (solid line in the figure). In FIG. 14, the position of time tn in the rectangular wave speed command corresponds to the end point position in the trapezoidal wave speed command, and by increasing the deceleration, the arm of the robot 20 is stopped before the end point position. Thus, when it is determined that interference occurs in the interference determination during the operation of the robot 20, the robot 20 (arm) can be appropriately stopped to prevent a collision with surrounding objects. Then, the CPU 41 notifies of a forced stop error (S150) and ends the robot arm movement control. Note that the CPU 41 notifies the management device 50 of the occurrence of the error, and the management device 50 that has received the notification causes the output device 58 to display the occurrence of the error, outputs an error sound from a speaker (not shown), or lights a warning lamp (not shown).

[0035] Here, the correspondence between the components of this embodiment and the components of the present disclosure will be clarified. The control device 40 of this embodiment corresponds to the robot control device of the present disclosure, the HDD 43 corresponds to the storage unit, the CPU 41 that executes S110 of the robot arm movement control in FIG. 7 (interference determination processing in FIG. 9) corresponds to the determination processing unit, and the CPU 41 that executes S140 of the robot arm movement control corresponds to the stop processing unit. Note that in this embodiment, an example of the robot control method of the present disclosure is also clarified by explaining the operation of the control device 40.

[0036] The control device 40 of the present embodiment described above performs an interference determination based on the information of the components at the predicted position during the operation of the robot 20 and the information of the surrounding objects, and stops the operation of the robot 20 with a large deceleration when it is determined that there is interference. Thereby, the control device 40 does not need to perform an interference determination for all of the planned operation paths before the start of the operation of the robot 20, and can suppress the delay in the start of the operation of the robot 20. In addition, the control device 40 can appropriately avoid a collision between the robot 20 and the surrounding objects.

[0037] In addition, since the control device 40 performs a composite interference determination based on two of the first to third determinations, it can suppress misjudgments and perform an interference determination with high accuracy. In addition, since the control device 40 uses approximate shapes obtained by approximating the surrounding objects and the components with rectangular parallelepipeds or combinations of rectangular parallelepipeds, it is possible to suppress an increase in the processing load of the interference determination and prevent it from affecting the operation control of the robot 20.

[0038] In addition, since the control device 40 stores a plurality of pieces of information with different positions (initial state, turning state) regarding the tool unit 26b (identical component) in the HDD 43, it can appropriately perform an interference determination even when the state of the tool unit 26b changes. In addition, since the control device 40 excludes the tray T from the determination targets according to the presence or absence of the tray T, for example, it can appropriately perform an interference determination even when the presence or absence of the tray T changes during the operation of the robot 20.

[0039] Note that the present disclosure is not limited to the above-described embodiment, and it goes without saying that the present disclosure can be implemented in various modes as long as it belongs to the technical scope of the present disclosure.

[0040] For example, in the above-described embodiment, information on peripheral objects selected according to the presence or absence of peripheral objects such as the tray T is used, but it is not limited to this, and the same information on the peripheral objects may be used regardless of the presence or absence of the peripheral objects. Alternatively, for a peripheral object whose position can change, information on each position may be stored in the interference determination information 43a, and the information selected according to the position of the peripheral object at the time of determination may be used. For example, information selected according to whether the tray T is at the loading position at one end of the conveyor, the working position in the center, or the unloading position at the other end of the conveyor may be used.

[0041] In the above-described embodiment, for example, a plurality of pieces of information with different positions regarding the tool part 26b are stored in the HDD 43, but it is not limited to this. For example, a plurality of pieces of information (a plurality of pieces of information with different forms regarding the same type of component) of each detachable tool part such as an electromagnetic chuck, a mechanical chuck, and a suction nozzle may be stored. Then, information corresponding to the currently attached tool part may be selected to perform interference determination. Alternatively, the same information may be used regardless of the change in the components of the robot 20. For example, information common to a plurality of tool parts may be stored in the HDD 43.

[0042] In the above-described embodiment, information regarding the approximate shape obtained by approximating the components and peripheral objects with a rectangular parallelepiped or a combination of rectangular parallelepipeds is stored in the HDD 43, but information approximated by other shapes such as a spherical shape or a combination of various shapes thereof may be stored. Alternatively, it is not limited to storing information regarding the approximate shape, and information on the actual shape such as 3D CAD data may be stored. However, in order to suppress the processing load of the interference determination, it is preferable to store information on the approximate shape.

[0043] In the above-described embodiment, the interference determination is performed by combining any two of the first to third determinations, but it is not limited to this, and the interference determination may be performed by combining the three determinations. Also, it is not limited to the first to third determinations, and the interference determination may be performed by combining any two or more of a plurality of determinations including other determinations.

[0044] In the above-described embodiment, the interference determination is made by predicting the position based on the rectangular wave speed command before performing the moving average process. However, the present invention is not limited to this, and any position after the current time (future position) may be used as long as the interference determination is made at that position. Here, the position after the current time may be a position that takes into account the braking distance required for interference avoidance when it is determined that interference occurs in the interference determination. Although the command value is set by the moving average process, the command value may be set by other processes.

[0045] In the above-described embodiment, the application of the present disclosure to a vertically articulated robot is exemplified. However, the present invention is not limited to this, and it may be applied to any robot that may interfere with surrounding objects, such as a horizontally articulated robot or a parallel link robot.

[0046] Here, the robot control device of the present disclosure may be configured as follows. For example, in the robot control device of the present disclosure, the determination processing unit may perform the interference determination using at least two of a first determination based on information on the vertices of the component and the surrounding object, a second determination based on information on the contour line of the component and information on the surface of the surrounding object, and a third determination based on information on the projection images obtained by projecting the component and the surrounding object onto a predetermined projection plane. By doing so, since the interference determination during the operation of the robot is performed in a composite manner by at least two determinations, false determinations can be suppressed and accurate determinations can be made.

[0047] In the robot control device of the present disclosure, the storage unit may store information regarding an approximate shape in which the surrounding object and the component are approximated to either a rectangular parallelepiped or a combination of rectangular parallelepipeds. By doing so, an increase in the processing load of the interference determination can be suppressed, and thus the interference determination during the operation of the robot can be performed without affecting the operation control.

[0048] In the robot control device of the present disclosure, the storage unit can store a plurality of pieces of information with different positions regarding the same component and a plurality of pieces of information with different forms regarding the same type of component, and the determination processing unit may select the information of the component corresponding to the current configuration of the robot and perform the interference determination based on the selected information. In this way, even if the components of the robot change, the interference determination can be appropriately performed by changing the information to be selected.

[0049] In the robot control device of the present disclosure, the storage unit can store information on the surrounding objects whose presence or position changes during the operation of the robot, and the determination processing unit may select the information on the surrounding objects according to the change in the presence or position of the surrounding objects and perform the interference determination based on the selected information. In this way, even if the presence or position of the surrounding objects changes during the operation of the robot, the interference determination can be appropriately performed by changing the information to be selected.

[0050] The robot control method of the present disclosure is a robot control method for controlling a robot, and includes: (a) predicting the operation position of the robot after the current time based on information regarding the operation command of the robot during the operation of the robot, and performing an interference determination between the component and the surrounding object based on the information of the component and the information of the surrounding object at the operation position; and (b) when it is determined that interference occurs in step (a), stopping the operation of the robot at a deceleration greater than a preset deceleration.

[0051] The robot control method of the present disclosure, similar to the above-described robot control device, does not need to perform interference determination for all of the planned operation paths before the operation of the robot starts, and can suppress the delay in the start of the operation of the robot. Further, when it is determined that there is interference, by stopping the operation of the robot at a deceleration greater than the preset deceleration, a collision between the robot and surrounding objects can be appropriately avoided. In this robot control method, various aspects of the above-described robot control device may be adopted, or steps for realizing each function of the above-described robot control device may be added.

Industrial Applicability

[0052] The present disclosure can be used in the robot manufacturing industry and the like.

Explanation of Signs

[0053] 10 Robot system, 12 Base, 14 Cover, 16 Bolt supply device, 18 Tray transfer device, 19 Case, 20 Robot, 21 Tip arm, 21f Flange, 21h Mounting hole, 22, 23 Intermediate arm, 24 Base end arm, 25 Pedestal, 26 End effector, 26a Fixed part, 26b Tool part, 28 Camera, 31 to 34 Joints, 31a to 35a Motors, 31b to 35b Encoders, 40 Control device, 41, 51 CPUs, 42, 52 ROMs, 43, 53 HDDs, 43a, 43b Interference determination information, 44, 54 RAMs, 50 Management device, 56 Input device, 58 Output device, B Bolt, T Tray.

Claims

1. A robot control device for controlling a robot, comprising: a storage unit that stores information on surrounding objects arranged around the robot and information on components of the robot; a determination processing unit that predicts the operating positions of the joints of each arm of the robot after the current time based on information on an operating command for the hand of the tip arm of the robot from the current position and posture until the target position and posture during the operation of the robot, and determines interference between the components and the surrounding objects based on the information on the components and the information on the surrounding objects at the operating position when the operating position is at least a position considering the braking distance of the robot; a stop processing unit that stops the operation of the robot at a deceleration greater than a preset deceleration when it is determined that interference is predicted in the interference determination; A robot control device comprising the above.

2. The robot control device according to claim 1, wherein the determination processing unit performs the interference determination using at least two of a first determination based on information on the vertices of the components and the surrounding objects, a second determination based on information on the contour lines of the components and information on the surfaces of the surrounding objects, and a third determination based on information on the projected images obtained by projecting the components and the surrounding objects onto a predetermined projection plane, respectively. A robot control device.

3. The robot control device according to claim 1 or 2, wherein the storage unit stores information on approximate shapes in which the surrounding objects and the components are approximated to either rectangular parallelepipeds or combinations of rectangular parallelepipeds, respectively. A robot control device.

4. The robot control device according to any one of claims 1 to 3, wherein the storage unit can store a plurality of pieces of information with different positions regarding the same component and a plurality of pieces of information with different forms regarding the same type of component, the determination processing unit selects the information on the components corresponding to the current configuration of the robot, and performs the interference determination based on the selected information. A robot control device.

5. The robot control device according to any one of claims 1 to 4, wherein the storage unit can store information on the surrounding objects whose presence or position changes during the operation of the robot, the determination processing unit selects the information on the surrounding objects according to the presence or change in the position of the surrounding objects, and performs the interference determination based on the selected information. A robot control device.

6. A robot control device for controlling a robot, a storage unit that stores information on peripheral objects arranged around the robot and information on components of the robot; During operation of the robot, based on information regarding an operation command for the end effector of the tip arm of the robot from the current position and posture to the target position and posture, predict the operating positions of the joints of each arm of the robot after the current time. When the operating position is a position considering at least the braking distance of the robot, based on the information on the components and the information on the peripheral objects at the operating position, a determination processing unit that performs an interference determination between the components and the peripheral objects; A stop processing unit that stops the operation of the robot at a deceleration greater than a preset deceleration when it is determined that there is interference in the interference determination; A robot control device comprising the above.

7. A robot control device for controlling a robot, a storage unit that stores information on peripheral objects arranged around the robot, information on components of the robot, and additional information regarding state changes of the components accompanying the operation of the robot; During operation of the robot, based on information regarding an operation command for the end effector of the tip arm of the robot from the current position and posture to the target position and posture, predict the operating positions of the joints of each arm of the robot after the current time. When the operating position is a position considering at least the braking distance of the robot, based on the information on the components, the additional information regarding state changes of the components, and the information on the peripheral objects at the operating position, a determination processing unit that performs an interference determination between the components and the peripheral objects; A stop processing unit that stops the operation of the robot at a deceleration greater than a preset deceleration when it is determined that there is interference in the interference determination; A robot control device comprising the above.

8. A robot control method for controlling a robot, (a) During the operation of the robot, based on information regarding the operating command for the end effector of the tip arm of the robot from the current position and posture to the target position and posture, predict the operating positions of the joints of each arm of the robot after the current time. When the operating position is at least a position considering the braking distance of the robot, based on the information of the components of the robot at the operating position and the information of the surrounding objects arranged around the robot, perform an interference determination between the components and the surrounding objects; (b) When it is determined in step (a) that interference is predicted, stop the operation of the robot at a deceleration greater than a preset deceleration; A robot control method including the above.

Citation Information

Patent Citations

  • Method for preventing interference at the time of off-line teaching of robot

    JP1989084310A

  • Interference check method for robot

    JP1989173205A

  • Method and device for preventing collision of robot

    JP1995314378A

  • Method of interference check for robot

    JP1999254379A

  • Method and device for avoiding collision between robot and other object

    JP2004001217A