Robotic device for detecting interference in the components of a robot.
By using 3D shape data and sensor detection in the robot device, and setting some components for interference determination, the problem of determining the position and posture of the robot device when handling bulk workpieces is solved, and efficient and accurate interference avoidance is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-07-30
- Publication Date
- 2026-03-10
AI Technical Summary
In the prior art, it is difficult for robotic devices to accurately determine the position and posture of bulk workpieces to avoid interference. Furthermore, existing methods require high-performance computing or simplified models, which leads to large computational loads or misjudgments, making it impossible to efficiently determine interference.
A control device that stores 3D shape data of robot components determines interference by setting some components and uses 3D sensors to detect the workpiece position to generate a precise robot path to avoid interference.
It enables efficient robot interference detection with less computation, reducing misjudgment and computation time requirements, and improving the accuracy and efficiency of robot operation.
Smart Images

Figure CN116096536B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a robotic device for detecting interference with the components of a robot. Background Technology
[0002] In robotic systems equipped with robots and tools, various tasks can be performed by changing the robot's position and posture. Surroundings related to the task are arranged around the robotic system. For example, containers for storing workpieces or conveyor systems for transporting workpieces may be used as surroundings. Alternatively, fences may be installed to define the robotic system's working area.
[0003] If a robot is driven, the robot or its working tool may interfere with its surroundings. To confirm that the robot does not interfere with its surroundings, a simulation device can be used to simulate the robot's movements. In the simulation device, models representing the robot and models representing the surroundings are generated, allowing the determination of interference that occurs when the robot is driven.
[0004] Based on the simulation results, the operator can determine the configuration of the robot and its surroundings without interference. Furthermore, the operator can determine the robot's position and orientation during actuation without interference. Specifically, the operator can operate the teaching pendant to actually drive the robot. The operator can also perform online teaching playback (online teaching) to teach the robot's position and orientation without causing interference.
[0005] However, there are known robotic devices where the robot's actions are uncertain, such as when a large number of workpieces are loosely packed in containers like shipping containers. In robotic devices that retrieve loose workpieces, the state of the stacked workpieces cannot be predetermined, making it difficult to teach the robot's position and posture when holding the workpiece. In the prior art, there are known robotic devices that use vision sensors to detect the position and posture of the workpieces and retrieve them from containers (e.g., Japanese Patent Application Laid-Open No. 2013-43271).
[0006] In robotic devices that remove bulk workpieces, there are situations where interference is difficult to avoid through simulation studies. Therefore, control devices are known that use 3D sensors to photograph surrounding objects during actual robot operation to determine whether interference occurs between the robot and these objects (e.g., Japanese Patent Application Publication No. 2020-28957). In such control devices, position data of surrounding objects that may cause interference with the robot are acquired in advance. Furthermore, the control device generates a model of the robot using multiple cylindrical models, etc. The control device calculates the robot's position and posture based on the workpiece's position and posture, and determines whether the robot interferes with its surroundings.
[0007] Existing technical documents
[0008] Patent documents
[0009] Patent Document 1: Japanese Patent Application Publication No. 2013-43271
[0010] Patent Document 2: Japanese Patent Application Publication No. 2020-28957 Summary of the Invention
[0011] The problem that the invention aims to solve
[0012] In robotic systems where the robot's movements are determined by factors such as the workpiece's state, it's difficult to predetermine the robot's position and posture. Therefore, operators use simulation devices to generate multiple robot positions and postures for the system's operation. The operator performs numerous simulations with various robot positions and postures to confirm that no interference occurs. However, the number of simulations is determined based on the operator's experience. Generally, when actually using the robotic system, fine adjustments are made to the robot's position and posture to account for driving conditions that cannot be studied through simulation. Therefore, there are often situations where the robot and its surroundings are configured with sufficient leeway to prevent interference between the robot and the workpiece.
[0013] Furthermore, the following problem exists: To enable users other than the robot's manufacturer to determine whether the robot or working tool interferes with surrounding objects when the control device is driving the robot, the only options are to decompose the robot's components, such as the arm, and measure their shapes in 3D, or for the robot's manufacturer to disclose the shape data of these components. Therefore, users implement this by replacing the robot's components with simplified model shapes. For example, the robot's arm might be modeled as a cuboid or cylinder. To avoid interference with surrounding objects, simplified model shapes are generated in a way that is larger than the actual robot components. That is, a large model is generated such that the robot's components are contained within the model. Therefore, even when the robot's components do not interfere with surrounding objects during actual robot operation, there are still cases where interference is detected.
[0014] On the other hand, if the shapes of the robot's components are made close to their actual shapes, there is a problem that the computational workload for determining interference in the robot model increases, and the determination of interference takes longer. Alternatively, to shorten the computation time, a high-performance computer is required.
[0015] Methods for solving problems
[0016] The robot apparatus of this disclosure includes: a robot comprising multiple constituent parts; and a control device for controlling the robot. The control device includes: a storage unit storing 3D shape data of the robot's constituent parts. The control device includes: a determination unit that, when driving the robot, determines whether a constituent part of the robot interferes with a workpiece or a surrounding object disposed around the robot. The control device includes: a setting unit that sets a portion of the constituent parts of the robot that are subject to interference determination based on the robot's operating state. The determination unit determines whether a constituent part set by the setting unit interferes with a workpiece or a surrounding object based on the 3D shape data of the constituent parts set by the setting unit.
[0017] Invention Effects
[0018] According to the present disclosure, a robot device can be provided that determines robot interference with a relatively small amount of computation. Attached Figure Description
[0019] Figure 1 This is a perspective view of the robot device in the implementation method.
[0020] Figure 2 This is a block diagram of the robot device in the implementation method.
[0021] Figure 3 This is an explanatory diagram of the 3D shape data in the implementation method.
[0022] Figure 4 It is a three-dimensional view of the robot and robotic arm model in the implementation method.
[0023] Figure 5 This is a flowchart of the workpiece control in the conveying implementation method.
[0024] Figure 6 This is a 3D diagram illustrating the robot and manipulator used to control the search for a location that avoids interference.
[0025] Figure 7 This is a top view of the area where locations to avoid interference are explained.
[0026] Figure 8 This is a 3D diagram illustrating the control of the robot and manipulator's posture to avoid interference during the search.
[0027] Figure 9 This is a schematic top view illustrating the robot's posture for avoiding interference.
[0028] Figure 10 It is a three-dimensional model of a robotic device with simplified manipulators and conveyors. Detailed Implementation
[0029] Reference Figures 1-10 The robotic device in this embodiment will be described. In this embodiment, a robotic device that removes workpieces piled up inside a container and transports the workpieces to a conveyor will be used as an example.
[0030] Figure 1 This is a perspective view of the robot device in this embodiment. The robot device 5 includes a robot 1 and a manipulator 2 as a working tool. The robot 1 in this embodiment is a multi-joint robot with multiple joints. The robot 1 includes an upper arm 11 and a lower arm 12. The lower arm 12 is supported on a rotating base 13. The rotating base 13 is supported on a base 14. The robot 1 includes a wrist 15 connected to the end of the upper arm 11. The wrist 15 includes a rotatable flange 15a. The robot 1 includes multiple constituent parts. In this embodiment, the upper arm 11, lower arm 12, rotating base 13, base 14, and wrist 15 are described as constituent parts. The upper arm 11, lower arm 12, rotating base 13, and wrist 15 are driven by the robot to change their position and posture. These constituent parts rotate about a predetermined rotation axis. As a robot, it is not limited to this method; any robot capable of supporting and moving the working tool can be used.
[0031] The working tool is configured to perform a predetermined operation on the workpiece. In this embodiment, the robotic arm 2 grasps or releases the workpiece W. The robotic arm 2 includes a main body 2a fixed to a flange 15a of a wrist 15 and an electromagnet 2b supported on the main body 2a. The electromagnet 2b generates a magnetic attraction force. In this embodiment, the electromagnet 2b is cylindrical. The workpiece W is attracted to the bottom surface of the electromagnet 2b.
[0032] The robot device 5 has a conveyor 8 arranged around the robot 1 as a peripheral object. The conveyor 8 is located near the robot 1. The workpiece W placed on the conveyor 8 is conveyed in the direction indicated by arrow 93. In this embodiment, the conveyor 8 is arranged at a position where the lower arm 12 may interfere with the conveyor 8 when the robot 1 changes position or posture. That is, a part of the conveyor 8 is arranged inside the range of motion of the lower arm 12 of the robot 1.
[0033] In this embodiment, the workpiece W is formed of a magnetic material such as iron. The workpiece W has a cuboid shape. The workpiece W has the largest surface area. The workpiece W is disposed inside a container 9, which serves as a container. The container 9 is equivalent to a peripheral object disposed around the robot 1. Multiple workpieces W are loosely packed with their individual orientations irregularly arranged.
[0034] The robot device 5 includes a range sensor 6, which serves as a 3D sensor for detecting the position and orientation of the workpiece W housed in the container 9. In this embodiment, the range sensor 6 is a stereo camera comprising two cameras 61 and 62. Cameras 61 and 62 are 2D cameras capable of capturing 2D images. Any camera with an imaging element such as a CCD (Charge-Coupled Device) sensor or a CMOS (Complementary Metal-Oxide Semiconductor) sensor can be used as cameras 61 and 62. The relative positions of the two cameras 61 and 62 are predetermined. The range sensor 6 in this embodiment includes a projector 63 that projects patterned light, such as striped patterns, toward the workpiece W.
[0035] The distance sensor 6 acquires information about the distance to a measurement point set on the surface of the object. The distance sensor 6 is positioned to capture images of the workpiece W housed in the container 9. In this embodiment, the distance sensor 6 is positioned above the container 9. The distance sensor 6 is supported by a support member 83. The distance sensor 6 has a range for capturing images, i.e., a shooting range. Cameras 61 and 62 are preferably configured such that the container 9 is included within the shooting range.
[0036] In this embodiment, the robot device 5 selects a workpiece W to be retrieved from the container 9 based on 3D information generated from the output of the ranging sensor 6. Figure 1 In this process, the position and orientation of robot 1 serve as the initial position and orientation that become the reference for starting the removal process. As shown by arrow 91, robot device 5 changes the position and orientation of robot 1 to hold the workpiece W disposed inside container 9. As shown by arrow 92, robot device 5 changes the position and orientation of robot 1 to transport workpiece W from inside container 9 to conveyor 8. Afterward, robot 1 returns to the initial position and orientation that served as the reference.
[0037] The robot device 5 of this embodiment is set in a reference coordinate system 37 that remains stationary when the position and posture of the robot 1 change. Figure 1 In this example, the origin of a reference coordinate system 37 is configured on the base 14 of robot 1. Reference coordinate system 37 is also called the world coordinate system. Additionally, a tool coordinate system 38 is set for robot device 5, with its origin set at any position on the working tool. The position and orientation of the tool coordinate system 38 change along with the manipulator 2. In this embodiment, the origin of the tool coordinate system 38 is set to the tool tip point.
[0038] The reference coordinate system 37 and the tool coordinate system 38 each include mutually orthogonal X-axis, Y-axis and Z-axis as coordinate axes. In addition, 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.
[0039] If the position and pose of robot 1 change, the position and pose of the origin of tool coordinate system 38 will also change. For example, the position of robot 1 corresponds to the position of the tool tip (the position of the origin of tool coordinate system 38). Furthermore, the pose of robot 1 corresponds to the pose of tool coordinate system 38 relative to reference coordinate system 37.
[0040] Figure 2 A block diagram illustrating the robot device of this embodiment. (Refer to...) Figure 1 as well as Figure 2 The robot 1 includes a robot drive device that changes the position and posture of the robot 1. The robot drive device includes a robot drive motor 22 that drives components such as the arm and wrist. The robot device 5 has a manipulator drive device that drives the manipulator 2. The electromagnet 2b of the manipulator 2 is driven, thereby attracting the workpiece W to the electromagnet 2b. In this embodiment, the bottom surface of the electromagnet 2b is a plane. The bottom surface of the electromagnet 2b is the main surface with the largest area for attracting the workpiece W.
[0041] The robot device 5 includes a control unit 4 for controlling the robot 1 and the robotic arm 2. The control unit 4 includes a processing unit (computer) comprising a CPU (Central Processing Unit) as a processor. The control unit 4 has RAM (Random Access Memory) and ROM (Read Only Memory) connected to the CPU via a bus. The control unit 4 includes a storage section 42 for storing information related to the control of the robot 1 and the robotic arm 2. The storage section 42 can be constructed from a storage medium capable of storing information, such as volatile memory, non-volatile memory, or a hard disk.
[0042] The robot device 5 transports the workpiece W according to the motion program 41. The control device 4 includes a motion control unit 43 that sends out motion commands. The motion control unit 43 is equivalent to a processor that drives the operation according to the motion program 41. The processor reads the motion program 41 and implements the control determined in the motion program 41, thereby functioning as the motion control unit 43.
[0043] The motion control unit 43 sends motion commands to the robot drive unit 45 to drive the robot 1 according to the motion program 41. The robot drive unit 45 includes circuitry for driving the robot drive motor 22. The robot drive unit 45 supplies power to the robot drive motor 22 according to the motion commands. Additionally, the motion control unit 43 sends motion commands to the robot arm drive unit 44 to drive the robot arm 2 according to the motion program 41. The robot arm drive unit 44 includes circuitry for driving the electromagnet 2b. The robot arm drive unit 44 supplies power to the electromagnet 2b according to the motion commands. Furthermore, the motion control unit 43 sends motion commands to the ranging sensor 6 to capture images according to the motion program 41. The ranging sensor 6 is controlled by the control device 4.
[0044] The control device 4 in this embodiment includes an action setting unit 51 that sets the actions of the robot 1 according to the action program 41. The action control unit 43 generates action commands based on the instructions from the action setting unit 51. In this embodiment, the action setting unit 51 selects the workpiece W to be taken out of the container 9 and controls the robot arm 2 to hold the workpiece W. In addition, the action setting unit 51 controls the transport of the workpiece W held by the robot arm 2 to the conveyor 8.
[0045] The motion setting unit 51 includes a processing unit 52 that generates 3D information of the workpiece W based on the output of the ranging sensor 6. The 3D information of the object is equivalent to the 3D shape data of the object. Additionally, the processing unit 52 detects the position and orientation of the workpiece W disposed in the container 9. The motion setting unit 51 includes a selection unit 54 that selects the workpiece W to be removed from the container 9. The motion setting unit 51 includes a path generation unit 55 that generates the path of the robot 1. The motion setting unit 51 includes a setting unit 56 that sets a component for determining interference based on the operating state of the robot 1. The motion setting unit 51 includes a determination unit 57 that determines whether interference occurs when the robot 1 is driven. The motion setting unit 51 includes a path correction unit 58 that, when interference is determined to occur, corrects the position and orientation of the robot 1 in a manner that does not cause interference.
[0046] The motion setting unit 51 is equivalent to a processor that drives the action according to the motion program 41. Furthermore, each of the processing unit 52, selection unit 54, path generation unit 55, setting unit 56, determination unit 57, and path correction unit 58 included in the motion setting unit 51 is equivalent to a processor that drives the action according to the motion program 41. The processor reads the motion program 41 and implements the control determined in the motion program 41, thereby performing its function as each unit.
[0047] Robot 1 includes state detectors for detecting the position and posture of robot 1. In this embodiment, the state detectors include position detectors 18 mounted on robot drive motors 22 corresponding to the drive shafts of components such as the arm. The position and posture of robot 1 are calculated based on the rotation angles output by each position detector 18.
[0048] Figure 3 An explanatory diagram showing the 3D shape data stored in the control device of this embodiment. (Refer to...) Figure 2 as well as Figure 3 In this embodiment, the 3D shape data 46 is input to the control device 4 before driving the robot device 5. The storage unit 42 stores the 3D shape data 46. The 3D shape data 46 can be any data representing the 3D shape of each component.
[0049] The 3D 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 posture of the workpiece W disposed in the container 9. The 3D shape data 46 includes the shape data 46b of the robot's constituent parts and the shape data 46c of the manipulator. The shape data 46b of the robot's constituent parts and the shape data 46c of the manipulator are used to determine interference between the constituent parts of the robot 1 or the manipulator 2 and other objects. In this embodiment, the shape data 46a of the workpiece, the shape data 46b of the robot's constituent parts, and the shape data 46c of the manipulator are 3D data generated by a CAD (Computer-Aided Design) device. In particular, the shape data 46b of the robot's constituent parts and the shape data 46c of the manipulator are data from the CAD device used during the manufacturer's design. The design-time data generated by the CAD device is consistent with the shape of the actual parts. That is, 3D shape data with simple shapes such as prisms or cones is not used; instead, design-time data that corresponds to the actual shape is used. However, parts unrelated to interference with the constituent parts can also be excluded from the design data. For example, small parts such as recesses formed on the surface of the component and used to mount bolt heads can be excluded from the design data.
[0050] Figure 4 This is a perspective view showing the robot and manipulator models of this embodiment. The motion setting unit 51 generates models of the robot's components and the manipulator using shape data 46b of the robot's components and shape data 46c of the manipulator. A model with the same shape as the design data used when designing the robot 1 and the manipulator 2 is generated.
[0051] The robot model M1 includes models of multiple constituent parts. The robot model M1 includes a model M11 for the upper arm, a model M12 for the lower arm, a model M13 for the rotating base, a model M14 for the base, and a model M15 for the wrist. In this embodiment, the models of each constituent part of the robot 1 match the shapes of the actual constituent parts. For example, the curved surfaces, steps, and protrusions of the constituent parts of the robot 1 also match the shapes of the actual robot 1. Furthermore, regarding the manipulator model M2, even the small details match the shape of the actual manipulator 2. Moreover, as described above, small details such as recesses that are unrelated to interference with the constituent parts can be excluded.
[0052] In addition, refer to Figure 1 The robot 1 of this embodiment includes cables 16 disposed on the outer sides of the upper arm 11 and the lower arm 12. The shape of the cables 16 changes when the position and posture of the robot 1 change. Therefore, referring to… Figure 4 In this embodiment, cable 16 is excluded from the robot model M1, but this method is not limited to this one. Models of the robot 1's cables and piping components can also be generated.
[0053] Reference Figure 2 as well as Figure 3 The 3D shape data 46 includes shape data 46d of the surrounding objects disposed around the robot 1. The shape data 46d of the surrounding objects is used to determine interference between the surrounding objects and the robot 1 or the robotic arm 2. In this embodiment, the shape data 46d of the surrounding objects includes the shape data of the conveyor 8 and the shape data of the container 9. The shape data 46d of the surrounding objects can be 3D data generated by a CAD device.
[0054] As a surrounding object, it is not limited to conveyors and containers; any obstacle that may interfere with the robot or the working tools can be used. For example, a fixed object such as a workpiece-carrying platform or a fence placed around the robot can be used as a surrounding object. Alternatively, a moving object such as a transport vehicle passing near the robot can also be used as a surrounding object.
[0055] Figure 5 A flowchart illustrating the control of the robot device in this embodiment. Figure 5 The document describes the control for transporting one workpiece W. Figure 5 The control shown can be repeatedly implemented each time one workpiece W is removed. (Refer to...) Figure 2 as well as Figure 5 As described above, the 3D shape data 46 of the robot device and its surrounding objects are pre-stored in the storage unit 42.
[0056] First, the motion setting unit 51 sets the position and posture of robot 1 to the initial position and initial posture when it starts picking up workpiece W (refer to...). Figure 1 In this embodiment, the point of movement of 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. For example, the initial point can be determined by not placing robot 1 and manipulator 2 within the shooting range of range sensor 6.
[0057] In step 111, the ranging sensor 6 captures images of the workpiece W inside the container 9. The processing unit 52 of the motion setting unit 51 processes the images captured by the cameras 61 and 62. The processing unit 52 generates 3D information of the workpiece W using a 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 ranging sensor 6 to the measurement points 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 points based on the distance from the ranging sensor 6 to the measurement points. The 3D information includes information on the positions of multiple measurement points set on the surface of the object.
[0058] 3D information, such as distance images or 3D maps, is equivalent to 3D shape data. A distance image is an image whose color or density changes according to the distance from the ranging sensor 6. A 3D map contains the coordinates of the measurement point in a predetermined coordinate system, or information about the distance from the ranging sensor to the measurement point and the orientation of the measurement point.
[0059] In step 112, the processing unit 52 performs template matching to compare the 3D information of the workpiece W with the shape data 46a of the workpiece, thereby detecting the position and orientation of the workpiece W stored in the container 9. Furthermore, while the shape data of the workpiece in this embodiment uses 3D data generated by a CAD device, it is not limited to this method. The operator may also use distance images of the workpiece taken from various directions as the shape data.
[0060] Alternatively, the processing unit 52 can also utilize 2D images in the detection of workpiece W. A 2D image is captured using one of the two cameras 61 and 62 of the ranging sensor 6. The workpiece is detected in the 2D image through template matching. Furthermore, the processing unit 52 selects one workpiece and obtains 3D information about the region corresponding to the surface of workpiece W. For example, the processing unit 52 can calculate a plane using multiple measurement points corresponding to the surface of workpiece W, thereby calculating the position and orientation of workpiece W.
[0061] In step 113, the selection unit 54 selects the target workpiece W to be removed 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 through arbitrary control. For example, the selection unit 54 can set the workpiece W closest to the ranging sensor 6 as the target workpiece W. That is, the selection unit 54 can select workpieces W in descending order of their position.
[0062] In step 114, the storage unit 42 stores the 3D information of the workpiece W other than the workpiece W removed by the robot device 5. The workpiece W other than the workpiece W removed by the robot device 5 is an object that interferes with the robot 1 or the robotic arm 2. This 3D information is used to determine whether it interferes with the robot 1 or the robotic arm 2.
[0063] In step 115, the path generation unit 55 sets the point where the robot 1 holds the workpiece W, i.e., the holding point, based on the position and posture of the target workpiece W. The path generation unit 55 calculates the holding position and holding posture of the robot 1 at the holding point.
[0064] In step 116, the path generation unit 55 generates a first path for the robot 1 from the initial point to the gripping point of the workpiece W. Figure 1 In the diagram, the path indicated by arrow 91 corresponds to the first path. Regarding the control of the path generation unit 55 for generating the first path, considering the 3D shape of the robot 1 or the manipulator 2, various path search algorithms can be applied to ensure that the robot 1 or the manipulator 2 does not interfere with the workpiece W. The path generation unit 55 can generate multiple movement points through which the position of the robot 1 passes. The path passing through these multiple movement points corresponds to the first path. Alternatively, interpolation points can be set between these multiple movement points. In this case, the path generation unit 55 can generate the first path without considering interference between the manipulator 2 or the robot 1 and other objects.
[0065] Next, in step 117, the setting unit 56 sets the multiple constituent parts of the robot 1 and the interference detection component in the robotic arm 2. In this example, the setting unit 56 sets the wrist 15 and the upper arm 11 among the multiple constituent parts of the robot 1 as the interference detection components. In addition, the setting unit 56 sets the robotic arm 2 as the interference detection component.
[0066] The setting unit 56 sets up a component for determining interference based on the operating state of the robot 1. (See reference...) Figure 1As indicated by arrow 91, when robot 1 moves along the first path, manipulator 2 and wrist 15 insert into the interior of container 9. Additionally, upper arm 11 is positioned near container 9. Manipulator 2, wrist 15, and upper arm 11 may come into contact with container 9. Therefore, manipulator 2, wrist 15, and upper arm 11 can be configured as components for determining interference. Furthermore, setting unit 56 can configure container 9 and workpiece W as components for determining interference. The components for determining interference can be predetermined, for example, in the motion program 41. Setting unit 56 reads motion program 41 to set the components for determining interference.
[0067] Next, in step 118, the determination unit 57 determines whether interference occurs at the gripping point and the first path. The determination unit 57 determines whether the component set by the setting unit 56 interferes with the workpiece or surrounding objects based on the 3D shape data of the component set by the setting unit 56, the 3D information of the workpiece, and the 3D shape data of the surrounding objects. Furthermore, the positions of the surrounding objects are predetermined.
[0068] First, when the robot 1 is in a gripping position and gripping posture for gripping the workpiece W, the determination unit 57 determines whether the manipulator 2, wrist 15 and upper arm 11 interfere with the workpiece W other than the workpiece W held by the container 9 or the robot device 5.
[0069] The determination unit 57 obtains 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 parts of the robot device 5. The determination unit 57 calculates the position and posture of the models based on the information of the drive shafts of each constituent part. Here, the determination unit 57 calculates the position and posture of the manipulator model M2, the wrist model M15, and the upper arm model M11. The position and posture of each model can be represented, for example, by the reference coordinate system 37.
[0070] Furthermore, the determination unit 57 acquires the 3D shape data of the container 9 and the 3D information of the workpiece. Here, the determination unit 57 can also generate a model of the container and a model of the workpiece based on the 3D shape data of the container and the 3D information of the workpiece. The model of the container or the model of the workpiece can, for example, be represented using the reference coordinate system 37.
[0071] When the robot model M2, the wrist model M15, and the upper arm model M11 are positioned in contact with the container 9 or the workpiece W other than the workpiece W being held, the determination unit 57 can determine that an interference has occurred.
[0072] Next, the determination unit 57 determines whether interference occurs as the robot 1 moves along the first path. The determination unit 57 obtains the movement points generated by the path generation unit 55. In addition, the determination unit 57 obtains the interpolation points generated between the movement points. The determination unit 57 calculates the position and posture of the robot 1 at each movement point and interpolation point. Similar to the control at the gripping point, the determination unit 57 determines whether the manipulator model M2, the wrist model M15, and the upper arm model M11 interfere with the container 9 or the workpiece W other than the gripped workpiece W at each movement point and interpolation point.
[0073] In step 118, if it is determined that a component of robot 1 interferes with the workpiece or surrounding objects at the gripping point and the first path, control moves to step 119. Similarly, if it is determined that the robotic arm 2 interferes with the workpiece or surrounding objects at the gripping point and the first path, control moves to step 119.
[0074] In step 119, the path correction unit 58 corrects the position or posture of the robot 1 at the points where interference occurs, including the gripping point, the moving point, and the interpolation point. Alternatively, the path correction unit 58 may correct both the position and posture of the robot 1. Here, the method for correcting the position and posture of the robot 1 at the gripping point, the moving point, or the interpolation point will be described.
[0075] Figure 6 A perspective view showing a model of a robotic arm and a model of a robot, illustrating a method for correcting the robot's position. In this example, it is determined that interference occurs when the robot 1 is positioned 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 around the moving point MPA to move the moving point MPA. The shape and size of the region 71 can be predetermined. In this embodiment, a quadrilateral region 71 is set in a plane including the X-axis and Y-axis of the tool coordinate system 38.
[0076] Figure 7 This is a top view showing the area where the position of the moving point is moved. In this embodiment, a region 71 is defined at predetermined distances from the moving point MPA in the X-axis and Y-axis directions of the tool coordinate system 38. The path correction unit 58 searches for a moving point MPB within the region 71 that can avoid interference. The path correction unit 58 divides the region 71 into equal parts in the X-axis and Y-axis directions. Furthermore, the moving point MPB can be set at the vertices of the small regions when dividing the region 71. In this example, it is divided into 6 equal parts in the X-axis direction and 6 equal parts in the Y-axis direction. 48 moving points MPB are set around the moving point MPA.
[0077] When moving the position of robot 1 to each moving point MPB, path correction unit 58 determines whether it interferes with the manipulator model M2, the wrist model M15, and the upper arm model M11. Path correction unit 58 is capable of determining whether interference occurs at all moving points MPB.
[0078] The path correction unit 58 can set the interference-avoiding movement point MPB as the corrected movement point. When multiple interference-avoiding movement points MPB exist, the path correction unit 58 can select one movement point MPB according to a predetermined priority order. For example, the path correction unit 58 can use the movement point MPB that is closest to the original movement point MPA. Furthermore, the priority order of the positive or negative direction on the X-axis can be predetermined. Similarly, the priority order of the positive or negative direction on the Y-axis can be predetermined.
[0079] Figure 8 This is a perspective view showing the robot's model M2 and the robot model when correcting the robot's posture at the movement point. The path correction unit 58 changes the posture of robot 1, searching for a posture that avoids interference. In this example, the path correction unit 58 rotates the robot's model M2 about 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 robot's posture by rotating the robot's model M2 in the direction indicated by arrow 94.
[0080] Figure 9 This is a top view showing the robot model rotating. In this embodiment, the path correction unit 58 rotates the robot model M2 at a predetermined angle. In this example, a rotation angle that divides one revolution into six parts is set. The path correction unit 58 calculates the position and posture of the robot 2, wrist 15, and upper arm 11 at all rotation angles and determines whether interference occurs.
[0081] The path correction unit 58 can set the posture of the robot 1 to a corrected posture to avoid interference. When multiple postures exist that can avoid interference, the path correction unit 58 can select one posture through arbitrary control. For example, the path correction unit 58 can adopt a rotation angle that is closest to the original rotation angle. Furthermore, the priority order of clockwise or counterclockwise rotation when rotating the manipulator can be predetermined.
[0082] The path correction unit 58 can change the path if interference cannot be avoided even if either the robot's position or its posture is changed. In this embodiment, the robot's position is changed if interference cannot be avoided even if the robot's posture is changed.
[0083] Reference Figure 5Thus, in step 119, the position or posture of the robot at the point where interference occurs is changed. The path correction unit 58 can use the corrected position and posture of the robot to generate a new first path. Furthermore, control moves to step 118, where it can determine whether interference has occurred. The control in steps 118 and 119 can be repeated until interference no longer occurs at the gripping point and the first path.
[0084] In step 118, without causing interference at the gripping point and the first path, the position and posture of robot 1 at the gripping point and the first path are determined. Control moves to step 120. Next, a second path is generated to transport workpiece W to conveyor 8.
[0085] In step 120, the path generation unit 55 generates a second path from the holding point to the target point for placing the workpiece W on the conveyor 8. (Refer to...) Figure 1 The path indicated by arrow 92 corresponds to the second path. The path generation unit 55 can generate the second path using the same control as that used to generate the first path in step 116.
[0086] Next, in step 121, the setting unit 56 sets the component for determining interference based on the operating state of the robot 1. (Refer to...) Figure 1 When the robot device 5 picks up the workpiece W and transports it to the conveyor 8, the lower arm 12 may interfere with the conveyor 8. During this operation, interference with the lower arm 12 is determined. The setting unit 56, according to the operation program 41, sets the lower arm 12 as the component for interference determination. Additionally, the setting unit 56, according to the operation program 41, sets the conveyor 8 as the component for interference determination.
[0087] In step 122, the determination unit 57 determines, through the same control as in step 118, whether interference between the lower arm 12 and the conveyor 8 occurs at the target point and the second path. The determination unit 57 determines whether interference between the lower arm 12 and the conveyor 8 occurs based on the model M12 of the lower arm and the 3D shape data of the conveyor 8.
[0088] In step 122, if interference is determined to occur at the target point and the second path, control moves to step 123. In step 123, the path correction unit 58 corrects the position or posture of robot 1 using the same control as in step 119. Steps 122 and 123 are repeated until interference between the lower arm 12 and the conveyor 8 is eliminated. In step 122, if interference is determined not to occur at the target point and the second path, the position and posture of robot 1 at the target point and the second path are determined. Control moves to step 124.
[0089] In step 124, the motion setting unit 51 sends the position and posture of robot 1 at the gripping point, target point, first path, and second path to the motion control unit 43. Robot 1 moves along the first path. Robot 1 changes position and posture towards the gripping position and gripping posture. After robot 1 reaches the gripping position and gripping posture, the workpiece W is gripped by energizing the electromagnet 2b of the manipulator 2.
[0090] Next, robot 1 moves along the second path. Motion control unit 43 changes the position and posture of robot 1, moving workpiece W to the target point on conveyor 8. After robot 1 reaches the target position and posture, workpiece W is released by stopping the excitation of electromagnet 2b of manipulator 2. Then, robot 1 returns to its initial position and posture.
[0091] In the robot device 5 of this embodiment, when determining interference, a subset of components of the robot 1 are selected from among its multiple components based on the robot 1's operating state. That is, the control device 4 switches the components used for interference determination based on the robot 1's operating state. Furthermore, the control device 4 determines interference based on the 3D shape data of a subset of the components. Therefore, accurate determination can be performed in a short time. For example, when using the 3D shape data of all components of the robot 1 to determine interference with other objects, the computational load increases, and the computation time increases. However, in this embodiment, by selecting a subset of components based on the operating state, the computational load for interference determination can be reduced. Additionally, by using shape data consistent with the shape of the robot 1's components, the interference determination of the robot 1 can be performed accurately.
[0092] Furthermore, in this embodiment, 3D shape data consistent with the actual shape of the robotic arm 2 is used as the model M2 of the robotic arm 2. Therefore, interference to the robotic arm 2 can be accurately determined.
[0093] In this embodiment, interference from the robot's components is determined in addition to interference from the manipulator, but this is not limited to this method. Interference from the manipulator may also be omitted. For example, if the manipulator's shape does not cause interference with the container or workpiece, interference from the manipulator may not be determined. Furthermore, the robot device may not have a working tool. For example, sometimes the robot device has a device for automatically changing working tools. To change working tools, the robot sometimes changes its position and posture when the working tool is not installed. During this period, the control device can determine interference from the robot's components without determining interference from the working tool. Additionally, in this embodiment, interference is determined at the gripping point and the target point where the robot's drive is temporarily stopped, and interference is determined in the first path and the second path, but this is not limited to this method. Interference may also not be determined in the first path and the second path.
[0094] In this embodiment, the motion setting unit 51 uses the ranging sensor 6 to generate 3D information about the workpiece W other than the workpiece W removed by the robot device 5. That is, it generates 3D information about the workpiece W remaining in the container 9. Furthermore, the motion setting unit 51 uses the 3D information about the workpiece W to determine whether the components of the robot arm 2 or the robot 1 interfere with the workpiece W. Sometimes, the workpiece W disposed in the container 9 interferes with the main body 2a or wrist 15 of the robot arm 2, making it impossible to hold the target workpiece W. In the robot device 5 of this embodiment, it is possible to determine whether the workpiece W disposed around the workpiece W removed by the robot device 5 interferes with the robot arm 2 or the robot 1.
[0095] In this embodiment, regarding the surrounding objects such as container 9, a model consistent with the actual shape is generated using 3D shape data generated by a CAD device. The method for generating the model of the surrounding objects is not limited to this approach. The motion setting unit may also use a 3D sensor to photograph the surrounding objects and generate 3D shape data of the surrounding objects based on the output of the 3D sensor.
[0096] For example, the motion setting unit 51 can generate 3D information of the container 9 based on the output of the ranging sensor 6 using a model matching method. The motion setting unit 51 generates the 3D information of the container 9 as shape data 46d of the surrounding objects. The motion setting unit 51 can also determine whether the robot 1 and the container 9 interfere with each other based on the 3D information of the container 9. This control is suitable for situations where the surrounding objects are moving.
[0097] Furthermore, when the surrounding object moves in one direction, a 2D sensor can be used instead of a 3D sensor. The 3D shape data of the surrounding object can be pre-stored in the storage unit. The surrounding object is positioned at a predetermined location, and a reference image is captured using the 2D sensor. When the surrounding object moves, the 2D sensor captures another image of the surrounding object, and the position of the surrounding object in the image is detected. Based on the position of the surrounding object in the current image and the position of the surrounding object in the reference image, the position of the surrounding object can be detected.
[0098] Figure 10 This is a perspective view of a robot device model that includes a model with a simplified shape of the working tool and a model with a simplified shape of the conveyor. At least one of the models of the working tool and the surrounding objects may also be a model with a simplified shape.
[0099] The manufacturer possesses design data (3D shape data) generated by a CAD device when designing robot 1. Therefore, the manufacturer can store the shape data 46b (robot model M1) of the robot's constituent parts in the storage unit 42 when manufacturing robot 1. On the other hand, there are cases where the operator purchases peripherals such as work tools or conveyors from a manufacturer different from the robot's manufacturer. In this case, the operator may not be able to obtain the design data for the work tools or peripherals from the manufacturer.
[0100] In this case, the operator may also use at least one of the following models: a model of a working tool with a simplified shape, and a model of a peripheral object with a simplified shape. The simplified model can be made by the operator and stored in the storage unit 42. The determination unit 57 uses at least one of the models of the working tool and the peripheral object to determine whether interference with the component set by the setting unit 56 has occurred.
[0101] exist Figure 10 In the example shown, the robot model MS2 has the shape of a frustum pyramid. The conveyor model MS8 has the shape of a cuboid. Such simple models can be easily generated by the operator specifying the shape and size. For example, the operator can specify the length of each side of the cuboid, thereby generating the conveyor model MS8. The shape of the simple model can be any shape such as a cylinder, hexahedron, or sphere. Furthermore, the simple model is preferably formed on a larger scale, in a way that incorporates the actual device internally. In this way, the operator can also use the simple model as a model of the work tool and surrounding objects.
[0102] In the above-described embodiments, the upper arm 11, lower arm 12, rotating base 13, base 14, and wrist 15 are exemplified as components of robot 1, but this embodiment is not limited to this one. A component of the robot can also be a part of the arm, a part of the rotating base, a part of the base, or a part of the wrist. That is, any part constituting the robot can be selected as a component. For example, the control device can store 3D shape data of a part of the upper arm and determine whether interference with the workpiece or surrounding objects occurs based on this shape data.
[0103] Furthermore, in this embodiment, the 3D shape data of all components of the robot are formed to match the actual shape, but this is not limited to this method. It is also possible that the 3D shape data of some components of the robot matches the actual shape, while the 3D shape data of other components are simplified shapes. Moreover, the 3D shape data of at least some components of the robot can also be simplified shapes such as quadrangular prisms.
[0104] The ranging sensor 6, which is the 3D sensor in this embodiment, has a projector, but it may or may not have one. Furthermore, the 3D sensor can be any sensor capable of acquiring 3D information about the surface of a workpiece. For example, a TOF (Time of Flight) camera that captures distance images using a time-of-flight method, or a line sensor, can be used.
[0105] In this embodiment, the ranging sensor 6 is fixed to the support member 83, but this method is not limited to this one. The 3D sensor can be configured to capture images of the workpiece. For example, the 3D sensor can also be fixed to the wrist of the robot in a way that allows it to move integrally with the robot's wrist.
[0106] The robot device of this embodiment performs workpiece conveying operations, but is not limited to this method. The control of this embodiment can be applied to robot devices performing arbitrary operations. The working tool can be any device that performs predetermined operations on the workpiece. In particular, the control of this embodiment is suitable for robot devices whose robot position and posture change according to the state of the workpiece or the state of the surrounding objects. For example, the control of this embodiment can be applied to robot devices that arrange and stack workpieces on the upper surface of a pallet.
[0107] In each of the above controls, the order of steps can be appropriately changed without altering the function or effect.
[0108] The above-described embodiments can be appropriately combined. In the figures above, identical or equivalent parts are labeled with the same symbols. Furthermore, the above-described embodiments are illustrative and do not limit the invention. Additionally, the embodiments include modifications to the embodiments shown within the scope of the claimed patent protection.
[0109] Symbol Explanation
[0110] 1. Robot
[0111] 2 robotic arms
[0112] 4. Control device
[0113] 5. Robotic devices
[0114] 6. Distance sensor
[0115] 8 conveyors
[0116] 9 containers
[0117] 11 upper arm,
[0118] 12 lower arm,
[0119] 13-rotation base,
[0120] 14 bases
[0121] 15. Wrist
[0122] 42 Storage Unit
[0123] 46 3D shape data
[0124] 46a workpiece shape data,
[0125] Shape data of the components of the 46b robot
[0126] 46c robotic arm shape data
[0127] 46d surrounding object shape data,
[0128] 52 Processing Department
[0129] 56 Setting Department
[0130] 57. Judgment Department.
Claims
1. A robotic device, characterized by, having: a robot including a plurality of constituent parts; and a control device that controls the robot, the control device includes: a storage section that stores three-dimensional shape data of the plurality of constituent parts of the robot including an upper arm section, a lower arm section, a swing base, a base, and a wrist section; a determination section that, when the robot is driven, determines whether or not a constituent part of the robot interferes with a workpiece or a surrounding object disposed around the robot; and a setting section that selects, according to an operation state of the robot, a part of the plurality of constituent parts of the robot for which determination of interference is performed, the determination section determines, according to the three-dimensional shape data of the constituent part selected by the setting section, whether or not the constituent part selected by the setting section interferes with the workpiece or the surrounding object, the setting section switches the part of the constituent parts selected to another constituent part different from the part of the constituent parts selected, according to the operation state of the robot, the determination section determines, according to the three-dimensional shape data of the constituent part after the switch, whether or not at least a part of the constituent part after the switch interferes with the workpiece or the surrounding object.
2. The robot device according to claim 1, characterized in that the three-dimensional shape data of the constituent part of the robot is formed to coincide with an actual shape.
3. The robot device according to claim 1, characterized in that the robot device has a work tool that performs work on a workpiece, the robot is formed to move the work tool, and the control device controls the work tool.
4. The robot device according to claim 3, characterized in that the storage section stores three-dimensional shape data that coincides with an actual shape of the work tool, the setting section selects, according to an operation state of the robot, a part of the plurality of constituent parts of the robot and the work tool for which determination of interference is performed, and the determination section determines, according to the three-dimensional shape data of the part selected by the setting section, whether or not the part selected by the setting section interferes with the workpiece or the surrounding object.
5. The robot device according to any one of claims 1 to 4, characterized in that the determination section calculates a position and a posture of the robot in a path in which the position of the robot moves, and performs determination of interference of the part selected by the setting section according to the position and the posture of the robot.
6. The robot device according to claim 3, characterized in that the storage section stores a model of at least one of the work tool having a shape in which a shape of the work tool is simplified and the surrounding object having a shape in which a shape of the surrounding object is simplified, and the determination section performs determination of interference of the part selected by the setting section using the model of at least one of the work tool and the surrounding object.
7. The robot device according to any one of claims 1 to 3, characterized in that the robot device has a three-dimensional sensor that acquires three-dimensional shape data including information of a position of a measurement point set to a surface of an object, and the control device includes a processing section that generates three-dimensional shape data of the workpiece according to an output of the three-dimensional sensor. The determination unit determines whether the constituent parts of the robot selected by the setting unit interfere with the workpiece based on 3-dimensional shape data of the workpiece.
Citation Information
Patent Citations
Information processing device, method for controlling the same, and program
JP2013043271A
Interference avoidance device and robot system
JP2020028957A
Robot Setting Apparatus, Robot Setting Method, Robot Setting Program, Computer Readable Recording Medium, And Apparatus Storing Program
US20180250822A1
Grasping of an object by a robot based on grasp strategy determined using machine learning model(s)
US20190248003A1
Control apparatus, work robot, non-transitory computer-readable medium, and control method
US20200171656A1