Robot device for detecting interference of robot components
The robot device employs a control system using three-dimensional shape data to determine interference with peripheral objects, addressing inefficiencies in existing methods by reducing computational load and ensuring accurate positioning and orientation for interference-free operation.
Patent Information
- Application Number
- JP2023210616
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-08-05
- Filing Date
- 2023-12-13
- Publication Date
- 2025-07-15
- Estimated Expiration
- 2041-07-30
AI Technical Summary
Existing robot devices face challenges in accurately determining the position and orientation of components to avoid interference with peripheral objects, especially when dealing with randomly stacked workpieces, leading to inefficient simulations and potential interference due to the use of simplified or inaccurate shape models, which can result in unnecessary margin or increased computational complexity.
A robot device equipped with a control system that utilizes three-dimensional shape data of components and surrounding objects, processed by a control device with processors, to determine interference by selecting specific components for analysis based on their operating state, reducing computational load while ensuring accurate interference detection.
The system allows for efficient and accurate determination of interference with reduced computational effort, enabling precise robot operation without unnecessary margin and avoiding interference with peripheral objects.
Smart Images

Figure 0007708840000001 
Figure 0007708840000002 
Figure 0007708840000003
Abstract
Description
Technical Field
[0001] The present invention relates to a robot device that detects interference between components of a robot.
Background Art
[0002] In a robot device including a robot and a work tool, various operations can be performed by changing the position and posture of the robot. Peripheral objects related to the operation are arranged around the robot device. For example, a container for accommodating a workpiece or a transport device for transporting a workpiece is arranged as a peripheral object. Alternatively, a fence may be arranged to define the working area of the robot device.
[0003] When the robot is driven, there is a risk that the robot or the work tool may interfere with the peripheral objects. In order to confirm that the robot device does not interfere with the peripheral objects, a simulation device that simulates the operation of the robot device can be used. In the simulation device, a model representing the robot and a model representing the peripheral objects are generated, and the occurrence of interference when the robot is driven can be determined.
[0004] Based on the result of the simulation, the operator can determine the arrangement of the robot and the peripheral objects so that the robot device does not interfere with the peripheral objects. Also, the position and posture of the robot when it is driven can be determined so that the robot device does not interfere with the peripheral objects. In particular, the operator can operate the teaching operation panel to actually drive the robot. The operator can perform teaching playback (online teaching) to teach the position and posture of the robot so that interference does not occur.
[0005] By the way, a robot device whose operation is not uniquely determined is known. For example, there are cases where a large number of workpieces are stacked randomly in a container such as a container. In a robot device that takes out the randomly stacked workpieces, it is difficult to teach the position and posture of the robot when gripping the workpieces because the state in which the workpieces are stacked cannot be determined in advance. In the prior art, a robot device that detects the position and posture of a workpiece with a visual sensor and takes out the workpiece from a container is known (for example, Japanese Patent Application Laid-Open No. 2013-43271).
[0006] In a robot device that takes out randomly stacked workpieces, it may be difficult to avoid interference by conducting studies with a simulation device. For this reason, a control device is known that captures surrounding objects with a three-dimensional sensor when actually moving the robot device and determines whether interference occurs between the robot and the surrounding objects (for example, Japanese Patent Application Laid-Open No. 2020-28957). In such a control device, position data of surrounding objects that may interfere with the robot is acquired in advance. Then, the control device generates a model of the robot using a plurality of cylindrical models or the like. The control device calculates the position and posture of the robot according to the position and posture of the workpiece and determines whether the robot interferes with the surrounding objects.
Prior Art Documents
Patent Documents
[0007]
Patent Document 1
Patent Document 2
Summary of the Invention
Problems to be Solved by the Invention
[0008] In a robot apparatus where the operation of the robot is determined by the state of the workpiece or the like, it is difficult to predetermine the position and orientation of the robot. For this reason, an operator generates the positions and orientations of many robots when the robot apparatus is driven by a simulation apparatus. The operator confirmed that no interference occurred by performing simulations many times with various positions and orientations of the robot. However, the number of times of performing the simulation is determined based on the experience of the operator. Generally, when actually starting to use the robot apparatus, fine adjustment of the position and orientation of the robot is performed regarding the driving state of the robot apparatus that could not be considered in the simulation. For this reason, the robot and the peripheral objects are often arranged with sufficient margin so that the robot and the working tool do not interfere.
[0009] Also, in order for a user other than the robot manufacturer to realize a function of determining whether the robot or the working tool interferes with peripheral objects when the control device drives the robot, it is necessary to disassemble the constituent members such as the arm of the robot and measure the shape three-dimensionally, or there is a problem that the only way is to have the robot manufacturer disclose the shape data of the constituent members of the robot. For this reason, the user replaces the constituent members of the robot with a model having a simple shape and performs the determination. For example, the arm of the robot is replaced with a model of a rectangular parallelepiped or a cylinder for determination. The model with a simple shape is generated so as to be larger than the actual constituent members of the robot in order to avoid interference between the robot and the peripheral objects. That is, a large model is generated so that the constituent members of the robot are included inside the model. For this reason, even when the constituent members of the robot do not interfere with the peripheral objects when the robot is actually driven, there are cases where it is determined that interference occurs.
[0010] On the other hand, when the shape of the model of the constituent members of the robot is made closer to the actual shape, there is a problem that the amount of calculation for determining the interference of the model of the robot increases and it takes time to determine the interference. Or, in order to shorten the calculation time, it is necessary to use a high-performance computer.
Means for Solving the Problem
[0011] The positional aspect of the present disclosure includes at least one or more memories that store three-dimensional shape data of components of a robot, and one or more processors. The one or more processors A plurality of perform interference determination on some of the components, and based on the three-dimensional shape data of the components that have been depending on the operating state of a plurality of robots or the execution state of an operation program, among a plurality of components of the robot performed, determine whether the components that have been Selection performed interfere with a workpiece or surrounding objects. It is a control device. Selection performed interfere with a workpiece or surrounding objects. Selection performed interfere with a workpiece or surrounding objects.
Advantages of the Invention
[0012] According to an aspect of the present disclosure, it is possible to provide a robot device that determines interference of a robot with a small amount of computation.
Brief Description of the Drawings
[0013]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Embodiment for Carrying Out the Invention
[0014] Referring to FIGS. 1 to 10, a robot device in an embodiment will be described. In this embodiment, a robot device that takes out workpieces stacked like a mountain inside a container and conveys the workpieces to a conveyor will be taken as an example for explanation.
[0015] FIG. 1 is a perspective view of the robot device in this embodiment. The robot device 5 includes a robot 1 and a hand 2 as a working tool. The robot 1 in this embodiment is an articulated robot including a plurality of joint parts. The robot 1 includes an upper arm 11 and a lower arm 12. The lower arm 12 is supported by a swivel base 13. The swivel base 13 is supported by a base 14. The robot 1 includes a wrist 15 connected to the end of the upper arm 11. The wrist 15 includes a flange 15a formed to be rotatable. The robot 1 includes a plurality of constituent members. In this embodiment, as constituent members, the upper arm 11, the lower arm 12, the swivel base 13, the base 14, and the wrist 15 will be exemplified and described. The upper arm 11, the lower arm 12, the swivel base 13, and the wrist 15 change their positions and postures when the robot is driven. These constituent members rotate around a predetermined rotation axis. The robot is not limited to this form, and any robot that can support a working tool and move the working tool can be adopted.
[0016] The working tool is formed to perform a predetermined operation on the workpiece. The hand 2 in this embodiment grips and releases the workpiece W. The hand 2 includes a main body part 2a fixed to the flange 15a of the wrist 15 and an electromagnet 2b supported by the main body part 2a. The electromagnet 2b generates an adsorption force by magnetic force. The electromagnet 2b in this embodiment is formed in a columnar shape. The workpiece W is adsorbed on the bottom surface of the electromagnet 2b.
[0017] The robot device 5 includes a conveyor 8 as a peripheral object arranged around the robot 1. The conveyor 8 is arranged near the robot 1. The workpiece W placed on the conveyor 8 is conveyed in the direction indicated by the arrow 93. The conveyor 8 of the present embodiment is arranged at a position where there is a possibility that the lower arm 12 interferes with the conveyor 8 when the robot 1 changes its position and posture. That is, a part of the conveyor 8 is arranged inside the operating range of the lower arm 12 of the robot 1.
[0018] The workpiece W of the present embodiment is formed of a magnetic material such as iron. The workpiece W of the present embodiment has a rectangular parallelepiped shape. The workpiece W has a maximum area surface with the largest area. The workpiece W is arranged inside a container 9 as a container. The container 9 corresponds to a peripheral object arranged around the robot 1. A plurality of workpieces W are stacked randomly so that the orientations of the respective workpieces W are irregular.
[0019] The robot device 5 includes a range sensor 6 as a three-dimensional sensor for detecting the position and posture of the workpiece W accommodated in the container 9. The range sensor 6 of the present embodiment is a stereo camera including two cameras 61 and 62. The cameras 61 and 62 are two-dimensional cameras capable of imaging two-dimensional images. As the cameras 61 and 62, any camera equipped with an imaging element such as a CCD (Charge-Coupled Device) sensor or a CMOS (Complementary Metal-Oxide Semiconductor) sensor can be adopted. The relative positions of the two cameras 61 and 62 are predetermined. The range sensor 6 of the present embodiment includes a projector 63 that projects pattern light such as a stripe pattern toward the workpiece W.
[0020] The range sensor 6 acquires information on the distance to the measurement point set on the surface of the object. The range sensor 6 is disposed at a position where it can image the workpiece W accommodated in the container 9. In the present embodiment, the range sensor 6 is disposed above the container 9. The range sensor 6 is supported by the support member 83. The range sensor 6 has an imaging range which is a range where imaging is possible. The cameras 61 and 62 are preferably arranged such that the container 9 is included inside the imaging range.
[0021] The robot device 5 of the present embodiment selects one workpiece W to be taken out from the container 9 based on the three-dimensional information generated from the output of the range sensor 6. In FIG. 1, the position and posture of the robot 1 are the initial position and the initial posture which serve as the reference for starting the taking-out. As shown by the arrow 91, the robot device 5 changes the position and posture of the robot 1 to grip the workpiece W disposed inside the container 9. As shown by the arrow 92, the robot device 5 changes the position and posture of the robot 1 to convey the workpiece W from inside the container 9 to the conveyor 8. After this, the robot 1 returns to the reference initial position and initial posture.
[0022] In the robot device 5 of the present embodiment, a fixed reference coordinate system 37 is set when the position and posture of the robot 1 change. In the example of FIG. 1, the origin of the reference coordinate system 37 is disposed on the base 14 of the robot 1. The reference coordinate system 37 is also referred to as the world coordinate system. Further, in the robot device 5, a tool coordinate system 38 having an origin set at an arbitrary position of the working tool is set. The tool coordinate system 38 changes in position and posture together with the hand 2. In the present embodiment, the origin of the tool coordinate system 38 is set at the tool tip point.
[0023] Each of the reference coordinate system 37 and the tool coordinate system 38 includes, as coordinate axes, an X axis, a Y axis, and a Z axis which are perpendicular to each other. Further, a W axis is set as the coordinate axis around the X axis, a P axis is set as the coordinate axis around the Y axis, and an R axis is set as the coordinate axis around the Z axis.
[0024] When the position and orientation of the robot 1 change, the position and orientation of the origin of the tool coordinate system 38 change. For example, the position of the robot 1 corresponds to the position of the tool tip point (the position of the origin of the tool coordinate system 38). Also, the orientation of the robot 1 corresponds to the orientation of the tool coordinate system 38 with respect to the reference coordinate system 37.
[0025] FIG. 2 shows a block diagram of the robot apparatus according to the present embodiment. Referring to FIGS. 1 and 2, the robot 1 includes a robot drive device that changes the position and orientation of the robot 1. The robot drive device includes a robot drive motor 22 that drives components such as an arm and a wrist. The robot apparatus 5 includes a hand drive device that drives the hand 2. When the electromagnet 2b of the hand 2 is driven, the workpiece W is attracted to the electromagnet 2b. The bottom surface of the electromagnet 2b in the present embodiment is flat. The bottom surface of the electromagnet 2b attracts the main surface where the area of the workpiece W is maximized.
[0026] The robot apparatus 5 includes a control device 4 that controls the robot 1 and the hand 2. The control device 4 includes an arithmetic processing device (computer) including a CPU (Central Processing Unit) as a processor. The control device 4 has a RAM (Random Access Memory) and a ROM (Read Only Memory) connected to the CPU via a bus. The control device 4 includes a storage unit 42 that stores information related to the control of the robot 1 and the hand 2. The storage unit 42 can be configured by a storage medium capable of storing information such as a volatile memory, a non-volatile memory, or a hard disk.
[0027] The robot apparatus 5 conveys the workpiece W based on the operation program 41. The control device 4 includes an operation control unit 43 that sends an operation command. The operation control unit 43 corresponds to a processor that drives according to the operation program 41. By the processor loading the operation program 41 and implementing the control defined in the operation program 41, it functions as the operation control unit 43.
[0028] The operation control unit 43 sends an operation command for driving the robot 1 to the robot drive unit 45 based on the operation program 41. The robot drive unit 45 includes an electric circuit for driving the robot drive motor 22. The robot drive unit 45 supplies electricity to the robot drive motor 22 based on the operation command. Also, the operation control unit 43 sends an operation command for driving the hand 2 to the hand drive unit 44 based on the operation program 41. The hand drive unit 44 includes an electric circuit for driving the electromagnet 2b. The hand drive unit 44 supplies electricity to the electromagnet 2b based on the operation command. Further, the operation control unit 43 sends an operation command for imaging to the range sensor 6 based on the operation program 41. The range sensor 6 is controlled by the control device 4.
[0029] The control device 4 of the present embodiment includes an operation setting unit 51 that sets the operation of the robot 1 based on the operation program 41. The operation control unit 43 generates an operation command based on a command from the operation setting unit 51. The operation setting unit 51 of the present embodiment selects the work W to be taken out from the container 9 and performs control to grip the work W with the hand 2. Also, the operation setting unit 51 performs control to convey the work W gripped by the hand 2 to the conveyor 8.
[0030] The operation setting unit 51 includes a processing unit 52 that generates three-dimensional information of the work W based on the output of the range sensor 6. The three-dimensional information of an object corresponds to three-dimensional shape data of the object. Also, the processing unit 52 detects the position and orientation of the work W arranged in the container 9. The operation setting unit 51 includes a selection unit 54 that selects the work W to be taken out from the container 9. The operation setting unit 51 includes a path generation unit 55 that generates a path for the robot 1. The operation setting unit 51 includes a setting unit 56 that sets some members for determining interference according to the operation state of the robot 1. The operation setting unit 51 includes a determination unit 57 that determines whether or not interference occurs when the robot 1 is driven. The operation setting unit 51 includes a path correction unit 58 that corrects the position and orientation of the robot 1 so that interference does not occur when it is determined that interference occurs.
[0031] The operation setting unit 51 corresponds to a processor that drives according to the operation program 41. Further, each unit of the processing unit 52, the selection unit 54, the path generation unit 55, the setting unit 56, the determination unit 57, and the path correction unit 58 included in the operation setting unit 51 corresponds to a processor that drives according to the operation program 41. By the processor reading the operation program 41 and implementing the control defined in the operation program 41, it functions as each unit.
[0032] The robot 1 includes a state detector for detecting the position and posture of the robot 1. The state detector in the present embodiment includes a position detector 18 attached to the robot drive motor 22 corresponding to the drive shaft of a component such as an arm. Based on the rotation angle output by each position detector 18, the position and posture of the robot 1 are calculated.
[0033] FIG. 3 shows an explanatory diagram of three-dimensional shape data stored in the control device of the present embodiment. Referring to FIGS. 2 and 3, in the present embodiment, three-dimensional shape data 46 is input to the control device 4 before driving the robot device 5. The storage unit 42 stores the three-dimensional shape data 46. The three-dimensional shape data 46 can adopt arbitrary data indicating the three-dimensional shape of each member.
[0034] The three-dimensional shape data 46 includes the shape data 46a of the workpiece. The shape data 46a of the workpiece is used to detect the position and orientation of the workpiece W placed in the container 9. The three-dimensional shape data 46 includes the shape data 46b of the robot's components and the shape data 46c of the hand. The shape data 46b of the robot's components and the shape data 46c of the hand are used to determine the interference between the components or the hand 2 of the robot 1 and other objects. The shape data 46a of the workpiece, the shape data 46b of the robot's components, and the shape data 46c of the hand in the present embodiment employ three-dimensional data generated by a CAD (Computer Aided Design) device. In particular, the shape data 46b of the robot's components and the shape data 46c of the hand employ the data of the CAD device at the time of design by the manufacturer. The data at the time of design generated by the CAD device matches the shape of the actual component. That is, instead of using three-dimensional shape data of a simple shape such as a square prism or a cone, the data at the time of design corresponding to the actual shape is employed. However, parts not related to the interference of the components may be excluded from the design data. For example, fine parts such as recesses formed on the surface of the component for placing the bolt head may be excluded from the design data.
[0035] FIG. 4 shows a perspective view of the robot and hand models of the present embodiment. The operation setting unit 51 generates a model of the robot's components and a model of the hand based on the shape data 46b of the robot's components and the shape data 46c of the hand. A model having the same shape as the shape of the design data at the time of designing the robot 1 and the hand 2 is generated.
[0036] The robot model M1 includes models of a plurality of components. The robot model M1 includes a model M11 of an upper arm, a model M12 of a lower arm, a model M13 of a swivel base, a model M14 of a base, and a model M15 of a wrist. In the present embodiment, the model of each component of the robot 1 matches the shape of the actual component. For example, fine details such as the curved surface, steps, and protrusions of the components of the robot 1 also match the shape of the actual robot 1. Also, for the hand model M2, even the fine details match the shape of the actual hand 2. Note that, as described above, fine details such as recesses that are not related to interference between components may be excluded.
[0037] Referring to FIG. 1, the robot 1 of the present embodiment includes an electric cable 16 disposed outside the upper arm 11 and the lower arm 12. When the position and orientation of the robot 1 change, the shape of the electric cable 16 changes. For this reason, referring to FIG. 4, the electric cable 16 is excluded in the robot model M1 of the present embodiment, but this is not the only form. Models of members such as the electric cable and piping of the robot 1 may be generated.
[0038] Referring to FIGS. 2 and 3, the three-dimensional shape data 46 includes shape data 46d of peripheral objects disposed around the robot 1. The shape data 46d of the peripheral objects is used for determining interference between the peripheral objects and the robot 1 or the hand 2. In the present embodiment, the shape data 46d of the peripheral objects includes shape data of the conveyor 8 and shape data of the container 9. As the shape data 46d of the peripheral objects, three-dimensional data generated by a CAD device can be adopted.
[0039] The surrounding objects are not limited to conveyors and containers, and any obstacles that are arranged around the robot and may interfere with the robot or the working tool can be adopted. For example, as the surrounding objects, fixed objects such as a pedestal for placing a workpiece or a fence arranged around the robot device can be adopted. Alternatively, as the surrounding objects, moving objects such as a transport vehicle passing near the robot may be adopted.
[0040] FIG. 5 shows a flowchart of the control of the robot device according to the present embodiment. FIG. 5 describes the control for transporting one workpiece W. The control shown in FIG. 5 can be repeatedly executed each time one workpiece W is taken out. Referring to FIGS. 2 and 5, as described above, the three-dimensional shape data 46 of the robot device and the surrounding objects is stored in the storage unit 42 in advance.
[0041] First, the operation setting unit 51 sets the position and posture of the robot 1 to the initial position and initial posture when starting to take out the workpiece W (see FIG. 1). In the present embodiment, the moving point of the robot 1 at this time is referred to as the initial point. The initial position and initial posture at the initial point can be determined in advance by the operator. The initial point is determined, for example, so that the robot 1 and the hand 2 are not arranged in the imaging range of the range sensor 6.
[0042] In step 111, the range sensor 6 images the workpiece W inside the container 9. The processing unit 52 of the operation setting unit 51 processes the images captured by the cameras 61 and 62. The processing unit 52 generates three-dimensional information of the workpiece W by the stereo method. The processing unit 52 sets measurement points on the surface of the workpiece W. The processing unit 52 calculates the distance from the range sensor 6 to the measurement point based on the parallax of the two images captured by the two cameras 61 and 62. The processing unit 52 detects the position of the measurement point based on the distance from the range sensor 6 to the measurement point. The three-dimensional information includes information on the positions of a plurality of measurement points set on the surface of the object.
[0043] The three-dimensional information is, for example, a distance image or a three-dimensional map, and corresponds to three-dimensional shape data. The distance image is an image in which the color or the density of the image is changed according to the distance from the range sensor 6. The three-dimensional map includes the coordinate values of the measurement points in a predetermined coordinate system, or the distance from the range sensor to the measurement points and the information on the directions of the measurement points.
[0044] In step 112, the processing unit 52 detects the position and orientation of the workpiece W accommodated in the container 9 by performing template matching for comparing the three-dimensional information of the workpiece W with the shape data 46a of the workpiece. Note that, although the shape data of the workpiece in the present embodiment employs three-dimensional data generated by a CAD device, the present invention is not limited to this form. An operator may adopt the distance image when the workpiece is imaged from various directions as the shape data of the workpiece.
[0045] Alternatively, the processing unit 52 may use a two-dimensional image in detecting the workpiece W. Among the two cameras 61 and 62 of the range sensor 6, a two-dimensional image is captured by one of the cameras. The workpiece in the two-dimensional image is detected by template matching of the two-dimensional image. Then, the processing unit 52 selects one workpiece and acquires the three-dimensional information of the region corresponding to the surface of the workpiece W. For example, the processing unit 52 can calculate the position and orientation of the workpiece W by calculating a plane from a plurality of measurement points corresponding to the surface of the workpiece W.
[0046] In step 113, the selection unit 54 selects the target workpiece W to be taken out by the robot device 5. The selection unit 54 selects the target workpiece W based on the position and orientation of the workpiece W detected by the processing unit 52. The selection unit 54 can select the target workpiece W by arbitrary control. For example, the selection unit 54 can set the workpiece W closest to the range sensor 6 as the target workpiece W. That is, the selection unit 54 can select the workpiece W in order from the one with the highest position of the workpiece W.
[0047] In step 114, the storage unit 42 stores the three-dimensional information of the workpieces W other than the workpiece W to be taken out by the robot device 5 in the storage unit 42. The workpieces W other than the workpiece W to be taken out by the robot device 5 are objects that will interfere with the robot 1 or the hand 2. This three-dimensional information is used for control to determine whether interference occurs with the robot 1 or the hand 2.
[0048] In step 115, the path generation unit 55 sets a gripping point, which is the point where the robot 1 grips the workpiece W, according to the position and orientation of the target workpiece W. The path generation unit 55 calculates the gripping position and gripping orientation of the robot 1 at the gripping point.
[0049] In step 116, the path generation unit 55 generates a first path of the robot 1 from the initial point to the gripping point for gripping the workpiece W. In FIG. 1, the path indicated by the arrow 91 corresponds to the first path. Regarding the control for the path generation unit 55 to generate the first path, various path search algorithms can be applied in consideration of the three-dimensional shape of the robot 1 or the hand 2 so that the robot 1 or the hand 2 does not interfere with the workpiece W. The path generation unit 55 can generate a plurality of moving points through which the position of the robot 1 passes. The path passing through the plurality of moving points corresponds to the first path. Also, interpolation points may be set between the plurality of moving points. At this time, the path generation unit 55 can generate the first path without considering the interference between the hand 2 or the robot 1 and other objects.
[0050] Next, in step 117, the setting unit 56 sets the members for which interference determination is to be performed among the plurality of components of the robot 1 and the hand 2. In the example here, the setting unit 56 sets the list 15 and the upper arm 11 among the plurality of components of the robot 1 as the components for which interference determination is to be performed. Also, the setting unit 56 sets the hand 2 as the member for which interference determination is to be performed.
[0051] The setting unit 56 sets a member that determines interference according to the operating state of the robot 1. Referring to FIG. 1, when the position of the robot 1 moves along the first path as shown by the arrow 91, the hand 2 and the wrist 15 are inserted into the container 9. Further, the upper arm 11 is disposed in the vicinity of the container 9. The hand 2, the wrist 15, and the upper arm 11 may come into contact with the container 9. For this reason, the hand 2, the wrist 15, and the upper arm 11 can be set as members for determining interference. Further, the setting unit 56 can set the container 9 and the workpiece W as members for determining interference. The member for determining interference can be determined in advance in the operation program 41, for example. The setting unit 56 reads the operation program 41 and sets a member for determining interference.
[0052] Next, in step 118, the determination unit 57 determines whether interference occurs at the gripping point and along the first path. The determination unit 57 determines whether the member set by the setting unit 56 interferes with the workpiece or the surrounding object based on the three-dimensional shape data of the member set by the setting unit 56, the three-dimensional information of the workpiece, and the three-dimensional shape data of the surrounding object. Note that the position where the surrounding object is disposed is predetermined.
[0053] First, when the robot 1 reaches the gripping position and gripping posture for gripping the workpiece W, the determination unit 57 determines whether the hand 2, the wrist 15, and the upper arm 11 interfere with the container 9 or a workpiece W other than the workpiece W gripped by the robot device 5.
[0054] The determination unit 57 acquires the gripping position and gripping posture of the robot 1. Based on the gripping position and gripping posture of the robot 1, the determination unit 57 calculates the position and posture of the models of the constituent members of the robot device 5. The determination unit 57 calculates the position and posture of the model based on the information of each drive axis of the constituent member. Here, the determination unit 57 calculates the position and posture of the hand model M2, the wrist model M15, and the upper arm model M11. The position and posture of each model can be expressed, for example, in the reference coordinate system 37.
[0055] Furthermore, the determination unit 57 acquires the three-dimensional shape data of the container 9 and the three-dimensional information of the workpiece. Here, the determination unit 57 may generate a model of the container and a model of the workpiece based on the three-dimensional shape data of the container and the three-dimensional information of the workpiece. The model of the container or the model of the workpiece can also be expressed, for example, in the reference coordinate system 37.
[0056] The determination unit 57 can determine that interference occurs when the hand model M2, the wrist model M15, and the upper arm model M11 are arranged at positions where they contact a workpiece W other than the container 9 or the workpiece W to be gripped.
[0057] Next, the determination unit 57 determines whether interference occurs when the position of the robot 1 moves along the first path. The determination unit 57 acquires the moving points generated by the path generation unit 55. Also, the determination unit 57 acquires the interpolation points generated between the moving points. The determination unit 57 calculates the position and posture of the robot 1 at each moving point and interpolation point. Similar to the control of the determination at the gripping point, the determination unit 57 determines whether the hand model M2, the wrist model M15, and the upper arm model M11 interfere with a workpiece W other than the container 9 or the workpiece W to be gripped at each moving point and interpolation point.
[0058] In step 118, when it is determined that a component of the robot 1 interferes with the workpiece or surrounding objects at the gripping point and the first path, the control proceeds to step 119. Also, in the gripping point and the first path, when it is determined that the hand 2 interferes with the workpiece or surrounding objects, the control proceeds to step 119.
[0059] In step 119, the path correction unit 58 corrects the position or orientation of the robot 1 at the point where interference occurs among the gripping point, the moving point, and the interpolation point. Alternatively, the path correction unit 58 may correct both the position and orientation of the robot 1. Here, the method for correcting the position and the method for correcting the orientation of the robot 1 at the gripping point, the moving point, or the interpolation point will be described.
[0060] Fig. 6 shows a perspective view of a hand model and a robot model for explaining the method of correcting the position of the robot. In the example here, it is determined that interference occurs when the position of the robot 1 is arranged at the moving point MPA. Therefore, the path correction unit 58 corrects the position of the robot 1. The path correction unit 58 sets a region 71 for moving the moving point MPA around the moving point MPA. The shape and size of the region 71 can be determined in advance. In the present embodiment, a rectangular region 71 is set in a plane including the X-axis and Y-axis of the tool coordinate system 38.
[0061] Fig. 7 shows a plan view of the region for moving the position of the moving point. In the present embodiment, the region 71 is set at a predetermined distance in the X-axis direction and the Y-axis direction from the moving point MPA of the tool coordinate system 38. The path correction unit 58 searches for a moving point MPB that can avoid interference inside the region 71. The path correction unit 58 equally divides the region 71 in the X-axis direction and the Y-axis direction. Then, the moving point MPB can be set at the vertex of the small region when the region 71 is divided. In the example here, it is divided into 6 parts in the X-axis direction and 6 parts in the Y-axis direction. 48 moving points MPB are set around the moving point MPA.
[0062] When the path correction unit 58 moves the position of the robot 1 to each moving point MPB, it determines whether interference occurs between the hand model M2, the list model M15, and the upper arm model M11. The path correction unit 58 can perform interference determination for all the moving points MPB.
[0063] The path correction unit 58 can set the moving point MPB where interference is avoided as the corrected moving point. When there are a plurality of moving points MPB where interference is avoided, the path correction unit 58 can select one moving point MPB based on a predetermined priority order. For example, the path correction unit 58 can adopt the moving point MPB closest to the original moving point MPA. Furthermore, a priority order in the positive or negative direction of the X-axis can be determined. Furthermore, a priority order in the positive or negative direction of the Y-axis can be determined.
[0064] FIG. 8 shows a perspective view of the hand model and the robot model when correcting the posture of the robot at the moving point. The path correction unit 58 changes the posture of the robot 1 and searches for a posture where interference can be avoided. In the example here, the path correction unit 58 rotates the hand model M2 around the Z-axis of the tool coordinate system 38, that is, in the direction of the R-axis. The path correction unit 58 changes the posture of the robot by rotating the hand model M2 in the direction indicated by the arrow 94.
[0065] FIG. 9 shows a plan view when the hand model rotates. The path correction unit 58 of the present embodiment rotates the hand model M2 at predetermined angles. In the example here, a rotation angle obtained by dividing one rotation into six is set. The path correction unit 58 calculates the positions and postures of the hand 2, the list 15, and the upper arm 11 at all the rotation angles and determines whether interference occurs.
[0066] The path correction unit 58 can set the posture of the robot 1 where interference is avoided to the corrected posture. When there are multiple postures that can avoid interference, the path correction unit 58 can select one posture by arbitrary control. For example, the path correction unit 58 can adopt the rotation angle closest to the original rotation angle. Also, it is possible to determine the priority of clockwise or counterclockwise rotation when rotating the hand.
[0067] When the path correction unit 58 cannot avoid interference even by changing either the position or the posture of the robot, it can change the other. In the present embodiment, when interference cannot be avoided even by changing the posture of the robot, the position of the robot is changed.
[0068] Referring to FIG. 5, in this way, in step 119, the position or posture of the robot at the point where interference occurs is changed. The path correction unit 58 can adopt the corrected position and posture of the robot and generate a new first path. Then, the control proceeds to step 118 to determine whether interference occurs. The control of steps 118 and 119 can be repeated until no interference occurs at the gripping point and the first path.
[0069] In step 118, if no interference occurs at the gripping point and the first path, the position and posture of the robot 1 at the gripping point and the first path are determined. The control proceeds to step 120. Next, a second path for transporting the workpiece W to the conveyor 8 is generated.
[0070] In step 120, the path generation unit 55 generates a second path from the gripping point to the target point for placing the workpiece W on the conveyor 8. Referring to FIG. 1, the path indicated by the arrow 92 corresponds to the second path. The path generation unit 55 can generate the second path by the same control as the control for generating the first path in step 116.
[0071] Next, in step 121, the setting unit 56 sets a member for determining interference according to the operating state of the robot 1. Referring to FIG. 1, when the robot device 5 grips the workpiece W and then conveys it to the conveyor 8, there is a possibility that the lower arm 12 may interfere with the conveyor 8. In this operating state, the interference of the lower arm 12 is determined. The setting unit 56 sets the lower arm 12 as a member for determining interference based on the description in the operation program 41. Also, the setting unit 56 sets the conveyor 8 as a member for determining interference based on the description in the operation program 41.
[0072] In step 122, the determination unit 57 determines whether interference occurs between the lower arm 12 and the conveyor 8 at the target point and along the second path by the same control as in step 118. The determination unit 57 determines whether interference occurs between the lower arm 12 and the conveyor 8 based on the model M12 of the lower arm and the three-dimensional shape data of the conveyor 8.
[0073] If it is determined in step 122 that interference occurs at the target point and along the second path, the control proceeds to step 123. In step 123, the path correction unit 58 corrects the position or posture of the robot 1 by the same control as the control for correcting the position of the robot 1 or the posture of the robot 1 in step 119. Then, the controls of steps 122 and 123 are repeated until interference between the lower arm 12 and the conveyor 8 no longer occurs. If it is determined in step 122 that no interference occurs at the target point and along the second path, the position and posture of the robot 1 at the target point and along the second path are determined. The control proceeds to step 124.
[0074] In step 124, the operation setting unit 51 sends the positions and postures of the robot 1 at the gripping point, the target point, the first path, and the second path to the motion control unit 43. The position of the robot 1 moves along the first path. The robot 1 changes its position and posture toward the gripping position and the gripping posture. After the robot 1 reaches the gripping position and the gripping posture, the electromagnet 2b of the hand 2 is excited, so that the workpiece W can be gripped.
[0075] Next, the position of the robot 1 moves along the second path. The motion control unit 43 changes the position and posture of the robot 1 to move the workpiece W to the target point where the workpiece W is placed on the conveyor 8. After the robot 1 reaches the target position and the target posture, the workpiece W is released by stopping the excitation of the electromagnet 2b of the hand 2. Then, the robot 1 returns to the initial position and the initial posture.
[0076] In the robot device 5 of the present embodiment, when performing the interference determination, some components are selected from a plurality of components of the robot 1 according to the operating state of the robot 1. That is, the control device 4 switches the components for performing the interference determination according to the operating state of the robot 1. Further, the control device 4 performs the interference determination based on the three-dimensional shape data of some components. For this reason, an accurate determination can be made in a short time. For example, when determining the interference with other objects using the three-dimensional shape data of all the components of the robot 1, the amount of calculation increases and the calculation time becomes long. However, in the present embodiment, by selecting some components according to the operating state, the amount of calculation for the interference determination can be reduced. Further, by using the shape data that matches the shape of the components of the robot 1, the interference of the robot 1 can be accurately determined.
[0077] Furthermore, in the present embodiment, three-dimensional shape data that matches the actual shape of the hand 2 is adopted as the model M2 of the hand 2. For this reason, the interference of the hand 2 can be accurately determined.
[0078] In this embodiment, in addition to determining interference of the constituent members of the robot, interference of the hand is also determined, but the present invention is not limited to this form. The determination of hand interference may not be performed. For example, when the shape of the hand does not cause interference with the container and the workpiece, the determination of hand interference may not be performed. Furthermore, the robot device may not be provided with a working tool. For example, there is a case where the robot device is provided with a device for automatically exchanging the working tool. There may be a case where the robot changes its position and posture in a state where the working tool is not attached to the robot in order to exchange the working tool. During this period, the control device can determine interference of the constituent parts of the robot without determining interference of the working tool. Also, in this embodiment, interference is determined at the gripping point and the target point where the driving of the robot temporarily stops, and interference is determined on the first path and the second path, but the present invention is not limited to this form. Interference may not be determined on the first path and the second path.
[0079] The operation setting unit 51 of the present embodiment generates three-dimensional information of the workpiece W other than the workpiece W to be taken out by the robot device 5 using the range sensor 6. That is, it generates three-dimensional information of the workpiece W remaining in the container 9. Then, the operation setting unit 51 determines whether the constituent members of the hand 2 or the robot 1 interfere with the workpiece W using the three-dimensional information of the workpiece W. There may be a case where the workpiece W arranged in the container 9 interferes with the main body 2a or the wrist 15 of the hand 2 and the target workpiece W cannot be gripped. In the robot device 5 in the present embodiment, it is possible to determine interference between the workpiece W arranged around the workpiece W to be taken out by the robot device 5 and the hand 2 or the robot 1.
[0080] In this embodiment, for peripheral objects such as the container 9, by adopting the three-dimensional shape data generated by the CAD device, a model that matches the actual shape is generated. The method for generating the model of the peripheral object is not limited to this form. The operation setting unit may image the peripheral object with a three-dimensional sensor and generate three-dimensional shape data of the peripheral object based on the output of the three-dimensional sensor.
[0081] For example, based on the output of the range sensor 6, the operation setting unit 51 can generate three-dimensional information of the container 9 by the method of model matching. The operation setting unit 51 generates three-dimensional information of the container 9 as the shape data 46d of the peripheral object. The operation setting unit 51 may determine whether or not the robot 1 and the container 9 interfere based on the three-dimensional information of the container 9. This control is suitable when the peripheral object moves.
[0082] Also, when the peripheral object moves in one direction, a two-dimensional sensor can be adopted instead of the three-dimensional sensor. The three-dimensional shape data of the peripheral object can be stored in the storage unit in advance. The peripheral object is placed at a predetermined position and a reference image is captured with the two-dimensional sensor. When the peripheral object moves, the peripheral object is imaged with the two-dimensional sensor and the position of the peripheral object in the image is detected. Based on the position of the peripheral object in the image at this time and the position of the peripheral object in the reference image, the position of the peripheral object can be detected.
[0083] FIG. 10 shows a perspective view of a model of a robot device including a model with a simplified shape of a work tool and a model with a simplified shape of a conveyor. At least one of the model of the work tool and the model of the peripheral object may adopt a model having a simplified shape.
[0084] The manufacturer has design data (3D shape data) generated by a CAD device when designing the robot 1. For this purpose, the manufacturer can store the shape data 46b (model M1 of the robot) of the robot's components in the storage unit 42 during the manufacture of the robot 1. On the other hand, the operator may purchase peripheral objects such as work tools or conveyors from a manufacturer different from the robot manufacturer. At this time, the operator may not be able to obtain the design data of the work tool or peripheral objects from the manufacturer.
[0085] In this case, the operator may adopt at least one of a model of the work tool having a simplified shape of the work tool and a model of the peripheral object having a simplified shape of the peripheral object. The simple model can be created by the operator and stored in the storage unit 42. The determination unit 57 determines whether interference of the members set by the setting unit 56 occurs by using at least one of the model of the work tool and the model of the peripheral object.
[0086] In the example shown in FIG. 10, the model MS2 of the hand has a frustum of a square pyramid shape. The model MS8 of the conveyor has a rectangular parallelepiped shape. Such a simple model can be easily generated by the operator specifying the shape and size. For example, the operator can generate the model MS8 of the conveyor by specifying the length of each side of the rectangular parallelepiped. As the shape of the simple model, any shape such as a cylinder, a hexahedron, or a sphere can be adopted. Also, the simple model is preferably formed large so that the actual device is included inside. Thus, the operator may adopt a simple model as the model of the work tool and the model of the peripheral object.
[0087] In the above-described embodiment, the constituent members of the robot 1 are exemplified by the upper arm 11, the lower arm 12, the swivel base 13, the base 14, and the wrist 15, but the present invention is not limited to this form. As the constituent members of the robot, a part of the arm, a part of the swivel base, a part of the base, or a part of the wrist may be used. That is, any part constituting the robot can be selected as a constituent member of the robot. For example, the control device may store three-dimensional shape data of a part of the upper arm and determine whether or not interference occurs with the workpiece or surrounding objects based on this shape data.
[0088] Further, in the present embodiment, the three-dimensional shape data of all the constituent members of the robot are formed to match the actual shape, but the present invention is not limited to this form. The three-dimensional shape data of some of the constituent members of the robot may be formed to match the actual shape, and the three-dimensional shape data of the other constituent members may be simple shape data. Furthermore, the three-dimensional shape data of at least some of the constituent members of the robot may be simple shape data such as a quadrangular prism.
[0089] The range sensor 6 as the three-dimensional sensor of the present embodiment includes a projector, but it does not have to include a projector. Furthermore, as the three-dimensional sensor, any sensor that can acquire three-dimensional information on the surface of the workpiece can be adopted. For example, a TOF (Time of Flight) camera that captures a distance image by the time-of-flight method of light, or a line sensor or the like can be adopted.
[0090] The range sensor 6 of the present embodiment is fixed to the support member 83, but the present invention is not limited to this form. The three-dimensional sensor can be arranged so as to be able to image the workpiece. For example, the three-dimensional sensor may be fixed to the wrist so as to move integrally with the wrist of the robot.
[0091] The robot device of this embodiment performs the operation of transporting workpieces, but is not limited to this form. The control of this embodiment can be applied to a robot device that performs arbitrary operations. The work tool can adopt any device that performs a predetermined operation on the workpiece. In particular, the control of this embodiment is suitable for a robot device in which the position and posture of the robot change according to the state of the workpiece or the state of surrounding objects. For example, the control of this embodiment can be applied to a robot device that arranges and stacks workpieces on the upper surface of a pallet or the like.
[0092] In each of the above controls, the order of steps can be appropriately changed within the range where the functions and operations are not changed.
[0093] The above embodiments can be combined as appropriate. In each of the above figures, the same or equivalent parts are denoted by the same reference numerals. Note that the above embodiments are examples and do not limit the invention. Also, the embodiments include modifications of the embodiments shown in the claims.
Description of Reference Numerals
[0094] 1 Robot 2 Hand 4 Control Device 5 Robot Device 6 Range Sensor 8 Conveyor 9 Container 11 Upper Arm 12 Lower Arm 13 Swivel Base 14 Base 15 List 42 Storage Unit 46 Three-Dimensional Shape Data 46a Shape Data of Workpiece 46b Shape Data of Robot Component 46c Shape Data of Hand 46d Shape Data of Surrounding Object 52 Processing Unit 56 Setting Unit 57 Determination Unit
Claims
1. One or more memories storing three-dimensional shape data of at least a plurality of components of a robot, One or more processors, and The one or more processors Select a part of the components of the robot for which interference is to be determined according to the operating state of the robot or the execution state of the operation program, A control device that determines whether the selected component interferes with a workpiece or a surrounding object based on the three-dimensional shape data of the selected component.
2. The control device according to claim 1, wherein at least a part of the three-dimensional shape data of a plurality of components of the robot is formed to match the actual shape.
3. The one or more memories Store three-dimensional shape data related to a working tool, The one or more processors Select a member for which interference is to be determined among a plurality of components of the robot and the working tool, Determine whether the selected member interferes with a workpiece or a surrounding object based on the three-dimensional shape data of the selected member, The control device according to claim 1 or 2.
4. The one or more memories Store at least one of a model of a working tool having a shape with a simplified shape of the working tool and a model of a surrounding object having a shape with a simplified shape of the surrounding object, The one or more processors Perform interference determination based on at least one of the model of the working tool and the model of the surrounding object, the control device according to claim 1 or 2.
5. The one or more memories Store the operation program of the robot, The one or more processors Select a part of the components for which interference is to be determined based on the operation program, The control device according to any one of claims 1 to 4.
6. The workpiece or the surrounding object includes three-dimensional shape data of the workpiece or the surrounding object, the control device according to any one of claims 1 to 5.
7. The surrounding object includes at least three-dimensional shape data of any one of a conveyor, a container, and a workpiece other than the gripping target, the control device according to claim 6.
8. The one or more processors Select a part of the components for which interference is to be determined based on the description of the operation program, The control device according to any one of claims 1 to 7.
9. A robot device comprising a robot and The control device according to any one of claims 1 to 8.
10. storing three-dimensional shape data of at least a plurality of components of the robot; selecting some components for which interference determination is to be made among the plurality of components of the robot according to the operating state of the robot or the execution state of the operation program; a program for causing one or more processors to execute a step of determining whether the selected components interfere with a workpiece or peripheral objects based on the three-dimensional shape data of the selected components.
Citation Information
Patent Citations
Robot calibration device, robot calibration method, robot calibration program, computer-readable recording medium, and device storage program
DE102018203250A1
Decision for interference of robot
JP1992201096A
Interference check device for numerically controlled machine tool
JP1993127730A
Interference detector of machine tool
JP2009116505A
Article picking device
JP2010012567A