Robot control system, robot control method, and information storage medium

Through the coordinated control of the clamping and suction of the suction device by two robot control modules, the problem of poor stability of objects in the prior art during the transport process is solved, and the object support and transport in a stable state is achieved.

CN119175702APending Publication Date: 2024-12-24YASKAWA DENKI KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202410806474.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-06-23
Filing Date
2024-06-21
Publication Date
2024-12-24

AI Technical Summary

Technical Problem

The prior art is difficult to support and transport objects of uncertain shape in a stable state, and there is a risk of falling or losing balance.

Method used

Using a robot system controlled by two robot control modules, the first robot and the second robot cooperate to support and transport different parts of the amorphous object, and clamp and suction using the suction device to ensure that the object is in the conveying process. stability.

Benefits of technology

It realizes supporting and transporting objects of uncertain shapes in a stable state, reducing the risk of falling and losing balance, and improving the safety and reliability of objects during the transportation process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119175702A_ABST
    Figure CN119175702A_ABST
Patent Text Reader

Abstract

The invention relates to a robot control system, a robot control method, and an information storage medium. In order to support an unshaped object in a state of being placed in a predetermined position in a steady state to transport the unshaped object, a robot control system (1) includes a first robot (30) and a second robot (40). A first robot control module (101) controls a first robot (30) such that the first robot (30) supports a first portion of an unshaped object (OB) placed in a predetermined position. The second robot control module (201) controls the second robot (40) such that the second robot (40) supports a second portion of the unshaped object to convey the unshaped object (OB) in cooperation with the first robot (30), the second portion being different from the first portion.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a robot control system, a robot control method, and an information storage medium. Background Art

[0002] For example, in Japanese Patent Application Publication No. 2011-062788, a manipulator device is described, including: a base; a plurality of end arms connected to the base and capable of supporting an object at their ends; a drive device for changing the position and posture of the end arms relative to the base; and a control device for controlling the drive device so as to control the position and posture of the object. Summary of the invention

[0003] An object of the present disclosure is to support an indefinite shape object in a state of being placed at a predetermined position in a stable state, for example, to convey the indefinite shape object.

[0004] According to at least one aspect of the present disclosure, a robot control system is provided, comprising: a first robot; a second robot; a first robot control module, which is configured to control the first robot so that the first robot supports a first part of an amorphous object placed at a predetermined position; and a second robot control module, which is configured to control the second robot so that the second robot supports a second part of the amorphous object to cooperate with the first robot to transport the amorphous object, the second part being different from the first part.

[0005] According to the present disclosure, for example, an indefinite shape object in a state of being placed at a predetermined position can be supported in a stable state to convey the indefinite shape object. BRIEF DESCRIPTION OF THE DRAWINGS

[0006] Figure 1 is a diagram for illustrating an example of a hardware configuration of a robot control system.

[0007] Figure 2 is a diagram for illustrating an example of a space in which a first robot controller, a second robot controller, a first robot, and a second robot are arranged.

[0008] Figure 3 is a diagram for illustrating an example of a shooting position.

[0009] Figure 4 is a diagram for illustrating an example of operations of the first robot and the second robot.

[0010] Figure 5 is a diagram for illustrating an example of operations of the first robot and the second robot.

[0011] Figure 6 is a diagram for illustrating an example of operations of the first robot and the second robot.

[0012] Figure 7 is a diagram for illustrating an example of functions implemented in the robot control system.

[0013] Figure 8 is a diagram for illustrating an example of movement paths of the first robot and the second robot.

[0014] Fig. 9 is a flowchart for illustrating an example of a process performed by the robot control system.

[0015] Fig.10 is a diagram for illustrating an example of functions implemented in a robot control system according to a modified example.

[0016] Fig.11 is a diagram for illustrating an example of a hardware configuration of a robot control system according to Modification Example 1.

[0017] Fig.12 : is a diagram for illustrating an example of a first supporting position and a second supporting position corresponding to the center of gravity.

[0018] Fig.13 OB is a diagram for illustrating an example of a state in which each of the first attraction device and the second attraction device attracts the indefinite shape object OB in an orientation corresponding to the indefinite shape object. DETAILED DESCRIPTION

[0019] 【1.Hardware configuration of robot control system】

[0020] An example of an embodiment of a robot control system, a robot control method, and a program according to the present disclosure is described. Figure 1 1 is a diagram for illustrating an example of a hardware configuration of a robot control system. For example, the robot control system 1 includes a first robot controller 10 , a second robot controller 20 , a first robot 30 , and a second robot 40 .

[0021] The first robot controller 10 is a device for controlling the first robot 30. The first robot controller 10 is connected to the first robot 30 via a cable such as a power line or a signal line. The first robot controller 10 is connected to the second robot controller 20 so as to allow communication therebetween via a network such as an industrial network or a LAN. For example, the first robot controller 10 includes a CPU 11, a storage unit 12, and a communication unit 13.

[0022] For example, the CPU 11 includes at least one processor. The storage unit 12 includes at least one of a volatile memory or a non-volatile memory. The communication unit 13 includes at least one of a communication interface for wired communication or a communication interface for wireless communication. The first robot controller 10 also includes other hardware such as a power supply unit for supplying power to at least one motor included in the first robot 30.

[0023] The second robot controller 20 is a device for controlling the second robot 40. The second robot controller 20 is connected to the second robot 40 via a cable such as a power line or a signal line. The second robot controller 20 is connected to the first robot controller 10 so as to allow communication therebetween via a network such as an industrial network or a LAN. A master-slave relationship may exist between the first robot controller 10 and the second robot controller 20. For example, the first robot controller 10 may operate based on an instruction from the second robot controller 20. Conversely, the second robot controller 20 may operate based on an instruction from the first robot controller 10.

[0024] For example, the second robot controller 20 includes a CPU 21, a storage unit 22, and a communication unit 23. The hardware configurations of the CPU 21, the storage unit 22, and the communication unit 23 may be similar to those of the CPU 11, the storage unit 12, and the communication unit 13, respectively. The second robot controller 20 also includes other hardware such as a power supply unit for supplying power to at least one motor included in the second robot 40.

[0025] The first robot 30 is a device including at least one motor controlled by the first robot controller 10. In this embodiment, the case where the first robot 30 is a vertical articulated robot is described, but the first robot 30 can be of any type and is not limited to a vertical articulated robot. For example, the first robot 30 can be a horizontal articulated robot, a parallel linkage robot, or a Cartesian robot. The first robot 30 can have any number of axes, such as any one of 4 to 7 axes.

[0026] For example, the first robot 30 includes at least one first attraction device 31. In this embodiment, as an example, the case where the first attraction device 31 is a suction device is described, but the first attraction device 31 only needs to be a device capable of attracting an object, and is not limited to a suction device. For example, the first attraction device 31 can be a robot hand including a suction pad, a device for attracting an object by magnetic force, or a device for attracting an object by electrostatic force. The first robot 30 does not need to include the first attraction device 31, and can support the object by an end effector that does not have an attraction function. For example, the first robot 30 can support the object by a robot hand or a plate that does not have an attraction function.

[0027] For example, the first suction device 31 is a suction device including a suction cup to be in contact with an object and a pump for suction. The first suction device 31 generates a vacuum state between the suction cup and the object in contact with the suction cup by the pump. The first suction device 31 can be any type of suction device, and is not limited to a suction device including a suction cup. For example, the first suction device 31 can be a pad-shaped suction device that does not include a suction cup, or can be a suction device called a vacuum gripper.

[0028] For example, the first robot 30 includes at least one camera 32. The camera 32 may also be referred to as a "visual sensor". In this embodiment, the case where the camera 32 is a 3D camera is described, but the camera 32 may be of any type and is not limited to a 3D camera. For example, the camera 32 may be a 2D camera (a camera without a depth sensor) or an infrared camera. The camera 32 may generate a moving image by continuously capturing images at a predetermined frame rate, or may generate a still image without continuously capturing images.

[0029] The second robot 40 is a device including at least one motor controlled by the second robot controller 20. In this embodiment, the case where the second robot 40 is a vertical articulated robot is described, but the second robot 40 may be of any type as with the first robot 30. The number of axes of the second robot 40 may be any number of axes, similar to the first robot 30. The second robot 40 is a robot physically independent of the first robot 30.

[0030] For example, the second robot 40 includes at least one second suction device 41. The hardware configuration of the second suction device 41 may be similar to the hardware configuration of the first suction device 31. In this embodiment, as an example, the case where the first suction device 31 and the second suction device 41 are both suction devices is described, but the first suction device 31 and the second suction device 41 may be different types of devices from each other. For example, the first suction device 31 may be a suction device, and the second suction device 41 may be a robot hand without a suction function. For example, the first suction device 31 may be a robot hand without a suction function, and the second suction device 41 may be a suction device.

[0031] At least one of the first robot 30 or the second robot 40 may include a suction device for sucking an amorphous object (an amorphous object or a flexible object). The suction device of the at least one robot may be a suction device for sucking an amorphous object, or may be the other suction devices mentioned above. For example, the first robot 30 may include a first suction device 31, and the second robot 40 may include an end effector without a suction function instead of including the second suction device 41. The first robot 30 may include an end effector without a suction function instead of including the first suction device 31, and the second robot 40 may include the second suction device 41. In the following, when the first suction device 31 and the second suction device 41 are not distinguished from each other, the first suction device 31 and the second suction device 41 are sometimes referred to as "suction devices" for short.

[0032] The program or data stored in the storage unit 12 may be provided to the first robot controller 10 via a network such as an industrial network, the Internet, or a LAN. The program or data stored in the storage unit 22 may be provided to the second robot controller 20 via the network. For example, at least one of the first robot controller 10 or the second robot controller 20 may include at least one of a reading unit (e.g., a memory card slot) for reading a computer-readable information storage medium or an input / output unit (e.g., a USB terminal) for connecting to an external device. The program or data stored in the computer-readable information storage medium may be provided to at least one of the first robot controller 10 or the second robot controller 20 via the reading unit or the input / output unit.

[0033] In addition, various types of hardware may be applied to the first robot controller 10, the second robot controller 20, the first robot 30, and the second robot 40. The hardware configurations of the first robot controller 10, the second robot controller 20, the first robot 30, and the second robot 40 are not limited to the above examples. For example, at least one of the first robot controller 10 or the second robot controller 20 may include a circuit such as an FPGA or an ASIC. In this embodiment, a case where the CPU 11 or 21 corresponds to a configuration referred to as a "circuit" is described, but another circuit such as an FPGA or an ASIC may correspond to the circuit.

[0034] Furthermore, the devices included in the robot control system 1 are not limited to Figure 1The robot control system 1 may include any device. For example, the robot control system 1 may include a host controller for controlling the first robot controller 10 and the second robot controller 20. For example, the robot control system 1 may include sensors such as motor encoders, torque sensors, position sensors, acceleration sensors, gyroscopes, pressure sensors, or contact sensors. These sensors may be connected to at least one of the first robot controller 10 or the second robot controller 20, or may be included in at least one of the first robot 30 or the second robot 40. The second robot 40 may include a camera similar to the camera 32.

[0035] Further, the first robot 30 and the second robot 40 may be controlled by one robot controller. For example, the first robot controller 10 may control the first robot 30 and the second robot 40. In this case, the robot control system 1 does not include the second robot controller 20. Conversely, the second robot controller 20 may control the first robot 30 and the second robot 40. In this case, the robot control system 1 does not include the first robot controller 10. The robot control system 1 may include at least one of another robot controller other than the first robot controller 10 and the second robot controller 20 or another robot other than the first robot 30 and the second robot 40.

[0036] 【2. Overview of robot control system】

[0037] Figure 2 1 is a diagram for illustrating an example of a space in which a first robot controller 10, a second robot controller 20, a first robot 30, and a second robot 40 are arranged. For example, the first robot controller 10, the second robot controller 20, the first robot 30, and the second robot 40 are arranged in a facility such as a factory. In this embodiment, the first robot 30 and the second robot 40 grip and support an indefinite object OB placed on a workbench T.

[0038] The unshaped object OB is an object of an indefinite shape. The unshaped object OB may also be referred to as a "flexible object". The shape of the unshaped object OB is easily changed. When a certain amount of force is applied to the unshaped object OB, the shape of the unshaped object OB changes. For example, the unshaped object OB is an object placed in a bag or an object covered with a cushioning material. The bag or cushioning material is also part of the unshaped object OB. The unshaped object OB may be placed at any location except the workbench T. For example, the unshaped object OB may be placed on the floor, the ground, a conveying robot, a shelf, a packaging material, or other locations.

[0039] In this embodiment, the case where the plastic bag in which the contents are packed corresponds to the amorphous object OB is described, but the amorphous object OB may be any object and is not limited to the plastic bag. For example, the amorphous object OB may be a polyethylene bag, an aluminum metallized bag, a paper bag, a jute bag, a flexible intermediate bulk container, an infusion bag, or other bags in which the contents are packed. For example, as the contents packed therein, the amorphous object OB may have a raw material or a material of a product produced in a factory.

[0040] For example, an amorphous object OB is packed in a packing material such as a corrugated cardboard. The first robot controller 10 controls the first robot 30 so that the first robot 30 cuts the packing material using a blade of a cutter. The second robot controller 20 controls the second robot 40 so that the second robot 40 fixes the packing material. After the cutting of the packing material is completed, at least a portion of the packing material is removed. It is assumed that the end effector of at least one of the first robot 30 or the second robot 40 is installable and removable. Instead of the first robot 30 and the second robot 40, the unpacking of the packing material can be performed by a worker.

[0041] For example, the indefinite object OB is placed on a workbench T disposed between the first robot 30 and the second robot 40. When the opening portion of the indefinite object OB is taped, for example, the opening portion of the indefinite object OB may be opened by the first robot 30, the second robot 40, another robot, or a worker. Figure 2 In the example of FIG. 1 , the indefinite-shaped object OB is arranged on the workbench T so that its opening portion is directed upward. Near the workbench T, a storage container C for storing the contents of the indefinite-shaped object OB is arranged.

[0042] For example, the first robot 30 and the second robot 40 grip and support the unshaped object OB with its opening portion opened, and convey the unshaped object OB to a position above the storage container C. The first robot 30 and the second robot 40 rotate the unshaped object OB so that the opening portion of the unshaped object OB points downward, and cause the content of the unshaped object OB to fall into the storage container C. The first robot controller 10 and the second robot controller 20 are synchronized with each other so as to control the first robot 30 and the second robot 40 to perform these series of operations.

[0043] In this embodiment, the first robot controller 10 controls the first robot 30 so that the first robot 30 photographs the indefinite shape object OB by using the camera 32 so as to recognize the position of the indefinite shape object OB and the overall shape of the indefinite shape object OB. Before the indefinite shape object OB is conveyed by the first robot 30 and the second robot 40, the indefinite shape object OB is photographed by the camera 32. In this embodiment, the indefinite shape object OB is photographed from each of a plurality of predetermined photographing positions.

[0044] Figure 3 10 is a diagram for illustrating an example of a photographing position. For example, the first robot controller 10 recognizes a position in a real space by using a coordinate system in which an X10 axis, a Y10 axis, and a Z10 axis are set around an origin O10 corresponding to a base on which the first robot 30 is arranged. The coordinate system may be any coordinate system used in robot control and is not limited to Figure 3 For example, a coordinate system may be set for each axis of the first robot 30.

[0045] exist Figure 3 In the example of , a shooting position FP1 on the upper side of the indefinite object OB and a shooting position FP2 on the lateral side of the indefinite object OB are predetermined. At the shooting position FP1, a shooting direction FD1 in the negative direction of the Z10 axis is determined. At the shooting position FP2, a shooting direction FD2 in the positive direction of the X10 axis is determined. For example, the first robot controller 10 controls the first robot 30 so that the camera 32 shoots the indefinite object OB from the shooting position FP1 along the shooting direction FD1. Then, the first robot controller 10 controls the first robot 30 so that the camera 32 shoots the indefinite object OB from the shooting position FP2 along the shooting direction FD2.

[0046] The combination of shooting position and shooting direction is not limited to Figure 3 There are two combinations of the illustrated examples. There may be only one combination of the shooting position and the shooting direction, or there may be three or more combinations of the shooting position and the shooting direction. For example, the first robot controller 10 may control the first robot 30 so that the camera 32 uniformly shoots the indefinite object OB while moving around the indefinite object OB. There is no need to predetermine the combination of the shooting position and the shooting direction. For example, the first robot controller 10 may determine the combination of the shooting position and the shooting direction when the shooting image is generated by the camera 32.

[0047] For example, the first robot controller 10 analyzes the captured image generated by the camera 32 and recognizes the position of the indefinite object OB and the shape of the indefinite object OB. As a recognition method, any method used in the field of image processing can be used. For example, the first robot controller 10 can recognize the shape of the indefinite object OB based on a machine learning method such as a neural network or based on a pattern of feature points extracted from the captured image. The first robot controller 10 determines the support position of the indefinite object OB based on the position of the indefinite object OB and the shape of the indefinite object OB.

[0048] For example, the first robot controller 10 transmits the unshaped object data indicating the position of the unshaped object OB and the shape of the unshaped object OB to the second robot controller 20. The unshaped object data only needs to be data in a format capable of representing the three-dimensional position of the object and the three-dimensional shape of the object. For example, the unshaped object data may be data in a format adopted in 3D-CAD software. The unshaped object data may be point cloud data indicating the side of the unshaped object OB, or data indicating the contour line of the surface of the unshaped object OB. The second robot controller 20 receives the unshaped object data from the first robot controller 10.

[0049] For example, when the indefinite shape object data is represented by a coordinate system using the first robot 30 as a reference, the second robot controller 20 converts the indefinite shape object data into a coordinate system using the second robot 40 as a reference. Figure 3 In the example of , the second robot controller 20 converts the coordinates indicated by the indefinite object data into a coordinate system in which the axis X20, the axis Y20, and the axis Z20 are set around the origin O20 corresponding to the base on which the second robot 40 is arranged. It is assumed that the second robot controller 20 recognizes the relative positional relationship between the first robot 30 and the second robot 40 in advance, and stores information (e.g., a matrix) for performing coordinate conversion in the storage unit 22 in advance. The conversion of the coordinate system can be performed by the first robot controller 10.

[0050] For example, the first robot controller 10 determines the first support position of the first suction device 31 supporting the amorphous object OB based on the amorphous object data. The first support position is the position where the first suction device 31 contacts the amorphous object OB. The first robot controller 10 controls the first robot 30 so that the first suction device 31 moves to the first support position. The second robot controller 20 determines the second support position of the second suction device 41 supporting the amorphous object OB based on the amorphous object data. The second support position is the position where the second suction device 41 contacts the amorphous object OB. The second robot controller 20 controls the second robot 40 so that the second suction device 41 moves to the second support position.

[0051] Figures 4 to 6 is a diagram for illustrating an example of operations of the first robot 30 and the second robot 40 . Figures 4 to 6 Only the vicinity of the distal ends of the first robot 30 and the second robot 40 (the vicinity of the first suction device 31 and the second suction device 41 ) are shown. Figure 4 Reference symbol P10 indicates a first initial position, which is the initial position of the first robot 30. Reference symbol P20 indicates a second initial position, which is the initial position of the second robot 40. The first initial position P10 and the second initial position P20 only need to be predetermined positions. Figure 4 and Figure 5 On the upper side, the storage container C is omitted.

[0052] For example, Figure 4 As shown in the upper side of the figure, the first robot controller 10 controls the orientation of the first suction device 31 so that the suction cup of the first suction device 31 points to the amorphous object OB at the first initial position P10. The first robot controller 10 controls the first robot 30 so that the first suction device 31 approaches the first supporting position P11 from the first initial position P10. The second robot controller 20 controls the orientation of the second suction device 41 so that the suction cup of the second suction device 41 points to the amorphous object OB at the second initial position P20. The second robot controller 20 controls the second robot 40 so that the second suction device 41 approaches the second supporting position P21 from the second initial position P20.

[0053] For example, Figure 4 , when the first suction device 31 moves to the first supporting position P11 and the first suction device 31 sucks the indefinite object OB with a certain degree of suction pressure, the first robot controller 10 controls the first robot 30 so that the first suction device 31 stops moving. When the second suction device 41 moves to the second supporting position P21 and the second suction device 41 sucks the indefinite object OB with a certain degree of suction pressure, the second robot controller 20 controls the second robot 40 so that the second suction device 41 stops moving. With these series of operations, the indefinite object OB is clamped between the first robot 30 and the second robot 40.

[0054] Afterwards, the first robot controller 10 and the second robot controller 20 are synchronized with each other to control the first robot 30 and the second robot 40 so that the indefinite-shaped object OB is transported to a position above the storage container C. For example, Figure 5As shown in the upper side of the example, the first robot controller 10 controls the first robot 30 so that the first robot 30 conveys the indefinite object OB in an upward direction. The second robot controller 20 controls the second robot 40 so that the second robot 40 conveys the indefinite object OB in an upward direction. Figure 5 As shown in the lower side of the figure, the first robot controller 10 controls the first robot 30 so that the first robot 30 conveys the unshaped object OB to a position above the storage container C. The second robot controller 20 controls the second robot 40 so that the second robot 40 conveys the unshaped object OB to a position above the storage container C.

[0055] For example, Figure 6 , when the amorphous object OB moves to a position above the storage container C, the first robot controller 10 controls the first robot 30 so that the first robot 30 stops moving. When the amorphous object OB moves to a position above the storage container C, the second robot controller 20 controls the second robot 40 so that the second robot 40 stops moving. Thereafter, the first robot controller 10 controls the first robot 30 so that the first attraction device 31 rotates. The second robot controller 20 controls the second robot 40 so that the second attraction device 41 rotates.

[0056] For example, Figure 6 As illustrated on the lower side, when the first suction device 31 and the second suction device 41 rotate, the content of the amorphous object OB falls into the storage container C. When the content begins to fall into the storage container C, the amorphous object OB is deformed. When the content of the amorphous object OB completely falls into the storage container C, the first robot controller 10 controls the first robot 30 so that the suction of the first suction device 31 is stopped. When the content of the amorphous object OB completely falls into the storage container C, the second robot controller 20 controls the second robot 40 so that the suction of the second suction device 41 is stopped after the amorphous object OB moves to another position. The amorphous object OB (for example, only a plastic bag) in the state of taking out the content is arranged to another position.

[0057] For example, the first robot 30 and the second robot 40 perform operations in a similar flow every time the next indefinite shape object OB is placed on the work table T. The robot control system 1 of this embodiment can convey the indefinite shape object OB in a stable state by the first robot 30 and the second robot 40, which support the indefinite shape object OB in a state of being placed on the work table T and convey the indefinite shape object OB. Now, the details of the robot control system 1 are described.

[0058] 【3. Functions implemented in the robot control system】

[0059] Figure 7 is a diagram for illustrating an example of functions implemented in the robot control system 1 .

[0060] 【3-1. Functions implemented in the first robot controller】

[0061] For example, the first robot controller 10 includes a first data storage unit 100 and a first robot control module 101. The first data storage unit 100 is implemented by the storage unit 12. The first robot control module 101 is implemented by the CPU 11.

[0062] [First data storage unit]

[0063] The first data storage unit 100 stores data required for the first robot controller 10 to control the first robot 30. For example, the first data storage unit 100 stores a program including a code (command) indicating the control content of the first robot 30. The program can be written in any language, such as a robot language or a ladder diagram language. Any code used in these languages ​​can be used. For example, the program includes at least one of a code for moving the first robot 30 or a code for changing the orientation (posture) of the first robot 30.

[0064] For example, the first data storage unit 100 stores a shape recognition program for allowing the first robot controller 10 to recognize the shape of the indefinite shape object OB based on the captured image generated by the camera 32. The shape recognition program includes a code for recognizing the shape of the indefinite shape object OB based on the captured image generated by the camera 32. For example, assuming that when the surface of the indefinite shape object OB is curved, the shape of the curved surface is also recognized by the shape recognition program.

[0065] The shape recognition program may be a program used in well-known object detection. In this embodiment, the camera 32 is a 3D camera, and thus the shape recognition program includes a code for recognizing the shape of the indefinite object OB based on a captured image captured by the 3D camera (an image including the depth between the camera 32 and the object). For example, the shape recognition program recognizes the three-dimensional shape of the indefinite object OB based on a plurality of captured images captured by the camera 32. Further, when the position and shape of the indefinite object OB are the same each time, the process for recognizing the position and shape of the indefinite object OB may be omitted.

[0066] For example, the first data storage unit 100 stores a first robot control program that instructs a series of operations for the first robot 30 to support and convey an indefinite object OB. The first robot control program includes a code for determining a first supporting position P11 at which the first suction device 31 supports the indefinite object OB based on the shape of the indefinite object OB. The first robot control program includes a code for determining a center point or its vicinity (e.g., a position within a predetermined distance from the center point) in a surface on the first robot 30 side of the side of the indefinite object OB as the first supporting position P11 of the first robot 30. The first robot control program includes a code for calculating a path from a first initial position P10 of the first robot 30 to the determined first supporting position P11.

[0067] Figure 8 is a diagram for illustrating an example of movement paths of the first robot 30 and the second robot 40 . Figure 8 Reference numeral MP1 indicates a first moving path, which is a moving path of the first robot 30. Reference numeral MP2 indicates a second moving path, which is a moving path of the second robot 40. Any algorithm for robot control can be used as an algorithm for calculating the first moving path MP1. For example, the first robot control program may include a code for calculating a moving path based on linear interpolation, circular interpolation, or spline interpolation. In this embodiment, the first robot control program includes, in addition to codes indicating these algorithms, a code for the operation of the first robot 30 rotating the first attraction device 31.

[0068] For example, the first robot control program includes a code for moving the first attraction device 31 to a first initial position P10. The first initial position P10 is pre-specified by a user of the robot control system 1. The first robot control program includes a code for moving the first attraction device 31 from the first initial position P10 to a first support position P11. The first robot control program includes a code for moving the first attraction device 31 from the first support position P11 to a first target position P12. The first target position P12 only needs to be a predetermined position. For example, the first target position P12 is a position above the storage container C. The first robot control program includes a code for rotating the first attraction device 31 at the first target position P12.

[0069] For example, the first robot control program includes a code for controlling the orientation of the first attraction device 31 at various positions. The orientation of the first attraction device 31 at the first initial position P10 can be any direction, and it is only required that the suction cup of the first attraction device 31 points to the side of the amorphous object OB when the first attraction device 31 reaches the first support position P11. For example, the first robot control program includes a code for controlling the orientation of the first attraction device 31 so that the first attraction device 31 attracts the first support position P11 corresponding to the center of gravity of the amorphous object OB. For example, the horizontal position of the first support position P11 can be the same as the horizontal position of the center of gravity of the amorphous object OB. The vertical position of the first support position P11 can be lower than the vertical position of the center of gravity of the amorphous object OB. In this embodiment, during the conveying of the amorphous object OB, the orientation of the first attraction device 31 after reaching the first support position P11 remains constant, but the first robot control program may include a code for changing the orientation of the first attraction device 31 after reaching the first support position P11.

[0070] For example, the first robot control program may include at least one of a code for controlling the on / off of the suction performed by the first suction device 31 or a code for changing the suction force (attractive force) of the first suction device 31. For example, the first robot control program includes a code for turning on the suction performed by the first suction device 31 until the first suction device 31 reaches the first supporting position P11 or after the first suction device 31 reaches the first supporting position P11. The first robot control program includes a code for turning off the suction performed by the first suction device 31 after the first suction device 31 reaches the first target position P12 and the contents of the amorphous object OB fall into the storage container C. These series of operations described above are defined in the first robot control program.

[0071] The data stored by the first data storage unit 100 is not limited to the above examples. For example, the first data storage unit 100 may store other programs in addition to the shape recognition program and the first robot control program. Further, the data stored by the first data storage unit 100 is not limited to the program. For example, the first data storage unit 100 may store first moving path data indicating the first moving path MP1. When the first robot controller 10 calculates the second moving path MP2, the first data storage unit 100 may store second moving path data indicating the second moving path MP2. For example, the first data storage unit 100 may store parameters referenced by the above programs. The parameters may be any parameters used in robot control. For example, the parameters may be position parameters indicating the position of the motor in the first robot 30 or values ​​detected by various sensors such as torque sensors.

[0072]

First robot control module

[0073] The first robot control module 101 controls the first robot 30 based on the program and parameters stored in the first data storage unit 100. The first robot control module 101 controls the first robot 30 so that the first robot 30 supports a portion (first portion) of the indefinite object OB placed on the workbench T. The portion is a portion of the indefinite object OB that contacts the first robot 30. For example, the portion is a portion of the indefinite object OB that contacts the first attraction device 31. In this embodiment, "support" is a concept including attraction, suction, and gripping.

[0074] The workbench T is an example of a predetermined position. Therefore, the portion described as the workbench T may be reread as a predetermined position. As described above, the indefinite object OB may be placed at any position other than the workbench T. Therefore, the predetermined position is not limited to the workbench T. The first robot control module 101 controls the first robot 30 so that the first robot 30 supports a portion of the indefinite object OB to convey the indefinite object OB. In this embodiment, the operations of the first robot controller 10 and the second robot controller 20 are synchronized with each other, so the first robot control module 101 controls the first robot 30 so that the first robot 30 supports a portion of the indefinite object OB to cooperate with the second robot 40 to convey the indefinite object OB.

[0075] For example, the first robot control module 101 controls the first robot 30 based on the shape recognition program and the first robot control program. The first robot control module 101 executes the shape recognition program to recognize the position and shape of the unshaped object OB. The first robot control module 101 generates unshaped object data indicating the position and shape of the unshaped object OB, and stores the unshaped object data in the first data storage unit 100. The first robot control module 101 transmits the unshaped object data to the second robot controller 20. The unshaped object data may be generated by another device such as a programmable logic controller (PLC) or a vision controller, and may be transmitted from the other device to each of the first robot controller 10 and the second robot controller 20.

[0076] For example, the first robot control module 101 determines the first moving path MP1 and the orientation of the first suction device 31 on the first moving path MP1 based on the amorphous object data and the first robot control program. The first robot control module 101 obtains a pre-specified moment to turn on or off the first suction device 31. The first robot control module 101 may turn on the first suction device 31 at the moment when the first suction device 31 contacts the amorphous object OB or after the first suction device 31 contacts the amorphous object OB (for example, after a predetermined time period has passed since the first suction device 31 has stopped). The first robot control module 101 controls the first robot 30 so that the first suction device 31 moves on the calculated first moving path MP1 with the calculated orientation, and at the calculated moment, turns on or off the suction of the first suction device 31.

[0077] For example, the first robot control module 101 includes a first gripping control module 102. The first gripping control module 102 controls the first robot 30 so that the first robot 30 grips the unshaped object OB and supports it between the first robot 30 and the second robot 40. The first gripping control module 102 controls the first robot 30 so that the first robot 30 moves in the same direction as the second robot 40 exerts force on the unshaped object OB (in the direction of the gripping control module 102). Figure 8 In the example of FIG. 1 , the direction from the second initial position P20 to the second support position P21) is opposite to the direction (in Figure 8 In the example of FIG. 1 , a force is applied to the amorphous object OB in a direction from the first initial position P10 to the first supporting position P11. The opposite direction referred to here not only includes a completely opposite direction, but also allows some deviation from the completely opposite direction.

[0078] In this embodiment, the first support position P11 is determined to be on the opposite side of the second support position P21 in the amorphous object OB. Therefore, the first clamping control module 102 calculates the first support position P11 so as to be on the side opposite to the second support position P21, and moves the first attraction device 31 to the calculated first support position P11, so that the first robot 30 clamps and supports the amorphous object OB between the first robot 30 and the second robot 40. The conveying process thereafter is the same as described above. It is assumed that the first support position P11 and the second support position P21 are shared by the first robot controller 10 and the second robot controller 20.

[0079] The first robot control module 101 does not need to include the first clamping control module 102. For example, the first robot control module 101 controls the first robot 30 so that the first robot 30 moves to the first supporting position P11 before the second robot 40 contacts the indefinite object OB. Through the control of the second clamping control module 202 described later, the indefinite object OB can be clamped between the first robot 30 and the second robot 40. The first robot control module 101 can control the first robot 30 so that the first robot 30 operates independently of the operation of the second robot 40. That is, the first robot control module 101 does not need to control the first robot 30 to make the first robot 30 and the second robot 40 cooperate with each other.

[0080] 【3-2. Functions implemented in the second robot controller】

[0081] For example, the second robot controller 20 includes a second data storage unit 200 and a second robot control module 201. The second data storage unit 200 is implemented by the storage unit 22. The second robot control module 201 is implemented by the CPU 21.

[0082] [Second data storage unit]

[0083] The second data storage unit 200 stores data required for the second robot controller 20 to control the second robot 40. For example, the second data storage unit 200 stores a program including a code (command) indicating the control content of the second robot 40. The program can be written in any language, such as a robot language or a ladder diagram language. Any code used in these languages ​​can be used. For example, the program includes at least one of a code for moving the second robot 40 or a code for changing the orientation (posture) of the second robot 40.

[0084] For example, the second data storage unit 200 stores a second robot control program that instructs a series of operations for the second robot 40 to support and convey the indefinite object OB. The second robot control program includes a code for determining a second supporting position P21 at which the second suction device 41 supports the indefinite object OB based on the shape of the indefinite object OB. The second robot control program includes a code for determining a center point or its vicinity (e.g., a position within a predetermined distance from the center point) in a surface on the side of the indefinite object OB on the second robot 40 side as the second supporting position P21 of the second robot 40. The second robot control program includes a code for calculating a path from the second initial position P20 of the second robot 40 to the determined second supporting position P21.

[0085] For example, any algorithm for robot control can be used as the algorithm for calculating the second movement path MP2. The second robot control program may include a code for calculating the movement path based on linear interpolation, circular interpolation, or spline interpolation. In this embodiment, the second robot control program includes, in addition to the code indicating these algorithms, a code for the operation of the second robot 40 rotating the second attraction device 41. The second movement path MP2 can be calculated by the first robot controller 10. In this case, the first robot control program includes the above-mentioned code for calculating the second movement path MP2.

[0086] For example, the second robot control program includes a code for moving the second attraction device 41 to the second initial position P20. The second initial position P20 is pre-specified by the user of the robot control system 1. The second robot control program includes a code for moving the second attraction device 41 from the second initial position P20 to the second support position P21. The second robot control program includes a code for moving the second attraction device 41 from the second support position P21 to the second target position P22. The second target position P22 only needs to be a predetermined position. For example, the second target position P22 is a position above the storage container C. The second robot control program includes a code for rotating the second attraction device 41 at the second target position P22.

[0087] For example, the second robot control program includes a code for controlling the orientation of the second suction device 41 at various positions. The orientation of the second suction device 41 at the second initial position P20 can be any direction, and it is only required that the suction cup of the second suction device 41 points to the side of the amorphous object OB when the second suction device 41 reaches the second support position P21. For example, the second robot control program includes a code for controlling the orientation of the second suction device 41 so that the second suction device 41 attracts the second support position P21 corresponding to the center of gravity of the amorphous object OB. For example, the horizontal position of the second support position P21 can be the same as the horizontal position of the center of gravity of the amorphous object OB. The vertical position of the second support position P21 can be lower than the vertical position of the center of gravity of the amorphous object OB. In this embodiment, during the conveying of the amorphous object OB, the orientation of the second suction device 41 after reaching the second support position P21 remains constant, but the second robot control program may include a code for changing the orientation of the second suction device 41 after reaching the second support position P21.

[0088] For example, the second robot control program may include at least one of a code for controlling the on / off of the suction performed by the second suction device 41 or a code for changing the suction force (attractive force) of the second suction device 41. For example, the second robot control program includes a code for turning on the suction performed by the second suction device 41 when the second suction device 41 reaches the second support position P21. The second robot control program includes a code for turning off the suction performed by the second suction device 41 after the second suction device 41 reaches the second target position P22 and the contents of the amorphous object OB fall into the storage container C. These series of operations described above are defined in the second robot control program.

[0089] The data stored by the second data storage unit 200 is not limited to the above examples. For example, the second data storage unit 200 may store other programs in addition to the second robot control program. Further, the data stored by the second data storage unit 200 is not limited to the program. For example, the second data storage unit 200 may store second movement path data indicating the second movement path MP2. For example, the second data storage unit 200 may store parameters referenced by the above programs. The parameter may be any parameter used in robot control. For example, the parameter may be a position parameter indicating the position of a motor in the second robot 40 or a value detected by various sensors such as a torque sensor.

[0090]

Second robot control module

[0091] The second robot control module 201 controls the second robot 40 based on the program and parameters stored in the second data storage unit 200. The second robot control module 201 controls the second robot 40 so that the second robot 40 supports a portion (a second portion) of the indefinite object OB different from the above-mentioned portion (the portion described in the process of the first robot control module 101) to transport the indefinite object OB in cooperation with the first robot 30.

[0092] The part of the amorphous object OB that is different from the above-mentioned part is the part of the amorphous object OB that contacts the second robot 40. In this embodiment, the different part is the part of the amorphous object OB that contacts the second attraction device 41. The different part is a part other than the part supported by the first robot 30. For example, the different part may be a part of the amorphous object OB on the side opposite to the part supported by the first robot 30. The different part is not limited to the part on the opposite side, and may be another part. For example, the different part may be a side adjacent to the side of the amorphous object OB supported by the first robot 30. That is, instead of clamping the amorphous object OB between the first robot 30 and the second robot 40, the second robot 40 may support the side adjacent to the side on which the first robot 30 supports the amorphous object OB.

[0093] For example, the second robot control module 201 controls the second robot 40 based on the indefinite shape object data and the second robot control program received from the first robot controller 10. The second robot control module 201 converts the position and shape of the indefinite shape object OB indicated by the indefinite shape object data received from the first robot controller 10 into coordinates using the second robot 40 as a reference. The second robot control module 201 stores the converted indefinite shape object data in the second data storage unit 200. When the first robot controller 10 calculates the second moving path MP2, the second robot controller 20 receives the second moving path data from the first robot controller 10. The second robot control module 201 controls the second robot 40 based on the second moving path data received from the first robot controller 10.

[0094] For example, the second robot control module 201 determines the orientation of the second suction device 41 on the second moving path MP2 and the second moving path MP2 based on the amorphous object data whose coordinates have been converted and the second robot control program. The moment of opening or closing the second suction device 41 can be pre-specified. For example, the second robot control module 201 obtains the pre-specified moment of opening or closing the second suction device 41. The second robot control module 201 can open the second suction device 41 at the moment when the second suction device 41 contacts the amorphous object OB or after the second suction device 41 contacts the amorphous object OB (for example, after a predetermined time period has passed since the second suction device 41 has stopped). The second robot control module 201 controls the second robot 40 so that the second suction device 41 moves on the calculated second moving path MP2 with the calculated orientation, and at the calculated moment, the suction of the second suction device 41 is turned on or off.

[0095] For example, the second robot control module 201 may calculate the second movement path MP2 based on the indeterminate object data whose coordinates have been converted, the first movement path data indicating the first movement path MP1, and the second robot control program. It is assumed that the first movement path data is appropriately transmitted from the first robot controller 10 to the second robot controller 20. For example, the second robot control module 201 identifies the thickness "d" of the indeterminate object OB based on the indeterminate object data. The second robot control module 201 identifies the first supporting position P11 based on the first movement path data. The second robot control module 201 determines the position separated from the first supporting position P11 by the thickness "d" toward the side opposite to the indeterminate object OB viewed from the first supporting position P11 as the second supporting position P21.

[0096] For example, the second robot control module 201 determines a path separated by a thickness "d" from a path from the first supporting position P11 to the first target position P12 within the first moving path MP1 indicated by the first moving path data as a path from the second supporting position P21 to the second target position P22. The second robot control module 201 determines a path obtained by combining a path from the second initial position P20 to the second supporting position P21 and a path from the second supporting position P21 to the second target position P22 as the second moving path MP2.

[0097] The first moving path data may indicate a moving speed of the first robot 30. The second robot control module 201 identifies a moving speed of the first robot 30 from the first supporting position P11 to the first target position P12 based on the first moving path data. The second robot control module 201 may determine a moving speed of the second robot 40 from the second supporting position P21 to the second target position P22 so that an arrival time of the second robot 40 at the second target position P22 and an arrival time of the first robot 30 at the first target position P12 match each other. The second robot control module 201 may determine a moving speed of the second robot 40 so that a moving speed of the second robot 40 from the second supporting position P21 to the second target position P22 becomes the same as a moving speed of the first robot 30 from the first supporting position P11 to the first target position P12.

[0098] Further, the first movement path data may indicate the rotation direction and rotation speed of the first attraction device 31 at the first target position P12. The second robot control module 201 identifies the rotation direction and rotation speed of the first attraction device 31 at the first target position P12 based on the first movement path data. The second robot control module 201 may determine the rotation speed of the second attraction device 41 at the second target position P22 so that the rotation speed of the second attraction device 41 at the second target position P22 becomes the same as the rotation speed of the first attraction device 31 at the first target position P12. The rotation direction of the first attraction device 31 observed from the first robot 30 and the rotation direction of the second attraction device 41 observed from the second robot 40 are opposite to each other.

[0099] The first robot controller 10 may calculate the second movement path MP2 instead of the second robot controller 20. In this case, a code similar to the calculation code of the second movement path MP2 in the second robot control program may be included in the first robot control program or another program. The first robot controller 10 calculates the second movement path MP2 based on the first robot control program or another program. The first robot controller 10 determines the movement speed of the second robot 40 and the rotation direction and rotation speed of the second attraction device 41 at the second target position P22.

[0100] For example, the first robot controller 10 sends the second moving path data indicating the second moving path MP2, the moving speed of the second robot 40, and the rotation direction and the rotation speed of the second attraction device 41 at the second target position P22 to the second robot controller 20. The second robot controller 20 receives the second moving path data. The second robot control module 201 may control the second robot 40 based on the second moving path data generated by the first robot controller 10. Contrary to the above, the second robot controller 20 may calculate the first moving path MP1, etc., and send data indicating the calculation result of the first moving path MP1, etc., to the first robot controller 10.

[0101] When the first robot 30 has supported the indefinite object OB at the first supporting position P11 (when the first attraction device 31 has completed the attraction of the indefinite object OB), the first robot controller 10 sends a first support completion notification to the second robot controller 20, and the first support completion notification indicates that the support of the first robot 30 is completed. When the second robot 40 has supported the indefinite object OB at the second supporting position P21 (when the second attraction device 41 has completed the attraction of the indefinite object OB), the second robot controller 20 sends a second support completion notification to the first robot controller 10, and the second support completion notification indicates that the support of the second robot 40 is completed.

[0102] Afterwards, the operations of the first robot controller 10 and the second robot controller 20 are synchronized with each other, so that the first robot 30 and the second robot 40 move on the first moving path MP1 and the second moving path MP2, respectively. For example, the second robot control module 201 controls the movement of the second robot 40 so that the positional relationship between the first attraction device 31 and the second attraction device 41 remains constant. Similarly, the first robot control module 101 controls the movement of the first robot 30 so that the positional relationship between the first attraction device 31 and the second attraction device 41 remains constant.

[0103] For example, the second robot control module 201 includes a second clamping control module 202. The second clamping control module 202 controls the second robot 40 so that the first robot 30 and the second robot 40 clamp and support the amorphous object OB. In this embodiment, the second supporting position P21 is determined to be on the opposite side of the first supporting position P11 in the amorphous object OB. Therefore, the second clamping control module 202 calculates the second supporting position P21 so as to be on the side opposite to the first supporting position P11, and moves the second suction device 41 to the calculated second supporting position P21, so that the second robot 40 clamps and supports the amorphous object OB between the second robot 40 and the first robot 30. The conveying process thereafter is the same as described above.

[0104] The first supporting position P11 and the second supporting position P21 may be shared by the first robot controller 10 and the second robot controller 20. Further, when the second robot 40 has moved to the second supporting position P21, the second gripping control module 202 may detect the attraction of the indefinite object OB generated by the first robot 30 and the second robot 40 using a sensor for detecting attraction, and may further cause the second robot 40 to advance (move) toward the indefinite object OB based on the attraction. After the first robot controller 10 and the second robot controller 20 complete the gripping of the indefinite object OB, the movement of the first supporting position P11 and the second supporting position P21 is controlled.

[0105] The second robot control module 201 does not need to include the second clamping control module 202. In this case, the second robot control module 201 can control the second robot 40 so that the second robot 40 moves to the second supporting position P21 before the first robot 30 contacts the unshaped object OB. Through the control of the second clamping control module 202, the unshaped object OB can be clamped between the first robot 30 and the second robot 40. As described above, the unshaped object OB does not need to be clamped between the first robot 30 and the second robot 40.

[0106] 【4. Processing performed by the robot control system】

[0107] Fig. 9 is a flowchart for illustrating an example of processing performed by the robot control system 1. When the CPUs 11 and 21 execute the programs stored in the storage units 12 and 22, the execution Fig. 9 After the unpacking of the packaging material of the indefinite object OB is completed, the Fig. 9 The unpacking of the packaging material may be detected by any method. For example, when the first robot 30 cuts the packaging material, after the cutting operation of the first robot 30 is completed and at least a portion of the packaging material is removed, the Fig. 9 processing.

[0108] like Fig. 9 For example, the first robot controller 10 controls the first robot 30 so that the first robot 30 photographs the indefinite shape object OB through the camera 32 (step S1). The first robot controller 10 recognizes the position and shape of the indefinite shape object OB based on the photographed image generated by the camera 32 and the shape recognition program (step S2). The first robot controller 10 calculates the first movement path MP1 based on the position and shape of the indefinite shape object OB recognized in step S2 and the robot control program (step S3).

[0109] The first robot controller 10 calculates the second movement path MP2 based on the position and shape of the indefinite shape object OB identified in step S2 and the first robot control program (step S4). In step S4, the first robot controller 10 converts the coordinates of the indefinite shape object data into coordinates using the second robot 40 as a reference, and calculates the second movement path MP2 based on the converted indefinite shape object data, the first movement path data, and the first robot control program. The first robot controller 10 sends the second movement path data indicating the second movement path MP2 calculated in step S4 to the second robot controller 20 (step S5). In step S5, the first robot controller 10 may also send the indefinite shape object data. The second robot controller 20 receives the second movement path data from the first robot controller 10 (step S6). In step S6, the second robot controller 20 may also receive the indefinite shape object data.

[0110] The first robot controller 10 controls the first robot 30 so that the first robot 30 supports a portion of the indefinite object OB to convey the indefinite object OB based on the first moving path MP1 calculated in step S3 (step S7). The second robot controller 20 controls the second robot 40 so that the second robot 40 supports a portion of the indefinite object OB different from the portion supported by the first robot 30 to convey the indefinite object OB based on the second moving path MP2 indicated by the second moving path data received in step S6 (step S8). In the processing steps of step S7 and step S8, the first robot controller 10 and the second robot controller 20 communicate with each other to control the first robot 30 and the second robot 40 so that the first robot 30 and the second robot 40 convey the indefinite object OB in synchronization with each other. In the subsequent processing steps of step S9 to step S12, the first robot controller 10 and the second robot controller 20 also communicate with each other so that the operations of the first robot 30 and the second robot 40 are synchronized with each other.

[0111] When the amorphous object OB moves to a position above the storage container C, the first robot controller 10 rotates the first suction device 31 so that the opening portion of the amorphous object OB points downward (step S9). When the amorphous object OB moves to a position above the storage container C, the second robot controller 20 rotates the second suction device 41 so that the opening portion of the amorphous object OB points downward (step S10). Using the processing steps of step S9 and step S10, the content of the amorphous object OB falls into the storage container C. The first robot controller 10 controls the first robot 30 so that the suction performed by the first suction device 31 is stopped (step S11). Thereafter, the first robot 30 moves to the first initial position P10. The second robot controller 20 controls the second robot 40 so that the second robot 40 throws away the amorphous object OB (step S12), and the process ends. Thereafter, the second robot 40 moves to the second initial position P20.

[0112] [5. Overview of the embodiments]

[0113] The robot control system 1 according to this embodiment controls the first robot 30 so that the first robot 30 supports a part of the indefinite object OB placed at a predetermined position. The robot control system 1 controls the second robot 40 so that the second robot 40 supports a part of the indefinite object OB other than the above-mentioned part to cooperate with the first robot 30 to transport the indefinite object OB. The second robot 40 supports the indefinite object OB placed at a predetermined position to cooperate with the first robot 30 to transport the indefinite object OB, so the robot control system 1 can support and transport the indefinite object OB in a stable state. For example, when the indefinite object OB is supported and transported by only one robot, there is a possibility that the indefinite object OB falls or the indefinite object OB loses balance during transportation. However, the first robot 30 and the second robot 40 support and transport the indefinite object OB, so the possibility of the indefinite object OB falling or the indefinite object OB losing balance during transportation can be reduced.

[0114] Further, the robot control system 1 controls the second robot 40 so that the second robot 40 clamps and supports the indefinite object OB between the second robot 40 and the first robot 30. The indefinite object OB is clamped between the first robot 30 and the second robot 40, so the robot control system 1 can support the indefinite object OB in a more stable state.

[0115] Further, at least one of the first robot 30 or the second robot 40 includes a suction device for sucking the indefinite object OB. The robot control system 1 can support the indefinite object OB in a more stable state by sucking the indefinite object OB by the suction device. For example, as in this embodiment, when the first robot 30 includes the first suction device 31 and the second robot 40 includes the second suction device 41, the possibility of the indefinite object OB falling or the indefinite object OB losing balance during conveyance can be further reduced.

[0116] Further, the suction device included in at least one of the first robot 30 or the second robot 40 is a suction device for sucking the indefinite object OB. The robot control system 1 can support the indefinite object OB in a more stable state by sucking the indefinite object OB by the suction device. For example, as in this embodiment, when both the first robot 30 and the second robot 40 include the suction device, the possibility of the indefinite object OB falling or the indefinite object OB losing balance during transportation can be further reduced.

[0117] 【6. Modification example】

[0118] The present disclosure is not limited to the above-described embodiments, and appropriate modifications may be made to the present disclosure without departing from the spirit of the present disclosure.

[0119] Fig.10 1 is a diagram for illustrating an example of functions implemented in the robot control system 1 according to the modified example. For example, the first robot controller 10 includes a first suction pressure acquisition module 103, a first forward control module 104, a second suction pressure acquisition module 105, a first speed control module 106, a first start control module 107, a first attraction control module 108, a first type recognition module 109, a first center of gravity recognition module 110, a first support position support module 111, a first size recognition module 112, a first size position support module 113, a first posture control module 114, a first orientation control module 115, and a first post-processing position control module 116. These functions are implemented by the CPU 11.

[0120] For example, the second robot controller 20 includes a second suction pressure acquisition module 203, a second forward control module 204, a first suction pressure acquisition module 205, a second speed control module 206, a position control module 207, a second start control module 208, a second attraction control module 209, a second type recognition module 210, a second center of gravity recognition module 211, a second support position support module 212, a second size recognition module 213, a second size position support module 214, a second posture control module 215, a second orientation control module 216, and a second post-processing position control module 217. These functions are implemented by the CPU 21.

[0121] 【6-1. Modification example 1】

[0122] For example, at least one of the first robot 30 or the second robot 40 may include a suction pressure detector for detecting the suction pressure of the suction device. In Modification Example 1, the case where both the first robot 30 and the second robot 40 include the suction pressure detector is described, but only one of the first robot 30 or the second robot 40 may include the suction pressure detector.

[0123] Fig.11 1 is a diagram for illustrating an example of a hardware configuration of a robot control system 1 according to Modification Example 1. Fig.11 As an example, the first robot 30 includes a first suction pressure detector 33 for detecting a first suction pressure, which is the suction pressure of the first suction device 31. For example, the first suction pressure detector 33 is a pressure sensor. When the first suction device 31 is a suction device, the first suction pressure detector 33 may be a vacuum gauge. The first suction pressure detector 33 is arranged in the first suction device 31. That is, the first suction pressure detector 33 is arranged at the end of the first robot 30.

[0124] For example, the second robot 40 includes a second suction pressure detector 42 for detecting a second suction pressure, which is the suction pressure of the second suction device 41. The hardware configuration of the second suction pressure detector 42 may be similar to the hardware configuration of the first suction pressure detector 33. The second suction pressure detector 42 is arranged in the second suction device 41. That is, the second suction pressure detector 42 is arranged at the end of the second robot 40. In the following, when the first suction pressure detector 33 and the second suction pressure detector 42 are not distinguished from each other, the first suction pressure detector 33 and the second suction pressure detector 42 are referred to as "suction pressure detectors". Similarly, when the first suction device 31 and the second suction device 41 are not distinguished from each other, the first suction device 31 and the second suction device 41 are referred to as "suction devices".

[0125] The first robot controller 10 of Modified Example 1 includes a first suction pressure acquisition module 103 and a first forward control module 104. The second robot controller 20 includes a second suction pressure acquisition module 203 and a second forward control module 204. The first suction pressure acquisition module 103 and the second suction pressure acquisition module 203 are examples of suction pressure acquisition modules for acquiring suction pressure. The robot control system 1 of Modified Example 1 includes two suction pressure acquisition modules.

[0126] The first forward control module 104 and the second forward control module 204 are examples of forward control modules, which are used to control at least one robot including a suction pressure detector so that the suction device advances (moves) toward the amorphous object OB until the suction pressure becomes equal to or greater than a threshold value. The robot control system 1 of Modified Example 1 has two forward control modules. That is, in Modified Example 1, the first robot 30 includes a first suction pressure detector 33, and the second robot 40 includes a second suction pressure detector 42, and therefore, the robot control system 1 includes a first forward control module 104 and a second forward control module 204.

[0127] When the first robot 30 includes the first suction pressure detector 33 and the second robot 40 does not include the second suction pressure detector 42, the robot control system 1 does not need to include the second forward control module 204. In this case, the first forward control module 104 corresponds to the forward control module. When the first robot 30 does not include the first suction pressure detector 33 and the second robot 40 includes the second suction pressure detector 42, the robot control system 1 does not need to include the first forward control module 104. In this case, the second forward control module 204 corresponds to the forward control module.

[0128] For example, the first suction pressure acquisition module 103 acquires the first suction pressure detected by the first suction pressure detector 33. The first forward control module 104 controls the first robot 30 so that the first suction device 31 advances (moves) toward the amorphous object OB until the first suction pressure becomes equal to or greater than the first threshold. The first forward control module 104 repeatedly determines whether the first suction pressure has become equal to or greater than the first threshold. The first threshold is only required to be a predetermined value and can be specified by the user.

[0129] For example, when the first forward control module 104 determines that the first suction pressure is less than the first threshold value, the first forward control module 104 controls the first robot 30 so that the first suction device 31 moves in the direction from the first initial position P10 to the first supporting position P11 (so that the first robot 30 advances (moves) while maintaining the current moving direction). When the first forward control module 104 determines that the first suction pressure is equal to or greater than the first threshold value, the first forward control module 104 controls the first robot 30 so that the first suction device 31 stops moving. That is, the first forward control module 104 controls the first robot 30 so that the first suction device 31 moves in the direction from the first initial position P10 to the first supporting position P11 until the first forward control module 104 determines that the first suction pressure is equal to or greater than the first threshold value.

[0130] In Modification Example 1, even when the first robot 30 reaches the first supporting position P11, when the first suction pressure is not equal to or greater than the first threshold value, the first advancement control module 104 moves the first suction device 31 in the direction from the first initial position P10 to the first supporting position P11. On the contrary, even when the first robot 30 does not reach the first supporting position P11, when the first suction device 31 has a pressure equal to or greater than the first threshold value, the first advancement control module 104 stops the first suction device 31. The first moving path MP1 is updated according to the position where the first robot 30 stops advancing.

[0131] For example, the second suction pressure acquisition module 203 acquires the second suction pressure detected by the second suction pressure detector 42. The second forward control module 204 controls the second robot 40 so that the second suction device 41 advances (moves) toward the amorphous object OB until the second suction pressure becomes equal to or greater than the second threshold. The second forward control module 204 repeatedly determines whether the second suction pressure has become equal to or greater than the second threshold. The second threshold is only required to be a predetermined value and can be specified by the user.

[0132] For example, when the second forward control module 204 determines that the second suction pressure is less than the second threshold value, the second forward control module 204 controls the second robot 40 so that the second suction device 41 moves in the direction from the second initial position P20 to the second supporting position P21 (so that the second robot 40 advances (moves) while maintaining the current moving direction). When the second forward control module 204 determines that the second suction pressure is equal to or greater than the second threshold value, the second forward control module 204 controls the second robot 40 so that the second suction device 41 stops moving. That is, the second forward control module 204 controls the second robot 40 so that the second suction device 41 moves in the direction from the second initial position P20 to the second supporting position P21 until the second forward control module 204 determines that the second suction pressure is equal to or greater than the second threshold value.

[0133] In Modification Example 1, even when the second robot 40 reaches the second supporting position P21, when the second suction pressure is not equal to or greater than the second threshold, the second forward control module 204 moves the second suction device 41 in the direction from the second initial position P20 to the second supporting position P21. On the contrary, even when the second robot 40 does not reach the second supporting position P21, when the second suction device 41 has a pressure equal to or greater than the second threshold, the second forward control module 204 stops the second suction device 41. The second moving path MP2 is updated according to the position where the second robot 40 stops advancing.

[0134] In the robot control system 1 of the modified example 1, at least one of the first robot 30 or the second robot 40 includes a suction pressure detector for detecting the suction pressure of the suction device. The robot control system 1 controls the at least one of the first robot 30 or the second robot 40 so that the suction device advances (moves) toward the indefinite object OB until the suction pressure becomes equal to or greater than a threshold value. The suction device advances (moves) toward the indefinite object OB until the suction pressure becomes equal to or greater than the threshold value, so the robot control system 1 can make the suction device more reliably suck the indefinite object OB.

[0135] 【6-2. Modification example 2】

[0136] For example, the first attraction device 31 and the second attraction device 41 do not have to complete the attraction of the amorphous object OB at the same time as each other. The completion of attraction referred to here corresponds to a state where the attraction pressure becomes equal to or greater than the threshold value as described in Modification Example 1. The first attraction device 31 sometimes completes the attraction earlier than the second attraction device 41. In this case, the moving speed of the second attraction device 41 can be reduced. On the contrary, the second attraction device 41 sometimes completes the attraction earlier than the first attraction device 31. In this case, the moving speed of the first attraction device 31 can be reduced.

[0137] Similar to Modification Example 1, the first robot 30 in Modification Example 2 includes a first suction device 31 and a first suction pressure detector 33 for detecting a first suction pressure, which is the suction pressure of the first suction device 31. Similar to Modification Example 1, the second robot 40 includes a second suction device 41 and a second suction pressure detector 42 for detecting a second suction pressure, which is the suction pressure of the second suction device 41.

[0138] The first robot control module 101 in the modified example 2 includes a first suction pressure acquisition module 103, a second suction pressure acquisition module 105, and a first speed control module 106. The first suction pressure acquisition module 103 is similar to that in the modified example 1. The second suction pressure acquisition module 105 acquires the second suction pressure. For example, the second suction pressure acquisition module 105 acquires the second suction pressure from the second robot controller 20. The second suction pressure acquisition module 105 requests the second suction pressure from the second robot controller 20. When the second robot controller 20 receives the request for the second suction pressure, the second robot controller 20 sends the second suction pressure to the first robot controller 10. The second suction pressure acquisition module 105 repeatedly acquires the latest second suction pressure from the second robot controller 20. The second suction pressure acquisition module 105 can acquire the second suction pressure from another device other than the second robot controller 20, or can directly acquire the second suction pressure from the second robot 40. In this case, the first robot controller 10 is connected to the other device or the second robot 40.

[0139] The first speed control module 106 controls the first robot 30 so that when the first suction pressure becomes equal to or greater than the first threshold, the first suction device 31 stops moving, and when the second suction pressure becomes equal to or greater than the second threshold before the first suction pressure becomes equal to or greater than the first threshold, the moving speed of the first suction device 31 decreases. For example, the first speed control module 106 determines whether the first suction pressure has become equal to or greater than the first threshold. The first speed control module 106 determines whether the second suction pressure has become equal to or greater than the second threshold. The first speed control module 106 repeatedly performs these determinations based on the latest first suction pressure and second suction pressure.

[0140] For example, when it is determined that the second suction pressure is less than the second threshold value and the first suction pressure is equal to or greater than the first threshold value, the first speed control module 106 controls the first robot 30 so that the first suction device 31 stops moving. When it is determined that the second suction pressure is equal to or greater than the second threshold value and the first suction pressure is less than the first threshold value, the first speed control module 106 controls the first robot 30 so that the moving speed of the first suction device 31 becomes slower than the previous moving speed. The moving speed in this case only needs to be a predetermined moving speed. Afterwards, when it is determined that the first suction pressure is equal to or greater than the first threshold value, the first speed control module 106 controls the first robot 30 so that the first suction device 31 stops moving.

[0141] The second robot control module 201 includes a second suction pressure acquisition module 203, a first suction pressure acquisition module 205, and a second speed control module 206. The second suction pressure acquisition module 203 is similar to that in the modified example 1. The first suction pressure acquisition module 205 acquires the first suction pressure. For example, the first suction pressure acquisition module 205 acquires the first suction pressure from the first robot controller 10. The first suction pressure acquisition module 205 requests the first suction pressure from the first robot controller 10. When the first robot controller 10 receives a request for the first suction pressure, the first robot controller 10 sends the first suction pressure to the second robot controller 20. The first suction pressure acquisition module 205 repeatedly acquires the latest first suction pressure from the first robot controller 10. The first suction pressure acquisition module 205 can acquire the first suction pressure from another device other than the first robot controller 10, or can directly acquire the first suction pressure from the first robot 30. In this case, the second robot controller 20 is connected to the other device or the first robot 30.

[0142] The second speed control module 206 controls the second robot 40 so that when the second suction pressure becomes equal to or greater than the second threshold, the second suction device 41 stops moving, and when the first suction pressure becomes equal to or greater than the first threshold before the second suction pressure becomes equal to or greater than the second threshold, the moving speed of the second suction device 41 decreases. For example, the second speed control module 206 determines whether the first suction pressure has become equal to or greater than the first threshold. The second speed control module 206 determines whether the second suction pressure has become equal to or greater than the second threshold. The second speed control module 206 repeatedly performs these determinations based on the latest first suction pressure and second suction pressure.

[0143] For example, when it is determined that the first suction pressure is less than the first threshold value and the second suction pressure is equal to or greater than the second threshold value, the second speed control module 206 controls the second robot 40 so that the second suction device 41 stops moving. When it is determined that the first suction pressure is equal to or greater than the first threshold value and the second suction pressure is less than the second threshold value, the second speed control module 206 controls the second robot 40 so that the moving speed of the second suction device 41 becomes slower than the previous moving speed. The moving speed in this case only needs to be a predetermined moving speed. Afterwards, when it is determined that the second suction pressure is equal to or greater than the second threshold value, the second speed control module 206 controls the second robot 40 so that the second suction device 41 stops moving.

[0144] The robot control system 1 of Modified Example 2 controls the first robot 30 so that when the first suction pressure becomes equal to or greater than the first threshold value, the first suction device 31 stops moving, and when the second suction pressure becomes equal to or greater than the second threshold value before the first suction pressure becomes equal to or greater than the first threshold value, the moving speed of the first suction device 31 decreases. In this way, even if the first suction device 31 has sufficiently attracted the amorphous object OB, the robot control system 1 can prevent the movement of the amorphous object OB caused by the first suction device 31 having moved toward the amorphous object OB. Moreover, in the case where the second suction device 41 completes the suction earlier, when the first suction device 31 hits the amorphous object OB violently, there is a possibility that the amorphous object OB is deformed and moved. When the first suction device 31 slowly approaches the amorphous object OB, this possibility can be reduced.

[0145] In addition, the robot control system 1 controls the second robot 40 so that when the second suction pressure becomes equal to or greater than the second threshold value, the second suction device 41 stops moving, and when the first suction pressure becomes equal to or greater than the first threshold value before the second suction pressure becomes equal to or greater than the second threshold value, the moving speed of the second suction device 41 is reduced. In this way, even if the second suction device 41 has fully attracted the amorphous object OB, the robot control system 1 can prevent the movement of the amorphous object OB caused by the second suction device 41 having moved toward the amorphous object OB. Moreover, in the case where the first suction device 31 completes the suction earlier, when the second suction device 41 hits the amorphous object OB violently, there is a possibility that the amorphous object OB is deformed and moved. When the second suction device 41 slowly approaches the amorphous object OB, this possibility can be reduced.

[0146] 【6-3. Modification example 3】

[0147] For example, the second robot control module 201 may include a position control module 207 for determining a second support position P21 at which the second robot 40 supports the indefinite object OB based on the first support position P11 at which the first robot 30 supports the indefinite object OB. For example, the second robot control module 201 determines the second support position P21 so that the second support position P21 matches the first support position P11. The phrase "the second support position P21 matches the first support position P11" means that the relative positional relationship between the first support position P11 and the second support position P21 becomes a predetermined relationship. Calculating the second support position P21 based on the first support position P11 corresponds to matching the second support position P21 with the first support position P11. The control of the position control module 207 includes the content that is also described as the control of the second robot control module 201 to some extent in the embodiments.

[0148] For example, the position control module 207 obtains the first support position P11 from the first robot controller 10, and determines the second support position P21 so that the relative position relationship between the second support position P21 and the first support position P11 becomes a predetermined relationship. Figure 8 In the example of FIG. 1 , the position control module 207 determines a position separated from the first supporting position P11 by an amount corresponding to the thickness “d” of the amorphous object OB toward the side opposite to the amorphous object OB as the second supporting position P21. The position control module 207 may determine a position separated from the position to a certain extent as the second supporting position P21. The control of the second robot 40 performed after determining the second supporting position P21 may be similar to the control in the embodiment.

[0149] The robot control system 1 of Modification Example 3 determines the second supporting position P21 based on the first supporting position P11. The robot control system 1 determines the second supporting position P21 based on the first supporting position P11, and thus the robot control system 1 can support the indefinite shape object OB in a more stable state.

[0150] 【6-4. Modification example 4】

[0151] For example, the robot control system 1 may include a start control module for starting the attraction of the attraction device after the attraction device contacts the amorphous object OB. In modified example 4, the first robot controller 10 includes a first start control module 107, and the second robot controller 20 includes a second start control module 208. The first start control module 107 and the second start control module 208 are examples of start control modules. The first robot controller 10 does not need to include the first start control module 107, and only the second robot controller 20 may include the second start control module 208. On the contrary, the second robot controller 20 does not need to include the second start control module 208, and only the first robot controller 10 may include the first start control module 107.

[0152] For example, the first startup control module 107 determines whether the first attraction device 31 has been in contact with the amorphous object OB. In Modification Example 4, the first attraction device 31 includes a contact sensor, and the first startup control module 107 determines whether the first attraction device 31 has been in contact with the amorphous object OB based on a detection signal obtained by the contact sensor of the first attraction device 31. The first startup control module 107 can determine whether the first attraction device 31 has been in contact with the amorphous object OB by other methods. For example, the first startup control module 107 can determine whether the first attraction device 31 has been in contact with the amorphous object OB based on a torque change detected by a torque sensor in the first robot 30. As another example, the first startup control module 107 can determine whether the first attraction device 31 has been in contact with the amorphous object OB by analyzing a captured image generated by the camera 32.

[0153] For example, when the first startup control module 107 does not determine that the first suction device 31 has been in contact with the amorphous object OB, the first startup control module 107 does not start the suction of the first suction device 31. When the first startup control module 107 determines that the first suction device 31 has been in contact with the amorphous object OB, the first startup control module 107 starts the suction of the first suction device 31. When the first startup control module 107 determines that the first suction device 31 has been in contact with the amorphous object OB, the first startup control module 107 sends a signal for turning on suction to the first suction device 31. When the first suction device 31 receives the signal, the first suction device 31 starts suction. The processing of the first robot control module 101 performed after the first suction device 31 starts suction can be similar to the processing in the embodiment.

[0154] For example, the second startup control module 208 determines whether the second attraction device 41 has been in contact with the amorphous object OB. In Modified Example 4, the second attraction device 41 includes a contact sensor, and the second startup control module 208 determines whether the second attraction device 41 has been in contact with the amorphous object OB based on a detection signal obtained by the contact sensor of the second attraction device 41. The second startup control module 208 can determine whether the second attraction device 41 has been in contact with the amorphous object OB by other methods. For example, the second startup control module 208 can determine whether the second attraction device 41 has been in contact with the amorphous object OB based on a torque change detected by a torque sensor in the second robot 40. As another example, the second startup control module 208 can determine whether the second attraction device 41 has been in contact with the amorphous object OB by analyzing a captured image generated by the camera 32.

[0155] For example, when the second startup control module 208 does not determine that the second suction device 41 has been in contact with the amorphous object OB, the second startup control module 208 does not start the suction of the second suction device 41. When the second startup control module 208 determines that the second suction device 41 has been in contact with the amorphous object OB, the second startup control module 208 starts the suction of the second suction device 41. When the second startup control module 208 determines that the second suction device 41 has been in contact with the amorphous object OB, the second startup control module 208 sends a signal for turning on suction to the second suction device 41. When the second suction device 41 receives the signal, the second suction device 41 starts suction. The processing of the second robot control module 201 performed after the second suction device 41 starts suction can be similar to the processing in the embodiment.

[0156] The robot control system 1 of Modified Example 4 starts suction of the suction device after the suction device comes into contact with the indefinite object OB. Since suction is started after the suction device comes into contact with the indefinite object OB, the robot control system 1 can support the indefinite object OB in a more stable state. For example, when the suction device starts suction before coming into contact with the indefinite object OB, there is a possibility that the surface of the indefinite object OB wrinkles and thus the indefinite object OB cannot be sucked well, but the robot control system 1 can reduce this possibility.

[0157] 【6-5. Modification example 5】

[0158] For example, the robot control system 1 may include an attraction control module for controlling the attraction device so that an attraction corresponding to the amorphous object OB is obtained (adopted, applied). In modified example 5, the first robot controller 10 includes a first attraction control module 108, and the second robot controller 20 includes a second attraction control module 209. The first attraction control module 108 and the second attraction control module 209 are examples of attraction control modules. The first robot controller 10 does not need to include the first attraction control module 108, and only the second robot controller 20 may include the second attraction control module 209. On the contrary, the second robot controller 20 does not need to include the second attraction control module 209, and only the first robot controller 10 may include the first attraction control module 108.

[0159] For example, the first attraction control module 108 may control the first attraction device 31 so that, as described later in Modification Example 6, a first attraction corresponding to the type of the amorphous object OB is obtained (adopted, applied). In Modification Example 5, as a method other than the method in Modification Example 6, the following case is described as an example: the first attraction control module 108 controls the first attraction device 31 so that a first attraction corresponding to the size of the amorphous object OB is obtained (adopted, applied). The first attraction control module 108 may identify the size of the amorphous object OB based on a captured image captured by the camera 32. When a size parameter indicating the size of the amorphous object OB input by a user is stored in the first data storage unit 100, the first attraction control module 108 may identify the size of the amorphous object OB based on the size parameter.

[0160] For example, the first attraction control module 108 controls the first attraction device 31 so that the first attraction becomes larger as the size of the amorphous object OB becomes larger. It is assumed that data indicating the relationship between the size of the amorphous object OB and the first attraction are stored in the first data storage unit 100. The first attraction control module 108 controls the first attraction based on the data. The first attraction control module 108 can control the first attraction device 31 so that the first attraction corresponding to the position, shape or material of the amorphous object OB (rather than the size of the amorphous object OB) is obtained (adopted, applied).

[0161] For example, the second attraction control module 209 may control the second attraction device 41 so that, as described later in Modification Example 6, a second attraction corresponding to the type of the amorphous object OB is obtained (adopted, applied). In Modification Example 5, as a method other than the method in Modification Example 6, the following case is described as an example: the second attraction control module 209 controls the second attraction device 41 so that a second attraction corresponding to the size of the amorphous object OB is obtained (adopted, applied). The second attraction control module 209 may identify the size of the amorphous object OB based on a captured image captured by the camera 32. When a size parameter indicating the size of the amorphous object OB input by a user is stored in the second data storage unit 200, the second attraction control module 209 may identify the size of the amorphous object OB based on the size parameter.

[0162] For example, the second attraction control module 209 controls the second attraction device 41 so that the second attraction becomes larger as the size of the amorphous object OB becomes larger. It is assumed that data indicating the relationship between the size of the amorphous object OB and the second attraction are stored in the second data storage unit 200. The second attraction control module 209 controls the second attraction based on the data. The second attraction control module 209 can control the second attraction device 41 so that a second attraction corresponding to the position, shape or material of the amorphous object OB (rather than the size of the amorphous object OB) is obtained (adopted, applied).

[0163] The robot control system 1 of Modification Example 5 controls the suction device so that an attraction force corresponding to the indefinite shape object OB is obtained (taken, applied). The suction device attracts the indefinite shape object OB with an attraction force corresponding to the indefinite shape object OB, so the robot control system 1 can support the indefinite shape object OB in an optimal state for the indefinite shape object OB.

[0164] [6-6. Modification Example 6]

[0165] For example, as described in Modification Example 5, when obtaining (taking, applying) an attraction corresponding to an amorphous object OB, the robot control system 1 can obtain an attraction corresponding to the type of the amorphous object OB. The robot control system 1 of Modification Example 6 also includes a type recognition module for identifying the type of the amorphous object OB. For example, the first robot controller 10 includes a first type recognition module 109, and the second robot controller 20 includes a second type recognition module 210. The first type recognition module 109 and the second type recognition module 210 are examples of type recognition modules. The first robot controller 10 does not need to include the first type recognition module 109, and only the second robot controller 20 may include the second type recognition module 210. On the contrary, the second robot controller 20 does not need to include the second type recognition module 210, and only the first robot controller 10 may include the first type recognition module 109.

[0166] For example, when the user specifies the type of the amorphous object OB, it is assumed that a type parameter indicating the type specified by the user is pre-stored in the first data storage unit 100 and the second data storage unit 200. The first type recognition module 109 recognizes the type of the amorphous object OB based on the type parameter. The second type recognition module 210 recognizes the type of the amorphous object OB based on the type parameter.

[0167] The method of identifying the type of the indefinite object OB is not limited to being specified by the user. For example, the first type recognition module 109 may recognize the type of the indefinite object OB by analyzing the captured image generated by the camera 32. The second type recognition module 210 may recognize the type of the indefinite object OB by analyzing the captured image generated by the camera 32. The second type recognition module 210 may obtain the recognition result obtained by the first type recognition module 109, rather than obtaining it by analyzing the image itself.

[0168] The attraction control module in Modified Example 6 controls the attraction device so that an attraction corresponding to the type of the amorphous object OB is obtained (adopted, applied). In Modified Example 6, the first attraction device 31 and the second attraction device 41 are both suction devices, and therefore, the suction force obtained by the suction device corresponds to the attraction. When another attraction device other than the suction device is used, the attraction only needs to be the attraction corresponding to the other attraction device. For example, when the other attraction device is a suction cup, the pressure of the suction cup relative to the amorphous object OB corresponds to the attraction. When the other attraction device is a robot hand, the gripping force of the robot hand corresponds to the attraction.

[0169] For example, as an example, the following case is described: the first attraction control module 108 controls the first attraction device 31 so that the first attraction corresponding to the type of the amorphous object OB is obtained (adopted, applied). For example, when the amorphous object OB is of the first type (e.g., a paper bag), the first attraction control module 108 controls the first attraction device 31 so that the first attraction becomes greater than the attraction when the amorphous object OB is of the second type (e.g., a polyethylene bag). It is assumed that data indicating the relationship between the type of the amorphous object OB and the first attraction is stored in the first data storage unit 100. The first attraction control module 108 controls the first attraction based on the data.

[0170] For example, as an example, the following case is described: the second attraction control module 209 controls the second attraction device 41 so that the second attraction corresponding to the type of the amorphous object OB is obtained (adopted, applied). For example, when the amorphous object OB is of the second type, the second attraction control module 209 controls the second attraction device 41 so that the second attraction becomes greater than the attraction when the amorphous object OB is of the first type. It is assumed that data indicating the relationship between the type of the amorphous object OB and the second attraction is stored in the second data storage unit 200. The second attraction control module 209 controls the second attraction based on the data.

[0171] The robot control system 1 of Modification Example 6 identifies the type of the indefinite shape object OB. The robot control system 1 controls the suction device so that an attraction corresponding to the type of the indefinite shape object OB is obtained (taken, applied). The suction device attracts the indefinite shape object OB with the attraction corresponding to the type of the indefinite shape object OB, so the robot control system 1 can support the indefinite shape object OB in a more stable state.

[0172] 【6-7. Modification Example 7】

[0173] For example, at least one of the first robot 30 or the second robot 40 may support a support position corresponding to the center of gravity of the amorphous object OB. For example, the support position is a position having the same height as the center of gravity in the surface of the amorphous object OB. The support position is a position within a predetermined distance from the position having the same height as the center of gravity in the surface of the amorphous object OB.

[0174] The robot control system 1 of Modified Example 7 includes a center of gravity identification module for identifying the center of gravity of an amorphous object OB placed at a predetermined position. For example, the first robot controller 10 includes a first center of gravity identification module 110, and the second robot controller 20 includes a second center of gravity identification module 211. The first center of gravity identification module 110 and the second center of gravity identification module 211 are examples of center of gravity identification modules. The first robot controller 10 does not need to include the first center of gravity identification module 110, and only the second robot controller 20 may include the second center of gravity identification module 211. On the contrary, the second robot controller 20 does not need to include the second center of gravity identification module 211, and only the first robot controller 10 may include the first center of gravity identification module 110.

[0175] For example, the first center of gravity recognition module 110 recognizes the center of gravity of the amorphous object OB based on a captured image indicating the amorphous object OB captured by the camera 32. The first center of gravity recognition module 110 only needs to recognize the center of gravity of the amorphous object OB by performing image analysis by a predetermined method. The first center of gravity recognition module 110 can recognize the center point of the amorphous object OB as the center of gravity of the amorphous object OB. The first center of gravity recognition module 110 can input the captured image to a machine learning model that learns the center of gravity of various objects as training data, and can obtain the center of gravity output from the machine learning model. The second center of gravity recognition module 211 can recognize the center of gravity by the same method as the first center of gravity recognition module 110, or can obtain the center of gravity recognized by the first center of gravity recognition module 110 from the first robot controller 10. The center of gravity can be specified by the user as a parameter instead of being obtained from the captured image.

[0176] The robot control system 1 of Modified Example 7 includes a support position support module, which is used to control at least one of the first robot 30 or the second robot 40 so that at least one of the first robot 30 or the second robot 40 supports the amorphous object OB at a support position corresponding to the center of gravity. For example, the first robot controller 10 includes a first support position support module 111. The second robot controller 20 includes a second support position support module 212. The first support position support module 111 and the second support position support module 212 are examples of support position support modules. The first robot controller 10 does not need to include the first support position support module 111, and only the second robot controller 20 may include the second support position support module 212. On the contrary, the second robot controller 20 does not need to include the second support position support module 212, and only the first robot controller 10 may include the first support position support module 111.

[0177] Fig.12 is a diagram for illustrating an example of a first supporting position P11 and a second supporting position P21 corresponding to the center of gravity. Fig.12 In the example of , the center of gravity is represented by G. The first supporting position supporting module 111 determines a position having the same height as the center of gravity G in the surface of the indefinite shape object OB on the first robot 30 side as the first supporting position P11. The second supporting position supporting module 212 determines a position having the same height as the center of gravity G in the surface of the indefinite shape object OB on the second robot 40 side as the second supporting position P21. The determination method of the first supporting position P11 and the second supporting position P21 is different from the above-mentioned embodiment, but the method of controlling the first robot 30 and the second robot 40 after determining the first supporting position P11 and the second supporting position P21 may be similar to the above-mentioned embodiment.

[0178] The robot control system 1 of Modified Example 7 recognizes the center of gravity of the indefinite shape object OB placed at a predetermined position. The robot control system 1 controls at least one of the first robot 30 or the second robot 40 so that at least one of the first robot 30 or the second robot 40 supports the indefinite shape object OB at a supporting position corresponding to the center of gravity. At least one of the first robot 30 or the second robot 40 supports the indefinite shape object OB at a supporting position corresponding to the center of gravity, so the robot control system 1 can support the indefinite shape object OB in a more stable state.

[0179] Further, the robot control system 1 recognizes the center of gravity based on the image indicating the indefinite shape object OB captured by the camera 32. The robot control system 1 can reliably recognize the center of gravity of the indefinite shape object OB through the camera 32.

[0180] 【6-8. Modification Example 8】

[0181] For example, in Modified Example 7, the supporting position supporting module may control at least one robot so that the at least one robot supports the amorphous object OB at a first horizontal position corresponding to the center of gravity in the horizontal direction and supports the amorphous object OB at a predetermined first vertical position in the vertical direction. In Modified Example 8, similar to Modified Example 7, a case where the first supporting position supporting module 111 and the second supporting position supporting module 212 are examples of supporting position supporting modules is described.

[0182] For example, the first support position support module 111 determines the first support position P11 so that the position of the center of gravity in the horizontal direction and the first support position P11 in the horizontal direction become the same or within a predetermined distance, and the first support position P11 in the vertical direction becomes the predetermined position. The second support position support module 212 determines the second support position P21 so that the position of the center of gravity in the horizontal direction and the second support position P21 in the horizontal direction become the same or within a predetermined distance, and the second support position P21 in the vertical direction becomes the predetermined position. The method of determining the first support position P11 and the second support position P21 is different from the above-mentioned embodiment, but the method of controlling the first robot 30 and the second robot 40 after determining the first support position P11 and the second support position P21 can be similar to the above-mentioned embodiment.

[0183] The robot control system 1 of Modified Example 8 controls at least one of the first robot 30 or the second robot 40 so that at least one of the first robot 30 or the second robot 40 supports the indefinite shape object OB at a first horizontal position corresponding to the center of gravity in the horizontal direction, and supports the indefinite shape object OB at a predetermined first vertical position in the vertical direction. At least one of the first robot 30 or the second robot 40 supports the indefinite shape object OB at a position corresponding to the center of gravity of the indefinite shape object OB in the horizontal direction, and supports the indefinite shape object OB at a predetermined position in the vertical direction, so the robot control system 1 can support the indefinite shape object OB in a more stable state.

[0184] 【6-9. Modification Example 9】

[0185] For example, in Modified Example 7, the supporting position supporting module can control at least one of the first robot 30 or the second robot 40 so that at least one of the first robot 30 or the second robot 40 supports the amorphous object OB at a second vertical position lower than the center of gravity in the vertical direction. In Modified Example 9, similar to Modified Example 7, a case where the first supporting position supporting module 111 and the second supporting position supporting module 212 are examples of supporting position supporting modules is described.

[0186] For example, the first support position support module 111 determines the first support position P11 so that the distance from the position of the center of gravity in the vertical direction in the downward direction relative to the first support position P11 in the vertical direction becomes less than a predetermined distance. The second support position support module 212 determines the second support position P21 so that the distance from the position of the center of gravity in the vertical direction in the downward direction relative to the second support position P21 in the vertical direction becomes less than a predetermined distance. The method of determining the first support position P11 and the second support position P21 is different from the above-mentioned embodiment, but the method of controlling the first robot 30 and the second robot 40 after determining the first support position P11 and the second support position P21 can be similar to the above-mentioned embodiment.

[0187] The robot control system 1 of Modified Example 9 controls at least one of the first robot 30 or the second robot 40 so that at least one of the first robot 30 or the second robot 40 supports the indefinite shape object OB at a second vertical position lower than the center of gravity in the vertical direction. At least one of the first robot 30 or the second robot 40 supports the position lower than the center of gravity of the indefinite shape object OB in the vertical direction, so the robot control system 1 can support the indefinite shape object OB in a more stable state.

[0188] 【6-10. Modification example 10】

[0189] For example, the first robot 30 may support a first supporting position P11 corresponding to the size of the indefinite-shaped object OB. The second robot 40 may support a second supporting position P21 corresponding to the size of the indefinite-shaped object OB.

[0190] The robot control system 1 includes a size recognition module for recognizing the size of the amorphous object OB. For example, the first robot controller 10 includes a first size recognition module 112, and the second robot controller 20 includes a second size recognition module 213. The first size recognition module 112 and the second size recognition module 213 are examples of size recognition modules. The first robot controller 10 does not need to include the first size recognition module 112, and only the second robot controller 20 may include the second size recognition module 213. On the contrary, the second robot controller 20 does not need to include the second size recognition module 213, and only the first robot controller 10 may include the first size recognition module 112.

[0191] For example, when the user specifies the size of the indefinite object OB, it is assumed that the size parameter indicating the size specified by the user is pre-stored in the first data storage unit 100 and the second data storage unit 200. The first size recognition module 112 recognizes the size of the indefinite object OB based on the size parameter. The second size recognition module 213 recognizes the size of the indefinite object OB based on the size parameter. The method of recognizing the size of the indefinite object OB is not limited to being specified by the user. For example, the first size recognition module 112 can recognize the size of the indefinite object OB by analyzing the captured image generated by the camera 32. The second size recognition module 213 can recognize the size of the indefinite object OB by analyzing the captured image generated by the camera 32. The second size recognition module 213 can obtain the recognition result obtained by the first size recognition module 112 instead of obtaining it by analyzing the image itself.

[0192] The robot control system 1 includes a size position support module, which is used to control at least one of the first robot 30 or the second robot 40 so that at least one of the first robot 30 or the second robot 40 supports the amorphous object OB at a size position corresponding to the size. For example, the first robot controller 10 includes a first size position support module 113. The second robot controller 20 includes a second size position support module 214. The first size position support module 113 and the second size position support module 214 are examples of size position support modules. The first robot controller 10 does not need to include the first size position support module 113, and only the second robot controller 20 may include the second size position support module 214. On the contrary, the second robot controller 20 does not need to include the second size position support module 214, and only the first robot controller 10 may include the first size position support module 113.

[0193] For example, the first size position support module 113 determines the first support position P11 so that the first support position P11 becomes higher as the size of the amorphous object OB becomes larger. The second size position support module 214 determines the second support position P21 so that the second support position P21 becomes higher as the size of the amorphous object OB becomes larger. The method for determining the first support position P11 and the second support position P21 is different from the above-mentioned embodiment, but the method for controlling the first robot 30 and the second robot 40 after determining the first support position P11 and the second support position P21 can be similar to the above-mentioned embodiment.

[0194] The robot control system 1 of Modified Example 10 recognizes the size of the indefinite shape object OB. The robot control system 1 controls at least one of the first robot 30 or the second robot 40 so that at least one of the first robot 30 or the second robot 40 supports the indefinite shape object OB at a size position corresponding to the size. The robot control system 1 can support the indefinite shape object OB at a size position corresponding to the characteristics of the indefinite shape object OB.

[0195] 【6-11. Modification Example 11】

[0196] For example, during the conveyance of the indefinite shape object OB, the first robot 30 and the second robot 40 may take a posture corresponding to the center of gravity of the indefinite shape object OB. The robot control system 1 of Modification Example 11 includes a center of gravity recognition module similar to Modification Example 7. Moreover, in Modification Example 11, as an example, similar to Modification Example 7, a case where the first robot controller 10 includes the first center of gravity recognition module 110 and the second robot controller 20 includes the second center of gravity recognition module 211 is described. In Modification Example 7, a case where the center of gravity of the indefinite shape object OB is recognized before conveyance has been described, but in Modification Example 11, the center of gravity of the indefinite shape object OB is recognized during conveyance. The recognition method of the center of gravity itself is the same as the method described in Modification Example 7.

[0197] The robot control system 1 of Modified Example 11 includes a posture control module for controlling the posture of at least one of the first robot 30 or the second robot 40 during conveying of the amorphous object OB based on the center of gravity of the amorphous object OB during conveying. For example, the first robot controller 10 includes the first posture control module 114, and the second robot controller 20 includes the second posture control module 215. The first posture control module 114 and the second posture control module 215 are examples of posture control modules. The first robot controller 10 does not need to include the first posture control module 114, and only the second robot controller 20 may include the second posture control module 215. On the contrary, the second robot controller 20 does not need to include the second posture control module 215, and only the first robot controller 10 may include the first posture control module 114.

[0198] For example, it is assumed that data indicating the relationship between the center of gravity of the indefinite object OB and the posture of the first robot 30 is pre-stored in the first data storage unit 100. The data may be a first robot control program or data different from the first robot control program (for example, data in a numerical expression format or a table format). The first posture control module 114 controls the first robot 30 based on the data so that a posture associated with the center of gravity of the indefinite object OB is obtained. For example, the first posture control module 114 controls the first robot 30 so that as the center of gravity of the indefinite object OB becomes lower, the first attraction device 31 points more upward.

[0199] For example, it is assumed that data indicating the relationship between the center of gravity of the indefinite object OB and the posture of the second robot 40 is pre-stored in the second data storage unit 200. The data may be a second robot control program or data different from the second robot control program (e.g., data in a numerical expression format or a table format). The second posture control module 215 controls the second robot 40 based on the data so that a posture associated with the center of gravity of the indefinite object OB is obtained. For example, the second posture control module 215 controls the second robot 40 so that as the center of gravity of the indefinite object OB becomes lower, the second attraction device 41 points more upward.

[0200] The robot control system 1 of Modification Example 11 recognizes the center of gravity of the indefinite shape object OB being conveyed. The robot control system 1 controls the posture of at least one of the first robot 30 or the second robot 40 during conveyance of the indefinite shape object OB based on the center of gravity of the indefinite shape object OB during conveyance. The robot control system 1 is capable of performing control corresponding to the center of gravity during conveyance.

[0201] 【6-12. Modification Example 12】

[0202] For example, the robot control system 1 may include an orientation control module for controlling at least one of the first robot 30 or the second robot 40 so that the attraction device attracts the amorphous object OB in an orientation (posture) corresponding to the amorphous object OB. In modified example 12, the first robot controller 10 includes a first orientation control module 115, and the second robot controller 20 includes a second orientation control module 216. The first orientation control module 115 and the second orientation control module 216 are examples of orientation control modules. The first robot controller 10 does not need to include the first orientation control module 115, and only the second robot controller 20 may include the second orientation control module 216. On the contrary, the second robot controller 20 does not need to include the second orientation control module 216, and only the first robot controller 10 may include the first orientation control module 115.

[0203] Fig.131 is a diagram for illustrating an example of a state in which each of the first attraction device 31 and the second attraction device 41 attracts an indefinite object OB in an orientation corresponding to the indefinite object OB. For example, when the indefinite object OB has a vertically long shape, the first orientation control module 115 controls the posture of the first attraction device 31 so that the first attraction device 31 attracts the indefinite object OB in a vertically long state. When the indefinite object OB has a horizontally long shape, the first orientation control module 115 controls the posture of the first attraction device 31 so that the first attraction device 31 attracts the indefinite object OB in a horizontally long state.

[0204] For example, when the amorphous object OB has a vertically long shape, the second orientation control module 216 controls the posture of the second attraction device 41 so that the second attraction device 41 attracts the amorphous object OB in a vertically long state. When the amorphous object OB has a horizontally long shape, the second orientation control module 216 controls the posture of the second attraction device 41 so that the second attraction device 41 attracts the amorphous object OB in a horizontally long state.

[0205] The robot control system 1 of Modification Example 12 controls at least one of the first robot 30 or the second robot 40 so that the suction device suctions the indefinite object OB in an orientation corresponding to the indefinite object OB. The robot control system 1 can suction the indefinite object OB in an orientation corresponding to the indefinite object OB, thereby improving the reliability of supporting the indefinite object OB.

[0206] 【6-13. Modification example 13】

[0207] For example, the robot control system 1 may include a post-processing position control module for controlling at least one of the first robot 30 or the second robot 40 so that at least one of the first robot 30 or the second robot 40 supports the amorphous object OB at a post-processing position corresponding to the post-processing performed after conveying the amorphous object OB. Post-processing is a process performed after conveying the amorphous object OB. In the example of this embodiment, the process of causing the contents of the amorphous object OB to fall into the storage container C corresponds to the post-processing. In the modified example 13, the post-processing position is a supporting position. The post-processing parameters indicating the post-processing specified by the user may be stored in the first data storage unit 100 and the second data storage unit 200, or the post-processing may be identified based on the code in the first robot control program and the second robot control program.

[0208] In Modification Example 13, the first robot controller 10 includes the first post-processing position control module 116, and the second robot controller 20 includes the second post-processing position control module 217. The first post-processing position control module 116 and the second post-processing position control module 217 are examples of post-processing position control modules. The first robot controller 10 does not need to include the first post-processing position control module 116, and only the second robot controller 20 may include the second post-processing position control module 217. Conversely, the second robot controller 20 does not need to include the second post-processing position control module 217, and only the first robot controller 10 may include the first post-processing position control module 116.

[0209] For example, it is assumed that data indicating the relationship between the post-processing and the first post-processing position (the first support position P11 in Modified Example 13) is pre-stored in the first data storage unit 100. The data may be the first robot control program or data different from the first robot control program (for example, data in a numerical expression format or a table format). The first post-processing position control module 116 determines the first support position P11 based on the data so that the first support position P11 associated with the post-processing is obtained. For example, when the process of causing the contents of the amorphous object OB to fall into the storage container C corresponds to the post-processing, the first post-processing position control module 116 determines the first support position P11 so that the first support position P11 becomes lower than the support position in the case where the post-processing is another process (for example, a process of arranging the amorphous object OB on a conveyor belt).

[0210] For example, it is assumed that data indicating the relationship between the post-processing and the second post-processing position (the second supporting position P21 in Modification Example 13) is pre-stored in the second data storage unit 200. The data may be a second robot control program or data different from the second robot control program (for example, data in a numerical expression format or a table format). The second post-processing position control module 217 determines the second supporting position P21 based on the data so that the second post-processing position associated with the post-processing becomes the second supporting position P21. The method of determining the first supporting position P11 and the second supporting position P21 is different from the above-mentioned embodiment, but the method of controlling the first robot 30 and the second robot 40 after determining the first supporting position P11 and the second supporting position P21 can be similar to the above-mentioned embodiment.

[0211] The robot control system 1 of Modified Example 13 controls at least one of the first robot 30 or the second robot 40 so that at least one of the first robot 30 or the second robot 40 supports the indefinite object OB at a first post-processing position corresponding to the post-processing performed after conveying the indefinite object OB. The robot control system 1 is capable of gripping the indefinite object OB at the gripping position corresponding to the post-processing.

[0212] [6-14. Other modification examples]

[0213] For example, the above-described modification examples may be combined.

[0214] For example, each of the above functions may be implemented by any device of the robot control system 1. Functions described as being included in the first robot controller 10 may be implemented by the second robot controller 20 or another device. Functions described as being included in the second robot controller 20 may be implemented by the first robot controller 10 or another device. Functions described as being implemented by one device may be shared between multiple devices.

[0215] For example, the robot control system may also have the following configuration. (1)

[0217] A robot control system, comprising:

[0218] First Robot;

[0219] Second robot;

[0220] a first robot control module configured to control the first robot so that the first robot supports a first portion of the indefinite shape object placed at a predetermined position; and

[0221] The second robot control module is configured to control the second robot so that the second robot supports a second portion of the indefinite-shaped object to cooperate with the first robot to transport the indefinite-shaped object, wherein the second portion is different from the first portion. (2)

[0223] The robot control system according to item (1), wherein the second robot control module includes a second clamping control module configured to control the second robot so that the first robot and the second robot clamp the indefinite object to support the indefinite object. (3)

[0225] The robot control system according to item (1) or (2), wherein at least one of the first robot or the second robot includes a suction device configured to suction an indeterminate object. (4)

[0227] The robot control system according to item (3), wherein the suction device is a suction device configured to suck an indeterminate object. (5)

[0229] The robot control system according to item (3) or (4),

[0230] wherein at least one of the first robot or the second robot includes a suction pressure detector configured to detect a suction pressure of the suction device, and

[0231] Among them, the robot control system also includes:

[0232] a suction pressure acquisition module configured to acquire suction pressure; and

[0233] The advancement control module is configured to control at least one of the first robot or the second robot so that the suction device moves toward the amorphous object until the suction pressure becomes equal to or greater than a threshold value. (6)

[0235] According to the robot control system of item (5),

[0236] Among them, the first robot includes:

[0237] a first suction device; and

[0238] a first suction pressure detector configured to detect a first suction pressure, the first suction pressure being a suction pressure of a first suction device,

[0239] Wherein, the second robot comprises:

[0240] a second attraction device; and

[0241] a second suction pressure detector configured to detect a second suction pressure, the second suction pressure being a suction pressure of a second suction device,

[0242] Wherein, the first robot control module includes:

[0243] A first suction pressure acquisition module configured to acquire a first suction pressure;

[0244] A second suction pressure acquisition module configured to acquire a second suction pressure; and

[0245] a first speed control module configured to control the first robot so that when the first suction pressure becomes equal to or greater than a first threshold, the first suction device stops moving, and when the second suction pressure becomes equal to or greater than a second threshold before the first suction pressure becomes equal to or greater than the first threshold, the moving speed of the first suction device decreases, and

[0246] Wherein, the second robot control module includes:

[0247] A first suction pressure acquisition module configured to acquire a first suction pressure;

[0248] A second suction pressure acquisition module configured to acquire a second suction pressure; and

[0249] A second speed control module is configured to control the second robot so that when the second suction pressure becomes equal to or greater than a second threshold, the second suction device stops moving, and when the first suction pressure becomes equal to or greater than the first threshold before the second suction pressure becomes equal to or greater than the second threshold, the movement speed of the second suction device is reduced. (7)

[0251] A robot control system according to any one of items (1) to (6), wherein the second robot control module includes a position control module configured to determine a position of the second robot supporting the indefinite object based on a position of the first robot supporting the indefinite object. (8)

[0253] The robot control system according to any one of items (3) to (6) further includes a start control module configured to start suction of the suction device after the suction device comes into contact with the amorphous object. (9)

[0255] The robot control system according to any one of items (3) to (6) or (8) further includes an attraction control module configured to control the attraction device so that an attraction corresponding to the indefinite shape object is obtained. (10)

[0257] The robot control system according to item (9) further comprises a type recognition module configured to recognize the type of the amorphous object,

[0258] The attraction control module is configured to control the attraction device so as to obtain an attraction corresponding to the type. (11)

[0260] The robot control system according to any one of items (1) to (10), further comprising:

[0261] a center of gravity identification module configured to identify the center of gravity of the amorphous object placed at a predetermined position; and

[0262] A support position support module is configured to control at least one of the first robot or the second robot so that at least one of the first robot or the second robot supports the indefinite shape object at a support position corresponding to the center of gravity. (12)

[0264] A robot control system according to item (11), wherein the support position support module is configured to control at least one of the first robot or the second robot so that at least one of the first robot or the second robot supports the amorphous object at a first horizontal position corresponding to the center of gravity in the horizontal direction, and supports the amorphous object at a predetermined first vertical position in the vertical direction. (13)

[0266] A robot control system according to item (12), wherein the support position support module is configured to control at least one of the first robot or the second robot so that at least one of the first robot or the second robot supports the amorphous object at a second vertical position below the center of gravity in the vertical direction. (14)

[0268] The robot control system according to any one of items (11) to (13), wherein the center of gravity identification module is configured to identify the center of gravity based on an image indicating the amorphous object captured by the camera. (15)

[0270] The robot control system according to any one of items (1) to (14), further comprising:

[0271] a size recognition module configured to recognize the size of the amorphous object; and

[0272] A size position support module is configured to control at least one of the first robot or the second robot so that at least one of the first robot or the second robot supports the indefinite shape object at a size position corresponding to the size. (16)

[0274] The robot control system according to any one of items (1) to (15), further comprising:

[0275] a center of gravity identification module configured to identify the center of gravity of the transported amorphous object; and

[0276] A posture control module is configured to control a posture of at least one of the first robot or the second robot during conveyance of the indefinite-shaped object based on the center of gravity. (17)

[0278] The robot control system according to any one of items (3) to (6) or (8) or (9) also includes an orientation control module, which is configured to control at least one of the first robot or the second robot so that the suction device attracts the amorphous object in an orientation corresponding to the amorphous object. (18)

[0280] The robot control system according to any one of items (1) to (17) also includes a post-processing position control module, which is configured to control at least one of the first robot or the second robot so that at least one of the first robot or the second robot supports the amorphous object at a post-processing position corresponding to the post-processing performed after conveying the amorphous object.

Claims

1. A robot control system, comprising: First Robot; Second robot; a first robot control module configured to control the first robot so that the first robot supports a first portion of the amorphous object placed at a predetermined position; as well as A second robot control module is configured to control the second robot so that the second robot supports a second portion of the indefinite-shaped object to transport the indefinite-shaped object in cooperation with the first robot, the second portion being different from the first portion.

2. The robot control system according to claim 1, wherein: The second robot control module includes a second gripping control module configured to control the second robot so that the first robot and the second robot grip the indefinite object to support the indefinite object.

3. The robot control system according to claim 1 or 2, wherein: At least one of the first robot or the second robot includes a suction device configured to attract the amorphous object.

4. The robot control system according to claim 3, wherein: The suction device is a suction device configured to suck the amorphous object.

5. The robot control system according to claim 3, in, The at least one of the first robot or the second robot includes a suction pressure detector configured to detect a suction pressure of the suction device, and Wherein, the robot control system further comprises: a suction pressure acquisition module configured to acquire the suction pressure; and A forward control module is configured to control the at least one of the first robot or the second robot so that the suction device moves toward the amorphous object until the suction pressure becomes equal to or greater than a threshold value.

6. The robot control system according to claim 5, in, The first robot comprises: a first suction device; and a first suction pressure detector configured to detect a first suction pressure, the first suction pressure being a suction pressure of the first suction device, Wherein, the second robot comprises: a second attraction device; and a second suction pressure detector configured to detect a second suction pressure, the second suction pressure being a suction pressure of the second suction device, Wherein, the first robot control module comprises: A first suction pressure acquisition module, configured to acquire the first suction pressure; a second suction pressure acquisition module configured to acquire the second suction pressure; and a first speed control module configured to control the first robot so that when the first suction pressure becomes equal to or greater than a first threshold, the first suction device stops moving, and when the second suction pressure becomes equal to or greater than a second threshold before the first suction pressure becomes equal to or greater than the first threshold, the moving speed of the first suction device decreases, and Wherein, the second robot control module comprises: A first suction pressure acquisition module, configured to acquire the first suction pressure; a second suction pressure acquisition module configured to acquire the second suction pressure; and A second speed control module is configured to control the second robot so that when the second suction pressure becomes equal to or greater than the second threshold, the second suction device stops moving, and when the first suction pressure becomes equal to or greater than the first threshold before the second suction pressure becomes equal to or greater than the second threshold, the moving speed of the second suction device is reduced.

7. The robot control system according to claim 1 or 2, wherein: The second robot control module includes a position control module configured to determine a position of the second robot supporting the indefinite-shaped object based on a position of the first robot supporting the indefinite-shaped object. 8 . The robot control system according to claim 3 , further comprising a start control module configured to start suction of the suction device after the suction device contacts the amorphous object.

9. The robot control system according to claim 3, further comprising an attraction force control module configured to control the attraction device so as to obtain an attraction force corresponding to the amorphous object.

10. The robot control system according to claim 9, further comprising a type recognition module configured to recognize the type of the amorphous object, in, The attraction control module is configured to control the attraction device so that an attraction corresponding to the type is obtained.

11. The robot control system according to claim 1 or 2, further comprising: a center of gravity identification module configured to identify the center of gravity of the amorphous object placed at a predetermined position; as well as A support position support module is configured to control at least one of the first robot or the second robot so that the at least one of the first robot or the second robot supports the indefinite shape object at a support position corresponding to the center of gravity.

12. The robot control system according to claim 11, wherein: The support position support module is configured to control at least one of the first robot or the second robot so that the at least one of the first robot or the second robot supports the amorphous object at a first horizontal position corresponding to the center of gravity in a horizontal direction, and supports the amorphous object at a predetermined first vertical position in a vertical direction.

13. The robot control system according to claim 12, wherein: The support position support module is configured to control the at least one of the first robot or the second robot so that the at least one of the first robot or the second robot supports the indefinite shape object at a second vertical position lower than the center of gravity in the vertical direction.

14. The robot control system according to claim 11, wherein: The center of gravity identification module is configured to identify the center of gravity based on an image captured by a camera indicating the amorphous object.

15. The robot control system according to claim 1 or 2, further comprising: a size recognition module configured to recognize the size of the amorphous object; as well as A size position support module is configured to control at least one of the first robot or the second robot so that the at least one of the first robot or the second robot supports the indefinite shape object at a size position corresponding to the size.

16. The robot control system according to claim 1 or 2, further comprising: a center of gravity identification module configured to identify the center of gravity of the amorphous object being transported; as well as A posture control module is configured to control a posture of at least one of the first robot or the second robot during conveyance of the indefinite-shaped object based on the center of gravity.

17. The robot control system of claim 3, further comprising an orientation control module configured to control at least one of the first robot or the second robot so that the attraction device attracts the amorphous object in an orientation corresponding to the amorphous object.

18. The robot control system according to claim 1 or 2, further comprising a post-processing position control module, which is configured to control at least one of the first robot or the second robot so that the at least one of the first robot or the second robot supports the amorphous object at a post-processing position corresponding to a post-processing performed after conveying the amorphous object.

19. A robot control method, comprising: controlling the first robot so that the first robot supports a first portion of the amorphous object placed at a predetermined position; as well as The second robot is controlled so that the second robot supports a second portion of the indefinite-shaped object to cooperate with the first robot to transport the indefinite-shaped object, the second portion being different from the first portion.

20. An information storage medium storing a program, wherein the program is used to configure a robot controller to control a second robot that cooperates with a first robot, so that the second robot supports a second part of an amorphous object placed at a predetermined position to cooperate with the first robot to transport the amorphous object, and the second part is different from the first part supported by the first robot.

Citation Information

Patent Citations

  • Manipulator device and method for controlling the same

    JP2011062788A