Robot control system, robot controller, and robot control method
Patent Information
- Application Number
- JP2023139964
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-08-30
- Publication Date
- 2025-03-13
- Estimated Expiration
- 2043-08-30
AI Technical Summary
【0006】 本開示によれば、例えば、ロボット及びカッターの少なくとも一方に対する内容物の付着を抑制できる。
Smart Images

Figure 2025033922000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a robot control system, a robot controller, and a robot control method. [Background technology]
[0002] For example, Patent Document 1 describes a robot bag-opening hand that includes a bag-opening hand main body having a connection part with a robot arm, a suction part that is held in the center of the main body and can move up and down, a holding part that includes two holding parts, and a holding part drive part that drives the two holding parts. The robot bag-opening hand of Patent Document 1 uses a cutter to cut open the center of the bottom surface of the bag, and rotates the holding part to eject the contents. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Publication No. 7-081870 Summary of the Invention [Problem to be solved by the invention]
[0004] One object of the present disclosure is, for example, to suppress adhesion of contents to at least one of a robot and a cutter. [Means for solving the problem]
[0005] A robot control system according to one aspect of the present disclosure includes one or more robots that perform work on materials including contents, a cutter control unit that causes the robot to move at least one of the cutter and the material so as to cut a cut in the material with the cutter, and a rotation control unit that causes the robot to rotate the material so that the cut is facing downward. Effect of the Invention
[0006] According to the present disclosure, for example, adhesion of contents to at least one of the robot and the cutter can be suppressed. [Brief description of the drawings]
[0007] [Figure 1] FIG. 2 is a diagram illustrating an example of a hardware configuration of a robot control system. [Diagram 2] FIG. 2 is a diagram showing an example of a space in which a robot controller, a first robot, and a second robot are arranged. [Diagram 3] 1 is a diagram showing an example of the positional relationship between a workbench, a first support section, a second support section, and materials. FIG. [Figure 4] FIG. 2 is a diagram showing an example of a shooting position and a shooting direction of a camera. [Diagram 5] FIG. 13 is a diagram showing an example of how a cut is made in a material. [Figure 6] FIG. 13 is a diagram showing an example of a state in which a connecting member of a first robot is connected to a connecting member of a first support unit, and a connecting member of a second robot is connected to a connecting member of a second support unit. [Figure 7] FIG. 13 is a diagram showing an example of a state in which materials have been moved to above a container. [Figure 8] FIG. 13 is a diagram showing an example of the contents of the material dropping into a container. [Figure 9] FIG. 2 is a diagram illustrating an example of functions realized by the robot control system. [Figure 10] 11 is a diagram showing an example of a movement path along which the first robot moves the cutter. FIG. [Figure 11] FIG. 4 is a diagram showing an example of a movement path for a first robot and a second robot to support a material. [Figure 12] FIG. 2 is a diagram illustrating an example of a process executed in the robot control system. [Figure 13] FIG. 11 is a diagram showing an example of details of the processes in S2 to S4. [Figure 14] FIG. 13 is a diagram illustrating an example of functions realized by a robot control system according to a modified example. [Figure 15] 13A and 13B are diagrams showing an example of a state in which a material is deformed in the first modified example. [Figure 16] FIG. 13 is a diagram showing an example of a state in which materials are tilted in the second modified example. [Figure 17] FIG. 13 is a diagram showing an example of how materials are moved in Modification 5. [Figure 18] FIG. 23 is a diagram showing an example of how materials are moved in Modification 6. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0008] [1.Hardware configuration of the robot control system] An example of an embodiment of a robot control system, a robot controller, and a robot control method according to the present disclosure will be described. Fig. 1 is a diagram showing an example of a hardware configuration of a robot control system. For example, a robot control system 1 includes a robot controller 10, a first robot 20A, and a second robot 20B. Hereinafter, when there is no need to distinguish between the first robot 20A and the second robot 20B, they will simply be referred to as robots 20.
[0009] The robot controller 10 is a device that controls one or more robots 20. The robot controller 10 is connected to one or more robots 20 by cables such as a power line, a signal line, or a communication line. In this 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 may control only one robot 20, or may control three or more robots 20.
[0010] For example, the robot controller 10 includes a CPU 11, a storage unit 12, and a communication unit 13. The CPU 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.
[0011] 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 this embodiment, a case will be described in which 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 an orthogonal 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 of 4 to 7 axes.
[0012] The program or data stored in the storage unit 12 may be supplied to the robot controller 10 via a network such as an industrial network, the Internet, or a LAN. For example, the robot controller 10 may include at least one of a reading unit (e.g., a memory card slot) that reads a computer-readable information storage medium and an input / output unit (e.g., a USB terminal) for connecting to an external device. The program or data stored in the computer-readable information storage medium may be supplied to the robot controller 10 via the reading unit or the input / output unit.
[0013] 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 such as an FPGA or an ASIC. In this embodiment, a case will be described in which the CPU 11 corresponds to a configuration called a circuitry, but other circuits such as an FPGA or an ASIC may correspond to the circuitry.
[0014] Furthermore, the devices included in the robot control system 1 are not limited to the example in FIG. 1. The robot control system 1 may include any devices. For example, the robot control system 1 may include a host controller that controls the robot controller 10. For example, the robot control system 1 may include a motor encoder, a torque sensor, a position sensor, an acceleration sensor, a gyro sensor, a pressure sensor, a contact sensor, a force sensor, a weight sensor, or other sensors. The sensors may be connected to the robot controller 10, or may be included in each of the first robot 20A and the second robot 20B.
[0015] The robot control system 1 may also include multiple 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 by a network such as an industrial network or a LAN. The first robot controller 10 and the second robot controller 10 may communicate with each other as appropriate to operate the first robot 20A and the second robot 20B.
[0016] [2. Overview of the robot control system] 2 is a diagram showing 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 such as a factory. In the example of FIG. 2, a camera 30 and a cutter 40 are attached to the tip of the first robot 20A. A connecting member 50B that can be connected to a connecting member 60B1 of a second support unit 60B described later is attached to the tip of the second robot 20B.
[0017] 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 not including a depth sensor) or an infrared camera. The camera 30 may continuously capture images at a predetermined frame rate to generate a video, or may generate still images without continuously capturing images. The camera 30 may also be called a vision sensor. The camera 30 may be attached to the second robot 20B. Separate cameras 30 may be attached to each of the first robot 20A and the second robot 20B.
[0018] For example, the cutter 40 is an ultrasonic cutter. The cutter 40 may be of any type and is not limited to an ultrasonic cutter. For example, the cutter 40 may be a vibration cutter that vibrates at high speed instead of ultrasonic vibration, or a cutter that does not generate vibration. In the present embodiment, a case where the cutter 40 is detachably connected to the first robot 20A is taken as an example, but the cutter 40 may not be detachable and may be fixed to the first robot 20A. The cutter 40 may be attached to the second robot 20B. Separate cutters 40 may be attached to each of the first robot 20A and the second robot 20B.
[0019] In this embodiment, the first robot 20A and the second robot 20B are arranged to sandwich the worktable T. For example, a first support unit 60A and a second support unit 60B are placed on the worktable T. The first support unit 60A includes a connecting member 60A1 that can be connected to the connecting member 50A of the first robot 20A. The second support unit 60B includes a connecting member 60B1 that can be connected to the connecting member 50B of the second robot 20B. Note that in FIG. 2, the connecting member 60A1 has a similar configuration to the connecting member 60B1, although the angular relationship on the drawing is not shown.
[0020] In the example of FIG. 2, a material M including contents is placed on the first support part 60A and the second support part 60B. The contents are an object wrapped in the material M. The contents may be any object. For example, the contents may be raw materials or ingredients for a product produced in a factory. The contents may be solid or liquid. The contents may be powdery. 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 is sometimes called a hopper. The container C may be a known object.
[0021] The material M is an object for wrapping the contents. The material M is sometimes called a packaging material. For example, the material M is a bag, a box, a bottle, or a case. In this embodiment, the material M is a kraft bag. The material M may be any object. The material M is not limited to a kraft bag. For example, the material M may be a plastic bag, a vinyl bag, an aluminum-coated bag, a paper bag, a burlap bag, a flexi-con bag, an infusion bag, a cloth box, a cloth case, a plastic bottle, a paper carton, or other object.
[0022] For example, the material M is an object that is the target of work performed by the first robot 20A and the second robot 20B, and is therefore also referred to as a work. 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 may be cutting, supporting, transporting, rotating, transforming, or other work. In this embodiment, the term "work" includes concepts such as processing and handling.
[0023] FIG. 3 is a diagram showing an example of the positional relationship between the worktable T, the first support 60A, the second support 60B, and the material M. As shown in FIG. 3, in this embodiment, the first support 60A and the second support 60B are not connected to each other and can be separated from each other. For example, the first support 60A and the second support 60B are placed on the worktable T so that they touch each other or are spaced apart from each other by less than a predetermined distance. The connecting members 60A1 and 60B1 face each other outward. For example, the connecting member 60A1 faces the first robot 20A. The connecting member 60B1 faces the second robot 20B.
[0024] In this embodiment, the suction devices 61A and 61B are disposed on the upper surface of each of the first support portion 60A and the second support portion 60B. For example, the suction devices 61A and 61B include a suction cup (suction cup) that contacts the material M and a pump for suction. The suction devices 61A and 61B create a vacuum state between the suction cup and the material M by the pump. The suction devices 61A and 61B may be any type of suction device. For example, the suction devices 61A and 61B may be a mat-like type instead of a suction cup, or may be a type called a vacuum gripper. The suction devices 61A and 61B may not have a suction function. For example, the suction devices 61A and 61B may be a type that suctions the material M by magnetic force or electrostatic force.
[0025] In this 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 an operation to transfer the contents of the material M to a 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 an operation on the material M.
[0026] 4 is a diagram showing an example of the shooting position and shooting direction of the camera 30. For example, the robot controller 10 specifies a position in real space using coordinate axes in which the X10 axis, the Y10 axis, and the Z10 axis are set around an origin O10 corresponding to the base of the first robot 20A. The robot controller 10 specifies a position in real space using coordinate axes in which the X20 axis, the Y20 axis, and the Z20 axis are set around an origin O20 corresponding to the base of the first robot 20A.
[0027] The coordinate axes used by the robot controller 10 in controlling each of the first robot 20A and the second robot 20B may be any coordinate axes used in robot control. The coordinate axes are not limited to the example in FIG. 4. For example, coordinate axes based on the motors included in each of the first robot 20A and the second robot 20B may be set. Coordinate axes based on parts other than the motors included in each of the first robot 20A and the second robot 20B (for example, the positions of sensors) may be set.
[0028] In this embodiment, the robot controller 10 controls the first robot 20A so that the camera 30 photographs the top surface of the material M while moving above the material M. For example, the robot controller 10 controls the first robot 20A so that the camera 30 moves to position FP0, which is the initial position. The shooting direction FV of the camera 30 is the vertical direction (the negative direction of the Z10 axis, the downward direction). In the example of FIG. 4, it is assumed that the shooting direction FV does not change during shooting by the camera 30, but the shooting direction FV may change.
[0029] For example, positions FP1, FP2, FP3, and FP4 through which the camera 30 passes 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 approximately the same as the shape of the cut to be made on the top surface of the material M. The robot controller 10 controls the first robot 20A so that the camera 30 returns to the position FP0 from the position FP0 via the positions FP1, FP2, FP3, and FP4. The camera 30 continuously photographs the material M during movement. The camera 30 transmits the photographed image generated by photographing the material M to the robot controller 10.
[0030] For example, the robot controller 10 acquires the distance between each of the positions FP1, FP2, FP3, and FP4 and the upper surface of the material M based on the image captured by the camera 30. The robot controller 10 determines the movement path of the cutter 40 based on the measurement results of the distance between each of the positions FP1, FP2, FP3, and FP4 and the upper surface of the material M. Since the cutter 40 is attached to the tip of the first robot 20A, the movement path of the cutter 40 can also be said to be the movement path of the tip of the first robot 20A.
[0031] FIG. 5 is a diagram showing an example of how cuts are made in the material M. The cuts are marks made by cutting the surface of the material M with the cutter 40. The cuts can also be referred to as cut points on the surface of the material M. In the example of FIG. 5, the robot controller 10 determines positions away from positions FP1, FP2, FP3, FP4 by the distance to the top surface of the material M as positions P1, P2, P3, P4 through which the cutter 40 passes. In the example of FIG. 5, the initial position of the cutter 40 is set to position FP0, but the initial position of the cutter 40 may be another position.
[0032] For example, the robot controller 10 determines a movement path for the cutter 40 such that the cutter 40 moves from position FP0 through positions P1, P2, P3, and P4 on the surface of the material M, and then returns to position FP0. The robot controller 10 controls the first robot 20A so that the cutter 40 moves along the movement path. While the cutter 40 is moving, the cutter 40 may not be pulled out of the material M, or the cutter 40 may be pulled out of the material M and then inserted into the material M again.
[0033] In the example of FIG. 5, a slit is made in the material M so that a part of the material M is not hollowed out. As a result, the portion enclosed by the path from position P1 to position P4 becomes flap-shaped. Hereinafter, this portion is referred to as the flap MF. The slit can also be referred to as the outline of the flap MF. The flap MF can be opened and closed depending on the orientation of the material M. In the state of FIG. 5, the slit is facing upwards, so the flap MF is in a closed state. When the material M is rotated so that the slit is facing downwards, the flap MF gradually flips over, exposing the opening of the material M.
[0034] For example, when a cut is made in the material M, the robot controller 10 causes the first robot 20A to remove the camera 30 and the cutter 40. A known method adopted as a method for replacing an end effector in robot control may be used as a method for the first robot 20A to remove the camera 30 and the cutter 40. This method may also be called a tool change. A command for the tool change may be executed by a command defined in various languages such as a robot language.
[0035] For example, when the camera 30 and the cutter 40 are removed from the first robot 20A, the robot controller 10 moves the connecting member 50A of the first robot 20A so that the connecting member 50A of the first robot 20A is connected to the connecting member 60A1 of the first support part 60A. The robot controller 10 moves the connecting member 50B of the second robot 20B so that the connecting member 50B of the second robot 20B is connected to the connecting member 60B1 of the second support part 60B. These connecting methods may also be known methods adopted for tool changing. The connecting member 50B of the second robot 20B may be connected to the connecting member 60B12 of the second support part 60B from the beginning.
[0036] 6 is a diagram showing an example of a state in which the connecting member 50A of the first robot 20A is connected to the connecting member 60A1 of the first support unit 60A, and the connecting member 50B of the second robot 20B is connected to the connecting member 60B1 of the second support unit 60B. In the example of FIG. 6, only the parts near the tips of the first robot 20A and the second robot 20B are shown, and other parts 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 to above the container C.
[0037] 7 is a diagram showing an example of a state in which the material M has moved above the container C. For example, when the material M has 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 of the material M (center of gravity or balance of the contents) does not change suddenly. When the material M rotates, the flap MF of the material M gradually turns over, and the contents of the material M gradually come out and fall into the container C.
[0038] 8 is a diagram showing an example of the content of the material M falling into the container C. For example, when the material M rotates to a certain extent, the content falls into the container C to a certain extent, so that even if the rotation speed of the material M increases, the shape of the material M (center of gravity or balance of the content) does not change suddenly. For this reason, in this 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 up, and the content of the material M falls out one after another and falls into the container C.
[0039] For example, the robot controller 10 causes the first robot 20A and the second robot 20B to rotate the material M until the opening exposed by the turning up of the flap MF of the material M faces downward. In this embodiment, the control until the contents of the material M go out to a certain extent and drop into the container C will be described. The control thereafter will be described in a modified example described later. A robot control system 1 in which the control described in the modified example is not performed is also included in the scope of the present disclosure.
[0040] As described above, the robot control system 1 causes the first robot 20A to move the cutter 40 so that the cutter 40 cuts the material M. The robot control system 1 causes each of the first robot 20A and the second robot 20B to support the material M with the cut. 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 made on the upper surface of the material M, the material M is rotated so that the cut faces downward, so that the robot control system 1 can suppress adhesion of the contents to each of the first robot 20A, the second robot 20B, and the cutter 30. Hereinafter, the robot control system 1 will be described in detail.
[0041] [3. Functions realized by the robot control system] 9 is a diagram showing an example of functions realized by the robot control system 1. For example, the robot controller 10 includes a data storage unit 100, a gap control unit 101, a support control unit 102, and a rotation control unit 103. The data storage unit 100 is realized by the storage unit 12. Each of the gap control unit 101, the support control unit 102, and the rotation control unit 103 is realized by the CPU 11.
[0042] [3-1. Data storage section] The data storage unit 100 stores data necessary for the robot controller 10 to control the robot 20. For example, the data storage unit 100 stores a program including a code indicating the control content of the robot 20, and parameters referenced by the program. The parameters may be any parameters used in robot control. For example, the parameters may indicate the current position, orientation (posture), movement speed, rotation speed, or other state of the robot 20.
[0043] The program can be written in any language. For example, the program may be written in a robot language or a ladder language. The code included in the program may be any code adopted in these languages. The code may also be called a command. For example, the program may include code for moving the robot 20 to a predetermined position, code for changing the direction (posture) of the robot 20, code for controlling the moving speed of the robot 20, code for controlling the rotation speed of the robot 20, code for tool change, or other code. These codes may be codes defined in a known language.
[0044] In this embodiment, a recognition program, a cut program, a support program, and a rotation program are described as examples of programs. Since each of the recognition program, the cut program, the support program, and the rotation program corresponds to a subroutine, there may be a program corresponding to a main routine that calls these programs. The recognition program, the cut program, the support program, and the rotation program may be integrated into one program.
[0045] 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 captured image generated by the camera 30. The recognition program includes code for recognizing the position and shape of the material M based on the captured image generated by the camera 30. For example, in the case where the surface of the material M is curved, the shape of the curved surface is also identified by the recognition program.
[0046] For example, the recognition program may include code for causing the first robot 20A to move the camera 30 and code for causing the first robot 20A to change the orientation of the camera 30. In this embodiment, the recognition program includes code for controlling the first robot 20 so that the camera 30 moves from position FP0, via positions FP1, FP2, FP3, and FP4, and returns to position FP0. The code may be included in a program other than the recognition program. The recognition program may include other code. Note that the position and direction in which the camera 30 photographs the material M are not limited to the example of this embodiment. The camera 30 is capable of photographing the material M from any position and direction.
[0047] The method for identifying the position and shape of the material M can be any method used in the field of image processing. The recognition program may be a program used in known object detection. In this embodiment, since the camera 30 is a 3D camera, the recognition program includes code for recognizing the position and shape of the material M based on an image captured by the 3D camera (an image including the depth between the camera 30 and the subject). For example, the recognition program identifies the three-dimensional position and shape of the material M based on a plurality of images captured by the camera 30. Alternatively, for example, the position and shape of the material M may be detected by a sensor other than the camera 30 (for example, a laser displacement meter).
[0048] For example, the cut program is a program indicating a series of operations in which the robot 20 makes cuts in the material M. In this embodiment, since the first robot 20A makes cuts in the material M with the cutter 40, the cut program includes code for causing the first robot 20A to move the cutter 40. For example, the cut program includes code for determining a movement path for the first robot 20A to move the cutter 40, and code for causing the first robot 20A to move the cutter 40 along the movement path. Any algorithm may be used in determining the movement path. For example, linear interpolation or link interpolation may be used in determining the movement path. This also applies to other path determination methods.
[0049] Fig. 10 is a diagram showing an example of a movement path along which the first robot 20A moves the cutter 40. In the example of Fig. 10, the cut program includes code for determining, as the movement path of the cutter 40, a path from position FP0 through positions P1, P2, P3, and P4 on the top surface of the material M, and returning to position FP0. For example, position FP0 is an initial position when the first robot 20A moves the cutter 40. Position FP0 is determined in advance.
[0050] In this embodiment, a position FP1 corresponding to position P1, a position FP2 corresponding to position P2, a position FP3 corresponding to position P3, and a position FP4 corresponding to position P4 are predefined on a horizontal plane (X10-Y10 plane in FIG. 10) H including position FP0. Positions FP1, FP2, FP3, and FP4 are located at the same horizontal positions (X10 coordinates and Y10 coordinates in FIG. 10) as positions P1, P2, P3, and P4, respectively. Lines connecting positions FP1, FP2, FP3, and FP4 indicate the shape of the gap.
[0051] For example, the break program includes code for obtaining the distance from each of positions FP1, FP2, FP3, and FP4 to the surface of the material M based on the position and shape of the material M. The break program also includes code for determining positions P1, P2, P3, and P4 that are that distance away in the vertical direction (in FIG. 10, the negative direction of the Z10 axis, downward direction) from each of positions FP1, FP2, FP3, and FP4.
[0052] For example, each of positions P1, P2, P3, and P4 is a position on the upper surface of the material M. The cut program includes code for determining a path from position FP0 through positions P1, P2, P3, and P4 determined as described above and returning to position FP0 as a movement path of the cutter 40. For example, linear interpolation or link interpolation may be used in determining the movement path. Positions P1, P2, P3, and P4 may be any positions on the upper surface of the material M. For example, positions P1, P2, P3, and P4 may be near the center of the upper surface of the material M, positions closer to the longitudinal end of the material M than the center, positions closer to the lateral end of the material M than the center, or other positions.
[0053] The shape of the path (actual cut) connecting positions P1, P2, P3, and P4 is the same or approximately the same as the path (pre-specified cut) connecting positions FP1, FP2, FP3, and FP4. Therefore, the cut program can also be said to include code for acquiring the distance from the path of the pre-specified cut to the surface of the material M, and code for determining, as the actual cut, a path that is vertically separated by that distance from the path of the pre-specified cut.
[0054] Furthermore, the cut program may include code for determining the movement path of the cutter 40 for making cuts in the material M. The code included in the cut program is not limited to the above example. For example, the cut program may include code for determining, as position P1, the position where a line extending from position FP0 in a first direction intersects with the top surface of the material M. Similarly, the cut program may include code for determining, as positions P2, P3, and P4, the positions where lines extending from position FP0 in a second direction, a third direction, and a fourth direction intersect with the top surface of the material M.
[0055] As another example, the cut program may include code for determining a movement path of the cutter 40 based only on the position of the material M, regardless of the shape of the material M. For example, the movement path does not have to be dynamically determined, and the cut program may include code for causing the first robot 20A to move the cutter 40 along a predetermined movement path. In this case, the data storage unit 100 does not need to store a recognition program. For example, the cut program may include code for determining a movement path for making a cut while pulling the cutter 40 out of the material M.
[0056] For example, the support program is a program indicating a series of operations in which the robot 20 supports the material M. Supporting also includes concepts such as gripping, fixing, sucking, and adsorption. In this embodiment, since the first robot 20A and the second robot 20B support the material M, 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 20A to support the material M.
[0057] FIG. 11 is a diagram showing an example of a movement path for the first robot 20A and the second robot 20B to support the material M. For example, position P10 is an initial position of the first robot 20A. Position P10 is determined in advance. The first support program includes code for determining a movement path from position P10 to position P11 of the connecting member 60A1 of the first support section 60A. The first support program includes code for causing the first robot 20A to connect the connecting member 50A to the connecting member 60A1 at position P11 from position P10. The first support program includes code for causing the first robot 20A to move from position P11 to a predetermined position P12 above the container C.
[0058] For example, position P20 is an initial position of the second robot 20B. Position P20 is determined in advance. The second support program includes code for determining a movement path from position P20 to position P21 of the connecting member 60B1 of the second support section 60B. The second support program includes code for causing the second robot 20B to connect the connecting member 50B to the connecting member 60B1 at position P21 from position P20. The second support program includes code for causing the second robot 20B to move from position P21 to a predetermined position P22 above the container C.
[0059] The first support program may include code for identifying the position of the connecting member 60A1 of the first support section 60A based on the captured image and aligning the connecting member 50A with the position. In this case, the camera 40 is assumed to remain attached to the first robot 20A even after the material M is cut. The second support program may include code for identifying the position of the connecting member 60B1 of the second support section 60B based on the captured image and aligning the connecting member 50B with the position. In this case, the second robot 20B is assumed to include a camera 30 different from the camera 30 attached to the first robot 20A.
[0060] For example, the rotation program includes code for causing the robot 20 to rotate the material M. In this embodiment, since the first robot 20A and the second robot 20B rotate the material M, 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 20A to rotate the material M.
[0061] For example, the first rotation program includes code indicating that the first robot 20A rotates a predetermined angle in a predetermined rotation direction RD1 at position P12. The second rotation program includes rotation instructions indicating that the second robot 20B rotates a predetermined angle in a predetermined rotation direction RD2 at position P22. The rotation directions RD1 and RD2 are directions in which the cut in the material M faces downward. In other words, the rotation directions RD1 and RD2 are directions in which the surface of the material M in which the cut is made (the upper surface in this embodiment) faces downward.
[0062] 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 programs other than the recognition program, the cut program, the support program, and the rotation program. The data stored in the data storage unit 100 is not limited to programs. For example, the data storage unit 100 may store movement path data indicating each movement path.
[0063] [3-2. Cutting control section] The cut control unit 101 causes the robot 20 to move at least one of the cutter 40 and the material M so that the cutter 40 makes a cut in the material M. A cut is a mark left when the material M is cut. A cut can also be said to be a cut point of the material M. The subject that performs the action of making the cut is the robot 20. The cut may be made on any side of the material M as long as the cut is in a position that makes it difficult for the contents to come out when the cut is made.
[0064] For example, the cuts may be made on a surface other than the bottom surface of the material M. The cuts may be made on the side or top surface of the material M. In other words, the cuts may be made to face in a direction other than downward. The bottom surface, side surface, and top surface in this embodiment refer to the bottom surface, side surface, and top surface when the material M is placed on the first support part 60A and the second support part 60B. Hereinafter, when there is no need to distinguish between the first support part 60A and the second support part 60B, they will simply be referred to as the support part 60. For example, the cuts are made in a part where the material M is not in contact with the support part 60.
[0065] In this embodiment, the cut is made so that it faces upward. Note that the upward direction in this embodiment is a direction above the horizontal plane. The downward direction is a direction below the horizontal plane. In other words, the cut control unit 101 causes the robot 20 to move at least one of the cutter 40 and the material M so that the cutter 40 makes a cut in the material M while the material M is supported by the support unit 60 (for example, while the material M is placed on the support unit 60). In this case, the cut will be in the part of the material M that is not touching the support unit 60.
[0066] In this embodiment, since the first robot 20 holds the cutter 40, the cutter control unit 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 cutter control unit 101 determines a movement path for making a cut in the material M with the cutter 40 based on the cut program. The cutter control unit 101 controls the first robot 20A based on the cut program so that the cutter 40 moves on the movement path.
[0067] In this embodiment, the cut is exemplified as a shape of a path connecting positions P1, P2, P3, and P4 in Fig. 5, but the cut may be any shape. The cut may be a character, a symbol, a figure, or a shape with a portion of these omitted. For example, the cut may be a line segment, a polygon such as a triangle or a rectangle, a shape with some of the line segments of a polygon omitted, a circle, a shape with some of the circles omitted, a shape resembling any alphabetical character (e.g., C, U, V, L, X), a shape resembling a character other than the alphabet, a shape resembling a symbol other than a character, or any other shape.
[0068] For example, the cut may be formed by at least one curved line. The cut may be formed by at least two linear cuts having a contact point. In this embodiment, the cut may be such that an opening is formed in the material M. The cut may be a line segment, a curve, or a combination thereof. For example, the opening formed by the cut may be determined according to the size of the container C. For example, the opening may be smaller in size than the receiving mouth of the container C. The cut may be determined according to the surface shape of the material M.
[0069] In this embodiment, the gap control unit 101 includes a multiple gap control unit 101A, an opening gap control unit 101B, a graphic gap control unit 101C, and a support gap control unit 101D. Code indicating the control contents by each of the multiple gap control unit 101A, the opening gap control unit 101B, the graphic gap control unit 101C, and the support gap control unit 101D is included in the gap program. Note that the gap control unit 101 does not have to include all or some of the multiple gap control unit 101A, the opening gap control unit 101B, the graphic gap control unit 101C, and the support gap control unit 101D.
[0070] [Multiple cut control section] The multiple cut control unit 101A causes the robot 20 to move at least one of the cutter 40 and the material M so that the cutter 40 makes multiple cuts in the material M. In this embodiment, since the first robot 20A holds the cutter 40, the multiple cut control unit 101A causes the first robot 20A to move the cutter 40 so that the cutter 40 makes multiple cuts in the material M.
[0071] For example, the multiple cut control unit 101A causes the first robot 20A to move the cutter 40 so that the cutter 40 makes the first cut. The multiple cut control unit 101A controls the first robot 20A so that the first robot 20A withdraws the cutter 40 from the material M and makes a second cut with the cutter 40 at a position different from the first cut. Thereafter, the multiple cut control unit 101A controls the first robot 20A so that the first robot 20A withdraws the cutter 40 and makes cuts for new cuts until a predetermined number of cuts have been made in the material M.
[0072] In the example of Figure 10, if cuts are made along the entire movement path connecting positions P1, P2, P3, and P4, then only one cut will be made in the material M. However, only a small portion of the movement path in Figure 10 may not be cut. For example, only the vicinity of position P2 may not be cut. In this case, the multiple cut control unit 101A causes the first robot 20A to make cuts with the cutter 40 from position P1 to the vicinity of position P2.
[0073] Thereafter, the multiple cut control unit 101A causes the first robot 20A to withdraw the cutter 40 immediately before position P2, and causes the first robot 20A to make cuts with the cutter 40 from immediately after position P2 toward position P3. The area near position P2 remains uncut. After the material M rotates, the weight of the contents causes the area near position P2 to be cut. In this manner, a flap MF similar to that shown in FIG. 10 may be formed. Alternatively, for example, the multiple cut control unit 101A may control the first robot 20A so that other positions (e.g., position P3) than position P2 remain uncut.
[0074] Alternatively, for example, the multiple cut control unit 101A may control the first robot 20A to make multiple cuts with the cutter 40 in a predetermined direction. For example, the multiple cut control unit 101A may control the first robot 20A to make multiple cuts with the cutter 40 in the longitudinal direction of the material M. Furthermore, the multiple cut control unit 101A may control the first robot 20A to make multiple cuts with the cutter 40 in the transverse direction of the material M. The multiple cut control unit 101A may cause the first robot 20A to make multiple cuts with the cutter 40 so that multiple flaps MF similar to those in FIG. 5 are generated.
[0075] The robot controller 10 does not have to include the multiple cut control unit 101A. In this case, the cut control unit 101 may cause the robot 20 to move at least one of the cutter 40 and the material M so that the cutter 40 makes one cut in the material M.
[0076] [Opening cut control section] The opening cut control unit 101B causes the robot 20 to move at least one of the cutter 40 and the material M so that the cutter 40 makes a cut that will allow a planar opening to be formed in the material M. In this embodiment, since the first robot 20A holds the cutter 40, the opening cut control unit 101B causes the first robot 20A to move the cutter 40 so that the cutter 40 makes a cut that will allow a planar opening to be formed in the material M. In this embodiment, the portion that is exposed by the flap MF being turned up corresponds to the opening.
[0077] An opening is a hole in the surface of the material M. The contour of the opening is the same as the cut. Therefore, the shape of the opening may be any shape, like the cut. The shape of the opening may be the same as the example of the shape of the cut. In the example of FIG. 5, the opening is formed by turning up the flap MF. If the robot controller 10 does not include the graphic cut control unit 101C described below, the opening cut control unit 101B may cause the first robot 20A to make a cut that can form an opening by hollowing out a part of the material M with the cutter 40.
[0078] [Figure Break Control Unit] The figure break control unit 101C causes the robot 20 to move at least one of the cutter 40 and the material M so that the figure drawn by the cuts to be made in the material M becomes an open figure. In this embodiment, since the first robot 20A holds the cutter 40, the figure break control unit 101C causes the first robot 20A to move the cutter 40 so that the figure drawn by the cuts to be made in the material M becomes an open figure.
[0079] The figure drawn by the cuts is the figure indicated by the lines that make up the cuts. In the example of Figure 5, it is the figure indicated by the path connecting positions P1, P2, P3, and P4. This figure can also be said to be the cutting path by cutter 40. An open figure is a figure in which the parts of material M that are surrounded by cuts remain in the main body of material M. An open figure can also be said to be a figure in which the lines that make up the figure do not intersect with each other. An open figure can also be said to be a figure in which material M is not hollowed out.
[0080] For example, the graphic break control unit 101C determines a movement path of the cutter 40 so as to create an open graphic. The graphic break control unit 101C causes the first robot 20A to move the cutter 40 along the movement path. In other words, the graphic break control unit 101C controls the first robot 20A so that the cutter 40 passes through different positions on the surface of the material M. The graphic break control unit 101C controls the first robot 20A so that the cutter 40 does not carve out the material M. The graphic break control unit 101C controls the first robot 20A so that the cutter 40 does not pass through the same position on the surface of the material M.
[0081] For example, the graphic break control unit 101C controls the first robot 20A to make a cut in the material M using the cutter 40 that will allow a flap-shaped opening to be formed. A flap-shaped opening is a portion of the material M that can be opened and closed by a flap MF. The graphic break control unit 101C controls the first robot 20A to make a cut in the material M using the cutter 40 that will allow a valve-shaped opening to be formed. The graphic break control unit 101C controls the first robot 20A to make a cut in the material M using the cutter 40 that will allow a portion of the material M to be opened and closed.
[0082] [Support cut control section] The support cut control unit 101D controls the robot 20 to make a cut with the cutter 40 in the material M placed on the support unit 60 that supports the material M from below. In this embodiment, since the first robot 20A holds the cutter 40, the support cut control unit 101D causes the first robot 20A to move the cutter 40 so as to make a cut with the cutter 40 in the material M placed on the support unit 60 that supports the material M from below.
[0083] In this embodiment, an example is given in which a worker places the material M on the support part 60, but the first robot 20A, the second robot 20B, or another robot may place the material M on the support part 60. The support part 60 with the material M placed thereon may be transported onto the workbench T. In this case, too, the worker, the first robot 20A, the second robot 20B, or another robot may transport the support part 60 onto the workbench T.
[0084] In this embodiment, since the material M is placed on the first support part 60A and the second support part 60B, the support cutter control part 101D controls the first robot 20A to move the cutter 40 so that the cutter 40 makes a cut in the material M placed on the first support part 60A and the second support part 60B. This differs from what has already been described in that the material M is placed on the first support part 60A and the second support part 60B, but the control for making the cuts is the same as what has already been described.
[0085] Each of the first support unit 60A and the second support unit 60B may start suctioning the material M before making a cut in the material M. The suction is turned on / off by the robot controller 10 or another device. The suctioning of the material M may be turned on / off at any timing. For example, the suctioning of the material M may be turned off while a cut is being made in the material M. Thereafter, the suctioning may be turned on when the material M is supported by the support control unit 102 described below.
[0086] [3-3. Support control section] The support control unit 102 causes the robot 20 to support the material M. In this embodiment, an example is given in which the support control unit 102 causes the robot 20 to support the material M using a suction device. The support control unit 102 may cause the robot 20 to support the material M by a method other than suction. For example, the support control unit 102 may cause the robot 20 to support the material M by magnetic force or electrostatic force. The support control unit 102 may cause the robot 20 to support the material M by gripping the material M with the robot hand. The support control unit 102 determines a movement path for the robot 20 to support the material M based on the support program. The support control unit 102 causes the robot 20 to move along the movement path.
[0087] The support control unit 102 causes the first robot 20A to support the material M. The support control unit 102 determines a movement path for the first robot 20A to support the material M based on the first support program. The support control unit 102 causes the first robot 20A to move along the movement path, thereby causing the first robot 20A to support the material M. If an operation other than movement is necessary 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 machine.
[0088] In this embodiment, the support control unit 102 determines a movement path for the first robot 20A so that the connecting member 50A of the first robot 20A is connected to the connecting member 60A1 of the first support unit 60A. The support control unit 102 moves the first robot 20A along the movement path. The support control unit 102 connects the connecting member 50A and the connecting member 60A1 to the first robot 20A. After these are connected, the support control unit 102 causes the first robot 20A to move the first support unit 60A on which the material M is placed. The code of the first support program for controlling this series of operations is as described above.
[0089] The support control unit 102 causes the second robot 20B to cooperate with the first robot 20A to support the material M. Cooperation means matching the movements of the other robot. For example, the second robot 20B moving while maintaining a predetermined positional relationship with the first robot 20A corresponds to cooperation. The second robot 20B moving in the same direction as the first robot 20A corresponds to cooperation. The second robot 20B performing the same movements as the first robot 20A (for example, moving in the same direction at the same moving speed) corresponds to cooperation. The second robot 20B working on the same material M as the first robot 20A corresponds to cooperation.
[0090] In this embodiment, the support control unit 102 determines a movement path for the second robot 20B to support the material M based on the second support program. The support control unit 102 causes the second robot 20B to move along the movement path, thereby causing the second robot 20B to support the material M. If an operation other than movement is necessary to support the material M, a code indicating the operation is also included in the second support program. For example, the operation is turning on a suction machine, etc.
[0091] In this embodiment, the support control unit 102 determines a movement path for the second robot 20B such that the connecting member 50B of the second robot 20B is connected to the connecting member 60B1 of the second support unit 60B. The support control unit 102 moves the second robot 20B along the movement path. The support control unit 102 connects the connecting member 50B and the connecting member 60B1 to the second robot 20B. After these are connected, the support control unit 102 causes the second robot 20B to move the second support unit 60B on which the material M is placed. The code of the second support program for controlling this series of steps is as described above.
[0092] The support control unit 102 causes the robot 20 connected to the support unit 60 to support the material M. The support control unit 102 determines a movement path for the robot 20 to connect to the support unit 60 based on the support program. The support control unit 102 causes the robot 20 to move along the movement path. The support control unit 102 connects the connecting member 50 and the connecting member 60 to the robot 20. After these are connected, the support control unit 102 causes the robot 20 to move the support unit 60 on which the material M is placed. The support program code for this series of controls is as described above. Note that the support unit 60 does not need to be divided into two, such as the first support unit 60A and the second support unit 60B. The support control unit 102 may cause one robot 20 to support the material M placed on one support unit 60.
[0093] [3-4. Rotation control section] The rotation control unit 103 causes the robot 20 to rotate the material M so that the slit faces downward. In this embodiment, the support control unit 102 controls the material M to be supported and transported with at least a part of the slit facing a direction other than downward. Based on the rotation program, the rotation control unit 103 causes the robot 20 to rotate the material M from a state in which at least a part of the slit faces the other direction to a state in which at least a part of the slit faces downward. The rotation of the material M is performed by the rotation of a motor arranged at the tip of the robot 20.
[0094] For example, the rotation control unit 103 includes a first rotation control unit 103A, a second rotation control unit 103B, and a direction rotation control unit 103C. Codes indicating the control contents by each of the first rotation control unit 103A, the second rotation control unit 103B, and the direction rotation control unit 103C are included in the rotation program. Note that the rotation control unit 103 does not have to include all or some of the first rotation control unit 103A, the second rotation control unit 103B, and the direction rotation control unit 103C.
[0095] [First rotation control section] The first rotation control unit 103A causes the first robot 20A to rotate the material M so that the cut line faces downward. The first rotation control unit 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 part of the cut line of the material M changes from a state in which the cut line faces a direction other than downward to a state in which the at least a part faces downward. The first rotation control unit 103A rotates the motor at the tip of the first robot 20A based on the rotation direction, thereby rotating the material M so that the cut line faces downward.
[0096] [Second rotation control section] The second rotation control unit 103B causes the second robot 20B to rotate the material M so that the cut line faces downward in cooperation with the first robot 20A. The second rotation control unit 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 part of the cut line of the material M changes from a state in which the cut line faces a direction other than downward to a state in which the at least a part faces downward. The second rotation control unit 103B rotates the motor at the tip of the second robot 20B based on the rotation direction, thereby rotating the material M so that the cut line faces downward.
[0097] [Direction and rotation control unit] The direction rotation control unit 103C causes the robot 20 to rotate the material M so that the flap MF generated by the formation of the opening turns upward. The flap MF turning upward means that the other parts of the surface of the material M on which the flap MF is provided (the upper surface in FIG. 5) other than the flap MF face downward. The direction rotation control unit 103C determines a rotation direction such that the flap turns upward based on the rotation program. The rotation direction means that the other parts of the surface of the material M on which the flap MF is provided (the upper surface in FIG. 5) other than the flap MF face downward. The direction rotation control unit 103C rotates the motor at the tip of the robot 20 based on the rotation direction, thereby rotating the material M so that the flap MF turns upward.
[0098] [4. Processing performed by robot control system 1] Fig. 12 is a diagram showing an example of processing executed by the robot control system 1. The processing of Fig. 12 is executed by the CPU 11 executing a program stored in the storage unit 12. The processing of Fig. 12 is executed after the material M is placed on the first support unit 60A and the second support unit 60B. Fig. 12 shows an overview of the processing executed by the robot control system 1. Details of the processing are shown in Fig. 13.
[0099] As shown in FIG. 12, the robot controller 10, based on the recognition program, causes the first robot 20A to photograph the material M with the camera 30 (S1). Based on the cut program, the robot controller 10 causes the first robot 20A to move the cutter 40 so that the cutter 40 makes a cut in the material M (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 (S3). Based on the rotation program, the robot controller 10 causes each of the first robot 20A and the second robot 20B to transport the material M and rotate the material M so that the cut faces downward (S4), and this process ends.
[0100] 13 is a diagram showing an example of details of the processes of S2 to S4. The processes of S20 to S22 are details of the process of S2. The processes of S30 to S33 are details of the process of S3. The processes of S40 and S41 are details of the process of S4.
[0101] 13, the robot controller 10 calculates a movement path for the first robot 20A to make a cut in the material M with the cutter 40 based on the position and shape of the material M recognized in S2 and the cutting program (S20). The robot controller 10 causes the first robot 20A to make a cut in the material M with the cutter 40 based on the movement path calculated in S20 (S21). The robot controller 10 causes the first robot 20A to remove the camera 30 and the cutter 40 (S22).
[0102] The robot controller 10 determines a movement path for the first robot 20A to support the material M at the first support unit 60A based on the first support program (S30). The robot controller 10 determines a movement path for the second robot 20B to support the material M at the second support unit 60B based on the second support program (S31). The robot controller 10 causes the first robot 20A to support the material M based on the movement path determined in S30 (S32). The robot controller 10 causes the second robot 20B to support the material M based on the movement path determined in S31 (S33).
[0103] The robot controller 10 causes the first robot 20A and the second robot 20B to move the material M to above the container C based on the movement paths determined in S30 and S31 (S40). The robot controller 10 causes the first robot 20A and the second robot 20B to rotate the material M above the container C so that the cut faces downward based on the first rotation program and the second rotation program (S41), and this process ends.
[0104] [5. Summary of the embodiment] The robot control system 1 of this embodiment includes one or more robots 20 that perform work on materials M containing contents. 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 cutter 40 makes a cut in the material M. 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 faces downward. At the moment the cutter 40 makes a cut, the cut faces in a direction other than downward, and the material M then rotates so that the cut faces downward, so that the contents are less likely to come out until the material M rotates. For this reason, the robot control system 1 can suppress the contents from adhering to at least one of the cutter and the robot. For example, in the conventional technology cited in the prior art document, the contents tend to come out and adhere to the cutter, etc. immediately after the cutter cuts the bottom surface of the bag. In this regard, in the robot control system 1 of this embodiment, the moment the cutter 40 makes a cut, the cut faces in a direction other than downward, making it difficult for the contents to fall out, and therefore, compared to conventional technology, it is possible to prevent the contents from adhering to the cutter 40, etc.
[0105] Furthermore, the robot control system 1 causes the first robot 20A to rotate the material M so that the cut 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 faces downward. The robot control system 1 can support and rotate the material M in a stable state using the two robots 20. For example, it can prevent the material M from falling while it is being rotated.
[0106] Furthermore, 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 cutter 40 makes multiple cuts in the material M. By making multiple cuts in the material M, the robot control system 1 makes it easier to remove the contents.
[0107] Furthermore, 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 cutter 40 makes a slit capable of forming a planar opening in the material M. The robot control system 1 makes it easier to remove the contents by the slit that forms the planar opening.
[0108] Furthermore, 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 shape drawn by the cuts made in the material M becomes an open shape. The robot control system 1 can prevent a part of the material M from falling together with the contents. For example, the robot control system 1 can prevent a part of the material M from being mixed into the contents transferred to the container C.
[0109] Furthermore, 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 turns upward. By rotating the material M in a direction that turns the flap FP upward, the contents of the material M become more likely to come out. For example, if the flap FP turns in the opposite direction (downward), the material M may tear due to being unable to withstand the weight, but the robot control system 1 turns the flap FP upward, thereby preventing the material M from tearing.
[0110] The robot control system 1 also controls the robot 20 to make a cut with the cutter 40 in the material M placed on the support section 60 that supports the material M from below. The robot control system 1 causes the robot 20 connected to the support section 60 to support the material M. The robot control system 1 makes a cut in the material M placed on the support section 60 and causes the robot connected to the support section 60 to support the material M, thereby enabling the process after making the cut to be carried out smoothly. For example, the robot control system 1 becomes capable of handling various materials M without the need to prepare a robot hand dedicated to a specific material M, thereby increasing versatility.
[0111] [6. Modifications] The present disclosure is not limited to the above-described embodiments. The present disclosure can be modified as appropriate without departing from the spirit and scope of the present disclosure.
[0112] 14 is a diagram showing an example of functions realized by the modified robot control system 1. For example, the robot controller 10 includes a deformation control unit 104, a tilt control unit 105, a weight information acquisition unit 106, a detachment control unit 107, a transport control unit 108, and a supporting force control unit 109. Each of these functions is realized by the CPU 11.
[0113] [6-1. Variation 1] For example, when the material M is rotated so that the slit faces downward as in the embodiment, not all of the contents will necessarily come out of the opening. Even if the material M is rotated until the slit faces straight down, some of the contents may remain inside the material M. For this reason, the robot controller 10 may cause the first robot 20A and the second robot 20B to deform the material M to expel the contents remaining inside the material M.
[0114] FIG. 15 is a diagram showing an example of the state in which the material M is deformed in the first modification. The example in FIG. 15 shows a state in which the cut of the material M faces directly downward from the state in FIG. 7. In the first modification, after the cut of the material M faces downward, the robot controller 10 controls the first robot 20A and the second robot 20B so that the surface of the first support part 60A opposite to the surface that supported the material M (i.e., the back side of the first support part 60A) and the surface of the second support part 60B opposite to the surface that supported the material M (i.e., the back side of the second support part 60B) rotate in opposite directions and approach each other, based on the portion in contact with the first support part 60A and the second support part 60B. As a result, the surfaces of the material M in contact with the first support part 60A and the second support part 60B are deformed so as to be bent.
[0115] The robot control system 1 of the first modified example includes a transformation control unit 104. The transformation control unit 104 controls the robot 20 supporting the material M so that the material M is transformed when the material M rotates or after the material M is rotated. The transformation of the material M refers to a change in the shape of the surface of the material M. The data storage unit 100 of the first modified example stores a transformation program for transforming the material M. The transformation program includes code indicating control that will be described below. The transformation control unit 104 controls the robot 20 so that the material M is transformed by executing the transformation program.
[0116] In the first modification, similarly to the 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 transformation program for the first robot 20A to transform the material M, and a second transformation program for the second robot 20B to transform the material M. The first transformation program includes code indicating control of the first robot 20A, which will be described below. The second transformation program includes code indicating control of the second robot 20B, which will be described below. The transformation control unit 104 controls each of the first robot 20A and the second robot 20B so that the material M is transformed by executing the first transformation program and the second transformation program.
[0117] The period when material M rotates is the period from when material M starts to rotate to when material M stops to rotate (the period when material M is rotating). In other words, the period when control is being executed by the rotation control unit 103 corresponds to the period when material M rotates. After material M rotates is after material M stops to rotate (after rotation of material M stops). In other words, after control is executed by the rotation control unit 103 corresponds to after material M rotates.
[0118] The deformation control unit 104 of the first modification includes a folding control unit 104A. The folding control unit 104A controls the robot 20 supporting the material M so that the material M is folded when the material M is rotated or after the material M is rotated. In the first modification, since the first robot 20A and the second robot 20B each support the material M, the folding control unit 104A controls each of the first robot 20A and the second robot 20B so that the material M is folded when the material M is rotated or after the material M is rotated.
[0119] 15, the folding control unit 104A controls each of the first robot 20A and the second robot 20B so as to fold the surface of the material M that is in contact with the first fixing part 60A and the second fixing part 60B. For example, the folding control unit 104A controls the first robot 20A so as to rotate the first fixing part 60A towards the second fixing part 60B, and controls the second robot 20B so as to rotate the second fixing part 60B towards the first fixing part 60A.
[0120] In other words, the folding control unit 104A causes the first robot 20A and the second robot 20B to rotate the first fixing part 60A and the second fixing part 60, respectively, so as to fold the ends of the first fixing part 60A and the second fixing part 60 upwards around the part where the first fixing part 60A and the second fixing part 60 are in contact with each other. Note that each of the first supporting part 60A and the second supporting part 60B is assumed to have a slit formed therein so as to be able to fold the material M.
[0121] For example, the folding control unit 104A may control the first robot 20A so that the first fixing unit 60A rotates toward the second fixing unit 60B, and then control the second robot 20B so that the second fixing unit 60A rotates toward the first fixing unit 60A. The folding control unit 104A may control the second robot 20B so that the second fixing unit 60B rotates toward the first fixing unit 60A, and then control the first robot 20A so that the first fixing unit 60A rotates toward the second fixing unit 60B. The folding control unit 104A may control the first robot 20A and the second robot 20B so that the material M is folded in the opposite direction to that shown in FIG. 15.
[0122] In the first modification, an example is given in which bending of the material M corresponds to deformation of the material M, and the deformation control unit 104 may control each of the first robot 20A and the second robot 20B so as to change the surface shape of the material M. For example, since the surface of the material M deforms when it is shaken, the deformation control unit 104 may deform the material M by controlling each of the first robot 20A and the second robot 20B so that each of the first robot 20A and the second robot 20B shakes the material M while supporting it.
[0123] For example, assume that the first robot 20A supports a side surface of the material M with the first support unit 60A, and the second robot 20B supports the opposite side surface of the material M with the second support unit 60B. In this case, the deformation control unit 104 may deform the material M by moving each of the first robot 20A and the second robot 20B so that the first support unit 60A and the second support unit 60B approach each other. In this case, the material M is sandwiched horizontally between the first support unit 60A and the second support unit 60B, and is deformed by being crushed from both sides in the horizontal direction.
[0124] For example, if the first robot 20A supports the upper surface of the material M with the first support part 60A, and the second robot 20B supports the lower surface of the material M with the second support part 60B, the deformation control part 104 may deform the material M by moving each of the first robot 20A and the second robot 20B so that the first support part 60A and the second support part 60B approach each other. In this case, the material M is sandwiched from above and below by the first support part 60A and the second support part 60B, and is deformed by being crushed from both sides in the vertical direction.
[0125] For example, the transformation control unit 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 transformation control unit 104 may twist the material M by causing each of the first robot 20A and the second robot 20B to rotate in opposite directions while supporting the material M. By doing so, the contents remaining inside the material M may come out.
[0126] In addition, in the first modification, one robot 20 may support the material M. In this case, the transformation control unit 104 may control the one robot 20 so that the material M is transformed. For example, the transformation control unit 104 may control the one robot 20 so that the one robot 20 shakes the material M. In the case where one robot 20 has multiple end effectors, the transformation control unit 104 may transform the material M by changing at least one of the position and the orientation of each of the multiple end effectors of the one robot 20.
[0127] The robot control system 1 of the first modification controls the robot 20 supporting the material M so that the material M deforms when the material M rotates or after the material M rotates. The robot control system 1 makes it easier to remove the contents by deforming the material M. For example, even if part of the contents remains inside the material M, the deformation of the material M makes it easier for the part to come out.
[0128] Furthermore, the robot control system 1 controls the robot 20 supporting the material M so that the material M is bent when the material M is rotated or after the material M is rotated. By bending the material M, the contents can be easily removed. For example, even if part of the contents remains inside the material M, the bending of the material M makes it easier for the part to come out.
[0129] [6-2. Variation 2] For example, the method of removing the contents remaining in the material M is not limited to the deformation of the material M as in Modification 1. The robot controller 10 may cause the first robot 20A and the second robot 20B to tilt the material M to remove the contents remaining in the material M. Tilting the material M means that the orientation (posture) of the material M changes.
[0130] 16 is a diagram showing an example of a state in which the material M tilts in the second modification. In the second modification, 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 so that the first support part 60A and the second support part 60B rotate in a predetermined direction around the part where the first support part 60A and the second support part 60B are in contact with each other as the rotation axis. After that, the robot controller 10 may control each of the first robot 20A and the second robot 20B so that the first support part 60A and the second support part 60B rotate in the opposite direction. The robot controller 10 may repeat these rotation controls.
[0131] The robot control system 1 of the second modification includes a tilt control unit 105. The tilt control unit 105 controls the robot 20 supporting the material M so that the material M is tilted in a direction different from the direction of rotation by the rotation control unit 103. The other direction may be any direction other than the direction in which the material M is rotated by the rotation control unit 103. In the example of FIG. 16, the other direction is a direction perpendicular to the direction in which the material M is rotated. In other words, the other direction is the direction in which the first robot 20A is located relative to the material M, the direction in which the second robot 20B is located relative to the material M, or another direction.
[0132] The data storage unit 100 of the second modification stores a tilt program for causing the robot 20 to tilt the material M in another direction. The tilt program includes code for moving or rotating the robot 20 in another direction. The tilt control unit 105 executes the tilt program to move or rotate the robot 20 in another direction, thereby causing the robot 20 to tilt the material M.
[0133] In the second modification, similarly to the 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 tilt program for causing the first robot 20A to tilt the material M and a second tilt program for causing the second robot 20B to tilt the material M. The tilt control unit 105 executes the first tilt program to move or rotate the first robot 20A in another direction, thereby causing the first robot 20A to tilt the material M. The tilt control unit 105 executes the second tilt program to move or rotate the second robot 20B in another direction, thereby causing the second robot 20B to tilt the material M.
[0134] The robot control system 1 of the second modification controls the robot 20 supporting the material M so that the material M is tilted in a direction different from the direction of rotation by the rotation control unit 103. The robot control system 1 tilts the material M in a direction different from the direction of rotation for the cut to face downward, making it easier to remove the contents. For example, even if part of the contents remains inside the material M, the tilt of the material M makes it easier for that part to come out.
[0135] [6-3. Variation 3] For example, if the material M is heavy, the contents may easily become unevenly distributed when the material M is rotated. In this case, when the material M is rotated, the center of gravity of the material M changes suddenly, and the material M is likely to fall off the first support part 60A and the second support part 60B. For this reason, the rotation may be performed according to the weight of the material M.
[0136] The robot control system 1 of the third modified example includes a weight information acquisition unit 106. The weight information acquisition unit 106 acquires weight information related to the weight of the material M. The weight information may be information that is somehow related to the weight of the material M. The weight information may be information that directly indicates the weight of the material M (e.g., a numerical value that indicates the weight itself), or may be information that allows the weight of the material M to be estimated. The information that allows the weight to be estimated is information that is indirectly related to the weight, and may be, for example, a detection result by a force sensor, a torque sensor, or other sensor.
[0137] In the third modification, an example is taken in which 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 related to its own motor. The weight information acquisition unit 106 acquires the torque waveform detected based on each of the torque sensors of the first robot 20A and the second robot 20B as the weight information. For example, the heavier the material M is, the higher the torque value indicated by the torque waveform will be, and the lighter the material M is, the lower the torque value indicated by the torque waveform will be.
[0138] The rotation control unit 103 of the third modified example includes a weight rotation control unit 103D. The weight rotation control unit 103D causes the robot 20 to rotate the material M based on the weight information. For example, the weight rotation control unit 103D controls the rotation of the robot 20 so that the rotation speed of the material M becomes slower as the weight indicated by the weight information becomes heavier. The weight rotation control unit 103D controls the rotation of the robot 20 so that the rotation speed of the material M becomes faster as the weight indicated by the weight information becomes lighter. Note that the weight rotation control unit 103D may control the rotation direction of the material M, rather than the rotation speed of the material M, based on the weight information.
[0139] The robot control system 1 of the third modification acquires weight information related to the weight 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 related to the weight of the material M. For example, when the material M rotates, the contents inside the material M may shift, causing the center of gravity to change or the shape of the material M to change. In this regard, rotation based on the weight information can prevent the center of gravity and shape from changing suddenly, making it less likely for the material M to fall.
[0140] [6-4. Variation 4] In the third modification, a case where the torque waveform detected by the torque sensor corresponds to the weight information is taken as an example, but the weight information is not limited to the example of the third modification. For example, if the container C is equipped with a weighing unit, the weight information may be acquired using the weighing unit of the container C. In the fourth modification, a case where weighing result information regarding the weighing result of the weighing unit corresponds to the weight information of the third modification is taken as an example.
[0141] The weight information acquisition unit 106 of the fourth modification includes a weighing result information acquisition unit 106A. The weighing result information acquisition unit 106A acquires weighing result information related to the weighing result of the weighing unit of the container C to which the contents are transferred. The weighing unit is a weighing scale. The weighing unit may be either analog or digital. The robot controller 10 of the fourth modification is connected to the weighing unit of the container C. The connection between the robot controller 10 and the weighing unit of the container C may be either wired or wireless.
[0142] For example, the weight information acquisition unit 106 acquires weighing result information indicating the weight of the contents put into the container C. This weight is the total weight of the contents at the time when the weighing unit performed the weighing. Therefore, this weight does not necessarily indicate the weight of the contents of one material M. If the contents of each of the materials M were put into the container C in the past, the weighing result information indicates the total weight of each of the contents of the multiple materials M. The weight of the contents most recently transferred from the material M to the container C is the value obtained by subtracting the weight measured the first time from the weight measured this time. The lighter the weight of the contents most recently transferred from the material M to the container C, the heavier the material M is because the contents have not come out of the material M. The more the weight of the contents most recently transferred from the material M to the container C, the lighter the material M is because the contents have come out of the material M. Note that the weighing result information may indicate the weight of the contents taken out of one material M.
[0143] The rotation control unit 103 control unit of the fourth modification includes a weighing result rotation control unit 103E. The weighing result rotation control unit 103E causes the robot 20 to rotate the material M based on the weighing result information. For example, the weighing result rotation control unit 103E controls the rotation of the robot 20 so that the rotation speed of the material M becomes slower as the weight of the content most recently transferred from the material M to the container C calculated from the weight information becomes lighter. The weighing result rotation control unit 103E controls the rotation of the robot 20 so that the rotation speed of the material M becomes faster as the weight of the content most recently transferred from the material M to the container C calculated from the weight information becomes heavier. Note that the weighing result rotation control unit 103E may control the rotation direction of the material M, rather than the rotation speed of the material M, based on the weight information.
[0144] The robot control system 1 of the fourth modification acquires weighing result information regarding the weighing result of the weighing unit of the container to which the contents are transferred. The robot control system 1 causes the robot 20 to rotate the material M based on the weighing result information. The robot control system 1 can rotate the material M based on the weighing result information regarding the weighing result of the weighing unit. For example, the material M becomes less likely to fall from the robot 20. There is no need to attach a weighing unit to the robot 20.
[0145] [6-5. Variation 5] For example, when the robot controller 10 has almost finished emptying the contents from the material M, the material M may be moved to a predetermined location. The predetermined location may be a location where a box for disposing of used material M is placed. In this case, if the first robot 20A and the second robot 20B each support the material M, they may interfere with each other and make it difficult to move the material M. Since the material M after emptying the contents is much lighter than before the contents were released from the material M, the material M may be moved by only either the first robot 20A or the second robot 20B.
[0146] FIG. 17 is a diagram showing an example of how materials M move in Modification 5. The robot control system 1 of Modification 5 includes a detachment control unit 107 and a transport control unit 108. After the material M rotates and at least a portion of the contents comes out of the material M, the detachment control unit 107 causes either the first robot 20A or the second robot 20B to detach from the material M. In the example of FIG. 17, the first robot 20A is detached, but the second robot 20B may also be detached. Detaching from the material M means moving away from the material M.
[0147] The data storage unit 100 of the fifth modified example stores a detachment program that indicates the detachment operation. For example, the detachment program includes a code that indicates stopping suction by the suction device, and a code that indicates that the first robot 20A moves in a direction away from the material M. The detachment control unit 107 executes the detachment program and stops suction by the suction device of the first support unit 60A. The detachment control unit 107 executes the detachment program and moves the first robot 20A in a direction away from the material M. This completes the detachment of the first robot 20A.
[0148] The transport control unit 108 transports the material M to one of the first robot 20A and the second robot 20B, which is different from the one of the robots 20. In the example of FIG. 17, since the first robot 20A is separated from the material M, 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.
[0149] The data storage unit 100 of the fifth modified example stores a transport program indicating a transport operation. For example, the transport program includes a code for calculating a movement path of the material M to a predetermined destination location. The transport control unit 108 executes the transport program and calculates a movement path from the current position of the second robot 20B supporting the material M to the predetermined destination location of the material M. The transport control unit 108 controls the second robot 20B so that the second robot 20B moves along the calculated movement path.
[0150] The robot control system 1 of the fifth modification causes either the first robot 20A or the second robot 20B to detach from the material M after the material M rotates and at least a portion of the contents comes out of the material M. The robot control system 1 causes a robot 20 different from the one of the first robot 20A and the second robot 20B to transport the material M. The robot control system 1 can easily transport the material M after the contents have been removed. For example, the robot control system 1 makes it easier to transport the material M because the first robot 20A and the second robot 20B are less likely to interfere with each other compared to a case in which the first robot 20A and the second robot 20B transport the material M together.
[0151] [6-6. Variation 6] For example, in the fifth modification, when the material M is moved from the container C to a predetermined location with the slit facing downward, the flap MF is turned up and the material M is moved with the opening exposed. Therefore, the contents of the material M may spill onto the floor or the like while the material M is being moved. Therefore, the robot controller 10 may control the second robot 20B to rotate the material M so that at least a part of the slit faces upward, and then move the material M to the predetermined location.
[0152] Fig. 18 is a diagram showing an example of the manner in which material M moves in Modification 6. The robot control system 1 of Modification 6 includes a rotational transport control unit 108A. The rotational transport control unit 108A causes a different robot 20 to rotate the material M so that at least a part of the slit faces upward, and then transport the material M. In Fig. 18, all of the slits face upward, but only a part of the slits may face upward.
[0153] The transport program of the sixth modified example includes code for rotating the second robot 20B supporting the material M. The rotation transport control unit 108A executes the transport program and causes the second robot 20B to rotate the material M so that at least a portion of the slit faces upward before transporting the material M. The rotation transport control unit 108A executes the transport program and controls the second robot 20B so that the material M is moved to a predetermined location with at least a portion of the slit facing upward.
[0154] The robot control system 1 of the sixth modification causes the second robot 20B to rotate the material M so that at least a part of the slit faces upward, and then transports the material M. The robot control system 1 can make it difficult for any remaining contents of the material M to fall out during transport of the material M.
[0155] [6-7. Variation 7] For example, in the embodiment, the material M placed on the first fixing part 60A and the second fixing part 60B rotates, and the contents gradually come out of the material M. When the slit faces downward, most of the contents of the material M are out, so there is no need for the first fixing part 60A and the second fixing part 60B to support the material M including all of the contents with a strong force so as to support the material M facing downward. For this reason, the material M may be supported with a force weaker than the force that would support the material M including all of the contents facing downward.
[0156] The robot control system 1 of the seventh modification includes a supporting force control unit 109. The supporting force control unit 109 causes the robot 20 to support the material M with a supporting force based on the force with which the robot 20 supports the material M downward. When the material M is supported by a suction machine as in the embodiment, the supporting force is a 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 gripping, the supporting force is a gripping force.
[0157] In the seventh modification, the supporting force is defined in the supporting program. The supporting force may be a parameter referenced by the supporting program. For example, the supporting force defined in the supporting program is a force weaker than the force with which the robot 20 supports the material M downward. The more the slit material M rotates, the more the contents are pushed out, making the material M lighter, and the more likely the material M will fall from the first supporting portion 60A and the second supporting portion 60B.
[0158] For example, suppose that a simulation determines that when material M rotates through an angle θ (θ is any positive number), the weight of material M will become n (n is any positive number)% lighter due to the discharge of the contents, and the supporting force due to reduction in friction will decrease by m% (m). Furthermore, suppose that the simulation calculates the minimum supporting force at which material M will not fall 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 support program.
[0159] The robot control system 1 of the seventh modification causes the robot 20 to support the material M with a supporting force based on the force for the robot 20 to support the material M downward. The robot control system 1 can support the material M with a supporting force corresponding to the force for supporting the material M downward.
[0160] [6-8. Variation 8] For example, in Modifications 1 and 2, a case has been described in which the contents remaining in the material M are expelled by deformation of the material M. Furthermore, in Modification 3, a case has been described in which the contents remaining in the material M are expelled by tilting the material M. The contents remaining in the material M may also be expelled from the material M by other methods.
[0161] The robot control system 1 of the eighth modification includes an additional cut control unit 101E. The additional cut control unit 101E causes the robot 20 to move at least one of the cutter 40 and the material M so that the cutter 40 makes an additional cut in the material M when the material M rotates or after the material M has rotated. The robot making the additional cut may be another robot 20 different from the first robot 20A and the second robot 20B, but in the eighth modification, it is assumed to be the first robot 20A.
[0162] In the eighth modification, after the first robot 20A in the example of Fig. 17 leaves the material M, the first robot 20A re-attaches the cutter 40. The robot controller 10 executes the tool change code described in the embodiment to cause the first robot 20A to attach the cutter 40. The data storage unit 100 in the eighth modification stores an additional cut program. The additional cut program is a program that indicates the operation for making an additional cut.
[0163] For example, the additional cut control unit 101E executes an additional cut program and controls the first robot 20A so that the first robot 20A moves the cutter 40 to make an additional cut in the material M. The position of the additional cut is defined in the additional cut program. The position of the additional cut may be defined in a parameter referenced by the additional cut program. The position of the additional cut may be dynamically determined by the camera 30 recognizing the position and shape of the material M.
[0164] For example, the additional cut control unit 101E causes the first robot 20A to move the cutter 40 to the position of the additional cut. The additional cut control unit 101E causes the first robot 20A to make an additional cut in the material M by moving the cutter 40 in a predetermined direction while the cutter 40 is in contact with the material M. Thereafter, the robot controller 10 may cause the second robot 20B supporting the material M to deform or tilt the material M in order to release the contents through the additional cut.
[0165] The robot control system 1 of the eighth modification causes the robot 20 to move at least one of the cutter 40 and the material M so that the cutter 40 makes an additional cut in the material M when the material M rotates or after the material M has rotated. The robot control system 1 makes it easier to release the contents of the material M by making the additional cut.
[0166] [6-9. Other variations] For example, the above modifications may be combined.
[0167] For example, the respective suckers 61A, 61B of the first support section 60A and the second support section 60B may have a floating mechanism so that, when the material M is rotated, the suckers 61A, 61B change direction in response to the movement of the material M. This can reduce the load on the suckers 61A, 61B. In other words, when the material M is rotated, the suckers 61A, 61B may follow the movement of the material M to prevent excessive load from being applied to the suckers 61A, 61B. For example, the robot controller 10 may change the way the first robot 20A cuts the material M based on the type of the material M.
[0168] For example, although the case has been described in which the first robot 20A moves the cutter 40 to make a cut in the material M, the cutter 40 may be disposed in a location other than the first robot 20A and the second robot 20B. The cutter 40 may be disposed near the work table T with the blade facing downward or sideways. In this case, the robot controller 10 may make a cut in the material M by having each of the first robot 20A and the second robot 20B support the material M and press the material M against the cutter 40. This operation may be defined in the cutting program.
[0169] For example, if the cut is similar to that in FIG. 6, the robot controller 10 causes each of the first robot 20A and the second robot 20B to move along the same path as the cut while pressing the material M against the cutter 40. In this way, the cutter 40 moves relatively in the same manner as in the embodiment when viewed from the material M, so that a cut similar to that in FIG. 6 is made. The process after the cut is made in the material M may be similar to the embodiment and modified examples 1 to 8. Even when the first robot 20A and the second robot 20B each move the material M to make a cut, each process described in the embodiment and modified examples 1 to 8 can be applied.
[0170] For example, each of the functions described above may be realized by any device in the robot control system 1. The functions described as being included in one robot controller 10 may be shared among multiple robot controllers 10.
[0171] [7. Notes] For example, the robot control system can be configured as follows. (1) one or more robots that operate on the material, including the contents; a cut control unit that causes the robot to move at least one of the cutter and the material so as to cut a cut in the material with the cutter; a rotation control unit that causes the robot to rotate the material so that the cut faces downward; A robot control system having the following: (2) The first robot, A second robot; A first rotation control unit that causes the first robot to rotate the material so that the cut line faces downward; A second rotation control unit that cooperates with the first robot to cause the second robot to rotate the material so that the cut line faces downward; The robot control system according to (1) above, (3) a multiple cut control unit that causes the robot to move at least one of the cutter and the material so that the cutter makes multiple cuts in the material; A robot control system according to (1) or (2). (4) The robot has an opening cut control unit that moves at least one of the cutter and the material so that the cutter can make the cut to form a planar opening in the material. A robot control system according to any one of (1) to (3). (5) a figure cut control unit that causes the robot to move at least one of the cutter and the material so that a figure drawn by the cuts made in the material becomes an open figure; (4) A robot control system as described above. (6) A deformation control unit controls the robot supporting the material so that the material is deformed when the material rotates or after the material rotates. A robot control system according to any one of (1) to (5). (7) a folding control unit that controls the robot supporting the material so that the material is folded when the material is rotated or after the material is rotated; (6) A robot control system according to (6). (8) a tilt control unit that controls the robot supporting the material so that the material is tilted in a direction different from the direction of rotation by the rotation control unit; A robot control system according to any one of (1) to (7). (9) A direction rotation control unit that causes the robot to rotate the material so that a flap generated by the formation of the opening turns up. (5) A robot control system according to the above. (10) a weight information acquiring unit for acquiring weight information relating to the weight of the material; a weight rotation control unit that causes the robot to rotate the material based on the weight information; The robot control system according to any one of (1) to (9), comprising: (11) a measurement result information acquiring unit that acquires measurement result information regarding a measurement result of a measuring unit of the container to which the content is transferred; a weighing result rotation control unit that causes the robot to rotate the material based on the weighing result information; The robot control system according to (10) above, (12) a detachment control unit that causes either the first robot or the second robot to detach from the material after the material has rotated and at least a portion of the contents has left the material; a transport control unit that causes a robot other than the one of the first robot and the second robot to transport the material; The robot control system according to (2) above, (13) a rotation conveyance control unit that causes the different robot to rotate the material so that at least a part of the cut line faces upward, and then conveys the material; A robot control system as described in (12). (14) a support cut control unit that controls the robot so as to make the cut with the cutter in the material placed on a support unit that supports the material from below; a support control unit that causes the robot connected to the support unit to support the material; The robot control system according to any one of (1) to (13), comprising: (15) a supporting force control unit that causes the robot to support the material with a supporting force based on a force for the robot to support the material downward; A robot control system according to any one of (1) to (14). (16) an additional cut control that causes the robot to move at least one of the cutter and the material so that the cutter makes an additional cut in the material when the material is rotated or after the material is rotated; A robot control system according to any one of (1) to (15). [Explanation of symbols]
[0172] 1 Robot control system, 10 Robot controller, 11 CPU, 12 Memory unit, 13 Communication unit, 20 Robot, 20A First robot, 20B Second robot, C Container, M Material, MF Flap, T Work table, 30 Camera, 40 Cutter, 50 Connecting member, 50A Connecting member, 50B Connecting member, 60 Support unit, 60A First support unit, 60B Second support unit, 60A1 Connecting member, 60B1 Connecting member, 100 Data memory unit, 101 Cut control unit, 101A Multiple cut control unit, 101B Opening cut control unit, 101C Graphic cut control unit, 101D Support cut control unit, 101E Additional cut control unit, 102 Support control unit, 103 Rotation control unit, 103A First rotation control unit, 103B Second rotation control unit, 103C Direction rotation control unit, 103D Weight rotation control unit, 103E weighing result rotation control unit, 104 deformation control unit, 104A bending control unit, 105 tilt control unit, 106 weight information acquisition unit, 106A weighing result information acquisition unit, 107 detachment control unit, 108 conveyance control unit, 108A rotation conveyance control unit, 109 support force control unit.
Claims
1. one or more robots that operate on materials including content; a cut control unit that causes the robot to move at least one of the cutter and the material so as to cut a cut in the material with the cutter; a rotation control unit that causes the robot to rotate the material so that the cut faces downward; A robot control system having the following:
2. A first robot; A second robot; and a first rotation control unit that causes the first robot to rotate the material so that the cut line faces downward; a second rotation control unit that cooperates with the first robot to cause the second robot to rotate the material so that the cut line faces downward; The robot control system of claim 1 .
3. a multiple cut control unit that causes the robot to move at least one of the cutter and the material so that the cutter makes multiple cuts in the material; 3. The robot control system according to claim 1 or 2.
4. The robot has an opening cut control unit that moves at least one of the cutter and the material so that the cutter can make the cut to form a planar opening in the material.
3. A robot control system according to claim 1 or 2.
5. a figure cut control unit that causes the robot to move at least one of the cutter and the material so that a figure drawn by the cuts made in the material becomes an open figure; The robot control system of claim 4.
6. A deformation control unit controls the robot supporting the material so that the material is deformed when the material rotates or after the material rotates.
3. A robot control system according to claim 1 or 2.
7. a folding control unit that controls the robot supporting the material so that the material is folded when the material is rotated or after the material is rotated; The robot control system of claim 6.
8. a tilt control unit that controls the robot supporting the material so that the material is tilted in a direction different from the direction of rotation by the rotation control unit; 3. The robot control system according to claim 1 or 2.
9. A direction rotation control unit that causes the robot to rotate the material so that a flap generated by the formation of the opening turns up. The robot control system of claim 5.
10. a weight information acquiring unit for acquiring weight information relating to the weight of the material; a weight rotation control unit that causes the robot to rotate the material based on the weight information; 3. The robot control system according to claim 1, further comprising:
11. a measurement result information acquiring unit that acquires measurement result information regarding a measurement result of a measuring unit of the container to which the content is transferred; a weighing result rotation control unit that causes the robot to rotate the material based on the weighing result information; The robot control system of claim 10, comprising:
12. a detachment control unit that causes either the first robot or the second robot to detach from the material after the material has rotated and at least a portion of the contents has left the material; a transport control unit that causes a robot other than the one of the first robot and the second robot to transport the material; 3. The robot control system of claim 2, further comprising:
13. a rotation conveyance control unit that causes the different robot to rotate the material so that at least a part of the cut line faces upward, and then conveys the material; The robotic control system of claim 12.
14. a support cut control unit that controls the robot so as to make the cut with the cutter in the material placed on a support unit that supports the material from below; a support control unit that causes the robot connected to the support unit to support the material; 3. The robot control system according to claim 1, further comprising:
15. a supporting force control unit that causes the robot to support the material with a supporting force based on a force for the robot to support the material downward; 3. The robot control system according to claim 1 or 2.
16. an additional cut control that causes the robot to move at least one of the cutter and the material so that the cutter makes an additional cut in the material when the material is rotated or after the material is rotated; 3. The robot control system according to claim 1 or 2.
17. A robot controller capable of controlling one or more robots that perform operations on materials including contents, a cut control unit that causes the robot to move at least one of the cutter and the material so as to cut a cut in the material with the cutter; a rotation control unit that causes the robot to rotate the material so that the cut faces downward; Robot controller.
18. 1. A method for controlling one or more robots to perform operations on materials including content, comprising: moving at least one of the cutter and the material to cut a slit in the material with the cutter; having the robot rotate the material so that the cut is facing downward; A method for controlling a robot.
Citation Information
Patent Citations
Automatic bag-opening system
JP1995165223A
Bag opening method and bag opening machine
JP2006273388A
Unpacking device, and unpacked content manufacturing method
JP2013100118A
Box opening device and box opening method
JP2021123390A
Bag opening device and robot system
JP2021187499A