Control device, robot system, and operation planning method
The control device optimizes pick-and-place operations by calculating swing widths and margin distances to avoid collisions, enabling faster and more efficient workpiece placement.
Patent Information
- Application Number
- PCT/JP2023/047258
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-28
- Publication Date
- 2025-07-03
AI Technical Summary
Existing pick-and-place operations face challenges in speeding up the process while avoiding interference between the workpiece and obstacles, leading to potential collisions and reduced efficiency.
A control device calculates a first swing width and margin distance using work and robot hand information to determine operation set values, ensuring the workpiece is placed without interference by adjusting speed and acceleration/deceleration based on a predetermined relationship between swing width and operation set values.
This approach allows for both the acceleration of the pick-and-place process and improvement in loading efficiency by minimizing collisions and optimizing the placement operation.
Smart Images

Figure JP2023047258_03072025_PF_FP_ABST
Abstract
Description
Control device, robot system, and motion planning method
[0001] The present disclosure relates to a control device, a robot system, and a motion planning method.
[0002] There is known a technique for performing a pick-and-place operation in which a workpiece is moved from a source position to a destination position using a robot hand, etc. For example, Japanese Patent Laid-Open Publication No. 5-221526 describes an automatic loading device that commands a robot to operate at a slower speed when an item to be moved is heavier and larger than a standard value than when the item is lighter and smaller than the standard value.
[0003] In recent years, there has been a demand for even faster placement operations. However, moving a workpiece to its destination at high speed can cause the workpiece to sway significantly, raising the risk of the workpiece colliding with an obstacle at its destination. Therefore, a new technology has been desired that can avoid interference between the workpiece and obstacles and also speed up placement operations.
[0004] The present disclosure has been made to solve at least part of the above-mentioned problems, and can be realized, for example, in the following forms.
[0005] According to a first aspect of the present disclosure, there is provided a control device. The control device includes a control unit that executes a placing operation plan for moving a workpiece held by a robot hand to a placing position. The control unit is configured to calculate a first swing width, which is a swing width of the workpiece while the robot hand maintains holding the workpiece, using workpiece information including a workpiece size representing the shape of the workpiece and design information of the robot hand. The control unit is configured to calculate a margin distance from the placing position to place the workpiece at the placing position while avoiding interference between the workpiece and the obstacle, using a first area in a peripheral region including the placing position where no obstacles exist, the workpiece information, and the first swing width. The control unit is configured to determine the operation setting values on the path to the placing position using a relationship between an operation setting value including the speed and acceleration / deceleration of the robot hand and a second swing width, with the margin distance being the second swing width. The relationship is a predetermined relationship in which the second swing width increases as the operation setting value increases. The second swing width is the swing width of the workpiece when the robot hand operates according to the operation setting value.
[0006] According to a second aspect of the present disclosure, there is provided a robot system including a robot arm equipped with a robot hand and a control device. The control device is configured to execute a placing operation plan for moving a workpiece held by the robot hand to a placing position. The control device is configured to calculate a first swing width, which is a swing width of the workpiece while the robot hand maintains holding the workpiece, using workpiece information including a workpiece size representing the shape of the workpiece and design information of the robot hand. The control device is configured to calculate a margin distance from the placing position to place the workpiece at the placing position while avoiding interference between the workpiece and the obstacle, using a first area in a peripheral region including the placing position where no obstacles exist, the workpiece information, and the first swing width. The control device is configured to determine the operation setting values on the path to the placing position using a relationship between an operation setting value including the speed and acceleration / deceleration of the robot hand and a second swing width, with the margin distance being the second swing width. The relationship is a predetermined relationship in which the second swing width increases as the operation setting value increases. The second swing width is a swing width of the workpiece when the robot hand operates according to the operation setting value. The control device is configured to operate the robot arm using the operation setting value.
[0007] According to a third aspect of the present disclosure, there is provided a motion planning method for planning a placing motion for moving a workpiece held by a robot hand to a placing position. The motion planning method includes a step of calculating, using workpiece information including a workpiece size representing the shape of the workpiece and design information of the robot hand, a first swing range that is a swing range of the workpiece while the robot hand maintains holding the workpiece. The motion planning method includes a step of calculating, using a first region in a peripheral area including the placing position where no obstacles exist, the workpiece information, and the first swing range, a margin distance from the placing position for placing the workpiece at the placing position while avoiding interference between the workpiece and the obstacle. The motion planning method includes a step of determining the motion set values on a path to the placing position using a relationship between motion set values including a speed and acceleration / deceleration of the robot hand and a second swing range that is a swing range of the workpiece when the robot hand operates at the motion set values, the relationship being a predetermined relationship in which the second swing range increases as the motion set values increase.
[0008] 1 is a schematic diagram of a robot system in one embodiment. FIG. 1 is a block diagram showing the configuration of a robot system. FIG. 2 is a flowchart of a pick-and-place process. FIG. 3 is a flowchart of a placing operation plan. FIG. 4 is a diagram for explaining a placing position and a first area. FIG. 5 is a flowchart showing a method for calculating a margin distance. FIG. 6 is a diagram showing a work size and a first fluctuation range. FIG. 7 is a diagram showing a first area, a work occupation area, a margin distance, and a second fluctuation range in an early stage of placing work. FIG. 8 is a diagram showing a first area and a work occupation area in a stage where the number of cycles of placing work has increased. FIG. 9 is a diagram showing an example of calculating a margin distance when the first area is smaller than the work occupation area T. FIG. 10 is a diagram showing a reference example of placing work when the margin distance is constant. FIG. 11 is another diagram showing a reference example of placing work when the margin distance is constant. FIG. 12 is a diagram showing how the margin distance changes as the number of cycles of placing work increases in this embodiment. FIG. 13 is a diagram showing placing work in another embodiment, showing an example where the first area expands relative to the placing position.
[0009] <Embodiment> Fig. 1 is a schematic configuration diagram of a robot system 10 according to an embodiment of the present disclosure. Fig. 2 is a block diagram of the robot system 10. The robot system 10 includes a robot arm 20 as a handling device, a control device 100, and a detection device 300. The robot system 10 is configured to perform so-called pick-and-place operations, in which the robot system 10 holds a workpiece W to be moved and releases it at a destination. The robot system 10 of this embodiment holds the workpiece W in a container 501 and releases it at a place position G in a container 503.
[0010] FIG. 1 illustrates a Z-axis parallel to the vertical direction, an X-axis perpendicular to the Z-axis, a source region 502 including a container 501, and a destination region 504 including a container 503. In FIG. 1, the source region 502 and the destination region 504 are shown as a schematic plan view of the containers 501 and 503 as viewed from a direction parallel to the Y-axis perpendicular to the X-axis and Z-axis. Hereinafter, the directions parallel to the X-axis and X-axis, the Y-axis and Y-axis, and the Z-axis are also referred to as the X-axis direction, the Y-axis direction, and the Z-axis direction, respectively. In the Z-axis direction, the +Z direction is the vertically upward direction, and the −Z direction is the vertically downward direction. In FIG. 1, in the X-axis direction, the source region 502 is in the −X direction relative to the robot arm 20, and the destination region 504 is in the +X direction relative to the robot arm 20. The containers 501 and 503 have a concave shape that is open in the +Z direction. In this embodiment, approximately box-shaped workpieces W are stacked in bulk inside the container 501, and workpieces W are arranged side by side inside the container 503.
[0011] The robot arm 20 in this embodiment is a vertical articulated robot with six degrees of freedom. The robot arm 20 includes a plurality of joints J, a plurality of links L, a hand 30, and a first actuator 25 (see FIG. 2 ). The first actuator 25 includes known actuators for operating the robot arm 20, such as a servo motor, an encoder, a reducer, etc. The robot arm 20 included in the robot system 10 is not limited to a vertical articulated robot, and can be modified as appropriate to a SCARA robot, a linear motion robot, etc.
[0012] The hand 30 is attached to the arm tip 21 of the robot arm 20. The hand 30 is also called a robot hand, an end effector, or a tool. The hand 30 includes a base 31, a suction unit 32 protruding from the bottom surface of the base 31, and a second actuator 35 (see FIG. 2) that operates the suction unit 32. Although FIG. 1 illustrates one suction unit 32, the hand 30 includes multiple suction units 32. The suction unit 32 is also called a suction pad. The second actuator 35 includes, for example, a vacuum pump and an electric valve. In this embodiment, the arm tip 21 is configured as an attachment unit having a mechanism to detachably attach the hand 30.
[0013] The robot arm 20 operates by the control device 100 controlling the first actuator 25 and the second actuator 35. The position and orientation of the hand 30 change by the control device 100 controlling the first actuator 25. The orientation is also called "posture." The orientation of the hand 30 may be determined by the angle of the bottom surface of the hand 30 relative to a predetermined reference plane or the rotation angle of the hand 30 around a predetermined axis. The multiple suction units 32 of the hand 30 operate by the control device 100 controlling the second actuator 35. The suction units 32 suck in air and stop sucking in air by the control device 100 controlling the second actuator 35.
[0014] The detection device 300 is configured to detect information about a source area 502 including a container 501 and a destination area 504 including a container 503. In this embodiment, the detection device 300 is a three-dimensional vision sensor equipped with a camera and a computer for processing images. The detection device 300 acquires an RGB image and a distance image. The distance image also serves as depth data. In this embodiment, the detection device 300 acquires first information about the source area 502 by capturing an image of the source area 502. The first information includes work information, which is information about the workpiece W placed in the source area 502, and information about objects that may become obstacles when the hand 30 is moved in the source area 502. The work information is information used to hold the workpiece W with the hand 30, and includes, for example, the workpiece size representing the shape of the workpiece W, and the position and orientation of the workpiece W. The detection device 300 also acquires second information about the destination area 504. The second information is information about objects that may become obstacles when the workpiece W to be moved is placed in the container 503. The second information includes position information of the wall-like portion 50 configured by the wall 51 that configures the container 503, the virtual wall 52 that is defined by the surface of the workpiece W already placed in the container 503, etc. The detection device 300 outputs the detected first information and second information to the control device 100.
[0015] The robot system 10 further includes an input device 400. The input device 400 is configured to be able to input various instructions to the control device 100. The instructions include, for example, an instruction to start a pick-and-place operation.
[0016] The control device 100 is configured to generate various instructions for holding the workpiece W in the container 501 with the hand 30 and placing it in the container 503, and to control the entire robot arm 20 based on the instructions. In this embodiment, the control device 100 acquires the first information and the second information, and executes a holding operation plan for holding the workpiece W with the hand 30, a holding operation, a placing operation plan for placing the workpiece W, and a placing operation. The control device 100 will be described in detail below.
[0017] 2, the control device 100 includes a CPU (Central Processing Unit) 110, which is a processor, a memory 120, and an interface circuit 130. The control device 100 is communicably connected to peripheral devices including the robot arm 20, the detection device 300, and the input device 400 via the interface circuit 130. These communications can be performed using wireless communication or wired communication according to a known communication method.
[0018] The memory 120 includes a volatile memory and a non-volatile memory. Programs P1 and P2 are stored in the memory 120. The CPU 110 functions as a first control unit 111 and a second control unit 112 by expanding and executing the programs P1 and P2 stored in the memory 120.
[0019] The first control unit 111 executes a holding operation plan and a placing operation plan. In the holding operation plan, the first control unit 111 calculates a holding position of the hand 30 for holding the workpiece W in the source area 502 by the hand 30, a path (holding path) of the hand 30 to the holding position, and operation set values for the holding path. In the placing operation plan, the first control unit 111 calculates a transport path for transporting the workpiece W to the placing position G while avoiding interference between the workpiece W and obstacles, and operation set values for the hand 30 on the transport path. In the placing operation plan, the first control unit 111 takes into account the shaking of the workpiece W held by the hand 30. The transport path calculated by the first control unit 111 includes relay points. The relay points can also be referred to as relay positions. The operation set values include a speed set value, an acceleration set value, and a deceleration set value of the hand 30 when operating the hand 30. The second control unit 112 controls the entire robot arm 20 including the hand 30 so as to operate the hand 30 according to the operation plan. In this manner, in this embodiment, the first control unit 111 mainly executes planning-related processing for the robot arm 20 including the hand 30, and the second control unit 112 mainly executes operation-related processing for the robot arm 20 including the hand 30. The first control unit 111 is an example of a "control unit" in the present disclosure.
[0020] The memory 120 stores programs P1 and P2 and design information for the hand 30. The design information is information specific to the hand 30 and includes information on the outer shape of the hand 30 and the plurality of suction units 32. The information on the suction units 32 includes the outer shape, such as the diameter, suction force, and placement position on the bottom surface of the hand 30, of each suction unit 32. The memory 120 also stores various types of information used by the first control unit 111 to generate a path, such as the configuration, singular posture, and movable range of the robot arm 20.
[0021] 3 is a flowchart of the pick-and-place process executed by the control device 100. This process is started when a start command is input to the control device 100 via the input device 400.
[0022] First, in step S100, the first control unit 111 acquires first information including workpiece information via the detection device 300. In this embodiment, when the pick-and-place process is started, the first control unit 111 acquires, as the first information, workpiece information including the size of the workpiece W placed in the source area 502 and information on objects such as the container 501 present in the source area 502 via the detection device 300. The first control unit 111 also stores the acquired first information in the memory 120.
[0023] In step S200, the first control unit 111 executes the holding operation plan. The first control unit 111 uses the workpiece information to identify the workpiece W to be held and calculates the holding position of the hand 30 for holding the workpiece W. The first control unit 111 also identifies the suction unit 32 for holding the workpiece W. Furthermore, the first control unit 111 calculates the holding path from the current position of the hand 30 to the holding position.
[0024] In step S200, the first control unit 111 determines the operation setting values of the hand 30 along the holding path. The first control unit 111 may apply the maximum speed, maximum acceleration, and maximum deceleration possible for the hand 30 as the operation setting values for the hand 30 along the holding path. The hand 30 moving along the holding path is not holding a workpiece W. Therefore, collisions between the workpiece W and obstacles due to the shaking of the workpiece W do not occur. Therefore, by increasing the set values for the speed, acceleration, and deceleration, the pick-and-place operation and the cycle time of the operation can be speeded up. Note that the operation setting values set in step S200 may be values up to a predetermined relay point upstream of the holding position where the workpiece W is held. In this case, the operation setting values applied from the relay point to the holding position may be smaller than the operation setting values applied from the movement start position to the relay point.
[0025] In step S300, the second control unit 112 moves the hand 30 using the holding path and operation setting values calculated in step S200, and holds the workpiece W at the holding position with the identified suction unit 32.
[0026] In step S400, the first control unit 111 acquires second information via the detection device 300. As described above, the second information is position information of the wall-like portion 50 that may be an obstacle when placing the workpiece W to be moved inside the container 503 in the destination area 504. The first control unit 111 stores the acquired second information in the memory 120.
[0027] In step S500, the first control unit 111 executes a placing operation plan. A processing flow of the placing operation plan is shown in FIG. 4 . First, in step S510, the first control unit 111 sets a destination position (placement position G). The place position G is a position in the destination area 504 for placing a predetermined position RP of the workpiece W to be moved. Using the second information acquired via the detection device 300, the first control unit 111 calculates the place position G that can increase the filling rate of the workpiece W to be placed in the container 503.
[0028] 1 and 5 illustrate an example of a place position G. In this embodiment, the place position G is a position where the workpiece W placed in the container 503 abuts against the virtual wall 52. Hereinafter, the virtual wall 52 defining the place position G in this embodiment will be simply referred to as a virtual wall 52G to distinguish it from other virtual walls 52. In this embodiment, the virtual wall 52G is perpendicular to the X-axis direction. As shown by the dashed line W1 in FIG. 5 , when the workpiece W to be moved is placed at the place position G, the workpiece W is adjacent to or abuts against the virtual wall 52G. The workpiece W being adjacent to the virtual wall 52G includes the workpiece W being located at a position within a predetermined distance from the virtual wall 52G. The predetermined distance may be, for example, greater than 0 cm and less than or equal to 5 cm. Alternatively, the predetermined distance may be a distance at which another workpiece W cannot be placed between the workpiece W to be moved and the virtual wall 52G.
[0029] In step S520, the first control unit 111 calculates a first region F using the second information. The first region F is a region that includes the place position G and is a region in the periphery of the place position G where no obstacles exist. As shown in FIG. 5 , in this embodiment, the first control unit 111 sets, as the first region F, a region within the container 503 that includes the place position G and is defined by a virtual plane P that includes a virtual wall 52G that defines the place position G and the wall 51 of the container 503. FIG. 5 further shows a first region F1 of the first region F that is perpendicular to the virtual wall 52G. The first region F1 is also a gap between the virtual wall 52G and the wall 51. In this embodiment, the first control unit 111 calculates a transport path for transporting the workpiece W to the place position G, as shown by arrow A1 in FIG. 5 , in which (i) the workpiece W is transported in the +X direction above the container 503, (ii) the workpiece W is transported in the -Z direction as shown by arrow A2 to enter the first region F, and (iii) the workpiece W is moved toward the virtual wall 52G as shown by arrow A3. As described above, in this embodiment, since the movement direction of the workpiece W includes a component in the X-axis direction, the sway of the workpiece W may be large in the X-axis direction. Therefore, depending on the sway of the workpiece W, the workpiece W may interfere with the virtual wall 52G on the movement path. Therefore, focusing on the first region F1, which is the region in the movement direction, is effective in executing an operation plan that takes into account the sway of the workpiece W and avoids interference with obstacles in the destination region 504. The calculation of the transport path by the first control unit 111 will be described in detail below.
[0030] Returning to FIG. 4 , in step S530, the first control unit 111 calculates the margin distance M. FIG. 6 shows a calculation flow of the margin distance M executed by the first control unit 111. The margin distance M is a distance that allows interference between the workpiece W and an obstacle to be avoided, and is the distance relative to the placement position G. In step S531, the first control unit 111 first calculates a first swing width d1 using the workpiece information and design information of the hand 30 stored in the memory 120. The first swing width d1 is the maximum swing width of the workpiece W at which the hand 30 can maintain its holding of the workpiece W. The first swing width d1 varies depending on the size of the workpiece W and the design information of the hand 30. Note that the workpiece information and the design information of the hand 30 may further include the holding mode of the hand 30 relative to the workpiece W and the movement direction of the hand 30. The holding mode includes the arrangement of the suction portion 32 relative to the workpiece W.
[0031] FIG. 7 shows the size of the workpiece W (hereinafter, workpiece size s) and the first swing width d1. The first swing width d1 is also the distance or area over which the workpiece W can move when it swings relative to a predetermined reference point or edge of the workpiece W held by the hand 30 in a stationary state. The first swing width d1 appears mainly on both sides of the workpiece W in the movement direction. Specifically, in FIG. 7, the first swing width d1 appears in the +X direction and the -X direction of the workpiece W in a stationary state, as indicated by the solid line. In this embodiment, the memory 120 stores the relationship between the workpiece size s, design information of the hand 30, and the first swing width d1. This relationship is determined in advance through experiments and simulations. The first control unit 111 refers to the memory 120 to acquire the first swing width d1 corresponding to input elements including the workpiece size s and design information of the hand 30. In this embodiment, the first swing width d1 is the maximum swing width of the workpiece W at which the hand 30 maintains the hold of the workpiece W. However, the first swing width d1 may be calculated by multiplying the maximum swing width by a predetermined set value. The set value may be, for example, any value between 0.9 times and 1 times the maximum swing width.
[0032] After calculating the first fluctuation width d1, the first control unit 111 determines in step S532 of the margin distance calculation process (FIG. 6) whether the first area F1 is larger than the workpiece occupation area T, which is the sum of the workpiece size s and the first fluctuation widths d1 and d1. For example, the first control unit 111 determines whether the first area F1 in the movement direction is larger than the workpiece occupation area T.
[0033] If the first area F1 is larger than the workpiece occupation area T (step S532, YES), the first control unit 111 advances the margin distance calculation process to step S533 and sets the first fluctuation width d1 to the margin distance M.
[0034] 8 shows an example in which the first area F1 is larger than the workpiece occupation area T obtained by adding the workpiece size s and the first swing widths d1 and d1. In the example shown in FIG. 8, there is sufficient free space within the container 503. In such a case, the first control unit 111 makes a positive determination in step S532 in FIG. 6, and sets the first swing width d1 to the margin distance M in step S533. Setting the first swing width d1 to the margin distance M means that no interference occurs between the workpiece W and an obstacle even if the swing width of the workpiece W at a position separated by the margin distance M from the placement position G is the first swing width d1.
[0035] 6 , if the first area F1 is equal to or smaller than the workpiece occupation area T (step S532, NO), in step S534, the first control unit 111 sets an area equal to or smaller than the difference in workpiece size s from the first area F1 as the margin distance M. In this embodiment, as shown in FIG. 10 , the first control unit 111 calculates the margin distance M using the following formula (1).
[0036] M = (F1 - s) / 2...Equation (1) In equation (1), the margin distance M is set to half of the value obtained by subtracting the work size s from the first area F1 because, as mentioned above, the vibration of the work W appears on both sides of the work W.
[0037] 9 shows an example in which the first area F1 is equal to or smaller than the workpiece occupation area T. In the example shown in Fig. 9, there is not enough free space in the container 503. In such a case, the first control unit 111 makes a negative determination in step S532 in Fig. 6, and in step S534, calculates the margin distance M using equation (1).
[0038] FIG. 10 shows the margin distance M ((F1-s) / 2) calculated in step S534. The margin distance M shown in FIG. 10 is smaller than the margin distance M (FIG. 8) when the first area F1 is larger than the workpiece occupation area T. In the example shown in FIG. 10, if the swing width of the workpiece W at a position that is the margin distance M away from the placement position G is half ((F1-s) / 2) of the value obtained by subtracting the workpiece size s from the first area F1, no interference occurs between the workpiece W and the obstacle.
[0039] After calculating the margin distance M, the first control unit 111 calculates an operation set value using the margin distance M in step S540 of the placing operation plan ( FIG. 4 ). As described above, the operation set value is a set value for the speed and acceleration / deceleration of the hand 30. In this embodiment, the memory 120 stores a relationship between the operation set value and a second swing width d2, which is the swing width of the workpiece when the robot hand operates at the operation set value. This relationship is determined in advance through experiments and simulations. In this relationship, the second swing width d2 increases as the operation set value increases. The first control unit 111 inputs the margin distance M as the second swing width d2 into an estimation formula that indicates this relationship, and obtains the speed, acceleration, and deceleration corresponding to the second swing width d2. The estimation formula is, for example, a formula that specifies the relationship between the workpiece shape including the workpiece size s, the weight of the workpiece W, the arrangement of the suction unit 32 relative to the workpiece, design information for the suction unit 32 to be arranged on the workpiece, and the swing width. The equation for estimating the swing width may take into account, for example, the position of the center of gravity of the workpiece W and the moment acting on the suction part 32 using the conveying direction of the workpiece W.
[0040] Next, in step S550, the first control unit 111 calculates a relay point WP. The relay point WP is a position upstream of the place position G on the conveyance path from the holding position to the place position G. The first control unit 111 sets the relay point WP at a position away from the place position G by the margin distance M calculated in step S530. FIGS. 8 and 10 show the set relay point WP. The distance between the place position G and the relay point WP is the distance in the direction corresponding to the first swing width d1 and the margin distance M, and is the distance in the X-axis direction in FIGS. 8 and 10. In the Z-axis direction, the first control unit 111 sets the relay point WP at a position a predetermined distance H from the place position G in the +Z direction, which is the opening direction of the container 503.
[0041] In step S560, the first control unit 111 determines a transport path for the hand 30 to the place position G. The transport path is a path that passes through the relay point WP among paths that can avoid interference with obstacles. Furthermore, the first control unit 111 applies the operation setting values calculated in step S540 (hereinafter referred to as the first operation setting values) for the hand 30 on the transport path from the origin position to the relay point WP. The first control unit 111 applies predetermined operation setting values (hereinafter referred to as the second operation setting values) for the hand 30 from the relay point WP to the place position G. The second operation setting values are specified, for example, by a speed, acceleration, and deceleration that can stop the hand 30 without damaging the workpiece W even if the workpiece contacts the virtual wall 52G when moving the workpiece W from the relay point WP to the place position G. The speed in the second operation setting values may be a value smaller than the speed included in the first operation setting values and may be a predetermined value. For example, the speed included in the second operation setting value may be any value between 1 / 2 and 1 / 50 of the speed included in the first operation setting value. Furthermore, the acceleration and deceleration included in the second operation setting value may be greater than the acceleration and deceleration included in the first operation setting value so that the hand 30 can be stopped quickly when the workpiece W comes into contact with the virtual wall 52G.
[0042] After the placement operation plan in step S500 (FIGS. 3 and 4) is completed, in step S600, the second control unit 112 operates the hand 30 using the transfer path and operation set values calculated in the placement operation plan. In this embodiment, the second control unit 112 operates the hand 30 from the transfer origin position to the relay point WP using the first operation set values. As described above, when the first area F1 is larger than the workpiece occupation area T (FIG. 6, step S532, YES) and the first swing width d1 is set to the margin distance M (second swing width d2) (FIG. 6, step S533), the speed and acceleration / deceleration corresponding to the maximum swing width at which the hand 30 can hold the workpiece W are applied as the first operation set values. Therefore, for example, the second control unit 112 moves the hand 30 at the maximum speed at which the hand 30 can hold the workpiece W. On the other hand, when the first area F1 is smaller than the workpiece occupation area T, such as when multiple workpieces W are already placed in the container 503 (FIG. 6, step S532, NO), the speed and acceleration / deceleration corresponding to the margin distance M according to the difference between the first area F1 and the workpiece size s are applied as the first operation set values. Therefore, for example, the second control unit 112 moves the hand 30 at the highest speed among the speeds at which interference between the workpiece W and the wall-like portion 50 does not occur. From the relay point WP to the place position G, the second control unit 112 operates the hand 30 using the second operation set values that reduce the swaying of the workpiece W.
[0043] The second control unit 112 is configured to execute contact control to press the workpiece W against the virtual wall 52G. The second control unit 112 can execute contact control based on, for example, the detection value of a sensor provided in the hand 30. The sensor may be a contact detection sensor capable of detecting contact in the horizontal direction (X-axis direction, Y-axis direction). Alternatively, the sensor may be a force sensor that detects the magnitude of forces and moments acting in three directions (X-axis direction, Y-axis direction, and Z-axis direction) in real time. The second control unit 112 may analyze the imaging results of the detection device 300 to sequentially acquire position information of the workpiece W and cause the workpiece W to contact the virtual wall 52G that defines the placement position G. In this manner, the pick-and-place operation by the robot system 10 is executed.
[0044] The following describes the effects of the pick-and-place process performed by the robot system 10 and the control device 100 described above. In order to shorten the cycle time of the entire pick-and-place process, for example, it is necessary to load the workpieces W at high speed into the empty space in the container 503. However, if the speed or acceleration / deceleration of the hand 30 is increased during the placing operation, the amplitude of the vibration of the workpieces W increases, and the workpieces W held by the hand 30 may come into contact with the wall-like portion 50 of the destination area 504, which may result in damage to the workpieces W.
[0045] To address this issue, one possible method is to predetermine a certain margin distance from the placement position G to prevent damage to the workpiece W. Figure 11 shows an example in which a relatively large margin distance m1 is set as the margin distance, and the number of cycles of the placing operation is increased in the order of Figures 11(a), 11(b), and 11(c). Figure 12 shows an example in which a relatively small margin distance m2 is set as the margin distance, and the number of cycles of the placing operation is increased in the order of Figures 12(a), 12(b), and 12(c).
[0046] In the method of setting constant margin distances m1 and m2, in order to avoid interference between the workpiece W to be moved and obstacles, the free space in the container 503 must be an area equal to the size of the workpiece W to be moved (workpiece size s) plus the margin distances on both sides of the workpiece W. As shown in FIG. 11 , when a relatively large margin distance m1 is set, the workpiece W is allowed to sway within the margin distance m1, allowing the operation setting value of the hand 30 to be increased. Therefore, as shown in FIGS. 11( a) and 11(b), if there is sufficient free space in the container 503, the workpiece W can be moved at high speed and placed in the container 503. However, as the number of cycles of the placing operation increases and the free space in the container 503 becomes smaller as shown in FIG. 11(c), interference between the workpiece W and obstacles occurs, making it impossible to place the workpiece W in the container 503. Therefore, in the example shown in FIG. 11 , even though the placing operation can be performed at a higher speed, the filling rate of the workpiece W in the container 503 decreases. In other words, the loading efficiency of the workpiece W decreases.
[0047] 12, when the margin distance m2 is set relatively small, i.e., when the operation setting value of the hand 30 is reduced to slow down the speed at which the hand 30 places the workpiece W, as shown in FIGS. 12(a), 12(b), and 12(c), interference between the workpiece W and an obstacle is unlikely to occur even if the free space in the container 503 becomes smaller due to an increase in the number of cycles. Therefore, loading efficiency in the placing operation is improved. However, because an operation setting value corresponding to the relatively small margin distance m2 is used, it is not possible to achieve high-speed placing operations.
[0048] As described above, when constant margin distances m1 and m2 are used, it is difficult to achieve both an increase in the speed of the placing work and an improvement in loading efficiency.
[0049] 13A, 13B, and 13C show examples of repeating the pick-and-place process of this embodiment, increasing the number of cycles of the placement operation in the order of FIGS. 13A, 13B, and 13C. Unlike the method using constant margin distances m1 and m2 described in FIGS. 11 and 12, in this embodiment, the first control unit 111 calculates the margin distance M using the first swing width d1, the first area F1, and the workpiece size s within which the workpiece W is maintained. The margin distance M is then set as the second swing width d2, and the operation setting value corresponding to the second swing width d2 is determined. Therefore, as shown in FIG. 13A, if the first area F1 is larger than the workpiece occupation area T defined by the workpiece size s and the first swing widths d1 and d1 (FIG. 6, step S532, YES), the first swing width d1 is set as the margin distance M (FIG. 6, step S533). As the placement operation progresses, the first area F1 becomes smaller than the workpiece occupation area T, as shown in FIG. 13(b1). As shown in FIG. 13(b2), the margin distance M is set to an area equal to or smaller than the difference between the first area F1 and the workpiece size s. In this embodiment, the margin distance M is set to half the value obtained by subtracting the workpiece size s from the first area F1. Furthermore, as the number of cycles increases, the first area F1 becomes even smaller than the workpiece occupation area T, as shown in FIG. 13(c1). As a result, a smaller margin distance M is set, as shown in FIG. 13(c2). In the example of FIG. 13(a), the operation setting values for the hand 30 are the speed and acceleration / deceleration corresponding to the first swing width d1, so the workpiece W is moved at the maximum speed at which the hand 30 can hold the workpiece W. As the number of cycles increases and the first area F1 becomes smaller than the workpiece occupation area T, as shown in FIGS. 13(b2) and 13(c2), the margin distance M decreases in accordance with the first area F1. Therefore, although the operation setting value calculated using the margin distance M as the second swing width d2 also decreases corresponding to the first region F1, the workpiece W is moved by the hand 30 at the highest speed possible without interference with an obstacle.
[0050] As described above, according to this embodiment, compared to the method of setting constant margin distances m1 and m2, it is possible to avoid interference between obstacles and the workpiece W and move the workpiece W as fast as possible with the operation setting value corresponding to the second swing width d2. Therefore, it is possible to achieve a reduction in cycle time and an improvement in loading efficiency in the placement work.
[0051] Furthermore, when the first area F1 is equal to or smaller than the workpiece occupation area T, the area ((F1-s) / 2) obtained by dividing the difference in workpiece size s from the first area F1 is set as the margin distance M, so that the margin distance M can be secured on both sides of the workpiece W in the movement direction. This makes it possible to avoid collisions between the workpiece W and obstacles on both sides of the workpiece W.
[0052] Furthermore, according to this embodiment, the relay point WP is set above the place position G, so that the workpiece W can be prevented from coming into contact with an obstacle.
[0053] <Other Embodiments> In step S534 ( FIG. 6 ) in the margin distance calculation process, the first control unit 111 set the margin distance M to an area ((F1-s) / 2) obtained by dividing the difference in work size s from the first area F1. In contrast, the first control unit 111 may change the ratio of the margin distances M on both sides of the workpiece W if the total value of the margin distances M on both sides of the workpiece W is equal to or less than the difference in workpiece size s from the first area F1 (F1-s). The first control unit 111 may change the ratio of the margin distances on both sides of the workpiece W to 1:9, 2:8, or the like, depending on the holding mode of the hand 30 relative to the workpiece W and the shape of the workpiece W.
[0054] The first control unit 111 has set a relay point WP on the transport path to the place position G at a position that is a margin distance M away from the place position G and a distance H in the +Z direction from the place position G. In contrast, the first control unit 111 may further set at least one more relay points between the place position G and the relay point WP. The first control unit 111 may determine the operation set values on the path so that the closer the relay point is to the place position G, the smaller the operation set values will be.
[0055] In the above embodiment, when the first area F1 is smaller than the workpiece occupation area T (FIG. 6, step S532, NO), the first control unit 111 determines the speed and acceleration / deceleration corresponding to the margin distance M, which is determined based on the difference between the first area F1 and the workpiece size s, as the first operation set values, and uses the first operation set values from the origin position to the relay point WP. In contrast, when a negative determination is made in step S532, the first control unit 111 may not use the first operation set values from the origin position to the relay point WP, and may apply a higher speed and acceleration / deceleration upstream of the movement path. For example, the first control unit 111 may use the first operation set values corresponding to the second swing width d2 on the movement path from the position where at least a portion of the hand 30 and the workpiece W enters the first area F (FIG. 5) to the relay point WP, and (ii) use the operation set values corresponding to the first swing width d1 on at least a portion of the movement path outside the first area F. For example, the first control unit 111 may use a speed and acceleration / deceleration corresponding to the first swing width d1 from the starting position to a predetermined position outside the first area F, and adjust the speed and acceleration / deceleration so that the swing width of the workpiece W falls within the margin distance M (second swing width d2) when entering the first area F.
[0056] In the above embodiment, for simplicity, an example was shown in which the first control unit 111 calculates the first area F1, the first swing width d1, and the margin distance M for a direction parallel to the X-axis direction. Alternatively, the first control unit 111 may calculate the first area, the first swing width, and the margin distance for each directional component (X component, Y component, Z component) corresponding to the movement direction. For example, when placing the workpiece W at a placement position G defined by a first surface parallel to the YZ plane and a second surface parallel to the XZ plane, the first control unit 111 may calculate the first area, the first swing width, and the margin distance for the first surface, and the first area, the first swing width, and the margin distance for the second surface. In other words, the first control unit 111 may calculate the first area, the first swing width, and the margin distance for the X component and the Y component, respectively.
[0057] The shape of the workpiece W is not limited to a substantially box-like shape and may include various shapes, such as a bag-like shape. Furthermore, the workpiece W may be placed not only in the containers 501 and 503 but also on a shelf, a conveyor, or the floor. FIG. 14 illustrates an example in which the workpiece W to be moved in the direction of arrow A4 is placed on the floor 51a. In FIG. 14 , the first region F1 has open space in the +X and +Z directions relative to the virtual wall 52G of the workpiece W already placed on the floor 51a. Therefore, the detection device 300 does not detect the wall portion 50 opposite the virtual wall 52G that defines the placement position G. In this way, when at least two directions of the destination region 504 are open, the first control unit 111 may apply the maximum region F1a pre-stored in the memory 120 as the first region. The maximum region F1a may be determined in advance by experiment or simulation as a region sufficiently large relative to the expected workpiece occupation region T.
[0058] In the above-described holding operation plan ( FIG. 3 , step S200), the first control unit 111 may determine, as the workpiece W to be held, the workpiece W that is closest to the current position of the hand 30 among the multiple workpieces W in the container 501. Also, in step S200, the first control unit 111 may acquire second information regarding the shape of the object in the destination area 504 via the detection device 300, and use the second information to calculate a holding position of the hand 30 suitable for placing the workpiece W in a position abutting or adjacent to the wall-like portion 50. In this case, the first control unit 111 may generate, as the holding position, a position of the hand 30 that does not protrude from a predetermined side of the workpiece W when the workpiece W is viewed from the vertically upward direction (+Z direction).
[0059] The detection device 300 may be provided on the robot arm 20. Alternatively, the robot system 10 may include, as the detection device 300, a first detection device that detects first information on the source region 502 and a second detection device that detects second information on the destination region 504. In the above embodiment, the detection device 300 may capture an image of the workpiece W held by the hand 30 to acquire the height, which is the Z-axis direction component, of the workpiece W. The workpiece size s and workpiece information including the workpiece size s may be registered in advance in the memory 120.
[0060] In the above-described pick-and-place process, place operation planning process, and margin distance calculation process, the order of the steps may be changed as appropriate, or any of the steps may be performed simultaneously. For example, the second information acquisition process ( FIG. 3 , step S400) in the pick-and-place process may be performed before the holding operation planning process (step S200). Alternatively, the operation set value calculation process ( FIG. 4 , step S540) and the relay point calculation process ( FIG. 4 , step S550) in the place operation planning process may be changed or performed simultaneously. Furthermore, in the pick-and-place process, the operation system processes (steps S300, S600) may be performed after all of the planning system processes (steps S200, S500) have been completed. Alternatively, at least one of the planning system processes (steps S200, S500) and at least one of the operation system processes (steps S300, S600) may be performed simultaneously.
[0061] In the above embodiment, the suction unit 32 that suctions the workpiece W by air suction is exemplified as the hand 30. However, the suction unit 32 is not limited to air suction, and other suction methods such as magnetism or temporary adhesion may be used. Furthermore, the hand 30 may be any hand capable of performing placement work, and may be a gripping hand. Even with a gripping hand, the workpiece W will still vibrate. Therefore, by applying the above embodiment, it is possible to achieve faster placement work and improved loading efficiency.
[0062] In the above embodiment, the robot system 10 includes a single control device 100 that has the functions of the first control unit 111 and the second control unit 112. However, the robot system 10 may include a first control device that has the functions of the first control unit 111 and a second control device that has the functions of the second control unit 112.
[0063] Additionally, the functions of the elements disclosed herein can be performed using circuits or processing circuits, including general-purpose processors, special-purpose processors, integrated circuits, ASICs (Application Specific Integrated Circuits), conventional circuits, and / or combinations thereof, configured or programmed to perform the disclosed functions. A processor is considered a processing circuit or circuit because it includes transistors and other circuitry. In this disclosure, a circuit, unit, or means is hardware that performs the recited functions or hardware that is programmed to perform the recited functions. The hardware may be hardware disclosed herein or other known hardware that is programmed or configured to perform the recited functions. In the case of a processor, where the hardware is considered a type of circuit, the circuit, means, or unit is a combination of hardware and software, and the software is used to configure the hardware and / or processor.
[0064] The present disclosure is not limited to the above-described embodiments and can be realized in various forms without departing from the spirit thereof. For example, the present disclosure can also be realized in the following aspects. The technical features in the above embodiments corresponding to the technical features in each aspect described below can be appropriately replaced or combined to solve some or all of the problems of the present disclosure or to achieve some or all of the effects of the present disclosure. Furthermore, if a technical feature is not described as essential in this specification, it can be appropriately deleted.
[0065] <Form 1> According to Form 1 of the present disclosure, a control device is provided. The control device includes a control unit that executes a placing operation plan for moving a workpiece held by a robot hand to a placing position. The control unit is configured to calculate a first swing width, which is a swing width of the workpiece at which the robot hand maintains holding of the workpiece, using workpiece information including a workpiece size representing the shape of the workpiece and design information of the robot hand. The control unit is configured to calculate a margin distance from the placing position to place the workpiece at the placing position while avoiding interference between the workpiece and the obstacle, using a first area in a peripheral region including the placing position where no obstacles exist, the workpiece information, and the first swing width. The control unit is configured to determine the operation setting values on the path to the placing position using a relationship between an operation setting value including the speed and acceleration / deceleration of the robot hand and a second swing width, with the margin distance being the second swing width. The relationship is a predetermined relationship in which the second swing width increases as the operation setting value increases. The second swing range is the swing range of the workpiece when the robot hand operates at the operation set value. According to this embodiment, the control unit calculates a margin distance using the first swing range in which the workpiece is maintained, the first area, and the workpiece information, and determines the operation set value corresponding to the second swing range using the margin distance as the second swing range. The operation set value is determined using a predetermined relationship in which the second swing range increases as the operation set value increases. Therefore, when the first area is large, the hand is moved at the operation set value corresponding to a relatively large swing range. On the other hand, when the first area is small, the hand is moved at the operation set value corresponding to a relatively small swing range. Therefore, even if the first area is small, the workpiece can be placed at the placement position. As a result, it is possible to achieve both a shortened cycle time for workpiece placement work and improved workpiece loading efficiency in the surrounding area including the placement position.
[0066] <Mode 2> In the control device described in <Mode 1> above, the control unit may set the first swing width as the margin distance when the first area is larger than a workpiece occupation area defined by the sum of the workpiece size and the first swing width. According to this mode, when the first area is larger than the workpiece occupation area, the first swing width at which the workpiece is maintained is set as the final swing width (second swing width), and operation setting values are determined according to the second swing width. This allows the hand speed and acceleration / deceleration to be increased, thereby shortening the cycle time for placement work.
[0067] <Mode 3> In the control device described in <Mode 1> or <Mode 2> above, when the first area is smaller than the workpiece occupation area, which is the sum of the workpiece size and the first swing width, the control unit may set the margin distance to an area equal to or smaller than the difference in workpiece size from the first area. According to this mode, when the first area is smaller than the workpiece occupation area, an area equal to or smaller than the difference in workpiece size from the first area is set as the final swing width (second swing width), and an operation setting value according to the second swing width is determined. This improves the workpiece loading efficiency during placement work. Furthermore, the hand speed and acceleration / deceleration can be increased within the range of the second swing width. Note that in this mode, when the first area is equal to or smaller than the workpiece occupation area, the control unit may set the margin distance to an area equal to or smaller than the difference.
[0068] <Feature 4> In the control device described in the above <Feature 3>, when the first area is smaller than the workpiece occupation area, the control unit may set the margin distance to an area that is half the difference. According to this feature, a margin distance can be ensured on both sides of the workpiece in the predetermined direction. Therefore, collision between the workpiece and an obstacle can be effectively avoided.
[0069] <Mode 5> In the control device described in any of <Mode 1> to <Mode 4>, the control unit may set a relay point on the path at a position the margin distance from the place position and plan the operation of the robot hand to move the robot hand to the relay point using the operation set value. According to this mode, the operation set value of the robot hand from the place position to the relay position, which is the margin distance from the place position, can be set as large as possible. This allows for faster placement work. The control unit may also plan the operation of the robot hand to move the robot hand using the operation set value corresponding to the second swing amplitude along at least a portion of the path. The at least a portion of the path may be a path from a position where at least a portion of the robot hand and the workpiece enter the first area to the relay position. Furthermore, the control unit may plan the operation of the robot hand to move the robot hand using the operation set value corresponding to the first swing amplitude along at least a portion of the path outside the first area.
[0070] <Mode 6> In the control device according to any one of <Mode 1> to <Mode 5> above, the placing position may be a position within a recess that is open on at least one side. The placing position may be a position where, when the workpiece is placed at the placing position, the workpiece is adjacent to or abuts a wall-like portion defined by at least one of a wall that defines the recess and an object placed within the recess. According to this mode, the workpiece can be loaded into the recess.
[0071] <Mode 7> In the control device described in <Mode 6> above, the workpiece size and the margin distance may be a size and distance in a direction perpendicular to the wall-like portion. According to this mode, the workpiece size and margin distance in the direction perpendicular to the wall-like portion are used to determine the operation setting value corresponding to the swing width, thereby making it possible to rationally avoid interference between the workpiece and an obstacle.
[0072] <Feature 8> In the control device according to the above <Feature 6> or <Feature 7>, the first region may be a region within the recess. According to this feature, the recess can be filled with workpieces.
[0073] <Mode 9> In the control device according to any one of <Mode 1> to <Mode 8> above, the first swing range may be a maximum swing range at which the robot hand can maintain the workpiece. According to this mode, when the first area is larger than the workpiece occupation area, the workpiece can be transported at a speed and acceleration / deceleration (maximum speed and maximum acceleration / deceleration) corresponding to the maximum swing range at which the robot hand can maintain the workpiece held. This improves the cycle time of the placement operation.
[0074] <Mode 10> According to mode 10 of the present disclosure, a robot system is provided, including a robot arm with a robot hand and a control device. The control device is configured to execute a placing operation plan for moving a workpiece held by the robot hand to a placing position. The control device is configured to calculate a first swing width, which is a swing width of the workpiece while the robot hand maintains holding the workpiece, using workpiece information including a workpiece size representing the shape of the workpiece and design information of the robot hand. The control device is configured to calculate a margin distance from the placing position to place the workpiece at the placing position while avoiding interference between the workpiece and the obstacle, using a first area in a peripheral region including the placing position where no obstacles exist, the workpiece information, and the first swing width. The control device is configured to determine the operation setting values on the path to the placing position using a relationship between an operation setting value including the speed and acceleration / deceleration of the robot hand and a second swing width, with the margin distance being the second swing width. The relationship is a predetermined relationship in which the second swing width increases as the operation setting value increases. The second swing width is the swing width of the workpiece when the robot hand operates according to the operation setting value. The control device is configured to operate the robot arm using the operation setting value. According to this aspect, it is possible to provide a robot system that can achieve both a shortened cycle time in workpiece placement work and an improved workpiece loading efficiency in the surrounding area including the placement position.
[0075] <Mode 11> According to Mode 11 of the present disclosure, there is provided a motion planning method for planning a placing motion for moving a workpiece held by a robot hand to a placing position. The motion planning method includes a step of calculating a first swing range, which is a swing range of the workpiece while the robot hand maintains holding the workpiece, using workpiece information including a workpiece size representing the shape of the workpiece and design information of the robot hand. The motion planning method includes a step of calculating a margin distance from the placing position for placing the workpiece at the placing position while avoiding interference between the workpiece and the obstacle, using a first area in a peripheral region including the placing position where no obstacles exist, the workpiece information, and the first swing range. The motion planning method includes a step of determining the motion set values on the path to the placing position using a predetermined relationship between motion set values including the speed and acceleration / deceleration of the robot hand and a second swing range, which is a swing range of the workpiece when the robot hand operates at the motion set values, where the second swing range increases as the motion set values increase. According to this aspect, it is possible to provide an operation planning method that can achieve both a reduction in the cycle time in the workpiece placement operation and an improvement in the workpiece loading efficiency in the surrounding area including the placement position.
[0076] <Mode 12> According to Mode 12 of the present disclosure, there is provided a program for planning a placing operation to move a workpiece held by a robot hand to a placing position. The program causes a computer to execute the following steps: calculate, using workpiece information including a workpiece size representing a shape of the workpiece and design information of the robot hand, a first swing width that is a swing width of the workpiece within which the robot hand can maintain holding of the workpiece; calculate, using a first region in a peripheral area including the placing position in which no obstacles exist, the workpiece information, and the first swing width, a margin distance from the placing position for placing the workpiece at the placing position while avoiding interference between the workpiece and the obstacle; and determine, using a predetermined relationship between operation setting values including the speed and acceleration / deceleration of the robot hand and a second swing width that is a swing width of the workpiece when the robot hand operates at the operation setting values, the second swing width increasing as the operation setting values increase, using the margin distance as the second swing width. According to this aspect, it is possible to provide a program that can achieve both a reduction in the cycle time for workpiece placement work and an improvement in the workpiece loading efficiency in the surrounding area including the placement position.
[0077] The present disclosure may be realized in various forms other than those described above, such as a non-transitory storage medium on which a computer program for implementing at least one function of the control device 100, the first control unit 111, and the second control unit 112 is recorded.
[0078] 10: Robot system, 20: Robot arm, 21: Arm tip, 25: First actuator, 30: Hand, 31: Base, 32: Suction unit, 35: Second actuator, 50: Wall-like portion, 51: Wall, 51a: Floor, 52, 52G: Virtual wall, 100: Control device, 110: CPU, 111: First control unit, 112: Second control unit, 120: Memory, 130: Interface circuit, 300: Detection device, 400: Input device, 501: Container, 502: Movement source area, 503: Container, 504: destination area, A1, A2, A3, A4: arrows indicating the direction of movement, F, F1: first area, F1a: maximum area, G: place position, H: distance, J: joint, L: link, M: margin distance, P: virtual plane, P1: program, P2: program, RP: predetermined position in the work, T: work occupation area, W: work, W1: work placement area, WP: relay point, d1: first swing width, d2: second swing width, m1, m2: margin distance in the reference example, s: work size
Claims
1. A control device comprising a control unit that executes a placement operation plan for moving a workpiece to be moved, held by a robot hand, to a placement position, wherein the control unit calculates a first swing width, which is a swing width of the workpiece maintained by the robot hand, using workpiece information including a workpiece size representing the shape of the workpiece and design information of the robot hand, calculates a margin distance with respect to the placement position for arranging the workpiece at the placement position while avoiding interference between the workpiece and an obstacle using a first area where no obstacle exists in a peripheral area including the placement position, the workpiece information, and the first swing width, and determines the operation setting value in the path to the placement position using a predetermined relationship in which a second swing width, which is a swing width of the workpiece when the robot hand operates with the operation setting value, increases as the operation setting value increases, with the margin distance as the second swing width. Control device.
2. The control device according to claim 1, wherein the control unit sets the first swing width as the margin distance when the first area is larger than a workpiece occupancy area obtained by combining the workpiece size and the first swing width. Control device.
3. The control device according to claim 1, wherein the control unit sets an area equal to or less than a difference between the workpiece size and the first area as the margin distance when the first area is smaller than a workpiece occupancy area obtained by combining the workpiece size and the first swing width. Control device.
4. The control device according to claim 3, wherein the control unit sets an area equal to half of the difference as the margin distance when the first area is smaller than the workpiece occupancy area. Control device.
5. The control device according to claim 1, wherein the control unit sets a relay point in the path at a position of the margin distance from the placement position and plans the operation of the robot hand to move the robot hand to the relay point with the operation setting value. Control device.
6. The control device according to claim 1, wherein the place position is a position within a recess that is open in at least one direction, and when the workpiece is placed at the place position, it is a position where the workpiece is adjacent to or in contact with a wall-like portion defined by at least one of the wall defining the recess and an object disposed within the recess.
7. The control device according to claim 6, wherein the workpiece size and the margin distance are sizes and distances in a direction orthogonal to the wall-like portion.
8. The control device according to claim 6, wherein the first region is a region within the recess.
9. The control device according to claim 1, wherein the first swing width is the maximum swing width at which the holding of the workpiece by the robot hand is maintained.
10. A robot system comprising: a robot arm having a robot hand; and a control device that executes a place operation plan for moving a workpiece to be moved held by the robot hand to a place position, wherein the control device calculates a first swing width, which is a swing width of the workpiece at which the holding of the workpiece by the robot hand is maintained, using workpiece information including a workpiece size representing the shape of the workpiece and design information of the robot hand, calculates a margin distance with respect to the place position for avoiding interference between the workpiece and an obstacle and placing the workpiece at the place position using a first region where no obstacle exists in a peripheral region including the place position, the workpiece information, and the first swing width, determines an operation set value in a path to the place position using the margin distance as the second swing width based on a predetermined relationship in which the second swing width increases as the operation set value increases, the relationship being between the operation set value including the speed and acceleration / deceleration of the robot hand and the second swing width, which is the swing width of the workpiece when the robot hand operates with the operation set value, and operates the robot arm using the operation set value.
11. An operation planning method for planning a placement operation for moving a work to be moved held by a robot hand to a placement position, the method comprising: calculating a first swing width that is a swing width of the work maintained by the robot hand using work information including a work size representing the shape of the work and design information of the robot hand; calculating a margin distance with respect to the placement position for placing the work at the placement position while avoiding interference between the work and an obstacle using a first region where no obstacle exists in a peripheral region including the placement position, the work information, and the first swing width; determining the operation setting value in the path to the placement position with the margin distance as the second swing width using a predetermined relationship in which the second swing width increases as the operation setting value increases, the relationship being between the operation setting value including the speed and acceleration / deceleration speed of the robot hand and the second swing width that is the swing width of the work when the robot hand operates with the operation setting value.
Citation Information
Patent Citations
Automatic cargo loading device
JP1993221526A
Position and attitude controlling method using visual servo
JP2003117867A
Simulation apparatus, method, and program
JP2019150887A
Cited By
Cooperative grabbing control method and system for multi-suction-nozzle mechanical arm
CN122481002A