Robot control system, robot controller, and robot control method
By introducing a cutting control module and a rotation control module into the robot control system, the cutting port is rotated downward, solving the problem of content adhesion and improving the reliability and efficiency of the equipment.
Patent Information
- Application Number
- CN202411180943.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-08-30
- Filing Date
- 2024-08-27
- Publication Date
- 2025-02-28
AI Technical Summary
After cutting the bottom surface of the existing robot bag, the contents are easily adhered to the robot and cutter, resulting in pollution and maintenance difficulties.
A robot control system is designed, including a cutting control module and a rotation control module, by moving the cutter and rotating material, so that the cutting port faces downward to prevent the content from sticking.
It effectively prevents the content from sticking to the robot and cutter, reduces pollution and maintenance difficulties, and improves the reliability and efficiency of the equipment.
Smart Images

Figure CN119526446A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a robot control system, a robot controller, and a robot control method. Background Art
[0002] For example, a robot bag opener is disclosed in the previously published Japanese patent application No. Hei 7-081870, which includes a bag opener body, which includes a connection part connected to a robot arm, a vertically movable suction part clamped at the center of the body, a clamping part including two clamping parts, and a clamping part driving unit driving the two clamping parts. The robot bag opener disclosed in Japanese patent application No. Hei 7-081870 uses a cutter to cut the center of the bottom surface of the bag, and rotates the clamping part to discharge the contents in the bag. Summary of the invention
[0003] For example, an object of the present disclosure is to prevent contents from adhering to at least one of a robot and a cutter.
[0004] According to one aspect of the present disclosure, a robot control system includes: one or more robots, each configured to perform an operation on a material containing contents; a cutting control module, configured to cause the one or more robots to move at least one of a cutter and the material so that a cut is cut on the material with the cutter; and a rotation control module, configured to cause the one or more robots to rotate the material so that the cut is facing downward.
[0005] For example, according to the present disclosure, it is possible to prevent contents from adhering to at least one of the robot and the cutter. BRIEF DESCRIPTION OF THE DRAWINGS
[0006] Figure 1 is a schematic diagram for illustrating an example of a hardware configuration of a robot control system.
[0007] Figure 2 is a schematic diagram for illustrating an example of a space in which a robot controller, a first robot, and a second robot are located.
[0008] Figure 3 It is a schematic diagram for illustrating an example of the positional relationship among the workbench, the first supporting portion, the second supporting portion, and the material.
[0009] Figure 4 is a schematic diagram illustrating an example of a photographing position and a photographing direction of a camera.
[0010] Figure 5 is a schematic diagram illustrating an example of how to cut a cut in a material.
[0011] Figure 6is a schematic diagram illustrating an example of how to connect a connecting member of a first robot and a connecting member of a first supporting portion, and a connecting member of a second robot and a connecting member of a second supporting portion.
[0012] Figure 7 is a schematic diagram illustrating an example of how material is moved above a container.
[0013] Figure 8 is a schematic diagram illustrating an example of how the contents of a material fall into a container.
[0014] Fig. 9 is a schematic diagram of an example of the functions performed by the robot control system.
[0015] Fig.10 is a schematic diagram for illustrating an example of a movement path along which the first robot moves a cutter.
[0016] Fig.11 is a schematic diagram for illustrating an example of a movement path used by a first robot and a second robot to support a material.
[0017] Fig.12 is a flowchart for illustrating an example of processing performed by the robot control system.
[0018] Fig.13 : is a flowchart for illustrating an example of details of the processing steps of step S2 to step S4 .
[0019] Fig.14 is a schematic diagram for illustrating an example of functions performed by a robot control system according to a modified example of the present disclosure.
[0020] Fig.15 is a schematic diagram for illustrating an example of how a material is deformed in Modification Example 1.
[0021] Fig.16 is a schematic diagram for illustrating an example of how to tilt the material in Modification Example 2.
[0022] Fig.17 is a schematic diagram for illustrating an example of how to move materials in Modification Example 5.
[0023] Fig.18 is a schematic diagram for illustrating an example of how to move materials in Modification Example 6. DETAILED DESCRIPTION
[0024] [1.Hardware configuration of robot control system]
[0025] A description is given of embodiments of a robot control system, a robot controller, and a robot control system according to the present disclosure. Figure 11 is a schematic diagram for illustrating an example of a hardware configuration of a robot control system. For example, the robot control system 1 includes a robot controller 10, a first robot 20A, and a second robot 20B. Hereinafter, when the first robot 20A and the second robot 20B are not distinguished, these robots are simply referred to as "robots 20".
[0026] The robot controller 10 is a device for controlling one or more robots 20. The robot controller 10 is connected to the one or more robots 20 via a cable (e.g., a power line, a signal line, or a communication line). In the present embodiment, the robot controller 10 controls a first robot 20A and a second robot 20B. The robot controller 10 can control any number of robots 20. The robot controller 10 can control only one robot 20, or can control three or more robots 20.
[0027] For example, the robot controller 10 includes a central processor 11, a storage unit 12, and a communication unit 13. The central processor 11 includes one or more processors. The storage unit 12 includes at least one of a volatile memory and a non-volatile memory. The communication unit 13 includes at least one of a communication interface for wired communication and a communication interface for wireless communication. The robot controller 10 also includes other hardware, such as a power supply unit for supplying power to one or more motors included in the robot 20.
[0028] Each of the first robot 20A and the second robot 20B is a device including one or more motors controlled by the robot controller 10. In the present embodiment, a case is described where each of the first robot 20A and the second robot 20B is a vertical articulated robot. Each of the first robot 20A and the second robot 20B may be of any type. For example, each of the first robot 20A and the second robot 20B may be a horizontal articulated robot, a parallel link robot, or a Cartesian robot. Each of the first robot 20A and the second robot 20B may have any number of axes. For example, each of the first robot 20A and the second robot 20B may have any number of axes from 4 to 7 axes.
[0029] The program or data stored in the storage unit 12 can be provided to the robot controller 10 via a network (e.g., an industrial network, the Internet, or a LAN). For example, the robot controller 10 may include at least one of the following items: a reading unit (e.g., a memory card slot) for reading a computer-readable information storage medium, and an input / output unit (e.g., a USB terminal) for connecting an external device. The program or data stored in the computer-readable information storage medium can be provided to the robot controller 10 via the reading unit or the input / output unit.
[0030] In addition, the robot controller 10 may include any hardware. The hardware configuration of the robot controller 10 is not limited to the above example. For example, the robot controller 10 may include a circuit (e.g., FPGA or ASIC). In the present embodiment, a case where the CPU 11 corresponds to a configuration called a "circuit" is described, but another circuit such as FPGA or ASIC may also correspond to the circuit.
[0031] In addition, the devices included in the robot control system 1 are not limited to Figure 1 The robot control system 1 may include any device. For example, the robot control system 1 may include a main controller for controlling the robot controller 10. For example, the robot control system 1 may include sensors such as a motor encoder, a torque sensor, a position sensor, an acceleration sensor, a gyroscope, a pressure sensor, a contact sensor, a force sensor, a weight sensor, or any other sensor. These sensors may be connected to the robot controller 10, and may also be included in each of the first robot 20A and the second robot 20B.
[0032] The robot control system 1 may include a plurality of robot controllers 10. For example, the first robot 20A may be controlled by the first robot controller 10. The second robot 20B may be controlled by the second robot controller 10. In this case, the first robot controller 10 and the second robot controller 10 are communicatively connected via a network (e.g., an industrial network, or a LAN). The first robot controller 10 and the second robot controller 10 may communicate with each other as needed to operate each of the first robot 20A and the second robot 20B.
[0033] [2. Overview of robot control systems]
[0034] Figure 2 2 is a schematic diagram for illustrating an example of a space in which the robot controller 10, the first robot 20A, and the second robot 20B are arranged. For example, the robot controller 10, the first robot 20A, and the second robot 20B are arranged in a facility (for example, a factory). Figure 2 In the example of , each of the camera 30 and the cutter 40 is attached to the tip of the first robot 20A. A connecting member 50B that can be connected to a connecting member 60B1 (described later) of a second support portion 60B is attached to the tip of the second robot 20B.
[0035] For example, the camera 30 is a 3D camera including a depth sensor. The camera 30 may be of any type and is not limited to a 3D camera. For example, the camera 30 may be a 2D camera (a camera without a depth sensor) or an infrared camera. The camera 30 may generate moving images by continuously capturing images at a predetermined frame rate, or may generate static images without continuously capturing images. The camera 30 may also be referred to as a "visual sensor". The camera 30 may be attached to the second robot 20B. A separate camera 30 may be attached to each of the first robot 20A and the second robot 20B.
[0036] For example, the cutter 40 is an ultrasonic cutter. The cutter 40 can be of any type and is not limited to an ultrasonic cutter. For example, the cutter 40 can be a vibration cutter that vibrates at high speed rather than ultrasonic vibration, or a cutter that does not generate vibration. In the present embodiment, the cutter 40 is detachably connected to the first robot 20A as an example for explanation, but the cutter 40 is not limited to a detachable connection and can also be supported on the first robot 20A. The cutter 40 can be attached to the second robot 20B. A separate cutter 40 can be attached to each of the first robot 20A and the second robot 20B.
[0037] In this embodiment, the first robot 20A and the second robot 20B are arranged in a sandwich of the workbench T. For example, the first support portion 60A and the second support portion 60B are placed on the workbench T. The first support portion 60A includes a connecting part 60A1, and the connecting part 60A1 can be connected to the connecting part 50A of the first robot 20A. The second support portion 60B includes a connecting part 60B1, and the connecting part 60B1 can be connected to the connecting part 50B of the second robot 20B. It is worth noting that in Figure 2 , the structure of the connecting component 60A1 is the same as the structure of the connecting component 60B1, but the angular relationship is not shown in the figure.
[0038] exist Figure 2 In the example of , material M including contents is placed on the first support 60A and the second support 60B. The contents are (one or more) objects packaged by the material M. The contents can be any object. For example, the contents can be raw materials produced in a factory or components of a product. The contents can be solid or liquid. The contents can be powdered. The contents are transferred to a container C by the first robot 20A and the second robot 20B. The container C has a capacity capable of storing the contents. The container C can also be referred to as a "hopper". The container C can be a well-known container.
[0039] Material M is an object used to wrap the contents. Material M may also be referred to as "packaging material". For example, material M may be a bag, a box, a bottle, or a case. In this embodiment, material M is taken as a kraft paper bag as an example. Material M may be any object. Material M is not limited to kraft paper bags. For example, material M may be a plastic bag, a polyethylene bag, an aluminum vapor-deposited bag, a paper bag, a jute bag, a flexible intermediate bulk container, an infusion bag, a cloth box, a cloth box, a plastic bottle, a paper box, or other objects.
[0040] For example, the material M is the work object of the first robot 20A and the second robot 20B, and thus can be referred to as a "workpiece". Each of the first robot 20A and the second robot 20B can perform any work on the material M. For example, the work performed by each of the first robot 20A and the second robot 20B on the material M can be cutting, supporting, transporting, rotating, deforming, or other work. As used in this embodiment, "work" also includes the concept of processing or handling.
[0041] Figure 3 60A, the second support portion 60B, and the material M. Figure 3 As shown in the figure, in this embodiment, the first support part 60A and the second support part 60B are not connected, but are separated from each other. For example, the first support part 60A and the second support part 60B are placed on the workbench T so that the first support part 60A and the second support part 60B are in contact with each other or the interval between them is less than a predetermined distance. The connecting parts 60A1 and 60B1 face outward relative to each other. For example, the connecting part 60A1 faces the first robot 20A, and the connecting part 60B1 faces the second robot 20B.
[0042] In the present embodiment, suction devices 61A and 61B are respectively arranged on the top surfaces of the first support portion 60A and the second support portion 60B. For example, suction devices 61A and 61B include a suction cup (suction device) in contact with the material M and a pump for suction. Suction devices 61A and 61B use a pump to form a vacuum state between the suction cup and the material M. Suction devices 61A and 61B can be any type of suction devices. For example, suction devices 61A and 61B can be a pad-like type instead of a suction cup, or a type called a vacuum grabber. Suction devices 61A and 61B do not need to have a suction function. For example, suction devices 61A and 61B can be a type that uses magnetic force or electrostatic force to attract material M.
[0043] In the present embodiment, the robot controller 10 controls each of the first robot 20A and the second robot 20B so that each of the first robot 20A and the second robot 20B performs a task of transferring the content of the material M to the container C. For example, the robot controller 10 controls the first robot 20A so that the first robot 20A photographs the material M with the camera 30 before performing the task on the material M.
[0044] Figure 4 is a schematic diagram for illustrating an example of a shooting position and a shooting direction of the camera 30. For example, the robot controller 10 recognizes a position in the real space in the form of a coordinate axis in which an X10 axis, a Y10 axis, and a Z10 axis are set around an origin O10 corresponding to a base of the first robot 20A. The robot controller 10 recognizes a position in the real space through a coordinate axis in which an X20 axis, a Y20 axis, and a Z20 axis are set around an origin O20 corresponding to a base of the second robot 20B.
[0045] The coordinate axis used by the robot controller 10 to control each of the first robot 20A and the second robot 20B may be any coordinate axis used for robot control. The coordinate axis is not limited to Figure 4 For example, a coordinate axis based on a motor included in each of the first robot 20A and the second robot 20B may be set. A coordinate axis may also be set based on a portion other than the motor included in each of the first robot 20A and the second robot 20B (for example, the position of a sensor).
[0046] In this embodiment, the robot controller 10 controls the first robot 20A to move the camera 30 above the material M to photograph the top surface of the material M. For example, the robot controller 10 controls the first robot 20A to move the camera 30 to the position FP0, which is the initial position. The photographing direction FV of the camera 30 is the vertical direction (the opposite direction of the Z10 axis, or the downward direction). Figure 4 In the example, it is assumed that the shooting direction FV of the camera 30 remains unchanged during the shooting process, but the shooting direction FV may change.
[0047] For example, the positions FP1, FP2, FP3, and FP4 that the camera 30 passes through are defined on a horizontal plane (X10-Y10 plane) including the position FP0. The shape of the line connecting the positions FP1, FP2, FP3, and FP4 is the same or substantially the same as the shape of the cut cut on the top surface of the material M. The robot controller 10 controls the first robot 20A so that the camera 30 starts from the position FP0, passes through the positions FP1, FP2, FP3, and FP4, and then returns to the position FP0. The camera 30 continuously photographs the material M during the movement. The camera 30 transmits the image generated by photographing the material M to the robot controller 10.
[0048] For example, the robot controller 10 acquires the distance between each of the positions FP1, FP2, FP3, and FP4 and the top surface of the material M based on the image captured by the camera 30. The robot controller 10 determines the moving path of the cutter 40 based on the result of measuring the distance between each of the positions FP1, FP2, FP3, and FP4 and the top surface of the material M. The cutter 40 is attached to the tip portion of the first robot 20A, so the moving path of the cutter 40 may also be referred to as “moving path of the tip portion of the first robot 20A”.
[0049] Figure 5 4 is a schematic diagram for illustrating an example of how to cut a cutout on the material M. The cutout is a mark cut out when the surface of the material M is cut by the cutter 40. The cutout may also be referred to as a cutting position on the surface of the material M. Figure 5 In the example of , the robot controller 10 determines the positions separated from the positions FP1, FP2, FP3, and FP4 as the positions P1, P2, P3, and P4 through which the cutter 40 passes, based on the distance to the top surface of the material M. Figure 5 In the example of FIG. 5 , the initial position of the cutter 40 is set to the position FP0 , but the initial position of the cutter 40 may be other positions.
[0050] For example, the robot controller 10 determines the moving path of the cutter 40 so that the cutter 40 starts from the position FP0, passes through the positions P1, P2, P3 and P4 on the surface of the material M, and then returns to the position FP0 again. The robot controller 10 controls the first robot 20A so that the cutter 40 moves along the moving path. The cutter 40 can be set so that the cutter 40 is not pulled out of the material M during the movement of the cutter 40, and the cutter 40 can also be set so that the cutter 40 is pulled out of the material M during the movement of the cutter 40 and then put into the material M again.
[0051] exist Figure 5In the example of , a cut is made in the material M so that a part of the material M is not hollowed out. Therefore, the part surrounded by the path from position P1 to position P4 is flap-shaped. This part is hereinafter referred to as "flip MF". The cut can also be referred to as the outline of the flap MF. The flap MF can be opened or closed according to the orientation of the material M. Figure 5 In the illustrated state, the cutout faces upward, so the flip cover MF is in a closed state. When the material M is rotated so that the cutout faces downward, the flip cover MF gradually turns outward, and the opening of the material M is exposed.
[0052] For example, when a cut is made on the material M, the robot controller 10 causes the first robot 20A to withdraw the camera 30 and the cutter 40. The method by which the first robot 20A withdraws the camera 30 and the cutter 40 may be a well-known method, which is adopted as a method of replacing the end effector in robot control. This method may also be referred to as "tool replacement". Instructions for tool replacement may be executed based on instructions defined in various languages (e.g., robot languages).
[0053] For example, when the camera 30 and the cutter 40 are withdrawn from the first robot 20A, the robot controller 10 causes the first robot 20A to move the connecting part 50A so that the connecting part 50A of the first robot 20A is connected to the connecting part 60A1 of the first support part 60A. The robot controller 10 causes the second robot 20B to move the connecting part 50B so that the connecting part 50B of the second robot 20B is connected to the connecting part 60B1 of the second support part 60B. A well-known method used in tool replacement can be used for these connection methods. The connecting part 50B of the second robot 20B can be connected to the connecting part 60B1 of the second support part 60B from the beginning.
[0054] Figure 6 1 is a schematic diagram for illustrating an example of how to connect the connecting member 50A of the first robot 20A and the connecting member 60A1 of the first supporting portion 60A, and connect the connecting member 50B of the second robot 20B and the connecting member 60B1 of the second supporting portion 60B. Figure 6 In the example of FIG. 1 , only the portion near the tips of the first robot 20A and the second robot 20B is illustrated, and the other portions are omitted. For example, the robot controller 10 causes each of the first robot 20A and the second robot 20B to move the material M above the container C.
[0055] Figure 7is a schematic diagram for illustrating an example of how to move the material M above the container C. For example, when the material M is moved above the container C, the robot controller 10 causes each of the first robot 20A and the second robot 20B to rotate the material M so that the cut of the material M faces downward. In this embodiment, the robot controller 10 causes the first robot 20A and the second robot 20B to slowly rotate the material M so that the shape (center of gravity or balance of contents) of the material M does not suddenly change. When the material M rotates, the flap MF of the material M gradually flips outward, and the contents in the material M gradually come out and fall into the container C.
[0056] Figure 8 is a schematic diagram for illustrating an example of how the contents of the material M fall into the container C. For example, when the material M rotates to a certain extent, the contents fall to the container C to a certain extent, so even if the rotation speed of the material M increases, the shape of the material M (the center of gravity or balance of the contents) does not change suddenly. Therefore, in the present embodiment, the robot controller 10 gradually increases the rotation speed of each of the first robot 20A and the second robot 20B. The flap MF of the material M is further turned outward, and the contents in the material M come out one after another and fall into the container C.
[0057] For example, the robot controller 10 causes the first robot 20A and the second robot 20B to rotate the material M until the flap MF of the material M is turned outward and the exposed opening faces downward. In the present embodiment, described is the control performed before the content of the material M comes out to a certain extent and falls into the container C. The robot control system 1 that does not perform the control described in the modified example is also included in the scope of the present disclosure.
[0058] As described above, the robot control system 1 causes the first robot 20A to move the cutter 40 to cut a cut on the material M with the cutter 40. The robot control system 1 causes each of the first robot 20A and the second robot 20B to support the material M and cut a cut on the material M. The robot control system 1 causes each of the first robot 20A and the second robot 20B to rotate the material M in a supported state so that the cut faces downward. After the cut is cut on the top surface of the material M, the material M is rotated so that the cut faces downward, and thus the robot control system 1 can prevent the contents from adhering to each of the first robot 20A, the second robot 20B, and the cutter 40. The robot control system 1 will be described in detail below.
[0059] [3. Functions implemented by the robot control system]
[0060] Fig. 91 is a schematic diagram for illustrating an example of functions implemented by the robot control system 1. For example, the robot controller 10 includes a data storage unit 100, a cutting control module 101, a support control module 102, and a rotation control module 103. The data storage unit 100 is implemented by the storage unit 12. Each of the cutting control module 101, the support control module 102, and the rotation control module 103 is implemented by the CPU 11.
[0061] [3-1. Data storage unit]
[0062] The data storage unit 100 stores data required for the robot controller 10 to control the robot 20. For example, the data storage unit 100 stores programs (these programs include codes that indicate the control details of the robot 20) and parameters referenced by the programs. The parameters can be any parameters used in the control of the robot. For example, the parameters can indicate the current position, orientation (posture), movement speed, rotation speed, or other states of the robot 20.
[0063] The program can be written in any language. For example, the program can be written in a robot language or a ladder diagram language. The code included in the program can be any code used in these languages. The code can also be referred to as an "instruction". For example, the program includes a code for moving each robot 20 to a predetermined position, a code for changing the orientation (posture) of each robot 20, a code for controlling the moving speed of each robot 20, a code for controlling the rotation speed of each robot 20, a tool changing code or other code. Each section of code can be a code defined in a known language.
[0064] In the present embodiment, the recognition program, the cutting program, the support program and the rotation program are described as examples of programs. Each of the recognition program, the cutting program, the support program and the rotation program corresponds to a subroutine, so there may be an additional program corresponding to the main routine that calls these programs. The recognition program, the cutting program, the support program and the rotation program can be combined into one program.
[0065] For example, the recognition program is a program for the robot controller 10 to recognize the position and shape of the material M based on the image taken by the camera 30. The recognition program includes a code for recognizing the position and shape of the material M based on the image taken by the camera 30. For example, when the surface of the material M is a curved surface, the recognition program can also recognize the shape of the curved surface.
[0066] For example, the recognition program may include a code for causing the first robot 20A to move the camera 30 and a code for causing the first robot 20A to change the orientation of the camera 30. In the present embodiment, the recognition program includes a code for controlling the first robot 20A so that the camera 30 starts from the position FP0, passes through the positions FP1, FP2, FP3 and FP4, and returns to the position FP0. The code may be included in a program other than the recognition program. The recognition program may also include other codes. The position and direction in which the camera 30 shoots the material M are not limited to the present embodiment. The camera 30 may shoot the material M from any position and direction.
[0067] Any method used in the field of image processing can be used as a method for identifying the position and shape of the material M. The recognition program can be a well-known object detection program. In the present embodiment, the camera 30 is a 3D camera, so the recognition program includes a code for recognizing the position and shape of the material M based on the image taken by the 3D camera (including the image of the depth between the camera 30 and the subject). For example, the recognition program recognizes the three-dimensional position and three-dimensional shape of the material M based on multiple images taken by the camera 30. As another example, the position and shape of the material M can be detected by a sensor other than the camera 30 (e.g., a laser displacement meter).
[0068] For example, the cutting program is a program for a series of operations that instructs the robot 20 to cut a cut on the material M. In the present embodiment, the first robot 20A cuts a cut on the material M with the cutter 40, so the cutting program includes a code for causing the first robot 20A to move the cutter 40. For example, the cutting program includes a code for determining a moving path along which the cutter 40 is moved by the first robot 20A, and a code for causing the first robot 20A to move the cutter 40 along the moving path. Any algorithm can be used to determine the moving path. For example, linear interpolation or linked interpolation can be used to determine the moving path. This also applies to other path determination methods.
[0069] Fig.10 is a schematic diagram for illustrating an example of a movement path along which the first robot 20A moves the cutter 40. Fig.10 In the example of , the cutting program includes a code for determining a path starting from the position FP0, passing through the positions P1, P2, P3, and P4 on the top surface of the material M, and returning to the position FP0 as a moving path of the cutter 40. For example, the position FP0 is an initial position when the first robot 20A moves the cutter 40. The position FP0 is predetermined.
[0070] In this embodiment, on the horizontal plane including the position FP0 (at Fig.10On the X10-Y10 plane (in the X10-Y10 plane), position FP1 corresponding to position P1, position FP2 corresponding to position P2, position FP3 corresponding to position P3, and position FP4 corresponding to position P4 are determined in advance. Positions FP1, FP2, FP3, and FP4 are respectively the same positions in the horizontal direction as positions P1, P2, P3, and P4 (in the X10-Y10 plane). Fig.10 The line connecting the positions FP1, FP2, FP3, and FP4 indicates the shape of the cutout.
[0071] For example, the cutting program may include a code for obtaining a distance from each of the positions FP1, FP2, FP3, and FP4 to the surface of the material M based on the position and shape of the material M. The cutting program may also include a code for determining a position as the positions P1, P2, P3, and P4, the determined positions being the distances in the vertical direction (in Fig.10 The acquired distance is separated from each of the positions FP1, FP2, FP3 and FP4 in the negative direction or downward direction of the Z10 axis).
[0072] For example, each of the positions P1, P2, P3, and P4 is a position on the top surface of the material M. The cutting program includes a code for determining the following path as the moving path of the cutter 40: the path starts from the position FP0, passes through the positions P1, P2, P3, and P4 determined as described above, and then returns to the position FP0 moving path. For example, linear interpolation or linked interpolation can be used to determine the moving path. The positions P1, P2, P3, and P4 can be any positions on the top surface of the material M. For example, the positions P1, P2, P3, and P4 can be positions near the center of the top surface of the material M, positions closer to the edge than the center in the longitudinal direction of the material M, positions closer to the edge than the center in the short direction of the material M, or other positions.
[0073] The shape of the path connecting the positions P1, P2, P3 and P4 (the actual cutting opening) is the same or substantially the same as the shape of the path connecting the positions FP1, FP2, FP3 and FP4 (the pre-specified cutting opening). Therefore, it can also be said that the cutting program includes a code for acquiring the distance from the path of the pre-specified cutting opening to the surface of the material M, and a code for determining a path separated from the path of the pre-specified cutting opening by the acquired distance in the vertical direction as the actual cutting opening.
[0074] In addition, the cutting program may also include a code for determining a moving path of the cutter 40 to cut a cut on the material M. The code included in the cutting program is not limited to the above examples. For example, the cutting program may include a code for determining a position P1 where a straight line extending from the position FP0 along the first direction intersects with the top surface of the material M. Similarly, the cutting program may include the following code: the code is used to determine that the position where a line extending from the position FP0 along the second direction, the third direction, or the fourth direction intersects with the top surface of the material M is a position P2, a position P3, or a position P4.
[0075] As another example, the cutting program may include a code for determining the moving path of the cutter 40 based only on the position of the material M without considering the shape of the material M. For example, it is not required to dynamically determine the moving path, and the cutting program may include a code for causing the first robot 20A to move the cutter 40 along a previously determined moving path. In this case, the data storage unit 100 does not need to store the recognition program. For example, the cutting program may include a code for determining the moving path to cut a cut while the cutter 40 is pulled out of the material M.
[0076] For example, the support program is a program that indicates a series of operations under which the robot 20 supports the material M. The "support" used in this article also includes concepts such as grasping, supporting, sucking, and attracting. As used in the present embodiment, the first robot 20A and the second robot 20B support the material M, so the data storage unit 100 stores a first support program for causing the first robot 20A to support the material M, and a second support program for causing the second robot 20B to support the material M.
[0077] Fig.11 : is a schematic diagram for illustrating an example of a movement path of the first robot 20A and the second robot 20B supporting the material M. For example, the position P10 is the initial position of the first robot 20A. The position P10 is predetermined. The first support program includes a code for determining a movement path from the position P10 to the position P11 of the connecting part 60A1 of the first support portion 60A. The first support program includes a code for causing the first robot 20A to connect the connecting part 50A from the position P10 to the connecting part 60A1 at the position P11. The first support program includes a code for moving the first robot 20A from the position P11 to a predetermined position P12 above the container C.
[0078] For example, the position P20 is the initial position of the second robot 20B. The position P20 is predetermined. The second support program includes a code for determining a moving path from the position P20 to the position P21 of the connecting part 60B1 of the second support portion 60B. The second support program includes a code for causing the second robot 20B to connect the connecting part 50B from the position P20 to the connecting part 60B1 at the position P21. The second support program includes a code for moving the second robot 20B from the position P21 to a predetermined position P22 above the container C.
[0079] The first support program may include a code for recognizing the position of the connection part 60A1 of the first support portion 60A based on the captured image, and aligning the connection part 50A to the recognized position. In this case, the camera 30 is still attached to the first robot 20A even after the cut is cut on the material M. The second support program may include a code for recognizing the position of the connection part 60B1 of the second support portion 60B based on the captured image, and aligning the connection part 50B to the recognized position. In this case, the second robot 20B includes a camera 30 different from the camera 30 attached to the first robot 20A.
[0080] For example, the rotation program includes a code for causing the robot 20 to rotate the material M. In the present embodiment, the first robot 20A and the second robot 20B rotate the material M, so the data storage unit 100 stores a first rotation program for causing the first robot 20A to rotate the material M, and a second rotation program for causing the second robot 20B to rotate the material M.
[0081] For example, the first rotation program includes a code that instructs the first robot 20A to rotate a predetermined angle in a predetermined rotation direction RD1 at a position P12. The second rotation program includes a rotation instruction that instructs the second robot 20B to rotate a predetermined angle in a predetermined rotation direction RD2 at a position P22. The rotation directions RD1 and RD2 are directions in which the cut of the material M faces downward. In other words, the rotation directions RD1 and RD2 of the material M are directions in which the surface (top surface in this embodiment) where the cut is located faces downward.
[0082] The data stored in the data storage unit 100 is not limited to the above examples. For example, the data storage unit 100 may store other programs besides the recognition program, the cutting program, the support program, and the rotation program. In addition, the data stored in the data storage unit 100 is not limited to the program. For example, the data storage unit 100 may store movement path data indicating each movement path.
[0083] [3-2. Cutting control module]
[0084] The cutting control module 101 causes the robot 20 to move at least one of the cutter 40 and the material M to cut a cutout on the material M with the cutter 40. The cutout is a mark cut out when the material M is cut. As used in the present embodiment, the "cutout" may also be referred to as the "cutting position of the material M". The robot 20 is the main body that performs the action of cutting out the cutout. The cutout may be cut out on any surface of the material M, as long as it is difficult for the contents to flow out at the position of the cutout when the cutout is cut out.
[0085] For example, a cut may be made on a surface other than the bottom surface of the material M. A cut may be made on the side or top surface of the material M. In other words, the direction in which the cut is made may not be a downwardly oriented direction. As used herein, "bottom surface", "side surface" and "top surface" refer to the bottom surface, side surface and top surface of the material M when it is placed on the first support portion 60A and the second support portion 60B, respectively. When the first support portion 60A and the second support portion 60B are not distinguished, these support portions are referred to as "support portion 60" hereinafter. For example, a cut is made on a portion of the material M that does not contact the support portion 60.
[0086] In the present embodiment, the cutting opening is cut so that the cutting opening is upward. In the present embodiment, the upward direction is a direction above the horizontal plane. The downward direction is a direction below the horizontal plane. In other words, the cutting control module 101 causes the robot 20 to move at least one of the cutter 40 and the material M so that the material M is cut by the cutter 40 in a state where the material M is supported by the support 60 (for example, in a state where the material M is placed on the support 60). In this case, the cutting opening is a portion where the material M does not contact the support 60.
[0087] In this embodiment, the first robot 20A clamps the cutter 40, so that the cutting control module 101 causes the first robot 20A to move the cutter 40 so that the blade of the cutter 40 cuts the material M. For example, the cutting control module 101 determines a moving path based on a cutting program to cut a cut on the material M with the cutter 40. The cutting control module 101 controls the first robot 20A based on the cutting program to move the cutter 40 along the moving path.
[0088] In this embodiment, the cutting opening has a connection Figure 5The path shapes of positions P1, P2, P3 and P4 are taken as examples, but the cutting opening can have any shape. The cutting opening can be in the shape of a character, a symbol, a graphic, or a shape in which a part of the character is omitted. For example, the cutting opening can be in the shape of a line segment or a polygon (for example, a triangle or a quadrilateral), or a shape in which a part of the polygonal line segment is omitted, or a shape in which a part of the circle is omitted, or a shape similar to a letter (for example, C, U, V, L or X), or a shape similar to a character other than a letter, or a shape similar to a symbol other than a character, or other shapes.
[0089] For example, the cutting opening may be formed by at least one arc. The cutting opening may be formed by two straight-line cutting openings with at least one contact point. In this embodiment, it is sufficient as long as the cutting opening forms an opening on the material M. The cutting opening may be a line segment, a curve, or a combination of a line segment and a curve. For example, the opening formed by the cutting opening may be determined according to the size of the container C. For example, the size of the opening may be smaller than the container C. The cutting opening may be determined according to the surface shape of the material M.
[0090] In this embodiment, the cutting control module 101 includes a multi-cutting control module 101A, an opening cutting control module 101B, a graphic cutting control module 101C, and a support and cutting control module 101D. The cutting program includes a code indicating details of control by each of the multi-cutting control module 101A, the opening cutting control module 101B, the graphic cutting control module 101C, and the support and cutting control module 101D. The cutting control module 101 may not include or only include a part of the multi-cutting control module 101A, the opening cutting control module 101B, the graphic cutting control module 101C, and the support and cutting control module 101D.
[0091] [Multi-cutting control module]
[0092] The multi-cutting control module 101A causes the robot 20 to move at least one of the cutter 40 and the material M to cut a plurality of cuts on the material M with the cutter 40. In this embodiment, the first robot 20A holds the cutter 40, so the multi-cutting control module 101A causes the first robot 20A to move the cutter 40 to cut a plurality of cuts on the material M with the cutter 40.
[0093] For example, the multi-cutting control module 101A causes the first robot 20A to move the cutter 40 so that a first notch is cut with the cutter 40. The multi-cutting control module 101A controls the robot 20A so that the first robot 20A pulls the cutter 40 out of the material M and cuts a notch at a position different from the first notch with the cutter 40, thereby cutting a second notch with the cutter 40. Thereafter, the multi-cutting control module 101A controls the robot 20A so that the first robot 20A pulls out the cutter 40 and cuts a new notch until a predetermined number of notches are cut on the material M.
[0094] exist Fig.10 In the example of FIG. 1 , when the cut is made along the entire moving path of the connecting positions P1 , P2 , P3 and P4 , only one cut is made on the material M. However, it is acceptable that Fig.10 A cutting opening is made on a small part of the moving path. For example, only the part near the position P2 may not be cut. In this case, the multi-cutting control module 101A enables the first robot 20A to cut a cutting opening with the cutter 40, and the cutting opening is from the position P1 to the position near the position P2.
[0095] Subsequently, the multi-cutting control module 101A causes the first robot 20A to pull out the cutter 40 just before the position P2, and use the cutter 40 to cut a cut from just after the position P2 to the position P3. The portion near the position P2 remains uncut. After the material M is rotated, the portion near the position P2 is cut off by the weight of the contents. In this way, a Fig.10 Another example is that the multi-cutting control module 101A can control the first robot 20A to keep positions other than the P2 position (for example, the P3 position) in an uncut state.
[0096] As another example, the multi-cutting control module 101A can control the first robot 20A to cut a plurality of cuts along a predetermined direction with the cutter 40. For example, the multi-cutting control module 101A can control the first robot 20A to cut a plurality of cuts along the longitudinal direction of the material M with the cutter 40. In addition, the multi-cutting control module 101A can control the first robot 20A to cut a plurality of cuts in the transverse direction of the material M with the cutter 40. The multi-cutting control module 101A can cause the first robot 20A to cut a plurality of cuts with the cutter 40, thereby forming a plurality of cuts with the cutter 40. Figure 5 Similar multiple flip MF.
[0097] The robot controller 10 does not need to include the multiple cutting control modules 101A. In this case, the cutting control module 101 may cause the robot 20 to move at least one of the cutter 40 and the material M to cut a cut on the material M with the cutter 40 .
[0098] [Opening cutting control module]
[0099] The opening cutting control module 101B enables the robot 20 to move at least one of the cutter 40 and the material M, so as to use the cutter 40 to cut a cut that can form a planar opening on the material M. In this embodiment, the first robot 20A clamps the cutter 40, so the opening cutting control module 101B enables the first robot 20A to move the cutter 40, so as to use the cutter 40 to cut a cut that can form a planar opening on the material M. In this embodiment, the portion exposed when the flip cover MF is turned outward corresponds to the opening.
[0100] The opening is a hole on the surface of the material M. The profile of the opening is the same as the cut. Therefore, like the shape of the cut, the shape of the opening can also be any shape. The shape of the opening can be the same as the example of the cut shape described above. Figure 5 In the example of , the opening is formed by the flip cover MF turned outward. When the robot controller 10 does not include the graphic cutting control module 101C (described later), the opening cutting control module 101B can enable the first robot 20A to hollow out a part of the material M with the cutter 40, thereby cutting out a cutting opening capable of forming an opening.
[0101] [Graphic cutting control module]
[0102] The pattern cutting control module 101C causes the robot 20 to move at least one of the cutter 40 and the material M so that the pattern drawn (formed) by the cuts cut on the material M becomes an open pattern. In this embodiment, the first robot 20A holds the cutter 40, so the pattern cutting control module 101C causes the first robot 20A to move the cutter 40 so that the pattern drawn by the cuts cut on the material M becomes an open pattern.
[0103] The figure drawn by the cut is the figure indicated by the line forming the cut. Figure 5 In the example of , the graph is a graph indicated by a path connecting positions P1, P2, P3 and P4. The graph may also be referred to as a cutting path of the cutter 40. An open graph refers to a graph in which the boundary portion of the cutout remains in the main body of the material M. An open graph may also be referred to as a graph in which the lines constituting the graph do not intersect each other. An open graph may also be referred to as a graph in which the material M is not hollowed out.
[0104] For example, the graphic cutting control module 101C determines the moving path of the cutter 40 to create an open graphic. The graphic cutting control module 101C causes the first robot 20A to move the cutter 40 along the moving path. In other words, the graphic cutting control module 101C controls the first robot 20A to make the cutter 40 pass through different positions on the surface of the material M. The graphic cutting control module 101C controls the first robot 20A to prevent the material M from being hollowed out by the cutter 40. The graphic cutting control module 101C controls the first robot 20A to make the cutter 40 not pass through the same position on the surface of the material M.
[0105] For example, the graphic cutting control module 101C controls the first robot 20A to make the cutter 40 cut a cut that can form a flap opening on the material M. The flap opening is a part of the material M that can be opened and closed by the flap MF. The graphic cutting control module 101C controls the first robot 20A to cut a cut that can form a valve-shaped opening on the material M with the cutter 40. The graphic cutting control module 101C controls the first robot 20A to cut a cut that enables a part of the material M to be opened and closed with the cutter 40.
[0106] [Support and cutting control module]
[0107] The support and cutting control module 101D controls the robot 20 to cut a cut with the cutter 40 on the material M placed on the support portion 60 supporting the material M from below. In the present embodiment, the first robot 20A clamps the cutter 40, so that the support and cutting control module 101D causes the first robot 20A to move the cutter 40 so that the cutter 40 cuts a cut on the material M placed on the support portion 60 supporting the material M from below.
[0108] In this embodiment, a worker places the material M on the support 60 as an example, but the first robot 20A, the second robot 20B, or other robots may also place the material M on the support 60. The support 60 on which the material M is placed may be transported to the workbench T. In this case, the worker, the first robot 20A, the second robot 20B, or other robots may also transport the support 60 to the workbench T.
[0109] In the present embodiment, the material M is placed on the first support 60A and the second support 60B, so the support and cutting control module 101D causes the first robot 20A to move the cutter 40 to cut a cut on the material M placed on the first support 60A and the second support 60B with the cutter 40. This is different from the matters already described above in that the material M is placed on the first support 60A and the second support 60B, but is the same as the matters already described above in terms of the control itself of cutting the cut.
[0110] Before cutting a cut on the material M, each of the first support portion 60A and the second support portion 60B may start suctioning the material M. Suction is turned on / off based on the control of the robot controller 10 or other devices. Suction of the material M may be turned on / off at any time. For example, when cutting a cut on the material M, suction of the material M may be turned off. When the material M is supported by the support control module 102, suction may be turned on, as described below.
[0111] [3-3. Support control module]
[0112] The support control module 102 enables the robot 20 to support the material M. In the present embodiment, an example is given in which the support control module 102 enables the robot 20 to support the material M by using a suction device. The support control module 102 may enable the robot 20 to support the material M by a method other than suction. For example, the support control module 102 may enable the robot 20 to support the material M by magnetic force or electrostatic force. The support control module 102 may enable the robot 20 to support the material M by grabbing the material M with a manipulator. The support control module 102 determines a moving path for the robot 20 to support the material M based on a support program. The support control module 102 enables the robot 20 to move along the moving path.
[0113] The support control module 102 causes the first robot 20A to support the material M. The support control module 102 determines a movement path for the first robot 20A to support the material M based on the first support program. The support control module 102 causes the first robot 20A to support the material M by moving the first robot 20A along the movement path. When an operation other than movement is required to support the material M, a code indicating the operation is also included in the first support program. For example, the operation is an operation such as turning on a suction device.
[0114] In this embodiment, the support control module 102 determines the movement path of the first robot 20A so that the connection part 50A of the first robot 20A is connected to the connection part 60A1 of the first support part 60A. The support control module 102 moves the first robot 20A along the movement path. The support control module 102 connects the connection part 50A and the connection part 60A1 of the first robot 20A. After the connection part 50A and the connection part 60A1 are connected, the support control module 102 moves the first robot 20A to the first support part 60A where the material M is placed. The code of the first support program for this series of control is as described above.
[0115] The support control module 102 enables the second robot 20B to support the material M in cooperation with the first robot 20A. As used herein, "cooperation" means to be consistent with the operation of another robot. For example, the second robot 20B moves while maintaining a predetermined positional relationship with the first robot 20A, corresponding to "cooperation". The second robot 20B moves in the same direction as the first robot 20A, corresponding to "cooperation". The second robot 20B performs the same operation as the first robot 20A (for example, moves in the same direction at the same speed), corresponding to "cooperation". The second robot 20B works on the same material M as the first robot 20A, corresponding to "cooperation".
[0116] In the present embodiment, the support control module 102 determines the movement path of the second robot 20B supporting the material M based on the second support program. The support control module 102 supports the material M by moving the second robot 20B along the movement path. When an operation other than movement is required to support the material M, a code indicating the operation is also included in the second support program. For example, the operation is an operation such as turning on the suction device.
[0117] In this embodiment, the support control module 102 determines the movement path of the second robot 20B so that the connection part 50B of the second robot 20B is connected to the connection part 60B1 of the second support part 60B. The support control module 102 moves the second robot 20B along the movement path. The support control module 102 connects the connection part 50B and the connection part 60B1 of the second robot 20B. After the connection part 50B and the connection part 60B1 are connected, the support control module 102 moves the second robot 20B to the second support part 60B where the material M is placed. The second support program code for this series of control is as described above.
[0118] The support control module 102 enables the robot 20 connected to the support portion 60 to support the material M. The support control module 102 determines the moving path of the robot 20 connected to the support portion 60 based on the support program. The support control module 102 enables the robot 20 to move along the moving path. The support control module 102 enables the robot 20 to connect the connecting parts 50A and 50B, and the connecting parts 60A1 and 60B1. After the connecting parts 50A and 50B and the connecting parts 60A1 and 60B1 are connected, the support control module 102 enables the robot 20 to move the support portion 60 on which the material M is placed. The support program code for this series of controls is as described above. The support portion 60 does not need to be divided into two like the first support portion 60A and the second support portion 60B. The support control module 102 can enable one robot 20 to support the material M placed on one support portion 60.
[0119] [3-4. Rotation control module]
[0120] The rotation control module 103 causes the robot 20 to rotate the material M so that the cut is facing downward. For example, the rotation control module 103 causes the robot 20 to rotate the material M so that the surface on which the cut is made faces downward. In this embodiment, under the control of the support control module 102, the material M is supported and conveyed in a state where at least a portion of the cut is facing a direction other than downward. The rotation control module 103 causes the robot 20 to rotate the material M from a state where at least a portion of the cut is facing a direction other than downward to a state where at least a portion of the cut is facing downward based on the rotation program. The material M is rotated by the rotation of a motor arranged at the tip of the robot 20.
[0121] For example, the rotation control module 103 includes a first rotation control module 103A, a second rotation control module 103B, and a direction rotation control module 103C. The rotation program includes a code indicating details of control by each of the first rotation control module 103A, the second rotation control module 103B, and the direction rotation control module 103C. The rotation control module 103 may not include the first rotation control module 103A, the second rotation control module 103B, and the direction rotation control module 103C, or may include only a part of them.
[0122] [First rotation control module]
[0123] The first rotation control module 103A causes the first robot 20A to rotate the material M so that the cutout faces downward. The first rotation control module 103A determines the rotation direction of the first robot 20A supporting the material M based on the first rotation program. The rotation direction is a direction in which at least a portion of the cutout of the material M changes from a state in which at least a portion of the cutout of the material M faces a direction other than downward to a state in which at least a portion of the cutout faces downward. The first rotation control module 103A causes the material M to rotate so that the cutout faces downward by rotating the motor at the tip of the first robot 20A based on the rotation direction.
[0124] [Second rotation control module]
[0125] The second rotation control module 103B causes the second robot 20B to cooperate with the first robot 20A to rotate the material M so that the cutout faces downward. The second rotation control module 103B determines the rotation direction of the second robot 20B supporting the material M based on the second rotation program. The rotation direction is a direction in which at least a portion of the cutout of the material M changes from a state in which at least a portion of the cutout of the material M faces a direction other than downward to a state in which at least a portion of the cutout faces downward. The second rotation control module 103B rotates the material M so that the cutout faces downward by rotating the motor at the tip of the second robot 20B based on the rotation direction.
[0126] [Direction rotation control module]
[0127] The direction rotation control module 103C causes the robot 20 to rotate the material M so that the flap MF formed by the opening is turned upward. When the flap MF is turned upward, this means that the surface of the material M on which the flap MF is provided ( Figure 5 The top surface is the top surface in the material M, and the part other than the flap MF faces downward. The direction rotation control module 103C determines the rotation direction of the flap upward based on the rotation program. In the rotation direction, on the surface of the material M with the flap MF ( Figure 5 The direction rotation control module 103C rotates the motor at the tip of the robot 20 based on the rotation direction to rotate the material M, thereby turning the flip cover MF upward.
[0128] [4. Processing performed by the robot control system 1]
[0129] Fig.12 is a flowchart for illustrating an example of processing performed by the robot control system 1. When the CPU 11 executes a program stored in the storage unit 12, the execution Fig.12 processing process. Fig.12 The processing is performed after the material M is placed on the first support 60A and the second support 60B. Fig.12In FIG. 1 , an overview of the processing performed by the robot control system 1 is illustrated. Fig.13 The details of the processing are shown in the figure.
[0130] like Fig.12 As shown, the robot controller 10 causes the first robot 20A to photograph the material M with the camera 30 based on the recognition program (step S1). The robot controller 10 causes the first robot 20A to move the cutter 40 to cut a cut on the material M with the cutter 40 based on the cutting program (step S2). Based on the support program, the robot controller 10 causes the first robot 20A and the second robot 20B to support the first support part 60A and the second support part 60B, respectively (step S3). Based on the rotation program, the robot controller 10 causes each of the first robot 20A and the second robot 20B to convey the material M, and causes each of the first robot 20A and the second robot 20B to rotate the material M so that the cut faces downward (step S4). Then, the process ends.
[0131] Fig.13 1 is a flowchart for illustrating an example of the details of the processing steps of step S2 to step S4. The processing steps of step S20 to step S22 are details of the processing steps of step S2. The processing steps of step S30 to step S33 are details of the processing steps of step S3. The processing steps of step S40 and step S41 are details of the processing steps of step S4.
[0132] like Fig.13 As shown, the robot controller 10 calculates the movement path for the first robot 20A to cut a cut in the material M with the cutter 40 based on the position and shape of the material M identified in step S2 and the cutting program (step S20). The robot controller 10 causes the first robot 20A to cut a cut in the material M with the cutter 40 based on the movement path calculated in step S20 (step S21). The robot controller 10 causes the first robot 20A to withdraw the camera 30 and the cutter 40 (step S22).
[0133] The robot controller 10 determines the movement path of the first robot 20A to support the material M with the first support part 60A based on the first support program (step S30). The robot controller 10 determines the movement path of the second robot 20B to support the material M with the second support part 60B based on the second support program (step S31). The robot controller 10 causes the first robot 20A to support the material M based on the movement path determined in step S30 (step S32). The robot controller 10 causes the second robot 20B to support the material M based on the movement path determined in step S31 (step S33).
[0134] The robot controller 10 causes the first robot 20A and the second robot 20B to move the material M to a position above the container C based on the movement paths determined in step S30 and step S31 (step S40). The robot controller 10 causes the first robot 20A and the second robot 20B to rotate the material M above the container C based on the first rotation program and the second rotation program so that the cut portion faces downward (step S41), and the process ends.
[0135] [5. Summary of Embodiments]
[0136] The robot control system 1 of the present embodiment includes one or more robots 20 that perform work on a material M including content. The robot control system 1 causes the robot 20 to move at least one of the cutter 40 and the material M to cut a cut on the material M with the cutter 40. The robot control system 1 causes the robot 20 to support the material M. The robot control system 1 causes the robot 20 to rotate the material M so that the cut is facing downward. At the moment when the cutter 40 cuts the cut, the cut is not facing the downward direction, and then the material M rotates so that the cut is facing downward, so that the content is difficult to come out before the material M rotates. Therefore, the robot control system 1 can prevent the content from adhering to at least one of the cutter and the robot. For example, in the related art disclosed in the previously disclosed Japanese Patent Application No. Hei 7-081870, after the cutter cuts the bottom surface of the bag, the content tends to come out and adhere to the cutter. Compared with the related art, the robot control system 1 of the present embodiment can prevent the content from adhering to the cutter 40, for example, because at the moment when the cutter 40 cuts the cut, the cut is not facing the downward direction, making it difficult for the content to come out.
[0137] In addition, the robot control system 1 causes the first robot 20A to rotate the material M so that the cut end faces downward. The robot control system 1 causes the second robot 20B to rotate the material M in cooperation with the first robot 20A so that the cut end faces downward. The robot control system 1 can support and rotate the material M in a stable state by using two robots 20. For example, the material M can be prevented from falling during the rotation of the material M.
[0138] Furthermore, the robot control system 1 causes the robot 20 to move at least one of the cutter 40 and the material M to make a plurality of cuts in the material M with the cutter 40. As a result of making a plurality of cuts in the material M, the robot control system 1 can easily discharge the contents.
[0139] Furthermore, the robot control system 1 causes the robot 20 to move at least one of the cutter 40 and the material M to cut a cutout that can form a planar opening on the material M with the cutter 40. Since the cutout that forms the planar opening is cut, the robot control system 1 can easily unload the contents.
[0140] In addition, the robot control system 1 causes the robot 20 to move at least one of the cutter 40 and the material M so that the pattern drawn by the cut cut on the material M becomes an open pattern. The robot control system 1 can prevent a part of the material M from falling together with the content. For example, the robot control system 1 can prevent a part of the material M from being mixed into the content transferred to the container C.
[0141] In addition, the robot control system 1 causes the robot 20 to rotate the material M so that the flap FP generated by the formation of the opening is turned upward. By rotating the material M to an orientation in which the flap FP is turned upward, the contents in the material M can be easily discharged. For example, when the flap FP is turned in the opposite direction (downward), the material M may be unable to withstand the weight and tear, but the robot control system 1 can prevent the material M from being torn due to the flip FP being turned upward.
[0142] Furthermore, the robot control system 1 controls the robot 20 so that the cutter 40 cuts a cut on the material M placed on the support 60 that supports the material M from below. The robot control system 1 causes the robot 20 connected to the support 60 to support the material M. The robot control system 1 cuts a cut on the material M in a state where the material M is placed on the support 60, and causes the robot connected to the support 60 to support the material M, so that the process is smoothly performed after the cut is cut. For example, the robot control system 1 can handle various types of materials M without preparing a dedicated robot hand for a specific material M, so the robot control system 1 has high versatility.
[0143] [6. Modification example]
[0144] The present disclosure is not limited to the above-described embodiments, and can be appropriately modified without departing from the spirit of the present disclosure.
[0145] Fig.14 1 is a schematic diagram for illustrating an example of functions implemented by the robot control system 1 according to a modified example of the present disclosure. For example, the robot controller 10 includes a deformation control module 104, a tilt control module 105, a weight information acquisition module 106, a separation control module 107, a conveyance control module 108, and a support force control module 109. Each of these functions is implemented by the CPU 11.
[0146] [6-1. Modification example 1]
[0147] For example, when the material M is rotated so that the cutout faces downward (as in the present embodiment), not all contents can come out of the opening. Even if the material M is rotated to a position where the cutout faces directly downward, some contents may still remain in the material M. Therefore, the robot controller 10 may cause the first robot 20A and the second robot 20B to deform the material M so as to discharge the contents remaining in the material M.
[0148] Fig.15 is a schematic diagram for illustrating an example of how to deform the material M in Modification Example 1. Fig.15 In the example of Figure 7 The state is changed to a state where the cutting opening is facing directly downward. In Modified Example 1, after the cutting opening of the material M faces downward, the robot controller 10 controls the first robot 20A and the second robot 20B so that, relative to the portion where the first support portion 60A and the second support portion 60B contact each other, the surface of the first support portion 60A opposite to the surface supporting the material M (i.e., the back surface of the first support portion 60A) and the surface of the second support portion 60B opposite to the surface supporting the material M (i.e., the back surface of the second support portion 60B) rotate in opposite directions and approach each other. Therefore, the surface of the material M contacting the first support portion 60A and the surface of the material M contacting the second support portion 60B are deformed and thus bent.
[0149] The robot control system 1 of Modified Example 1 includes a deformation control module 104. The deformation control module 104 controls the robot 20 supporting the material M so that the material M is deformed when the material M rotates or after the material M rotates. As used herein, "material M deformation" refers to a change in the shape of the surface of the material M. The data storage unit 100 in Modified Example 1 stores a deformation program for deforming the material M. The deformation program includes a code that instructs control (described later). The deformation control module 104 controls the robot 20 based on the execution of the deformation program to deform the material M.
[0150] In Modification Example 1, as in the present embodiment, each of the first robot 20A and the second robot 20B supports the material M, so the data storage unit 100 stores a first deformation program for causing the first robot 20A to deform the material M and a second deformation program for causing the second robot 20B to deform the material M. The first deformation program includes a code indicating control by the first robot 20A, which will be described later. The second deformation program includes a code indicating control by the second robot 20B, which will be described later. The deformation control module 104 controls each of the first robot 20A and the second robot 20B so that the material M is deformed based on the execution of the first deformation program and the second deformation program.
[0151] As used herein, "while the material M is rotating" refers to the period from when the material M starts rotating to when the material M stops rotating (during the rotation of the material M). That is, the period during which the control of the rotation control module 103 is executed corresponds to "while the material M is rotating". As used herein, "after the material M is rotating" refers to after the rotation of the material M is finished (after the material M stops rotating). That is, after the control of the rotation control module 103 is executed, it is equivalent to "after the material M is rotating".
[0152] The deformation control module 104 in the modified example 1 includes a bending control module 104A. The bending control module 104A controls the robot 20 supporting the material M to bend the material M when the material M rotates or after the material M rotates. In the modified example 1, each of the first robot 20A and the second robot 20B supports the material M, so the bending control module 104A controls each of the first robot 20A and the second robot 20B to bend the material M when the material M rotates or after the material M rotates.
[0153] exist Fig.15 In the example of FIG. 1 , the bending control module 104A controls each of the first robot 20A and the second robot 20B to bend the surface of the material M that contacts the first support portion 60A and the second support portion 60B. For example, the bending control module 104A controls the first robot 20A to rotate the first support portion 60A toward the second support portion 60B, and controls the second robot 20B to rotate the second support portion 60B toward the first support portion 60A.
[0154] In other words, the bending control module 104A causes each of the first robot 20A and the second robot 20B to rotate each of the first support 60A and the second support 60B so that the tip of each of the first support 60A and the second support 60B bends upward with respect to the portion where the first support 60A and the second support 60B contact each other. It is assumed that each of the first support 60A and the second support 60B has a notch so that the material M can be bent.
[0155] For example, the bending control module 104A can control the first robot 20A to rotate the first support 60A toward the second support 60B, and then control the second robot 20B to rotate the second support 60B toward the first support 60A. The bending control module 104A can control the second robot 20B to rotate the second support 60B toward the first support 60A, and then control the first robot 20A to rotate the first support 60A toward the second support 60B. In addition, the bending control module 104A can control the first robot 20A and the second robot 20B to make the material M move along the same direction as the material M. Fig.15 Bending in the opposite direction of that shown.
[0156] In Modification Example 1, a case where the bending of the material M corresponds to the deformation of the material M is given as an example, but it is sufficient that the deformation control module 104 controls each of the first robot 20A and the second robot 20B to change the surface shape of the material M. For example, when the material M is shaken, the surface of the material M is deformed, so the deformation control module 104 can control each of the first robot 20A and the second robot 20B to make each of the first robot 20A and the second robot 20B shake the material M while supporting the material M, thereby deforming the material M.
[0157] For example, in a case where the first robot 20A supports one side of the material M with the first support part 60A and the second robot 20B supports the other side of the material M with the second support part 60B, the deformation control module 104 can move each of the first robot 20A and the second robot 20B so that the first support part 60A and the second support part 60B are close to each other, thereby deforming the material M. In this case, the material M is clamped by the first support part 60A and the second support part 60B in the horizontal direction and deformed, thereby being squeezed from both sides in the horizontal direction.
[0158] For example, in a case where the first robot 20A supports the top surface of the material M with the first support part 60A and the second robot 20B supports the bottom surface of the material M with the second support part 60B, the deformation control module 104 can move each of the first robot 20A and the second robot 20B so that the first support part 60A and the second support part 60B are close to each other, thereby deforming the material M. In this case, the material M is clamped by the first support part 60A and the second support part 60B in the up-down direction and deformed, thereby being squeezed from both sides in the vertical direction.
[0159] For example, the deformation control module 104 may control each of the first robot 20A and the second robot 20B to twist (squeeze) the material M instead of bending the material M. For example, the deformation control module 104 may twist the material M by causing each of the first robot 20A and the second robot 20B to rotate the material M in directions opposite to each other while supporting the material M. When the deformation control module 104 twists the material M in this manner, the contents remaining in the material M may fall off.
[0160] In Modification Example 1, the material M may be supported by one robot 20. In this case, the deformation control module 104 may control the one robot 20 to deform the material M. For example, the deformation control module 104 may control the one robot 20 to shake the material M. When the robot 20 includes a plurality of end effectors, the deformation control module 104 may deform the material M by changing at least one of the position and orientation of each of the plurality of end effectors of the one robot 20.
[0161] The robot control system 1 of Modified Example 1 controls the robot(s) 20 supporting the material M to deform the material M while or after the material M is rotated. As a result of the deformation of the material M, the robot control system 1 can easily unload the contents. For example, even if part of the contents remains in the material M, the deformation of the material M makes it easier to discharge the part of the contents.
[0162] Furthermore, the robot control system 1 controls the robot(s) 20 supporting the material M to bend the material M while or after the material M is rotated. As a result of the bending of the material M, the robot control system 1 can easily unload the contents. For example, even if part of the contents remains in the material M, the bending of the material M makes it easier to discharge the part of the contents.
[0163] [6-2. Modification Example 2]
[0164] For example, the method of discharging the contents remaining in the material M is not limited to deforming the material M as in Modification Example 1. The robot controller 10 may discharge the contents remaining in the material M by causing the first robot 20A and the second robot 20B to tilt the material M. As used herein, the tilting of the material M means that the orientation (posture) of the material M changes.
[0165] Fig.16 is a schematic diagram for illustrating an example of how to tilt the material M in Modification Example 2. In Modification Example 2, after the cut of the material M faces downward, the robot controller 10 controls each of the first robot 20A and the second robot 20B to rotate the first support 60A and the second support 60B in a predetermined direction around the portion where the first support 60A and the second support 60B are in contact as a rotation axis. Then, the robot controller 10 may control each of the first robot 20A and the second robot 20B to rotate the first support 60A and the second support 60B in opposite directions. The robot controller 10 may repeat these rotation controls.
[0166] The robot control system 1 of Modified Example 2 includes a tilt control module 105. The tilt control module 105 controls the robot 20 supporting the material M so that the material M is tilted in another direction different from the rotation direction of the rotation control module 103. The other direction may be any direction other than the direction in which the rotation control module 103 rotates the material M. Fig.16 In the example of , the other direction is a direction orthogonal to the rotation direction of the material M. In other words, the other direction is a direction in which the first robot 20A is located relative to the material M, a direction in which the second robot 20B is located relative to the material M, or another direction.
[0167] The data storage unit 100 in the modified example 2 stores a tilting program for causing the robot 20 to tilt the material M in another direction. The tilting program includes a code for causing the robot 20 to move or rotate in another direction. The tilting control module 105 causes the robot 20 to tilt the material M by moving or rotating the robot 20 in another direction based on the execution of the tilting program.
[0168] In Modification Example 2, as in the present embodiment, each of the first robot 20A and the second robot 20B supports the material M, and therefore the data storage unit 100 stores a first tilting program for causing the first robot 20A to tilt the material M and a second tilting program for causing the second robot 20B to tilt the material M. The tilting control module 105 causes the first robot 20A to tilt the material M by moving or rotating the first robot 20A in another direction based on the execution of the first tilting program. The tilting control module 105 causes the second robot 20B to tilt the material M by moving or rotating the second robot 20B in another direction based on the execution of the second tilting program.
[0169] The robot control system 1 of Modified Example 2 controls the robot 20 supporting the material M through the rotation control module 103, so that the material M is tilted in another direction different from the rotation direction. The robot control system 1 tilts the material M in another direction different from the rotation direction so that the cutout faces downward, thereby making it easier to discharge the contents. For example, even if part of the contents remains in the material M, by tilting the material M, the part of the contents is easier to discharge.
[0170] [6-3. Modification Example 3]
[0171] For example, when the material M is heavy, rotating the material M easily causes uneven distribution of the contents. In this case, when the material M is rotated, the center of gravity of the material M changes rapidly, and the material M easily falls from the first support part 60A and the second support part 60B. Therefore, the rotation can be performed according to the weight of the material M.
[0172] The robot control system 1 of Modification Example 3 includes a weight information acquisition module 106. The weight information acquisition module 106 acquires weight information about the weight of the material M. The weight information may be any information related to the weight of the material M. The weight information may be information directly indicating the weight of the material M (e.g., a numerical value indicating the weight itself), or information from which the weight of the material M can be estimated. The information from which the weight of the material M is estimated is information that has an indirect relationship with the weight, and may be, for example, a detection result obtained by a force sensor, a torque sensor, or other sensors.
[0173] In Modification Example 3, an example is given of a case where the weight information is a torque waveform detected by a torque sensor. For example, each of the first robot 20A and the second robot 20B includes a torque sensor that detects torque associated with a motor in the robot. The weight information acquisition module 106 acquires the torque waveform detected by the torque sensor of each of the first robot 20A and the second robot 20B as weight information. For example, when the material M is heavier, the torque value indicated by the torque waveform is higher, and when the material M is lighter, the torque value indicated by the torque waveform is lower.
[0174] The rotation control module 103 in the modified example 3 includes a weight rotation control module 103D. The weight rotation control module 103D causes the robot 20 to rotate the material M based on the weight information. For example, the weight rotation control module 103D controls the rotation of the robot 20 so that when the weight indicated by the weight information is heavier, the rotation speed of the material M becomes slower. The weight rotation control module 103D controls the rotation of the robot 20 so that when the weight indicated by the weight information is lighter, the rotation speed of the material M becomes faster. The weight rotation control module 103D may control the rotation direction of the material M instead of the rotation speed of the material M based on the weight information.
[0175] The robot control system 1 of Modified Example 3 acquires weight information of the material M. The robot control system 1 causes the robot 20 to rotate the material M based on the weight information. The robot control system 1 can rotate the material M according to the weight information about the weight of the material M. For example, when the material M is rotated, the contents in the material M may move, causing the center of gravity to change or the shape of the material M to change. In this regard, by rotating according to the weight information, it is possible to prevent the center of gravity or the shape from changing drastically, thereby reducing the possibility of the material M falling.
[0176] [6-4. Modification Example 4]
[0177] In Modification Example 3, an example is given in which the torque waveform detected by the torque sensor corresponds to the weight information, but the weight information is not limited to the example of Modification Example 3. For example, when the container C includes a measuring unit, the weight information can be obtained by using the measuring unit of the container C. In Modification Example 4, an example is given in which the measurement result information obtained by the measuring unit corresponds to the weight information in Modification Example 3.
[0178] The weight information acquisition module 106 in the modified example 4 includes a measurement result information acquisition module 106A. The measurement result information acquisition module 106A acquires the measurement result information obtained by the measurement unit of the container C, which is the container to which the content is transferred. The measurement unit is a weight scale. The measurement unit can be either an analog type or a digital type. The robot controller 10 in the modified example 4 is connected to the measurement unit of the container C. The connection between the robot controller 10 and the measurement unit of the container C can be either a wired connection or a wireless connection.
[0179] For example, the measurement result information acquired by the weight information acquisition module 106 indicates the weight of the content put into the container C. The weight is the total weight of the content when the measuring device performs the measurement. Therefore, the weight may not indicate the weight of one material M. In the case where the content of each of a plurality of materials M has been put into the container C in the past, the measurement result information indicates the total weight of the content of each of the plurality of materials M. The weight of the content most recently transferred from the material M to the container C is a value obtained by subtracting the weight measured this time from the weight measured for the first time. When the weight of the content most recently transferred from the material M to the container C is lighter, the material M becomes heavier because less content is discharged from the material M. When the weight of the content most recently transferred from the material M to the container C is heavier, the material M becomes lighter because more content is discharged from the material M. The measurement result information may show the weight of the content discharged from a certain material M.
[0180] The rotation control module 103 in the modified example 4 includes a measurement result rotation control module 103E. The measurement result rotation control module 103E causes the robot 20 to rotate the material M based on the measurement result information. For example, the measurement result rotation control module 103E controls the rotation of the robot 20 so that when the weight of the content recently transferred from the material M to the container C calculated based on the weight information is light, the rotation speed of the material M becomes slower. Another example is that the measurement result rotation control module 103E controls the rotation of the robot 20 so that when the weight of the content recently transferred from the material M to the container C calculated based on the weight information is heavy, the rotation speed of the material M becomes faster. The measurement result rotation control module 103E may control the rotation direction of the material M instead of the rotation speed of the material M based on the weight information.
[0181] The robot control system 1 in Modification Example 4 acquires measurement result information, which is a measurement result obtained by a measuring unit of a container of a transferred content. The robot control system 1 causes the robot 20 to rotate the material M based on the measurement result information. The robot control system 1 can rotate the material M based on the measurement result information obtained by the measuring unit. For example, the material M is less likely to fall from the robot 20. The measuring unit does not need to be attached to the robot 20.
[0182] [6-5. Modification Example 5]
[0183] For example, when the robot controller 10 has almost finished discharging the contents from the material M, the material M may be moved to a predetermined position. The predetermined position may be a position where a box is placed for discarding the used material M. In this case, when the first robot 20A and the second robot 20B each support the material M, the first robot 20A and the second robot 20B may interfere with each other, making it difficult to move the material M. The material M from which the contents have been discharged is much lighter than before the contents were discharged from the material M, so the material M can be moved using only either the first robot 20A or the second robot 20B.
[0184] Fig.17 1 is a schematic diagram for illustrating an example of how to move the material M in Modification Example 5. The robot control system 1 in Modification Example 5 includes a separation control module 107 and a conveyance control module 108. After the material M is rotated and at least a part of the content is discharged from the material M, the separation control module 107 separates any one of the robots 20, that is, the first robot 20A or the second robot 20B, from the material M. Fig.17 In the example of FIG. 1 , the first robot 20A is separated, but the second robot 20B may also be separated. As used herein, “separated from the material M” means being away from the material M.
[0185] The data storage unit 100 in the modified example 5 stores a separation program that instructs the separation operation. For example, the separation program includes a code that instructs the suction of the suction device to be stopped, and a code that instructs the first robot 20A to move in a direction away from the material M. The separation control module 107 executes the separation program so that the suction of the suction device of the first support portion 60A is stopped. The separation control module 107 executes the separation program so that the first robot 20A moves in a direction away from the material M. In this way, the separation of the first robot 20A is completed.
[0186] The conveying control module 108 causes the robot 20 different from the separated robot 20 of the first robot 20A and the second robot 20B to convey the material M. Fig.17In the example of , the first robot 20A is separated from the material M, and thus the second robot 20B corresponds to the different robot 20 . When the second robot 20B is separated from the material M, the first robot 20A corresponds to the different robot 20 .
[0187] The data storage unit 100 in the modified example 5 stores a conveying program that instructs a conveying operation. For example, the conveying program includes a code for calculating a moving path of the material M to a predetermined location as a conveying destination. The conveying control module 108 executes the conveying program to calculate a moving path from the current position of the second robot 20B supporting the material M to a predetermined location (i.e., the conveying destination of the material M). The conveying control module 108 controls the second robot 20B to move the second robot 20B along the calculated moving path.
[0188] The robot control system 1 of Modified Example 5 causes any one robot 20 (i.e., the first robot 20A or the second robot 20B) to separate from the material M after the material M is rotated and at least a part of the contents are discharged from the material M. The robot control system 1 causes the robot 20 different from the separated robot 20, of the first robot 20A and the second robot 20B, to convey the material M. After the contents are discharged, the robot control system 1 can easily convey the material M. For example, the first robot 20A and the second robot 20B are less likely to interfere with each other than when the first robot 20A and the second robot 20B convey the material M together, and thus the robot control system 1 can convey the material M more easily.
[0189] [6-6. Modification Example 6]
[0190] For example, in Modification Example 5, when the material M is moved from the container C to the predetermined position in a manner in which the cutout faces downward, the material M is moved in a state in which the flip cover MF is flipped outward and the opening is exposed. Therefore, for example, in the process of moving the material M, the contents may spill onto the floor. Therefore, the robot controller 10 may control the second robot 20B so that the material M is moved to the predetermined position after the material M is rotated so that at least a portion of the cutout faces upward. For example, the robot controller 10 controls the second robot 20B to rotate the material M so that the surface on which the cut is made faces upward.
[0191] Fig.18 1 is a schematic diagram for illustrating an example of how to move the material M in the modification example 6. The robot control system 1 of the modification example 6 includes a rotation and conveyance control module 108A. The rotation and conveyance control module 108A causes the different robots 20 to rotate the material M so that at least a portion of the cut is facing upward, and then convey the material M. Fig.18 In the example, all the cuts are facing upward, but it is possible that only some of the cuts are facing upward.
[0192] The conveying program in Modified Example 6 includes a code for rotating the second robot 20B supporting the material M. The rotation and conveying control module 108A executes the conveying program to cause the second robot 20B to rotate the material M so that at least a portion of the cutout faces upward before conveying the material M. The rotation and conveying control module 108A executes the conveying program to control the second robot 20B so as to move the material M in a state in which at least a portion of the cutout faces upward to a predetermined position.
[0193] The robot control system 1 of Modification 6 causes the second robot 20B to rotate the material M so that at least a portion of the cut opening faces upward, and then conveys the material M. The robot control system 1 can make it more difficult for undischarged contents in the material M to fall out during the conveyance of the material M.
[0194] [6-7. Modification Example 7]
[0195] For example, in the present embodiment, the material M placed on the first supporting portion 60A and the second supporting portion 60B is rotated, and the contents gradually come out of the material M. In a state where the cutout faces downward, most of the contents in the material M come out, and therefore, it is not necessary to support the material M on the first supporting portion 60A and the second supporting portion 60B according to the force that supports the material M in the downward direction when all the contents are included in the material M. Therefore, the force that supports the material M can be smaller than the force that supports the material M in the downward direction when all the contents are included.
[0196] The robot control system 1 of Modified Example 7 includes a supporting force control module 109. The supporting force control module 109 causes the robot 20 to support the material M with a supporting force based on the force of the robot 20 supporting the material M in the downward direction. When the material M is supported by a suction device as in the present embodiment, the supporting force is the suction force. When the material M is supported by a magnetic force or an electrostatic force, the supporting force is the strength of the magnetic force or the electrostatic force. When the material M is supported by physical grasping, the supporting force is the grasping force.
[0197] In Modification Example 7, the support force is assumed to be defined in the support program. The support force may be a parameter mentioned in the support program. For example, the support force defined in the support program is smaller than the force with which the robot 20 supports the material M in the downward direction. As the material M on which the cut is cut rotates more, more contents come out, and thus the material M becomes lighter, the material M is more likely to fall from the first support portion 60A and the second support portion 60B.
[0198] For example, there may be a case where, based on the simulation, it has been identified that when the material M is rotated by an angle θ (θ is an arbitrary positive number), the weight of the material M is reduced by n% (n is an arbitrary positive number) due to the discharge of the contents, and the supporting force is reduced by m% (m is an arbitrary positive number) due to the reduction in friction. Furthermore, based on the simulation, the minimum supporting force at which the material M does not fall is calculated based on the angle θ, the reduction in weight "n", and the reduction in supporting force "m". In this case, a supporting force equal to or greater than the calculated minimum supporting force may be defined in the supporting program.
[0199] The robot control system 1 in Modification Example 7 causes the robot 20 to support the material M with a supporting force based on the force by which the robot 20 supports the material M in the downward direction. The robot control system 1 can support the material M with a supporting force corresponding to the force by which the material M is supported in the downward direction.
[0200] [6-8. Modification Example 8]
[0201] For example, in Modification Example 1 and Modification Example 2, a case where the residual contents in the material M are discharged by deforming the material M is described. Furthermore, in Modification Example 3, a case where the residual contents in the material M are discharged by tilting the material M is described. The contents remaining in the material M may also be discharged from the material M by other methods.
[0202] The robot control system 1 of Modified Example 8 includes an additional cutting control module 101E. The additional cutting control module 101E causes the robot 20 to move at least one of the cutter 40 and the material M so that an additional cut is cut on the material M with the cutter 40 when the material M rotates or after the material M rotates. The robot that cuts the additional cut may be another robot 20 different from the first robot 20A and the second robot 20B, but in Modified Example 8, the robot that cuts the additional cut is the first robot 20A.
[0203] In Modification Example 8, Fig.17 In the example of the embodiment, after the first robot 20A is separated from the material M, the cutter 40 is reattached to the first robot 20A. The robot controller 10 can attach the cutter 40 to the first robot 20A by executing the tool change code described in this embodiment. The data storage unit 100 in the modified example 8 stores an additional cutting program. The additional cutting program is a program that instructs the operation of cutting an additional cut.
[0204] For example, the additional cutting control module 101E executes the additional cutting program and controls the first robot 20A so that the first robot 20A moves the cutter 40 to cut an additional cut on the material M. The position of the additional cut is defined in the additional cutting program. The position of the additional cut can be defined in the parameters referenced by the additional cutting program. The position of the additional cut can be dynamically determined by the camera 30 recognizing the position and shape of the material M.
[0205] For example, the additional cutting control module 101E causes the first robot 20A to move the cutter 40 to the position of the additional cutting opening. The additional cutting control module 101E causes the first robot 20A to move the cutter 40 in a predetermined direction while keeping the cutter 40 in contact with the material M, thereby cutting an additional cutting opening on the material M. Then, the robot controller 10 may cause the second robot 20B supporting the material M to deform or tilt the material M so that the contents are discharged from the additional cutting opening.
[0206] The robot control system 1 of Modified Example 8 causes the robot 20 to move at least one of the cutter 40 and the material M to cut an additional cut on the material M with the cutter 40 while the material M is rotating or after the material M is rotating. Due to the additional cut, the robot control system 1 can discharge the contents in the material M more easily.
[0207] [6-9. Other modification examples]
[0208] For example, the above-mentioned modification examples may be used in combination.
[0209] For example, each of the suction devices 61A and 61B in the first support 60A and the second support 60B may include a floating mechanism so that when the material M rotates, the direction of the suction devices 61A and 61B changes with the movement of the material M. Therefore, the load of the suction devices 61A and 61B can be reduced. In other words, when the material M rotates, the suction devices 61A and 61B can follow the movement of the material M to prevent the suction devices 61A and 61B from being subjected to excessive loads. For example, the robot controller 10 can change the way the first robot 20A cuts the material M based on the type of the material M.
[0210] For example, a case has been described in which the first robot 20A moves the cutter 40 and cuts a cut on the material M, but the cutter 40 may be arranged at a place other than the first robot 20A and the second robot 20B. The cutter 40 may be arranged near the work table T with a blade facing downward or sideways. In this case, the robot controller 10 may make each of the first robot 20A and the second robot 20B support the material M and cut a cut on the material M by pressing the material M toward the cutter 40. This operation may be defined in a cutting program.
[0211] For example, for a Figure 6 The robot controller 10 moves each of the first robot 20A and the second robot 20B along the same path as the cutting opening, while pressing the material M toward the cutter 40. In this way, the cutter 40 moves relative to the material M in the same manner as in the present embodiment, thereby cutting out the material M. Figure 6 The processing after the cut is made on the material M can be the same as that in the embodiment and Modification Examples 1 to 8. Even if each of the first robot 20A and the second robot 20B makes a cut by moving the material M, each of the processing steps described in the embodiment and Modification Examples 1 to 8 can be applied.
[0212] For example, each of the above-described functions may be implemented by any device of the robot control system 1 . The functions described as being included in one robot controller 10 may be shared by a plurality of robot controllers 10 .
[0213] [7. Additional explanation]
[0214] For example, the robot control system can also have the following configuration.
[0215] (1) A robot control system comprising:
[0216] one or more robots configured to perform operations on materials containing the contents;
[0217] a cutting control module configured to cause the one or more robots to move at least one of a cutter and a material so that a cut is made in the material by the cutter; and
[0218] A rotation control module is configured to cause the one or more robots to rotate the material so that the cutting opening faces downward.
[0219] (2) The robot control system according to item (1), further comprising:
[0220] First Robot;
[0221] Second robot;
[0222] A first rotation control module is configured to enable the first robot to rotate the material so that the cutting opening faces downward; and
[0223] The second rotation control module is configured to enable the second robot to cooperate with the first robot to rotate the material so that the cutting opening faces downward.
[0224] (3) The robot control system according to item (1) or item (2) also includes a multi-cutting control module, which is configured to cause one or more robots to move at least one of the cutter and the material so that multiple cuts including the cuts are cut on the material by the cutter.
[0225] (4) The robot control system according to any one of items (1) to (3) further includes an opening cutting control module, which is configured to cause the one or more robots to move at least one of the cutter and the material so that a cutting opening capable of forming a planar opening is cut on the material by the cutter.
[0226] (5) The robot control system according to item (4) also includes a graphic cutting control module, which is configured to cause the one or more robots to move at least one of the cutter and the material so that the graphic drawn by the cutting opening cut in the material becomes an open graphic.
[0227] (6) The robot control system according to any one of items (1) to (5) further includes a deformation control module, which is configured to control the one or more robots supporting the material so that the material is deformed when or after the material is rotated.
[0228] (7) The robot control system according to item (6) also includes a bending control module, which is configured to control the one or more robots supporting the material so that the material bends when or after the material rotates.
[0229] (8) The robot control system according to any one of items (1) to (7) further includes a tilt control module, which is configured to control the one or more robots supporting the material so that the material tilts along another direction different from the rotation direction of the rotation control module.
[0230] (9) The robot control system according to item (5) also includes a direction rotation control module, which is configured to cause the one or more robots to rotate the material so that the flap generated by forming the planar opening is flipped upward.
[0231] (10) The robot control system according to any one of items (1) to (9), further comprising:
[0232] a weight information acquisition module, configured to acquire weight information, wherein the weight information is about the weight of the material; and
[0233] A weight rotation control module is configured to cause the one or more robots to rotate the material based on the weight information.
[0234] (11) The robot control system according to item (10), further comprising:
[0235] a measurement result information acquisition module configured to acquire measurement result information about a measurement result obtained by a measurement unit of a container to which the content is transferred; and
[0236] A measurement result rotation control module is configured to cause the one or more robots to rotate the material based on the measurement result information.
[0237] (12) The robot control system according to item (2), further comprising:
[0238] a separation control module configured to separate either the first robot or the second robot from the material after the material is rotated and at least a portion of the content is discharged from the material; and
[0239] A conveying control module is configured to cause a robot other than the separated one of the first robot and the second robot to convey the material.
[0240] (13) The robot control system according to item (12) also includes a rotation and conveying control module, which is configured to cause the different robots to rotate the material so that at least a portion of the cutting port is facing upward, and then convey the material.
[0241] (14) The robot control system according to any one of items (1) to (13), further comprising:
[0242] a support and cutting control module configured to control the one or more robots so that the cutter cuts a cut in the material placed on a support that supports the material from below; and
[0243] A support control module is configured to enable the one or more robots connected to the support part to support the material.
[0244] (15) The robot control system according to any one of embodiments (1) to (14) also includes a support force control module, which is configured to enable the one or more robots to support the material with the following support force: the support force is based on the force of the one or more robots supporting the material in a downward direction.
[0245] (16) The robot control system according to any one of items (1) to (15) further includes an additional cutting control module, which is configured to cause the one or more robots to move at least one of the cutter and the material so that an additional cut is cut on the material by the cutter when or after the material rotates.
[0246] While there have been described certain embodiments of what are presently considered to be the present invention, it will be understood that various modifications may be made thereto and it is intended that the appended claims cover all such modifications which fall within the true spirit and scope of the present invention.
Claims
1. A robot control system, comprising: one or more robots configured to perform operations on materials containing the contents; a cutting control module configured to cause the one or more robots to move at least one of a cutter and the material so that a cut is made in the material by the cutter; as well as A rotation control module is configured to cause the one or more robots to rotate the material so that the cutting opening faces downward.
2. The robot control system according to claim 1, further comprising: First Robot; Second robot; A first rotation control module is configured to cause the first robot to rotate the material so that the cutting opening faces downward; as well as The second rotation control module is configured to enable the second robot to cooperate with the first robot to rotate the material so that the cutting opening faces downward.
3. The robot control system according to claim 1 or 2 further includes a multi-cutting control module, which is configured to cause the one or more robots to move at least one of the cutter and the material so that multiple cutting cuts including the cutting cuts are cut on the material by the cutter.
4. The robot control system according to claim 1 or 2 further includes an opening cutting control module, which is configured to cause the one or more robots to move at least one of the cutter and the material so that a cutting opening capable of forming a planar opening is cut on the material by the cutter.
5. The robot control system according to claim 4 further includes a graphic cutting control module, which is configured to cause the one or more robots to move at least one of the cutter and the material so that the graphic drawn by the cutting opening cut in the material becomes an open graphic.
6. The robot control system according to claim 1 or 2 further includes a deformation control module, which is configured to control the one or more robots supporting the material so that the material is deformed when or after the material is rotated.
7. The robot control system according to claim 6, further comprising a bending control module, which is configured to control the one or more robots supporting the material so that the material bends when or after the material rotates.
8. The robot control system according to claim 1 or 2 further includes a tilt control module, which is configured to control the one or more robots supporting the material so that the material tilts along another direction different from the rotation direction of the rotation control module.
9. The robot control system of claim 5, further comprising a direction rotation control module configured to cause the one or more robots to rotate the material so that the flap created by forming the planar opening is flipped upward.
10. The robot control system according to claim 1 or 2, further comprising: A weight information acquisition module is configured to acquire weight information, wherein the weight information is about the weight of the material; as well as A weight rotation control module is configured to cause the one or more robots to rotate the material based on the weight information.
11. The robot control system according to claim 10, further comprising: a measurement result information acquisition module configured to acquire measurement result information about a measurement result obtained by a measurement unit of a container to which the content is transferred; and A measurement result rotation control module is configured to cause the one or more robots to rotate the material based on the measurement result information.
12. The robot control system according to claim 2, further comprising: a separation control module configured to separate either the first robot or the second robot from the material after the material is rotated and at least a portion of the content is discharged from the material; and A conveying control module is configured to cause a robot other than the separated one of the first robot and the second robot to convey the material.
13. The robot control system according to claim 12, further comprising a rotation and conveying control module, wherein the rotation and conveying control module is configured to cause the different robots to rotate the material so that at least a portion of the cut is facing upward, and then convey the material.
14. The robot control system according to claim 1 or 2, further comprising: a support and cutting control module configured to control the one or more robots so that the cutter cuts a cut in the material placed on a support portion that supports the material from below; as well as A support control module is configured to enable the one or more robots connected to the support part to support the material.
15. The robot control system according to claim 1 or 2 further includes a support force control module, which is configured to enable the one or more robots to support the material with the following support force: the support force is based on the force of the one or more robots supporting the material in a downward direction.
16. The robot control system according to claim 1 or 2 further includes an additional cutting control module, which is configured to cause the one or more robots to move at least one of the cutter and the material so that additional cuts are cut on the material by the cutter when or after the material rotates.
17. A robot controller capable of controlling one or more robots, each robot being configured to perform an operation on a material containing contents, the robot controller comprising: a cutting control module configured to cause the one or more robots to move at least one of a cutter and a material so that a cut is made in the material by the cutter; as well as A rotation control module is configured to cause the one or more robots to rotate the material so that the cutting opening faces downward.
18. A robot control method for controlling one or more robots, each robot being configured to perform an operation on a material containing contents, the robot control method comprising: causing the one or more robots to move at least one of a cutter and the material so that a cut is made in the material with the cutter; as well as The one or more robots are caused to rotate the material so that the cut is facing downward.