Processing device, robot control system, and program
The processing device and robot control system address the challenge of efficiently adsorbing and holding objects by setting an optimized approach direction for the robot's suction unit, resulting in improved adsorption success rates and reduced interference with containers.
Patent Information
- Application Number
- JP2024067378
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2022-12-28
- Filing Date
- 2024-04-18
- Publication Date
- 2025-06-09
- Estimated Expiration
- 2043-12-28
AI Technical Summary
Existing robot systems face challenges in efficiently adsorbing and holding objects due to limitations in approach direction setting, which can result in reduced adsorption success rates and interference with containers.
A processing device and robot control system that sets an approach direction for a robot's suction unit based on the normal direction of the object's surface and a reference direction, allowing the suction unit to contact the object from a direction different from the normal direction, thereby improving adsorption success rates.
The system enhances the robot's ability to adsorb and hold objects by optimizing the approach direction, reducing interference with containers, and improving the overall adsorption success rate.
Smart Images

Figure 0007690086000001 
Figure 0007690086000002 
Figure 0007690086000003
Abstract
Description
Technical Field
[0001] The present disclosure relates to a technique for a robot to adsorb and hold an object to be held.
Background Art
[0002] Patent Document 1 describes a technique related to a robot that holds an object to be held.
Prior Art Document
Patent Document
[0003]
Patent Document 1
Summary of the Invention
[0004] A processing device and a robot control system and program are disclosed. In one embodiment, the processing device controls a robot having an adsorption part with elasticity capable of adsorbing and holding an object to be held and The processing device becomes is. A control unit is provided that controls a robot so that the suction unit is brought into contact with the suction target surface of the object to be held from the approach direction and the object to be held is suctioned to the suction unit. The control unit sets the approach direction based on a reference direction of the approach of the robot to the object to be held, which is a reference direction not based on the limit posture of the robot, and the normal direction of the suction target surface of the object to be held. 。 Further, the processing device controls a robot having a suction unit capable of suction-holding an object to be held in a container. The processing device includes a control unit that controls the robot so that the suction unit is brought into contact with the suction target surface of the object to be held in the container from the approach direction and the object to be held is suctioned to the suction unit. The control unit sets the approach direction based on a reference direction of the approach of the robot to the object to be held, which is a reference direction based on the orientation of the opening of the container, and the normal direction of the suction target surface of the object to be held.
[0005] Also, in one embodiment, the robot control system includes the above-described processing device and a robot connected to the processing device.
[0006] Also, in one embodiment, the program is a program for causing a computer device to function as the above-described processing device.
Brief Description of the Drawings
[0009]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Figure 21
Figure 22
Best Mode for Carrying Out the Invention
[0010] FIG. 1 is a schematic diagram showing an example of the configuration of the processing apparatus 1. The processing apparatus 1 can set an approach direction in which the robot 10 that adsorbs and holds the object to be held 50 approaches the object to be held 50. FIG. 2 is a schematic diagram showing an example of the state of the robot 10 and its surroundings.
[0011] The robot 10 performs an operation of moving the object to be held 50 (also simply referred to as the object 50) from the source area to the destination area, for example. The robot 10 approaches the object to be held 50 in the source area from the approach direction set by the processing apparatus 1 and adsorbs and holds the object to be held 50. Then, the held object 50 is moved from the source area to the destination area. For example, the robot 10 moves the held object 50 from the source area to the destination area by changing the posture of the robot 10. The object 50 is also called a workpiece, for example.
[0012] The source area and the destination area are containers, for example. A plurality of objects 50 exist in the container 17 (also referred to as the source container 17) as the source area. In the source container 17, the plurality of objects 50 are, for example, stacked randomly. The robot 10 adsorbs and holds the objects 50 in the source container 17 one by one and moves them to the container 18 (also referred to as the destination container 18) as the destination area. The source container 17 and the destination container 18 are placed on the workbench 15 and the workbench 16, respectively, for example. The workbench 15 can also be called the work start table 15, and the workbench 16 can also be called the work target table 16. It can also be said that the robot 10 moves the object 50 on the work start table 15 to the work target table 16.
[0013] The robot 10 includes, for example, an arm 11 and an end effector 12 connected to the arm 11. The arm 11 includes a plurality of joints. The position of the arm 11, in other words, the posture of the arm 11, is determined by the rotation amounts of the plurality of joints.
[0014] The end effector 12 is capable of adsorbing and holding the object 50. The end effector 12 includes, for example, an elongated suction nozzle 120 and a suction portion 121 attached to the tip of the suction nozzle 120. The end effector 12 can also be said to be a suction holding portion that adsorbs and holds the object 50.
[0015] The suction portion 121 is made of an elastic member such as synthetic rubber, and is also called a suction pad, for example. The suction portion 121 is hollow and has a suction opening 121a. When the end effector 12 adsorbs and holds the object 50, the opening edge of the suction opening 121a in the suction portion 121 abuts against the object 50, and the suction opening 121a is blocked by the object 50. Then, the robot 10 evacuates the inside of the suction portion 121 through the suction nozzle 120, so that the opening edge of the suction portion 121 adheres closely to the object 50. Thereby, the object 50 is adsorbed by the suction portion 121. When adsorbing the object 50, the suction portion 121 undergoes elastic deformation due to the reduced pressure inside the suction portion 121. The suction portion 121 may be flat or bellows-shaped. The suction portion 121 is also called a vacuum pad.
[0016] The robot 10 approaches the object 50 in the source container 17 from the approach direction (set approach direction) set by the processing device 1 by moving the arm 11, and adsorbs and holds the object 50 with the end effector 12. That is, the robot 10 moves the end effector 12 in the set approach direction by changing the posture of the arm 11 to approach the object 50, and then adsorbs and holds the object 50 with the end effector 12. Then, the robot 10 moves the object 50 to the destination container 18 by moving the arm 11 while the end effector 12 holds the object 50. For example, the robot 10 moves the object 50 to the destination container 18 by changing the posture of the arm 11. Then, when the end effector 12 releases the object 50 (that is, when the suction on the object 50 is released), the object 50 is placed inside the destination container 18. The robot 10 repeats this operation. Note that the operations performed by the robot 10 are not limited to this.
[0017] The robot 10 includes, for example, a camera 13. The camera 13 is, for example, a three-dimensional camera. As shown in FIG. 2, the camera 13 is attached to the end effector 12, for example. Therefore, the imaging range of the camera 13 changes according to the posture of the end effector 12. Since the posture of the end effector 12 changes according to the posture of the arm 11, the imaging range of the camera 13 changes according to the posture of the arm 11.
[0018] When the end effector 12 holds the object 50 in the container 17, the camera 13 images the container 17 from the opening 17a side of the container 17 (in other words, from above the container 17). In this case, the imaging range of the camera 13 includes a plurality of objects 50 in the container 17. On the other hand, when the end effector 12 releases the object 50 and places the object 50 in the container 18, the camera 13 images the container 18 from the opening 18a side of the container 18 (in other words, from above the container 18).
[0019] The camera 13 images the imaging range and generates, for example, a two-dimensional color image and a distance image. When the end effector 12 holds the object 50 in the container 17, the container 17 and a plurality of objects 50 in the container 17 are shown in the color image. The camera 13 generates a camera image including the color image and the distance image. The distance image may be acquired, for example, by a stereo method, a ToF (Time of Flight) method, or other methods.
[0020] The processing device 1 is a type of computer device, for example. The processing device 1 can not only set the approach direction in which the suction unit 121 contacts the object 50, but also control the robot 10. The processing device 1 also functions as a robot control device for controlling the robot 10. The processing device 1 can control the robot 10, for example, so that the robot 10 approaches the object 50 from the set approach direction. Note that, separately from the processing device 1, a robot control device for controlling the robot 10 may be provided. In this case, the processing device 1 notifies the robot control device of the set approach direction. The robot control device controls the robot 10 so that the robot 10 approaches the object 50 from the notified set approach direction.
[0021] As shown in FIG. 1, the processing device 1 includes, for example, a control unit 2, a storage unit 3, an interface 4, and an input unit 5. The processing device 1 can also be referred to as a processing circuit, for example.
[0022] The interface 4 can communicate with the robot 10. The control unit 2 can control the robot 10 through the interface 4. The control unit 2 can acquire the camera image generated by the camera 13 from the robot 10 through the interface 4. The interface 4 can also be referred to as an interface circuit, a communication unit, or a communication circuit, for example. The interface 4 may perform wired communication or wireless communication with the robot 10. Note that, when a robot control device for controlling the robot 10 is provided separately from the processing device 1, the processing device 1 does not necessarily need to include the interface 4. Hereinafter, simply referring to the camera image means the camera image generated by the camera 13.
[0023] The control unit 2 can comprehensively manage the operation of the processing device 1 by controlling other components of the processing device 1. The control unit 2 can also be referred to as a control circuit, for example. The control unit 2 includes at least one processor to provide control and processing capabilities for executing various functions, as described in more detail below.
[0024] According to various embodiments, at least one processor may be implemented as a single integrated circuit (IC), or as a plurality of communicatively connected integrated circuit ICs and / or discrete circuits. At least one processor can be implemented according to various known techniques.
[0025] In one embodiment, a processor includes one or more circuits or units configured to perform one or more data calculation procedures or processes, for example, by executing instructions stored in an associated memory. In other embodiments, a processor may be firmware (e.g., discrete logic components) configured to perform one or more data calculation procedures or processes.
[0026] According to various embodiments, a processor may include one or more processors, controllers, microprocessors, microcontrollers, application specific integrated circuits (ASICs), digital signal processing devices, programmable logic devices, field programmable gate arrays, or any combination of these devices or configurations, or other known device and configuration combinations, and may perform the functions described below.
[0027] The control unit 2 may include, for example, a CPU (Central Processing Unit) as a processor. The storage unit 3 may include a non-transitory recording medium readable by the CPU of the control unit 2, such as a ROM (Read Only Memory) and a RAM (Random Access Memory). For example, a program 30 for controlling the processing device 1 is stored in the storage unit 3. Various functions of the control unit 2 are realized, for example, by the CPU of the control unit 2 executing the program 30 in the storage unit 3.
[0028] Note that the configuration of the control unit 2 is not limited to the above example. For example, the control unit 2 may include a plurality of CPUs. Also, the control unit 2 may include at least one DSP (Digital Signal Processor). Further, all functions of the control unit 2 or some functions of the control unit 2 may be realized by a hardware circuit that does not require software for realizing the functions. Also, the storage unit 3 may include a non-transitory computer-readable recording medium other than ROM and RAM. The storage unit 3 may include, for example, a small hard disk drive and an SSD (Solid State Drive).
[0029] The input unit 5 can receive various inputs from the user. The input unit 5 may include, for example, a mouse and a keyboard. Also, the input unit 5 may include a touch sensor that receives the user's touch operation. The processing device 1 may include a display unit such as a liquid crystal display. In this case, the display unit and the touch sensor may constitute a touch panel display having a display function and a touch detection function. Also, the input unit 5 may include a microphone that receives the user's voice input. The control unit 2 recognizes the content of the user input received by the input unit 5 based on the output signal from the input unit 5.
[0030] The control unit 2 can execute an approach direction setting process for setting an approach direction. The control unit 2 includes, for example, a specifying unit 20 and a setting unit 21. The specifying unit 20 and the setting unit 21 are functional blocks formed in the control unit 2, for example, when the CPU of the control unit 2 executes the program 30 in the storage unit 3. Note that all functions of the specifying unit 20 or some functions of the specifying unit 20 may be realized by a hardware circuit that does not require software for realizing the functions. The same applies to the setting unit 21.
[0031] The specifying unit 20 specifies the normal direction of the adsorption target surface of the object 50. The setting unit 21 sets the approach direction based on the normal direction specified by the specifying unit 20 and the reference direction of the approach of the robot 10 to the object 50. Details of the operation examples of the specifying unit 20 and the setting unit 21 will be described later.
[0032] <An example of a method for a robot to approach an object> FIG. 3 is a schematic diagram showing an example of how the robot 10 approaches the object 50 in the container 17. In FIG. 3, the cross-sectional structure of the container 17 is shown so that the state inside the container 17 can be understood. The same applies to each of the following figures in which the container 17 is shown.
[0033] When the robot 10 holds the object 50 in the container 17, first, the arm 11 is moved so that the suction part 121 of the end effector 12 comes close to the object 50. Then, the robot 10 approaches the object 50 from the set approach direction 100 set by the processing device 1 and sucks and holds the object 50 with the end effector 12.
[0034] When the robot 10 approaches the object 50, for example, the end effector 12 is brought closer to the object 50 so that the moving direction of the end effector 12 coincides with the longitudinal direction of the suction nozzle 120.
[0035] Here, the plane including the suction opening 121a of the suction part 121 is called the suction opening surface. The longitudinal direction of the suction nozzle 120 is perpendicular to the suction opening surface, for example. In this case, when the robot 10 approaches the object 50, for example, the end effector 12 is brought closer to the object 50 so that the moving direction of the end effector 12 is perpendicular to the suction opening surface, and is brought into contact with the adsorption target surface.
[0036] When the robot 10 approaches the object 50 from the set approach direction 100, the end effector 12 is moved in the approach direction 100 to bring the end effector 12 closer to and into contact with the object 50. At this time, as shown in FIG. 3, the robot 10 moves the end effector 12 in the approach direction 100 to bring it closer to and into contact with the object 50 while, for example, facing the suction opening 121a of the suction part 121 toward the object 50 and aligning the longitudinal direction of the suction nozzle 120 with the approach direction 100. When the robot 10 approaches the object 50 and the suction part 121 is in close contact with the object 50, the inside of the suction part 121 is depressurized to suck the object 50 with the suction part 121. In this example, since the longitudinal direction of the suction nozzle 120 is perpendicular to the suction opening surface, it can be said that the robot 10 approaches the object 50 by bringing the end effector 12 closer to the object 50 so that the suction opening surface is perpendicular to the approach direction 100.
[0037] <An example of approach direction setting process> FIG. 4 is a flowchart showing an example of the approach direction setting process executed by the control unit 2. Before executing the approach direction setting process, the control unit 2 determines the object 50 to be approached (also referred to as the approach target object 50) from among the plurality of objects 50 in the container 17. The control unit 2 determines the approach target object 50 based on, for example, a camera image. When the control unit 2 determines the approach target object 50, the end effector 12 is positioned above the container 17, and the camera 13 captures the container 17 and the plurality of objects 50 in the container 17.
[0038] In this example, a specific area on the surface of the object 50 serves as the adsorption target surface on which the robot 10 performs adsorption and holding. For example, among the surfaces of the object 50, the area where the adsorption part 121 can easily adsorb becomes the adsorption target surface. Alternatively, for example, among the surfaces of the object 50, the area where the object 50 is not easily damaged even when the adsorption part 121 adsorbs becomes the adsorption target surface. When the robot 10 adsorbs the object 50, it approaches the adsorption target surface of the object 50 and adsorbs the adsorption target surface. The adsorption target surface may be a flat surface or a curved surface. Also, each of a plurality of surfaces that are part of the plurality of surfaces constituting the surface of the object 50 may be set as the adsorption target surface.
[0039] The control unit 2 identifies, for example, based on the camera image, the object 50 among the plurality of objects 50 in the container 17 that has the largest visual recognition area on the adsorption target surface. Then, the control unit 2 sets the identified object 50 as the approach target object 50. The visual recognition area on the adsorption target surface is the area that can be visually recognized when the adsorption target surface is viewed from above the container 17. It can also be said that the visual recognition area on the adsorption target surface is the area captured by the camera 13 on the adsorption target surface. Note that the method for determining the approach target object 50 is not limited to this.
[0040] When the control unit 2 determines the approach target object 50, it executes the approach direction setting process shown in FIG. 4 for the determined approach target object 50. When the approach direction is set in the approach direction setting process, the control unit 2 controls the robot 10 so that the robot 10 comes to the position (approach start position) from which the robot 10 starts approaching the approach target object 50 in the set approach direction. The approach start position is set at a position where the robot 10 does not interfere with the container 17. Then, the control unit 2 controls the robot 10 so that the robot 10 at the approach start position approaches the approach target object 50 from the set approach direction and adsorbs the approach target object 50.
[0041] In the approach direction setting process, first, in step s1, the specifying unit 20 of the control unit 2 specifies the position and orientation of the adsorption target surface (also referred to as the approach target surface) of the approach target object 50 based on the camera image. This can also be said to be the recognition of the approach target object 50. The orientation of the adsorption target surface can also be said to be the direction of the adsorption target surface. The specifying unit 20 generates, for example, point cloud data representing the approach target surface based on the distance image included in the camera image. Then, the control unit 2 specifies the position and orientation of the approach target surface based on the generated point cloud data.
[0042] After step s1, the specifying unit 20 specifies the normal direction of the approach target surface based on the position and orientation of the specified approach target surface. For example, the specifying unit 20 specifies the normal direction of the approach target surface passing through the representative point of the approach target surface. The representative point may be, for example, the center of the approach target surface.
[0043] FIG. 5 is a schematic diagram showing an example of the normal direction 110 of the approach target surface 50a (also referred to as the adsorption target surface 50a) of the approach target object 50 specified by the specifying unit 20. As in the example of FIG. 5, when the approach target surface 50a is a plane, the normal direction 110 that is perpendicular to the approach target surface 50a and passes through the representative point 50aa of the approach target surface 50a is specified. On the other hand, when the approach target surface 50a is a curved surface, the normal direction 110 that is perpendicular to the tangent plane that contacts the curved surface at the representative point 50aa and passes through the representative point 50aa is specified.
[0044] After step s2, the setting unit 21 sets the approach direction 100 based on the normal direction 110 specified in step s2 and the reference direction 112 of the approach of the robot 10 to the approach target object 50.
[0045] FIG. 6 is a schematic diagram for explaining an example of a method for setting a reference direction 112. The reference direction 112 is set, for example, as a direction in which the robot 10 can easily approach the approach target object 50. In this example, the object 50 is disposed in a container 17 having an open upper surface. Therefore, as shown in FIG. 6, when the robot 10 approaches the object 50 from directly above the container 17, it can easily approach each object 50 in the container 17. In other words, when the robot 10 approaches the object 50 from directly above the container 17, it can approach a plurality of objects 50 in the container 17 evenly. When the robot 10 approaches the inside of the container 17 from directly above the container 17, it can be said that the suction unit 121 can easily reach each location in the container 17.
[0046] Therefore, the reference direction 112 is set based on, for example, the orientation of the opening 17a of the container 17. For example, as shown in FIG. 5, the reference direction 112 may be set in a direction perpendicular to the plane 17aa (also referred to as the opening plane 17aa) including the opening 17a of the container 17. For example, the reference direction 112 may be set in a direction perpendicular to the opening plane 17aa and passing through the representative point 50aa of the approach target surface 50a. In this example, since the height direction of the wall 170 of the container 17 is a direction perpendicular to the opening plane 17aa, it can be said that the reference direction 112 is set along the height direction of the wall 170. Note that the reference direction 112 may be slightly inclined with respect to the direction perpendicular to the opening plane 17aa. In this case, the inclination angle of the reference direction 112 with respect to the direction perpendicular to the opening plane 17aa may be, for example, greater than 0 degrees and 10 degrees or less. Also, the reference direction 112 may be, for example, based on the arrangement relationship between the robot 10 and the container 17, and may be the direction in which the degrees of freedom of each joint of the robot 10 are highest when the robot 10 approaches the container 17. Further, the reference direction 112 may be represented by, for example, a line segment connecting the position from which the inside of the container 17 can be most surveyed from the robot 10 and the representative point of the approach target object 50. At this time, the position from which the inside of the container 17 can be most surveyed from the robot 10 is located, for example, above the center of the opening plane 17aa. In the above example, the reference direction 112 is set as an easy-to-approach direction, but the direction simply perpendicular to the opening surface of the container 17 may be set as the reference direction 112. Also, the reference direction 112 may be changed for each approach target object 50.
[0047] The reference direction 112 may be set by a user such as a robot user or a robot setter, for example. Also, the method of determining the reference direction 112 may be set by the user, for example. The user inputs reference direction information indicating the reference direction 112 to the processing device 1 through the input unit 5, for example. The reference direction information input to the processing device 1 is stored in the storage unit 3. The setting unit 21 sets the approach direction 100 based on the reference direction 112 indicating the reference direction information in the storage unit 3.
[0048] When the approach direction 100 is set after step s2, first in step s3, as shown in FIG. 7, the setting unit 21 obtains a direction 113 based on the adjustment angle α (also referred to as the first relaxation direction 113) that has moved from the normal direction 110 by the adjustment angle α toward the reference direction 112. In this embodiment, the first relaxation direction 113 is closer to the reference direction 112 by the adjustment angle α from the normal direction 110. The reference direction 112 can be used as a reference for the adjustment direction when setting the approach direction 100. The adjustment angle α is set based on, for example, the adsorption success rate (also referred to as the adsorption success rate) of the adsorption unit 121 with respect to the adsorption target surface 50a, as will be described later. Note that the adjustment angle α may be set to at least 5 degrees or more, at least 10 degrees or more, at least 15 degrees or more, or at least 20 degrees or more, for example.
[0049] When the setting unit 21 obtains the direction 113 based on the adjustment angle α (in other words, the first relaxation direction 113), for example, a specific plane including the normal direction 110 and the reference direction 112 is considered. Then, with one end on the representative point 50aa side of the normal direction 110 as the rotation fulcrum, the setting unit 21 rotates the normal direction 110 by the adjustment angle α toward the reference direction 112 on the specific plane, and the obtained direction is taken as the first relaxation direction 113. Here, the angle between the normal direction 110 and the reference direction 112, that is, the angle formed by the reference direction 112 and the normal direction 110 is defined as the normal angle β. The first relaxation direction 113 is a direction that forms an angle of α with the normal direction 110 and an angle of (β - α) with the reference direction 112.
[0050] After step s3, in step s4, the setting unit 21 determines whether the robot 10 can actually approach the approach target surface 50a from the first relaxation direction 113. That is, the setting unit 21 determines whether the robot 10 can approach the approach target surface 50a along the first relaxation direction 113 from the approach start position and actually reach the approach target surface 50a.
[0051] Here, when the robot 10 attempts to approach from a certain direction, the robot 10 may interfere with the container 17. In this case, the robot 10 cannot actually approach the approach target surface 50a from the certain direction. Further, since there are singularities in the robot 10, structurally, the robot 10 cannot freely set the position of the suction part 121 of the end effector 12. Therefore, the robot 10 may not be able to actually approach the approach target surface 50a from a certain direction.
[0052] The setting unit 21 identifies the position and orientation of the container 17, for example, based on a camera image, and determines whether the robot 10 will interfere with the container 17 when the robot 10 attempts to approach the approach target surface 50a from the first relaxation direction 113 based on the identification result. Further, the control unit 2 identifies each position of the suction part 121 to be set for the robot 10 to approach the approach target surface 50a from the first relaxation direction 113, and determines whether the position of the suction part 121 can actually be set at each identified position using the inverse kinematics equation. Then, when the setting unit 21 determines that the position of the suction part 121 can actually be set at each identified position and the robot 10 does not interfere with the container 17, the setting unit 21 determines that the robot 10 can actually approach the approach target surface 50a from the first relaxation direction 113.
[0053] In step s4, when the setting unit 21 determines that the robot 10 can approach the approach target surface 50a from the first relaxation direction 113, in step s5, the first relaxation direction 113 is set as the approach direction 100. Thereby, the approach direction 100 for the approach target object 50 is set and the approach direction setting process ends.
[0054] When the approach direction 100 is set in the approach direction setting process, the control unit 2 controls the robot 10 so that the robot 10 approaches the approach target surface 50a from the set approach direction 100 and adsorbs the approach target surface 50a. FIG. 8 is a schematic diagram showing an example of how the robot 10 approaches the approach target surface 50a from the first relaxation direction 113 set in the approach direction 100.
[0055] As in the example of FIG. 8, when the robot 10 approaches the approach target surface 50a from the first relaxation direction 113 and the suction unit 121 adsorbs the object 50, as shown in FIG. 9, with respect to the suction target surface 50a of the object 50, the first end 121x side of the suction unit 121 is in contact with the suction target surface 50a in a state of being contracted more than the second end 121y side facing the first end 121x side. In the example of FIG. 9, when the suction unit 121 approaches the object 50, the upper side (which can also be said to be the left side in FIG. 9) of the suction unit 121 comes into close contact with the object 50 in a state of being contracted more than the lower side (which can also be said to be the right side in FIG. 9). When the outer shape of the suction unit 121 forms, for example, a truncated cone, on the side surface of the truncated cone, the first portion 121x on the side where the approach direction 100 is inclined with respect to the normal direction 110 is contracted more than the second portion 121y on the side opposite to the first portion 121x, and it can also be said that the suction unit 121 comes into close contact with the object 50. Further, the suction unit 121 approaches the object 50 in a state where the suction opening surface 121a is not directly facing the suction target surface 50a of the object 50. In other words, the suction unit 121 approaches the object 50 while the suction opening surface 121a is obliquely facing the suction target surface 50a. Also, after the suction unit 121 adsorbs the object 50, the shape of the suction unit 121 may be different from that when in close contact with the object 50 due to the gravity of the object 50. That is, the shape of the suction unit 121 may be different before and after the suction unit 121 lifts the object 50.
[0056] When the control unit 2 detects that the robot 10 has adsorbed the object 50, it controls the robot 10 to move the object 50 to the destination container 18 and place the object 50 inside the destination container 18. When the robot 10 places the object 50 inside the destination container 18, the control unit 2 controls the robot 10 so that the end effector 12 comes above the source container 17. After that, the control unit 2 determines the next object 50 to be approached and executes an approach method setting process for the determined next object 50 to be approached. Thereafter, the control unit 2 operates in the same manner. When the control unit 2 determines the object 50 to be approached based on the camera image, for example, as shown in FIG. 6, it controls the posture of the arm 11 so that the suction opening surface of the suction unit 121 is parallel to the opening plane 17aa of the container 17.
[0057] On the other hand, in step s4, when it is determined that the robot 10 cannot actually approach the approach target surface 50a from the first relaxation direction 113 because the robot 10 interferes with the container 17 or due to a singularity of the robot 10, the approach direction setting process for the object 50 to be approached ends without setting the approach direction 100.
[0058] When the approach setting process ends without setting the approach direction 100, the control unit 2 determines the next object 50 to be approached. Then, the control unit 2 executes an approach method setting process for the determined next object 50 to be approached. Thereafter, the control unit 2 operates in the same manner.
[0059] In addition, when obtaining the first relaxation direction 113, when the normal direction 110 is rotated by an adjustment angle α toward the reference direction 112 on a specific plane with one end on the representative point 50aa side of the normal direction 110 as the fulcrum of rotation, the rotated normal direction 110 may exceed the reference direction 112. In this case, the setting unit 21 may determine in step s4 whether the robot 10 can approach the approach target surface 50a from the reference direction 112. Then, when the setting unit 21 determines that the robot 10 can approach the approach target surface 50a from the reference direction 112, the setting unit 21 may set the reference direction 112 as the approach direction 100 in step s5.
[0060] Thus, in the present disclosure, a direction different from the normal direction 110 is defined as the approach direction 100. Specifically, for example, the approach direction 100 is set based on the normal direction 110 and the reference direction 112. Here, from the perspective of the adsorption success rate, it is desirable for the robot 10 to approach the approach target surface 50a from the normal direction 110. On the other hand, as described above, due to reasons such as the robot 10 interfering with the container 17, there is a possibility that the robot 10 cannot actually approach the approach target surface 50a from the normal direction 110. Also, even if the robot 10 approaches the approach target surface 50a from a direction deviated from the normal direction 110, due to the elasticity (in other words, flexibility) of the adsorption part 121, the adsorption part 121 may be able to adsorb the approach target surface 50a. As in this example, by setting the approach direction 100 based on the normal direction 110 and the reference direction 112 of the approach of the robot 10 to the approach object 50, while increasing the adsorption success rate, it is possible to improve the possibility that the robot 10 can actually approach the object 50 from the set approach direction 100. For example, as in the example of FIG. 4, from the normal direction 110, a direction 113 based on the adjustment angle α, which is closer to the reference direction 112 of the approach of the robot 10 to the approach object 50 by the adjustment angle α, is set as the approach direction 100, thereby increasing the adsorption success rate and improving the possibility that the robot 10 can actually approach the object 50 from the set approach direction 100. Therefore, it becomes easier for the robot 10 to adsorb and hold the object 50.
[0061] The adjustment angle α is set based on, for example, the adsorption success rate when the robot 10 approaches from the first relaxation direction 113 and adsorbs the approach target surface 50a (also referred to as the adsorption success rate in the first relaxation direction). When the adsorption success rate when the robot 10 approaches from the normal direction 110 and adsorbs the approach target surface 50a is called the adsorption success rate in the normal direction, the adjustment angle α is set, for example, to a value such that the adsorption success rate in the first relaxation direction is equal to or greater than a predetermined percentage of the adsorption success rate in the normal direction. The predetermined percentage is less than 100% and may be set to, for example, 70% or other values. Further, the adjustment angle α may be input by the user through the input unit 5, for example.
[0062] The adsorption success rate in the first relaxation direction and the adsorption success rate in the normal direction for setting the adjustment angle α may be calculated by actually operating the robot 10 (that is, calculated using the actual machine of the robot 10), or may be calculated using a physical operation simulator for the robot. In the latter case, information that affects the adsorption success rate in the first relaxation direction may be input to the physical operation simulator for the robot. For example, adsorption unit information regarding the adsorption unit 121 and object information regarding the object 50 may be input to the physical operation simulator for the robot. The adsorption unit information input to the physical operation simulator for the robot may include, for example, at least one of the diameter of the adsorption opening 121a of the adsorption unit 121, the length of the adsorption unit 121, and the material of the adsorption unit 121. Further, the object information input to the physical operation simulator for the robot may include at least one of the mass of the object 50, information specifying the surface treatment of the object 50 (such as anodizing, bead blasting, or machining), and the position information of the adsorption target surface 50a of the object 50.
[0063] <Another example of the approach direction setting process> FIG. 10 is a flowchart showing another example of the approach direction setting process. In the example of FIG. 10, the above-described steps s1 and s2 are executed. Next, in step s11, the setting unit 21 determines whether the robot 10 can actually approach the approach target surface 50a from the normal direction 110 in the same manner as in the above-described step s4. When it is determined YES in step s11, in step s12, the setting unit 21 sets the normal direction 110 as the approach direction 100. Thereby, the approach direction 100 for the approach target object 50 is set and the approach setting process ends. When the control unit 2 sets the normal direction 110 as the approach direction 100, the control unit 2 controls the robot 10 so that the robot 10 approaches the approach target surface 50a from the normal direction 110 and adsorbs the approach target surface 50a. FIG. 11 is a schematic diagram showing an example of the state where the robot 10 approaches the approach target surface 50a from the normal direction 110. When the robot 10 adsorbs the target object 50, thereafter, the control unit 2 operates in the same manner as above.
[0064] On the other hand, in step s11, if it is determined that the robot 10 cannot actually approach the approach target surface 50a from the normal direction 110 for reasons such as interference between the robot 10 and the container 17, the above-described steps s3 and s4 are executed. When it is determined Yes in step s4, the above-described step s5 is executed and the first relaxation direction 113 is set as the approach direction 100. Thereby, the approach direction 100 for the approach target object 50 is set and the approach direction setting process ends. When the approach direction 100 is set and the approach direction setting process ends, the control unit 2 controls the robot 10 so that the robot 10 approaches the approach target surface 50a from the set approach direction 100 and adsorbs the approach target surface 50a in the same manner as above. Thereafter, the control unit 2 operates in the same manner.
[0065] When it is determined NO in step S4, the approach setting process ends without setting the approach direction 100 for the approach target object 50. When the approach setting process ends without setting the approach direction 100, the control unit 2 determines the next approach target object 50. Then, the control unit 2 executes an approach method setting process for the determined next approach target object 50. Thereafter, the control unit 2 operates in the same manner.
[0066] Thus, in the example of FIG. 10, the setting unit 21 determines whether the robot 10 can approach the approach target surface 50a from the normal direction 110. When the setting unit 21 determines that the robot 10 can approach the approach target surface 50a from the normal direction 110, the setting unit 21 sets the normal direction 110 as the approach direction 100. Thereby, the adsorption success rate can be improved.
[0067] On the other hand, as in the example of FIG. 4, when the first relaxation direction 113 is set as the approach direction 100 without determining whether the robot 10 can approach the approach target surface 50a from the normal direction 110, the time required for the approach direction setting process can be shortened.
[0068] In addition, after the setting unit 21 determines the direction in which the robot 10 approaches the approach target surface 50a, the setting unit 21 may further determine whether the approach posture from the determined direction exceeds the limit posture of the robot 10. Specifically, when the setting unit 21 determines that it is possible to approach from the normal direction 110 of the approach target surface 50a, it may be determined whether the angle of the approach posture from the normal direction 110 (that is, the normal angle β) exceeds an upper limit value L (also referred to as the posture upper limit value L) based on the posture that the robot can take, which will be described later. When the angle of the approach posture from the normal direction 110 does not exceed the posture upper limit value L, the setting unit 21 may set the normal direction 110 as the approach direction. On the other hand, when the angle of the approach posture from the normal direction 110 exceeds the posture upper limit value L, the setting unit 21 may determine whether the robot 10 can approach from the direction based on the posture upper limit value L, which will be described later. Further, when the robot 10 cannot approach from the direction based on the posture upper limit value L, it may be determined whether the robot 10 can approach from the first relaxation direction 113. Also, when the angle of the approach posture from the normal direction 110 exceeds the posture upper limit value L, the setting unit 21 may determine whether the robot 10 can approach from the first relaxation direction 113. Further, when the robot 10 cannot approach from the first relaxation direction 113, it may be determined whether the robot 10 can approach from the direction based on the posture upper limit value L. Thereafter, the setting unit 21 may set the direction in which the robot 10 can approach as the approach direction 100.
[0069] Further, when the setting unit 21 determines that it is possible to approach the approach target surface 50a from the first relaxation direction 113, the setting unit 21 may determine whether the angle of the approach posture from the first relaxation direction 113 (that is, the angle formed by the reference direction 112 and the first relaxation direction 113) exceeds the posture upper limit value L. When the angle of the approach posture from the first relaxation direction 113 does not exceed the posture upper limit value L, the setting unit 21 may set the first relaxation direction 113 as the approach direction. On the other hand, when the angle of the approach posture from the first relaxation direction 113 exceeds the posture upper limit value L, the setting unit 21 may determine whether the robot 10 can approach from the direction based on the posture upper limit value L. Thereafter, the setting unit 21 may set the direction in which the robot 10 can approach as the approach direction 100.
[0070] FIG. 12 is a flowchart showing another example of the approach direction setting process. In the example of FIG. 12, the setting unit 21 is capable of executing a first setting process and a second setting process for setting the approach direction 100 in different ways. In the first setting process, the normal direction 110 is set as the approach direction 100. In the second setting process, the first relaxation direction 113 is set as the approach direction 100. The setting unit 21 determines which of the first setting process and the second setting process to execute according to the normal angle β (see FIG. 7).
[0071] In the approach direction setting process of FIG. 13, first, the above-described steps s1 and s2 are executed. Next, in step s21, the setting unit 21 obtains a normal angle β as the angle of the normal direction 110 with respect to the reference direction 112. Next, in step s22, the setting unit 21 determines whether the normal angle β is greater than or equal to a threshold value. When it is determined as YES in step s22, that is, when the normal angle β is relatively large, in step s23, the setting unit 21 executes the first setting process. In the first setting process, for example, steps s11 and s12 of FIG. 10 are executed. When it is determined as YES in step s11 and step s12 is executed, the approach setting process in which the normal direction 110 is set as the approach direction 100 ends. On the other hand, when it is determined as No in step s11, the approach setting process ends without setting the approach direction 100.
[0072] When it is determined as NO in step s22, that is, when the normal angle β is relatively small, in step s24, the setting unit 21 executes the second setting process. In the second setting process, for example, steps s3, s4, and s5 of FIG. 4 are executed. When it is determined as YES in step s4 and step s5 is executed, the first relaxation direction 113 is set as the approach direction 100 and the approach direction setting process ends. On the other hand, when it is determined as No in step s4, the approach setting process ends without setting the approach direction 100.
[0073] As described above, when the robot 10 adsorbs the object 50, the camera 13 photographs the object 50 from above the container 17. Therefore, when the actual normal angle β of the approach object 50 is large (in other words, when the approach target surface 50a is greatly inclined with respect to the reference direction 112), the specifying unit 20, based on the distance image included in the camera image, the accuracy of specifying the position and orientation of the approach target surface 50a (also referred to as the specifying accuracy of the approach target surface 50a) may decrease. For example, when the distance image is acquired by the stereo method, when the actual normal angle β of the approach object 50 is large, it becomes difficult for the approach target surface 50a to be imaged by the stereo camera. As a result, the specifying accuracy of the approach target surface 50a may decrease. Also, when the distance image is acquired by the ToF method, when the actual normal angle β of the approach object 50 is large, the reflected light on the approach target surface 50a is less likely to be received by the light receiving sensor. As a result, the specifying accuracy of the approach target surface 50a may decrease. When the specifying accuracy of the approach target surface 50a decreases, the specifying accuracy of the normal direction 110 at the specifying unit 20 decreases. When the specifying accuracy of the normal direction 110 decreases, the first relaxation direction 113 set by the setting unit 21 may be separated by an angle larger than the adjustment angle α from the actual normal direction 110. That is, the set first relaxation direction 113 may be greatly inclined with respect to the actual normal direction 110. In this case, even if the robot 10 approaches the approach target surface 50a from the first relaxation direction 113 set by the setting unit 21, there is a possibility that the adsorption of the approach target surface 50a fails.
[0074] As in the example of FIG. 12, when the setting unit 21 determines which of the first setting process and the second setting process to execute according to the obtained normal angle β, the setting unit 21, when the obtained normal angle β is relatively large, it is possible to set the specified normal direction 110 as the approach direction 100 instead of the first relaxation direction 113. Thereby, even when the actual normal angle β is large and the specifying accuracy of the normal direction 110 is low, the set approach direction 100 is less likely to deviate from the actual normal direction 110, and the robot 10 can easily adsorb the approach object 50.
[0075] Regarding the threshold value compared with the normal line angle β in step s22, for example, the user can investigate how the accuracy of the normal line direction 110 specified based on the distance image changes according to the magnitude of the actual normal line angle β, and the user can appropriately set it based on the investigation result. The threshold value is notified to the processing device 1 through the input unit 5, for example.
[0076] In the first setting process, when it is determined as NO in step s11, steps s3, s4, and s5 may be executed as in FIG. 9. In this case, for example, when it is determined that the robot 10 cannot approach the approach target surface 50a from the normal line direction 110 for reasons such as the robot 10 interfering with the container 17, since the first relaxation direction 113 may be set as the approach direction 100, the possibility that the robot 10 can adsorb the approach target surface 50a is improved.
[0077] FIG. 13 is a flowchart showing another example of the approach direction setting process. In the example of FIG. 13, the above-described steps s1, s2, and s21 are executed. Next, in step s31, the setting unit 21 determines whether or not the normal line angle β is equal to or less than an upper limit value L (also referred to as the posture upper limit value L) based on the postures that the robot 10 can take.
[0078] The posture upper limit value L is set based on the postures that the robot 10 can take. In this example, since the posture of the robot 10 is determined by the posture of the arm 11, the posture upper limit value L can be said to be a value based on, for example, the postures that the arm 11 can take. The posture upper limit value L is, for example, such that when the adsorption target surface 50a of the object 50 in the container 17 is visible from above the container 17 and the normal angle β of the adsorption target surface 50a is equal to or less than the posture upper limit value L, regardless of the direction in which the adsorption target surface 50a faces, the robot 10 can generally take a posture that allows it to approach the adsorption target surface 50a from the normal direction 110 of the adsorption target surface 50a without interfering with a specific obstacle. The state where the adsorption target surface 50a of the object 50 in the container 17 is visible from above the container 17 can also be said to be a state where the adsorption target surface 50a of the object 50 in the container 17 can be photographed by the camera 13 above the container 17. The camera 13 above the container 17 can also be said to be the camera 13 that photographs the container 17. If the adsorption target surface 50a of the object 50 in the container 17 is in a state of being imaged by the camera 13 that photographs the container 17 and the normal angle β of the adsorption target surface 50a is equal to or less than the posture upper limit value L, then regardless of the direction in which the adsorption target surface 50a faces, there is a high possibility that the robot 10 can approach the adsorption target surface 50a from the normal direction 110 of the adsorption target surface 50a without interfering with a specific obstacle.
[0079] Here, the specific obstacle refers to an obstacle other than the container 17 that hinders the movement of the robot 10 and means an obstacle with a fixed position and shape during the operation of the robot 10. The specific obstacle includes, for example, a safety fence surrounding the periphery of the robot 10. The container 17 is not included in the specific obstacle.
[0080] The posture upper limit value L is set based on the results of adsorbing the object 50 at various positions and postures in the container 17 by using the actual robot 10 or on a physical operation simulator for the robot.
[0081] When it is determined in step S31 that the normal angle β is less than or equal to the posture upper limit value L, the above-described step S11 is executed. In step S11, when it is determined that the robot 10 can approach the approach target surface 50a from the normal direction 110, the above-described step S12 is executed. Thereby, the normal direction 110 is set as the approach direction 100, and the approach setting process ends. On the other hand, in step S11, when it is determined that the robot 10 cannot approach from the normal direction 110, the approach setting process ends without setting the approach direction 100.
[0082] When it is determined in step S31 that the normal angle β is greater than the posture upper limit value, step S32 is executed. In step S32, as shown in FIG. 14, the setting unit 21 obtains a direction 114 based on the posture upper limit value L (also referred to as the second relaxation direction 114) that is closer to the normal direction 110 by the amount of the posture upper limit value L from the reference direction 112. When obtaining the direction 114 based on the posture upper limit value L, the setting unit 21 considers, for example, a specific plane including the normal direction 110 and the reference direction 112. Then, with one end on the representative point 50aa side of the reference direction 112 as the fulcrum of rotation, the direction obtained by rotating the reference direction 112 by the posture upper limit value L toward the normal direction 110 on the specific plane is set as the direction 114 based on the posture upper limit value L. The direction 114 based on the posture upper limit value L (in other words, the second relaxation direction 114) is a direction in which the angle formed with the reference direction 112 is L and the angle formed with the normal direction 110 is (β - L).
[0083] After step S32, in step S33, the setting unit 21 determines whether the robot 10 can actually approach the approach target surface 50a from the second relaxation direction 114 in the same manner as in step S4 described above. If it is determined to be YES in step S33, in step S34, the setting unit 21 sets the second relaxation direction 114 as the approach direction 100. Thereby, the approach direction 100 for the approach target object 50 is set and the approach setting process ends. When the control unit 2 sets the second relaxation direction 114 as the approach direction 100, the control unit 2 controls the robot 10 so that the robot 10 approaches the approach target surface 50a from the second relaxation direction 114 and adsorbs the approach target surface 50a. FIG. 15 is a schematic diagram showing an example of a state in which the robot 10 approaches the approach target surface 50a from the second relaxation direction 114. When the robot 10 adsorbs the target object 50, thereafter, the control unit 2 operates in the same manner as above.
[0084] On the other hand, if it is determined to be NO in step S33, the approach setting process ends without setting the approach direction 100 for the approach target object 50. Thereafter, the control unit 2 determines the next approach target object 50. Then, the control unit 2 executes the approach method setting process for the determined next approach target object 50. Thereafter, the control unit 2 operates in the same manner.
[0085] Thus, in the example of FIG. 13, when the normal angle β of the approach target object 50 is greater than the posture upper limit value L based on the postures that the robot 10 can take, a second relaxation direction 114 closer to the normal direction 110 by the amount of the posture upper limit value L from the reference direction 112 is set as the approach direction 100. In this case, as shown in FIGS. 14 and 15, the second relaxation direction 114 set as the approach direction 100 is a direction closer to the reference direction 112 for the robot 10 to approach the object 50 than the normal direction 110. Accordingly, since the normal direction 110 of the approach target surface 50a is inclined more greatly than the reference direction 112, when there is a high possibility that the robot 10 cannot approach from the normal direction 110, the robot 10 approaches the approach target surface 50a from the second relaxation direction 114 closer to the reference direction 112, making it easier to adsorb the approach target surface 50a.
[0086] Note that, in the example of FIG. 13, when it is determined as NO in step s11, steps s3, s4, and s5 may be executed as shown in FIG. 16. In this case, when the robot 10 cannot approach the approach target surface 50a from the normal direction 110, a first relaxation direction 113 closer to the reference direction 112 by the adjustment angle α from the normal direction 110 can be set as the approach direction 100. Thereby, it becomes easier for the robot 10 to adsorb the approach target surface 50a.
[0087] Also, in the example of FIG. 13, when it is determined in step s33 that the robot 10 cannot approach the approach target surface 50a from the second relaxation direction 114, steps s3, s4, and s5 may be executed as shown in FIG. 17. In this case, when the robot 10 cannot approach the approach target surface 50a from the second relaxation direction 114, a first relaxation direction 113 closer to the reference direction 112 by the adjustment angle α from the normal direction 110 can be set as the approach direction 100.
[0088] FIG. 18 is a schematic diagram showing an example of a first relaxation direction 113 and a second relaxation direction 114 when the normal direction 110 is greater than the posture upper limit value L. The posture upper limit value L is set to a value greater than the adjustment angle α. For example, the posture upper limit value L is set to 35 degrees, and the adjustment angle α is set to 20 degrees. In this case, when the normal angle β is 40 degrees, the angle formed by the first relaxation direction 113 and the reference direction 112 is 20 degrees, which is smaller than the posture upper limit value L (that is, the angle formed by the second relaxation direction 114 and the reference direction 112). Also, when the normal angle β is 50 degrees, the angle formed by the first relaxation direction 113 and the reference direction 112 is 30 degrees, which is smaller than the posture upper limit value L. When the angle formed by the first relaxation direction 113 and the reference direction 112 is smaller than the posture upper limit value L, as shown in FIG. 18, the first relaxation direction 113 is closer to the reference direction 112 of the approach of the robot 10 to the object 50 than the second relaxation direction 114. When the robot 10 cannot approach from the second relaxation direction 114, by setting the first relaxation direction 113, which is closer to the reference direction 112 than the second relaxation direction 114, as the approach direction 100, the robot 10 can more easily adsorb the approach target surface 50a.
[0089] Note that when the normal angle β is large enough that the angle formed by the first relaxation direction 113 and the reference direction 112 is greater than or equal to the posture upper limit value L, the approach direction setting process may end without executing steps s3, s4, and s5 when it is determined as NO in step s33. Alternatively, when the normal angle β is large enough that the angle formed by the first relaxation direction 113 and the reference direction 112 is greater than or equal to the posture upper limit value L, the approach direction setting process may end without executing steps s32 and subsequent steps.
[0090] In the first setting process of the example of FIG. 12 above, the processes after step s31 in the flowchart of FIG. 13 (that is, steps s31, s32, s33, s34, s11, s12) may be executed. In this case, the threshold value compared with the normal line angle β in step s22 of FIG. 12 is set to a value smaller than the posture upper limit value L. For example, the threshold value is set to 30 degrees, and the posture upper limit value L is set to 35 degrees. In the first setting process, when the processes after step s31 in the flowchart of FIG. 13 are executed, if it is determined as NO in step s11, steps s3, s4, s5 may be executed as shown in FIG. 16. Also, in the first setting process, when the processes after step s31 in the flowchart of FIG. 13 are executed, if it is determined as NO in step s33, steps s3, s4, s5 may be executed as shown in FIG. 17.
[0091] As described above, when the actual normal line angle β of the approach target object 50 is large, the identification accuracy of the approach target surface 50a may decrease. When the identification accuracy of the approach target surface 50a decreases, the identification accuracy of the normal line direction 110 at the identification unit 20 decreases. When the identification accuracy of the normal line direction 110 decreases, the first relaxation direction 113 set by the setting unit 21 may be separated by an angle larger than the adjustment angle α from the actual normal line direction 110. That is, the set first relaxation direction 113 may be largely inclined with respect to the actual normal line direction 110. As a result, when the robot 10 approaches the approach target object 50 from the first relaxation direction 113, the adsorption of the approach target object 50 may fail.
[0092] Therefore, the setting unit 21 may change the adjustment angle α according to the obtained normal angle β. Specifically, the setting unit 21 may make the adjustment angle α smaller as the obtained normal angle β is larger. Thereby, the possibility that the first relaxation direction 113 greatly deviates from the actual normal direction 110 is reduced. Thus, the robot 10 is less likely to fail in adsorbing the approach object 50. For example, when the normal angle β is greater than 30 degrees, the setting unit 21 may set the adjustment angle α to 15 degrees, and when the normal angle β is 30 degrees or less, the setting unit 21 may set the adjustment angle α to 20 degrees. Note that the setting unit 21 may change the adjustment angle α in three or more steps according to the normal angle β.
[0093] Further, when the depth of the container 17 is large (that is, when the wall 170 is high) and the adjustment angle α is small, when the normal angle β is large, even if the robot 10 tries to approach the approach object 50 from the first relaxation direction 113, there is a possibility that it may interfere with the high wall 170 of the container 17 and cannot approach the approach object 50.
[0094] Therefore, when the specific accuracy of the approach target surface 50a does not decrease so much even in a situation where the actual normal angle β of the approach object 50 is large and the depth of the container 17 is large, the setting unit 21 may make the adjustment angle α larger as the obtained normal angle β is larger. Thereby, even when the normal angle β is large, the robot 10 can easily approach the approach object 50 from the first relaxation direction 113. For example, when the normal angle β is greater than 30 degrees, the setting unit 21 may set the adjustment angle α to 25 degrees, and when the normal angle β is 30 degrees or less, the setting unit 21 may set the adjustment angle α to 20 degrees.
[0095] Further, the setting unit 21 may set the adjustment angle α based on the adsorption unit information regarding the adsorption unit 121 and the object information regarding the object 50. In this case, the setting unit 21 may set the adjustment angle α based on, for example, the table information 500 indicating the correspondence between the adsorption unit information, the object information, and the adjustment angle α. By referring to the table information 500, the setting unit 21 can identify what value of the adjustment angle α should be set in the case of what kind of adsorption unit information and object information.
[0096] FIG. 19 is a schematic diagram showing an example of the table information 500. The adsorption unit information included in the table information 500 includes, for example, the diameter of the adsorption opening 121a of the adsorption unit 121 (also simply referred to as the opening diameter), the length of the adsorption unit 121, and the material of the adsorption unit 121. The object information included in the table information 500 includes the mass of the object 50 and information specifying the surface treatment of the object 50 (such as anodizing treatment, bead treatment, or machining). In the table information 500 shown in FIG. 19, for example, when the opening diameter of the adsorption unit 121 is a1, the length of the adsorption unit 121 is b1, the material of the adsorption unit 121 is silicone rubber, the mass of the object 50 is d1, and the surface treatment of the object 50 is anodizing treatment, it is shown that the value of the adjustment angle α is set to α1. Also, in the table information 500, for example, when the opening diameter of the adsorption unit 121 is a2, the length of the adsorption unit 121 is b2, the material of the adsorption unit 121 is polyurethane rubber, the mass of the object 50 is d2, and the surface treatment of the object 50 is machining, it is shown that the value of the adjustment angle α is set to α2. Also, in the table information 500, for example, when the opening diameter of the adsorption unit 121 is a3, the length of the adsorption unit 121 is b3, the material of the adsorption unit 121 is fluororubber, the mass of the object 50 is d3, and the surface treatment of the object 50 is bead treatment, it is shown that the value of the adjustment angle α is set to α3.
[0097] The storage unit 3 stores adsorption unit information regarding the adsorption unit 121 currently equipped in the robot 10 and object information regarding the current target object 50. The setting unit 21 acquires the value of the adjustment angle α corresponding to the contents of the adsorption unit information and the object information in the storage unit 3 from the table information 500. Then, the setting unit 21 uses the value acquired from the table information 500 as the value of the adjustment angle α.
[0098] The table information 500 may be generated based on the adsorption success rate in the first relaxation direction and the adsorption success rate in the normal direction calculated using the actual robot 10, or may be generated based on the adsorption success rate in the first relaxation direction and the adsorption success rate in the normal direction calculated using a physical operation simulator for the robot. For example, α1 may be set to a value such that the adsorption success rate in the first relaxation direction is equal to or greater than a predetermined percentage of the adsorption success rate in the normal direction when the opening diameter of the adsorption unit 121 is a1, the length of the adsorption unit 121 is b1, the material of the adsorption unit 121 is silicone rubber, the mass of the target object 50 is d1, and the surface treatment of the target object 50 is anodizing treatment. The table information 500 is input to the processing device 1 through the input unit 5, for example. The table information 500 input to the processing device 1 is stored in the storage unit 3.
[0099] In addition, when the setting unit 21 decreases the adjustment angle α as the obtained normal angle β increases, for example, the maximum value of the adjustment angle α is determined using the table information 500, and other values of the adjustment angle α are set based on the maximum value determined using the table information 500. Also, when the setting unit 21 increases the adjustment angle α as the obtained normal angle β increases, for example, the minimum value of the adjustment angle α is determined using the table information 500, and other values of the adjustment angle α are set based on the minimum value determined using the table information 500.
[0100] The above reference direction 112 may be specified in the robot coordinate system or in the camera coordinate system. The robot coordinate system is a three-dimensional orthogonal coordinate system set for the robot 10. When the control unit 2 controls the robot 10, it manages the position of the robot 10 in the robot coordinate system. On the other hand, the camera coordinate system is a three-dimensional orthogonal coordinate system set for the camera 13. The positions of the pixel values of the color image and the distance image generated by the camera 13 are represented in the camera coordinate system.
[0101] For example, consider the case where the reference direction 112 is specified in the robot coordinate system, that is, the case where the reference direction 112 is set in the robot coordinate system. In this case, when the orientation of the opening 17a of the container 17 (in other words, the orientation of the opening plane 17aa) changes, the reference direction 112 in the robot coordinate system changes. Therefore, it is necessary to re-specify the reference direction 112 according to the change in the orientation of the opening 17a.
[0102] On the other hand, consider the case where the reference direction 112 is specified in the camera coordinate system, that is, the case where the reference direction 112 is set in the camera coordinate system. Since the camera 13 is fixed to the end effector 12, even if the orientation of the opening 17a of the container 17 changes, the posture of the camera 13 with respect to the orientation of the opening 17a when the camera 13 shoots the object 50 in the container 17 from above the container 17 can be made constant. Therefore, when the reference direction 112 is specified in the camera coordinate system, it is not necessary to re-specify the reference direction 112 according to the change in the orientation of the opening 17a. Also, even when the robot 10 sequentially adsorbs and holds the object 50 from inside a plurality of containers 17 with different orientations of the opening 17a, it is not necessary to specify the reference direction 112 for each container 17, and a common reference direction 112 can be specified for the plurality of containers 17. Therefore, when the reference direction 112 is specified in the camera coordinate system, the burden on the user can be reduced.
[0103] In the above approach direction setting process, the approach direction 100 in the camera coordinate system may be set. In this case, the reference direction 112 may be set to any one of the x-axis, y-axis, and z-axis of the camera coordinate system. As a result, the calculation amount for obtaining the first relaxation direction 113 and the second relaxation direction 114 set with reference to the reference direction 112 is reduced. When the z-axis of the camera coordinate system when the camera 13 photographs the object 50 in the container 17 from above the container 17 is perpendicular to the opening plane 17aa, the reference direction 112 may be set to the z-axis of the camera coordinate system. In the approach direction setting process, when the approach direction 100 in the camera coordinate system is set, the control unit 2 converts the approach direction 100 set in the camera coordinate system into the approach direction 100 in the robot coordinate system and then controls the robot 10.
[0104] Also, in the approach direction setting process, the approach direction 100 in the robot coordinate system may be set. In this case, when the reference direction 112 is specified in the camera coordinate system, the control unit 2 converts the reference direction 112 in the camera coordinate system into the reference direction 112 in the robot coordinate system and then sets the approach direction 100.
[0105] In the above example, the camera 13 was a three-dimensional camera, but it may also be a two-dimensional camera that generates a color image. In this case, the specifying unit 20 specifies the position and orientation of the approach object 50 based on the color image. Then, the specifying unit 20 specifies the position and orientation of the approach target surface 50a based on the position and orientation of the specified approach object 50 and the adsorption target surface information indicating the position and range of the adsorption target surface on the surface of the object 50. The adsorption target surface information is stored in advance in the storage unit 3.
[0106] Also, in the above example, the case where the adjustment angle α is smaller than the normal angle β is described as an example. However, for example, there may be a case where the normal angle β is smaller than the adjustment angle α. In this case, the adsorption unit 121 may have the approach direction 100 set on the opposite side of the reference direction 112 with respect to the normal direction 110.
[0107] Further, in the above example, the case of adjusting the approach direction 100 toward the reference direction 112 has been described, but the present disclosure is not limited thereto. For example, when the object 50 is near the wall of the container 17, interference with the wall of the container 17 may occur when attempting to set the approach direction 100 toward the reference direction 112. In this case, for example, the approach direction 100 may be set in a direction away from the reference direction 112. In this case, for example, after it is determined that interference occurs in the first approach direction that has been rotationally moved by the adjustment angle α toward the reference direction 112, it may be determined whether interference occurs in the second approach direction that has been rotationally moved by the adjustment angle α in a direction away from the reference direction 112. Further, for example, when the normal angle β is smaller than a predetermined value, the determination of interference in the second approach direction may be performed without determining the interference in the first approach direction. Also, in these cases, the adjustment angle α related to the second approach direction may be set to be smaller than the adjustment angle α related to the first approach direction.
[0108] Further, in the above example, an example of setting the approach direction 100 based on the reference direction 112 is shown, but the reference direction 112 may not be set. In this case, for example, the maximum value of the adjustment angle α is set, and the adjustment angle α is set so as to gradually approach the maximum value of the adjustment angle α with the maximum value of the adjustment angle α as the limit value. Then, the determination of interference in the approach direction 100 at the gradually set adjustment angle α is performed, and if it is determined that there is no interference, it may be set as the approach direction 100. Also, in this case, the adjustment angle α may be changed, for example, so that the height of a point in the normal direction 110 increases, or may be changed, for example, so that the wall surfaces of the object 50 and the container 17 recognized based on the camera image move away.
[0109] Further, in the above example, an example in which the adjustment angle α is changed so that the height of a point in the normal direction 110 increases is shown, but the present disclosure is not limited thereto. For example, when the plane including the opening plane 17aa of the container 17 is a plane passing through the x-axis and the y-axis, the adjustment angle α may be changed so that the values of the x-axis and the y-axis change.
[0110] <Robot control system> The processing device 1 according to the present embodiment may be communicatively connected to the robot 10 so as to be able to control the robot 10 as a part of the robot control system 60. FIG. 20 is a schematic diagram showing an example of the configuration of the robot control system 60. As shown in FIG. 20, the robot control system 60 includes, for example, the above-described processing device 1 and a robot 10 connected to the processing device 1. Further, the robot control system 60 according to the present embodiment has a terminal device 70 connected to the processing device 1. Specifically, the processing device 1 and the terminal device 70 are connected to each other by communicatively connecting the interface 4 (also referred to as the first interface 4) of the processing device 1 and the second interface 71 of the terminal device 70. Note that the second interface 71 may have the same configuration as the first interface 4, for example.
[0111] The terminal device 70 may have a second control unit 72 and a display unit 73. Then, the second control unit 72 may acquire necessary information from the control unit 2 (also referred to as the first control unit 2) of the processing device 1 via the first interface 4 and the second interface 71 and display it on the display unit 73. For example, the second control unit 72 may cause the display unit 73 to display the approach direction of the suction unit 121 to the object 50 in a visible manner. Specifically, the second control unit 72 may display information indicating the approach direction of the suction unit 121 to the object 50 and the suction target surface 50a of the object 50 on the display unit 73. The information indicating the approach direction may be, for example, a line segment or an arrow connected to the representative point 50aa of the suction target surface 50a, an animation such that the suction unit 121 approaches the suction target surface 50a according to the approach direction, an image in which the positional relationship between the suction unit 121 located on the approach trajectory and the suction target surface 50a can be recognized from above, or an image of the suction target surface 50a viewed from the approach direction. As a result, for example, the user can confirm how the robot 10 approaches the object 50 before starting the operation.
[0112] Figures 21 and 22 are schematic diagrams showing display examples of the display unit 73. In Figure 21, an example of a state where the display unit 73 animates and displays a view of the suction unit 121 approaching the object 50 from the lateral direction is shown. In Figure 22, an example of a state where the display unit 73 animates and displays a view of the suction unit 121 approaching the object 50 from the upward direction is shown. In Figure 21, information indicating the approach direction of the suction unit 121 is displayed by an arrow 730. In Figure 22, the positional relationship between the suction unit 121 located on the approach trajectory and the suction target surface 50a is displayed in a bird's-eye view.
[0113] Note that the first control unit 2 can also acquire information necessary for controlling the robot 10 from the second control unit 72. Also, the second control unit 72 of the terminal device 70 may have a configuration equivalent to that of the first control unit 2 of the processing device 1. The display unit 73 of the terminal device 70 may be, for example, a touch panel display or a liquid crystal display or the like.
[0114] As information indicating the approach direction, a plurality of pieces of information may be displayed simultaneously, or a plurality of pieces of different information may be displayed at different timings. When a plurality of pieces of information are displayed simultaneously, for example, an arrow indicating the approach direction and an animation in which the suction unit 121 approaches the suction target surface 50a along this arrow may be displayed simultaneously. When a plurality of pieces of different information are displayed at different timings, for example, after the approach trajectory of the suction unit 121 along the approach direction is displayed, it may be switched to an image of the suction target surface 50a viewed from the approach direction, and how the suction unit 121 contacts the suction target surface 50a may be displayed.
[0115] Further, the terminal device 70 may further include an input unit 74. In this case, when the display unit 73 displays information indicating the object 50 and the approach direction, for example, via the input unit 74, the user can select at least one of the plurality of objects 50 arranged in the container 17, and the display unit 73 may display information indicating the approach direction for each selected object 50. As a result, the user can confirm whether the robot 10 can approach an arbitrary object 50. Note that the input unit 74 of the terminal device 70 may have the same configuration as the input unit 5 of the processing device 1. Further, when the robot control system 60 includes the input unit 74 of the terminal device 70, the input unit 74 may function as the input unit 5 of the processing device 1.
[0116] Also, the information indicating the approach direction displayed on the display unit 73 may be operable by the user via the input unit 74. In this case, for example, the terminal device 70 may receive a user operation in which the user selects, via the input unit 74, information indicating the approach direction, which is linearly displayed, for example, and moves the information on the display unit 73. Further, based on the changed approach direction changed by the user operation, the first control unit 2 may determine whether the robot 10 can hold the object 50 when attempting to hold the object 50 along the changed approach direction. In this case, the second control unit 72 may receive, from the first control unit 2, the determination result of the holdability based on the changed approach direction, and cause the display unit 73 to display the determination result of the holdability based on the changed approach direction. Note that the determination result may be displayed as a binary value indicating whether holding is possible, for example, or may be displayed numerically as a holding success probability. Further, for example, as the determination result, the valid approach direction may be highlighted to indicate that the object 50 can be held in the approach direction, or the invalid approach direction may be displayed dimly to indicate that the object 50 cannot be held in the approach direction.
[0117] Further, the second control unit 72 may cause the display unit 73 to display information indicating the normal direction of the adsorption target surface 50a of the object 50. The information indicating the normal direction may be, for example, a line segment or an arrow connected to the representative point 50aa of the adsorption target surface 50a, an animation such that the adsorption unit 121 approaches the adsorption target surface 50a according to the normal direction, an image that allows the positional relationship between the adsorption unit 121 located on the normal line and the adsorption target surface 50a to be recognized from an overhead view, or an image of the adsorption target surface 50a viewed from the normal direction. As a result, for example, the user can confirm how the robot 10 approaches the object.
[0118] Also, when the display unit 73 displays the object 50 and the information indicating the normal direction, for example, via the input unit 74, the user can select at least one of the plurality of objects 50 arranged in the container 17, and the information indicating the normal direction may be displayed for each selected object 50. As a result, the user can confirm whether the robot 10 can approach an arbitrary object 50 from the normal direction.
[0119] Further, the second control unit 72 may cause the display unit 73 to display the information indicating the approach direction and the information indicating the normal direction in a comparable manner. As a result, it becomes easy for the user to determine how much the approach direction is inclined with respect to the normal direction. Note that the second control unit 72 may cause the display unit 73 to display information indicating the reference direction 112 of the approach of the object 50. Further, the second control unit 72 may cause the display unit 73 to display the adjustment angle α. Further, the second control unit 72 may cause the display unit 73 to display the normal angle β.
[0120] As described above, the processing device and the robot control system have been described in detail. However, the above description is illustrative in all aspects, and this disclosure is not limited thereto. Also, the various examples described above can be applied in combination as long as they do not conflict with each other. And it is understood that countless examples not illustrated can be assumed without departing from the scope of this disclosure.
[0121] The present disclosure includes the following content.
[0122] In one embodiment, (1) a processing device is a processing device that controls a robot having an adsorption part capable of adsorbing and holding an object to be held and having elasticity, and includes a control part for controlling the robot. The control part can control the adsorption part to contact the object to be held from a direction different from the normal direction of the adsorption target surface of the object to be held, so as to adsorb the object to be held by the adsorption part.
[0123] (2) In the processing device of (1) above, the control part has a specifying part for specifying the normal direction of the adsorption target surface of the object to be held, and a setting part for setting an approach direction in which the adsorption part contacts the object to be held based on the normal direction specified by the specifying part and the reference direction of the approach of the robot to the object to be held.
[0124] (3) In the processing device of (2) above, the setting part sets, as the approach direction, a direction based on the adjustment angle that has moved from the normal direction toward the reference direction by the adjustment angle.
[0125] (4) In the processing device of (3) above, the setting part determines whether the robot can approach the adsorption target surface from the normal direction. When it is determined that the robot can approach the adsorption target surface from the normal direction, the normal direction is set as the approach direction. When it is determined that the robot cannot approach the adsorption target surface from the normal direction, the direction based on the adjustment angle is set as the approach direction.
[0126] (5) In the processing device of (3) above, the setting part sets, as the approach direction, the direction based on the adjustment angle without determining whether the robot can approach the adsorption target surface from the normal direction.
[0127] (6) In any one of the processing devices (2) to (5) above, the setting unit sets the approach direction based on the limit posture of the robot.
[0128] (7) In the processing device of (3) above, the setting unit is capable of executing a first setting process and a second setting process for setting the approach direction in different ways. In the first setting process, the setting unit sets the normal direction as the approach direction. In the second setting process, the setting unit sets the direction based on the adjustment angle as the approach direction. The setting unit determines which of the first setting process and the second setting process to execute according to the normal angle as the angle of the normal direction with respect to the reference direction.
[0129] (8) In the processing device of (7) above, in the first setting process, the setting unit determines whether the robot can approach the adsorption target surface from the normal direction. When it is determined that the robot can approach the adsorption target surface from the normal direction, the setting unit sets the normal direction as the approach direction. When it is determined that the robot cannot approach the adsorption target surface from the normal direction, the setting unit sets the direction based on the adjustment angle as the approach direction.
[0130] (9) In the processing device of (7) above, in the first setting process, the setting unit determines whether the normal angle is less than or equal to an upper limit value based on the posture that the robot can take. When the normal angle is less than or equal to the upper limit value, the setting unit sets the normal direction as the approach direction. When the normal angle is greater than the upper limit value, the setting unit sets, as the approach direction, the direction based on the upper limit value that is closer to the normal direction by the amount of the upper limit value from the reference direction.
[0131] (10) In the processing device of (9) above, in the first setting process, when the normal angle is less than or equal to the upper limit value, the setting unit determines whether the robot can approach the adsorption target surface from the normal direction. When it is determined that the robot can approach the adsorption target surface from the normal direction, the normal direction is set as the approach direction. When it is determined that the robot cannot approach the adsorption target surface from the normal direction, the direction based on the upper limit value is set as the approach direction.
[0132] (11) In the processing device of (9) or (10) above, in the first setting process, when the normal angle is greater than the upper limit value, the setting unit determines whether the robot can approach the adsorption target surface from the direction based on the upper limit value. When it is determined that the robot can approach the adsorption target surface from the direction based on the upper limit value, the direction based on the upper limit value is set as the approach direction. When it is determined that the robot cannot approach the adsorption target surface from the direction based on the upper limit value, the direction based on the adjustment angle is set as the approach direction.
[0133] (12) In the processing device of (2) above, the setting unit determines whether the normal angle, which is the angle of the normal direction with respect to the reference direction, is less than or equal to the upper limit value based on the posture that the robot can take. When the normal angle is less than or equal to the upper limit value, the normal direction is set as the approach direction. When the normal angle is greater than the upper limit value, the direction based on the upper limit value, which is closer to the normal direction by the amount of the upper limit value from the reference direction, is set as the approach direction.
[0134] (13) In the processing device of (12) above, when the normal angle is less than or equal to the upper limit value, the setting unit determines whether the robot can approach the adsorption target surface from the normal direction. When it is determined that the robot can approach the adsorption target surface from the normal direction, the normal direction is set as the approach direction. When it is determined that the robot cannot approach the adsorption target surface from the normal direction, the direction based on the adjustment angle, which is moved by the adjustment angle from the normal direction toward the reference direction side, is set as the approach direction.
[0135] (14) In the processing device of (12) or (13) above, when the normal angle is greater than the upper limit value, the setting unit determines whether the robot can approach the adsorption target surface from the direction based on the upper limit value. When it is determined that the robot can approach the adsorption target surface from the direction based on the upper limit value, the direction based on the upper limit value is set as the approach direction. When it is determined that the robot cannot approach the adsorption target surface from the direction based on the upper limit value, the direction based on the adjustment angle, which is moved by the adjustment angle from the normal direction toward the reference direction side, is set as the approach direction.
[0136] (15) In any one of the processing devices of (3) to (11), (13), and (14) above, the setting unit changes the adjustment angle according to the normal angle.
[0137] (16) In any one of the processing devices of (3) to (11) and (13) to (15) above, the setting unit sets the adjustment angle based on the adsorption unit information regarding the adsorption unit of the robot that adsorbs the object to be held and the object information regarding the object to be held.
[0138] (17) The robot control system includes any one of the processing devices of (1) to (16) above and a robot connected to the processing device.
[0139] (18) The program is a program for causing a computer device to function as any one of the processing devices (1) to (16) above.
[0140] (19) The processing device is a processing device that controls a robot having a suction unit that suction-holds an object to be held so as to be movable, and includes a control unit that controls the robot. The control unit controls the robot such that the suction unit contacts the suction target surface of the object to be held in a state where the first end side of the suction unit is contracted more than the second end side that faces the first end side with respect to the suction target surface of the object to be held.
[0141] (20) The terminal device includes a display unit and a control unit that acquires an approach direction of the robot, which can suction-hold the object to be held from a direction different from the normal direction of the suction target surface of the object to be held, and causes the display unit to display the approach direction in a recognizable manner.
Explanation of Signs
[0142] 1 Processing device 10 Robot 2 Control unit (first control unit) 20 Specifying unit 21 Setting unit 30 Program 50 Object to be held 50a Suction target surface 60 Robot control system 70 Terminal device 72 Second control unit 73 Display unit 110 Normal direction 121 Suction unit 112 Reference direction 130 First relaxation direction 140 Second relaxation direction L Upper limit value α Adjustment angle β Normal angle
Claims
1. A processing device for controlling a robot having a suction unit capable of suction-holding a holding object, a control unit that controls the robot so as to bring the suction unit into contact with an suction target surface of the object to be held from an approach direction and to cause the suction unit to suction the object to be held, The control unit sets the approach direction based on a reference direction for the robot's approach to the object to be held, the reference direction being not based on a limit posture of the robot, and a normal direction of the suction target surface of the object to be held.
2. A processing device for controlling a robot having an adsorption unit capable of adsorbing and holding an object to be held in a container, a control unit that controls the robot so as to bring the suction unit into contact with an suction target surface of the holding object in the container from an approach direction, and to cause the suction unit to suction the holding object, The control unit is a processing device that sets a reference direction for the robot's approach to the object to be held, the approach direction being based on a reference direction based on the orientation of the opening of the container and a normal direction of the suction target surface of the object to be held.
3. A processing device according to claim 1 or claim 2, The control unit sets the approach direction based on the reference direction, the normal direction, and a limit posture of the robot.
4. A processing device according to claim 3, The control unit sets the approach direction based on a normal angle as the angle of the normal direction with respect to the reference direction and a limit posture of the robot.
5. A processing device according to claim 1 or claim 2, The control unit, when a direction based on the adjustment angle that has moved from the normal direction toward the reference direction by an adjustment angle exceeds the reference direction, sets the reference direction to the approach direction.
6. The processing device according to claim 5, The control unit sets the direction based on the adjustment angle to the approach direction when the direction based on the adjustment angle does not exceed the reference direction.
7. A processing device according to claim 1 or claim 2, A robot connected to the processing device; A robot control system comprising:
8. A program for causing a computer device to function as a processing device described in claim 1 or claim 2.
Citation Information
Patent Citations
Robot hand
JP2001205584A
Interference avoiding device
JP2002331480A
Article takeout apparatus and article takeout method
JP2014087913A
Coordination of multiple robots to fulfill workflows and avoid collisions
JP2022552628A