Robot control device, processing method, program, and robot system

The robot control device addresses the inefficiency in managing stacked objects by using a control unit to perform specific operations that allow for the efficient collapse of unevenly stacked objects, thereby improving operational efficiency.

JP2025081744APending Publication Date: 2025-05-27KYOCERA CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2025033497
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-03-04
Publication Date
2025-05-27

AI Technical Summary

Technical Problem

Existing robot technologies are inadequate in efficiently managing and collapsing stacked objects, particularly when the objects are unevenly stacked.

Method used

A robot control device and method that includes a control unit capable of operating a robot to collapse stacked objects by performing specific operations such as turning, moving objects to overlap, and then collapsing the stack.

Benefits of technology

The solution enables efficient collapse of stacked objects, improving the robot's ability to manage and handle objects in a controlled manner, thereby enhancing operational efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025081744000001_ABST
    Figure 2025081744000001_ABST
Patent Text Reader

Abstract

To provide technique that uses a robot to collapse multiple objects that are stacked higher than others.SOLUTION: A robot control device includes a control unit that controls a robot executing tasks on multiple objects. The control unit operates the robot to collapse the multiple objects that are stacked higher than others.SELECTED DRAWING: Figure 9
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to robots.

Background Art

[0002] Patent Document 1 describes a technique in which a robot stirs a plurality of stacked workpieces.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] There is room for improvement in technologies related to robots.

Means for Solving the Problems

[0005] A robot control device, a control method, a program, a robot, and a robot system are disclosed. In one embodiment, the robot control device includes a control unit that controls a robot that performs operations on a plurality of objects. The control unit operates the robot so as to collapse the plurality of objects with respect to a plurality of objects stacked more than others.

[0006]

[0007] In another embodiment, the program is a program for causing a computer device to function as the control unit included in the above-described robot control device.

[0008] Also, in one embodiment, the robot is a robot controlled by the above-described robot control device.

[0009] Also, in one embodiment, the robot system includes the above-described robot control device and a robot controlled by the robot control device.

Advantages of the Invention

[0010] Using a robot, it is possible to collapse a plurality of objects stacked more than others.

Brief Description of the Drawings

[0011]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Figure 16

Figure 17

Figure 18

Figure 19

Figure 20

Mode for Carrying Out the Invention

[0012] FIG. 1 is a schematic diagram showing an example of the configuration of the robot system 1. As shown in FIG. 1, the robot system 1 includes, for example, a robot 2 and a robot control device 6 that controls the robot 2. The robot control device 6 manages, for example, the operation of the entire robot system 1. The robot 2 includes, for example, an arm 20 and an end effector 25. The robot system 1 includes an arm control device 3 that controls the arm 20 and an effector control device 4 that controls the end effector 25. The robot control device 6 can communicate with the arm control device 3 and can control the arm control device 3. The arm control device 3 can communicate with the effector control device 4. The robot control device 6 can communicate with the effector control device 4 through the arm control device 3 and can control the effector control device 4 through the arm control device 3. The robot control device 6 can control the arm 20 through the arm control device 3. The robot control device 6 can control the end effector 25 through the arm control device 3 and the effector control device 4. The robot control device 6 can also be said to be a higher-level control device 6 that controls the robot 2.

[0013] The robot system 1 includes, for example, a first camera 8, a second camera 9, an arm sensor unit 50 that detects the state of the arm 20, and an effector sensor unit 55 that detects the state of the end effector 25. The robot control device 6 controls the robot 2 based on, for example, the camera images obtained by the first camera 8 and the second camera 9 and the detection results of the arm sensor unit 50 and the effector sensor unit 55.

[0014] <Regarding the robot> FIG. 2 is a schematic diagram showing an example of the robot 2 and its surroundings. The robot 2 can hold the object to be held 10 and move from the source area to the destination area. The object to be held 10 is also called a workpiece, for example. The robot 2 holds the object to be held 10 in the source area with the end effector 25. Then, the robot 2 moves the object to be held 10 held by the end effector 25 from the source area to the destination area. For example, the robot 2 moves the object to be held 10 held by the end effector 25 from the source area to the destination area by changing the posture of the robot 2, specifically, the posture of the arm 20. The position of the arm 20 is determined by the posture of the arm 20. Also, the position of the end effector 25 is determined by the posture of the arm 20. The end effector 25 releases the object to be held 10 that has moved to the destination area and places it in the destination area.

[0015] The source area and the destination area are containers, for example. There are a plurality of objects to be held 10 in the container 15 (also referred to as the source container 15) as the source area. In the source container 15, for example, a plurality of objects to be held 10 are stacked randomly. The robot 2 performs an operation of sequentially holding the objects to be held 10 in the source container 15 one by one and moving them to the container 16 (also referred to as the destination container 16) as the destination area. The source container 15 and the destination container 16 are placed on the workbench 18 and the workbench 19, respectively, for example. It can also be said that the robot 2 moves the object to be held 10 on the workbench 18 to the workbench 19. The robot control device 6 can control the movement of the robot 2 and cause the robot 2 to execute an operation. Hereinafter, the object to be held 10 may be simply referred to as the object 10.

[0016] The operation performed by the robot 2 is not limited to the above example. Also, the source area and the destination area are not limited to the above example. For example, at least one of the source area and the destination area may be a shelf on which the object 10 is placed, a table directly on which the object 10 is placed, or a conveyor that conveys the object 10.

[0017] The arm 20 includes, for example, a plurality of joints and a plurality of links (in other words, arm parts), etc. Each joint includes a motor for rotating the joint. The arm 20 includes, for example, six joints. The degree of freedom of the arm 20 is, for example, six. The robot 2 can change the posture of the arm 20 by changing the rotation angle of at least one of the six joints. The arm control device 3 can control the rotation angle of each joint according to an instruction from the robot control device 6. That is, the robot control device 6 can control the rotation angle of each joint through the arm control device 3. The robot control device 6 can control the posture of the arm 20 through the arm control device 3. The number of the plurality of joints provided in the arm 20 may be other than six.

[0018] The end effector control device 4 can control the end effector 25 according to an instruction from the robot control device 6. The robot control device 6 can give various instructions to the end effector control device 4, for example, through the arm control device 3. The robot control device 6 can control the end effector 25 through the arm control device 3 and the end effector control device 4.

[0019] As shown in FIG. 2, the end effector 25 includes, for example, a holding part 26 for holding the object 10 in the container 15, a stirring member 28 for stirring a plurality of objects 10 in the container 15, and a housing 29 capable of accommodating the holding part 26 and the stirring member 28. During operation, the robot 2 performs a stirring process of stirring a plurality of objects 10 in the container 15 with the stirring member 28. By executing the stirring process, the robot 2 can more easily hold the object 10 in the container 15.

[0020] Each of the holding part 26 and the stirring member 28 can individually go out of or enter the housing 29. The holding part 26 may be constituted by, for example, a plurality of finger structures that grip the object 10, or may be constituted by at least one suction part that sucks and holds the object 10. The suction part is also called a suction pad, for example. In FIG. 2, as an example, a holding part 26 constituted by at least one suction part is shown. The end effector 25 includes a first driving part that drives the holding part 26. The effector control device 4 can control the holding operation of the holding part 26 by controlling the first driving part.

[0021] The end effector 25 has an attachment part 27 to which the holding part 26 is attached. The attachment part 27 is fixed to the housing 29 in the housing 29, for example, and has an elongated shape. The holding part 26 is attached to one end in the longitudinal direction of the attachment part 27. The attachment part 27 can also be said to be a fixing part 27 fixed to the housing 29. Also, the attachment part 27 can be said to be a shaft part, for example.

[0022] The attachment part 27 is, for example, stretchable. By the attachment part 27 stretching and contracting, the holding part 26 can go out of or enter the housing 29. In FIG. 2, an example of a state where the attachment part 27 is extended and the holding part 26 is out of the housing 29 is shown. The end effector 25 includes a second driving part that stretches and contracts the attachment part 27. The effector control device 4 can stretch and contract the attachment part 27 by controlling the second driving part. Hereinafter, regarding the state of the holding part 26, as shown in FIG. 2, the state where the holding part 26 is out of the housing 29 is called an exposed state, and the state where the holding part 26 is inside the housing 29 is called a housed state. The effector control device 4 can make the holding part 26 in the exposed state or the housed state by controlling the second driving part.

[0023] The stirring member 28 includes, for example, a plurality of elongated members 281 and an attachment portion 280 to which the plurality of elongated members 281 are attached. The plurality of elongated members 281 extend from the attachment portion 280 and are softer than the attachment portion 280. The attachment portion 280 has, for example, an elongated shape and can also be referred to as a shaft portion. The plurality of elongated members 281 extend, for example, so as to flare conically from one end in the longitudinal direction of the attachment portion 280. The tips of the plurality of elongated members 281 are located on substantially the same plane. The stirring member 28 can also be referred to as a stirring rod, for example.

[0024] The elongated member 281 has, for example, a tubular shape. The elongated member 281 is made of, for example, an elastomer. The elongated member 281 may be made of polyurethane or may be made of a silicone resin. The attachment portion 280 is made of, for example, metal or a relatively hard resin such as ABS (acrylonitrile butadiene styrene). Note that the materials of the elongated member 281 and the attachment portion 280 are not limited to these.

[0025] The attachment portion 280 is fixed to the housing 29 in the housing 29, for example. The attachment portion 280 can also be referred to as a fixing portion 280 that is fixed to the housing 29. The attachment portion 280 is, for example, stretchable. By the attachment portion 280 stretching and contracting, the stirring member 28 can come out of the housing 29 or enter the housing 29. FIG. 3 is a schematic diagram showing an example of a state where the attachment portion 280 is extended and the stirring member 28 has come out of the housing 29. FIG. 2 shows an example of a state where the attachment portion 280 is contracted and the stirring member 28 has entered the housing 29. In FIG. 3, the description of the second camera 9 is omitted.

[0026] The attachment portion 280 can stretch and contract, for example, along the same direction as the attachment portion 27. Therefore, the plurality of elongated members 281 can move along the same direction as the holding portion 26. The holding portion 26 and the stirring member 28 can, for example, come out of the housing 29 to the outside of the housing 29 or enter the housing 29 from the same opening 290 (see FIGS. 2 and 3) that the housing 29 has.

[0027] As shown in FIG. 3, when the stirring member 28 protrudes from the housing 29, all of the plurality of elongated members 281 protrude from the housing 29, and the attachment portion 280 partially protrudes from the housing 29. The end effector 25 includes a third driving portion that expands and contracts the attachment portion 280. The effector control device 4 can expand and contract the attachment portion 280 by controlling the third driving portion. Hereinafter, regarding the state of the stirring member 28, as shown in FIG. 3, the state in which the stirring member 28 partially protrudes from the housing 29 is referred to as an exposed state, and the state in which all of the stirring member 28 is inside the housing 29 is referred to as a housed state. The effector control device 4 can expose or house the stirring member 28 by controlling the third driving portion.

[0028] When the robot 2 holds the object 10 in the container 15, as shown in FIG. 2, the state of the holding portion 26 is set to the exposed state, and the state of the stirring member 28 is set to the housed state. On the other hand, when the robot 2 performs a stirring process, as shown in FIG. 3, the state of the stirring member 28 is set to the exposed state, and the state of the holding portion 26 is set to the housed state. In the stirring process, the robot 2 stirs the plurality of objects 10 in the container 15 so that the plurality of elongated members 281 hit the plurality of objects 10 in the container 15. For example, the robot 2 stirs the plurality of objects 10 in the container 15 by sweeping the plurality of objects 10 in the container 15 with the plurality of elongated members 281. FIG. 4 is a schematic view showing an example of the state in which the stirring member 28 stirs the plurality of objects 10 in the container 15.

[0029] For example, except when the stirring process is executed, the state of the holding portion 26 is set to the exposed state, and the state of the stirring member 28 is set to the housed state. Then, for example, only when the stirring process is executed, the state of the holding portion 26 is set to the housed state, and the state of the stirring member 28 is set to the exposed state.

[0030] Note that usually, the states of the holding part 26 and the stirring member 28 are both set to the housed state. Only when the end effector 25 holds the object 10, the state of the holding part 26 is set to the exposed state, the state of the stirring member 28 is set to the housed state, and only when the stirring process is executed, the state of the holding part 26 may be set to the housed state and the state of the stirring member 28 may be set to the exposed state.

[0031] The robot control device 6 can control the position of the stirring member 28 of the end effector 25 by controlling the robot 2. Specifically, the robot control device 6 can control the position of the stirring member 28 by controlling the posture of the arm 20 through the arm control device 3. The robot control device 6 can cause the robot 2 to execute the stirring process by controlling the posture of the arm 20. In the stirring process, the robot control device 6 controls the posture of the arm 20 so that the stirring member 28 makes a predetermined movement. Specific examples of the movement of the stirring member 28 in the stirring process will be described in detail later.

[0032] Note that the attachment part 27 may not be able to expand and contract. In this case, by moving the attachment part 27 by the first movement mechanism provided in the end effector 25, the holding part 26 may be able to come out of the housing 29 or enter the housing 29.

[0033] Also, the attachment part 280 may not be able to expand and contract. In this case, by moving the attachment part 280 by the second movement mechanism provided in the end effector 25, the stirring member 28 may be able to come out of the housing 29 or enter the housing 29.

[0034] <Regarding the first camera and the second camera> The first camera 8 is, for example, a three-dimensional camera. The imaging range of the first camera 8 (also referred to as the first imaging range) includes, for example, the working range of the robot 2. The first camera 8 images the first imaging range to generate a two-dimensional color image and a distance image. Each pixel value of the color image includes, for example, an R component (red component), a G component (green component), and a B component (blue component). Such a color image is also called an RGB image. The state of the working range is reflected in the color image. The distance image is an image that two-dimensionally represents the distance to each measurement point included in the first imaging range. Each pixel value of the distance image indicates the distance to the measurement point corresponding to the pixel value. The distance image is also called a depth image. The first camera 8 outputs first image data 80 (see FIG. 1) indicating a first camera image including the color image and the distance image to the robot control device 6. The robot control device 6 controls the robot 2 based on the first camera image indicated by the first image data 80.

[0035] The second camera 9 is, for example, a three-dimensional camera. As shown in FIG. 2, the second camera 9 is fixed to, for example, the outer surface of the housing 29 of the end effector 25. Therefore, the imaging range of the second camera 9 (also referred to as the second imaging range) changes according to the posture of the end effector 25. Since the posture of the end effector 25 changes according to the posture of the arm 20, the second imaging range changes according to the posture of the arm 20.

[0036] When the end effector 25 holds the object 10 in the container 15, the second camera 9 images the source container 15 from above it. In this case, the second imaging range includes a plurality of objects 10 in the container 15. On the other hand, when the end effector 25 releases the object 10 and places the object 10 in the destination container 16, the second camera 9 images the destination container 16 from above it.

[0037] Similar to the first camera 8, the second camera 9 captures a second imaging range and generates, for example, a two-dimensional color image and a distance image. When the end effector 25 holds the object 10 in the container 15, the container 15 and a plurality of objects 10 in the container 15 are captured in the color image. The second camera 9 outputs second image data 90 (see FIG. 1) indicating a second camera image including the color image and the distance image to the effector control device 4. The effector control device 4 transmits the second image data 90 to the robot control device 6 through the arm control device 3. The robot control device 6 controls the robot 2 based on the second image indicated by the second image data 90.

[0038] <Regarding the arm sensor unit and the effector sensor unit> The arm sensor unit 50 can detect, for example, the state of each of a plurality of joints of the arm 20. The arm sensor unit 50 includes, for example, a current sensor that detects the current flowing through each joint, a torque sensor that detects the torque applied to each joint, and an encoder that detects the rotation angle of each joint. The encoder is also called a rotary encoder, for example. The arm sensor unit 50 outputs arm state information indicating the detection results at the arm sensor unit 50 to the arm control device 3. The arm state information indicates the current flowing through each joint, the torque applied to each joint, and the rotation angle of each joint. The arm control device 3 transmits the arm state information to the robot control device 6. The robot control device 6 controls the robot 2 based on the arm state information.

[0039] The effector sensor unit 55 includes, for example, a contact sensor and a force sensor. The contact sensor can detect, for example, the holding force (e.g., gripping force or suction force) of the holding portion 26 on the object 10. The contact sensor is also called a force sensor, for example. The contact sensor may be, for example, an electric resistance type, a capacitance type, a piezoelectric type, or an optical type.

[0040] The force sensor can, for example, detect the force applied to the end effector 25. The force sensor may be, for example, a six-axis force sensor. The force sensor may be, for example, an electric resistance type, a capacitance type, a piezoelectric type, or an optical type.

[0041] The effector sensor unit 55 outputs end effector state information indicating the detection result in the effector sensor unit 55 to the effector control device 4. The end effector state information indicates the holding force of the holding unit 26 with respect to the object 10 and the force applied to the end effector 25. The effector control device 4 transmits the end effector state information to the robot control device 6 through the arm control device 3. The robot control device 6 controls the robot 2 based on the end effector state information.

[0042] <Configuration example of robot control device> FIG. 5 is a schematic diagram showing an example of the configuration of the robot control device 6. The robot control device 6 is, for example, a computer device and can also be said to be a control device or a control circuit. As shown in FIG. 5, the robot control device 6 includes, for example, a control unit 60, an interface 61, an interface 62, and a storage unit 63.

[0043] The interface 61 can communicate with the first camera 8. The interface 61 can also be said to be, for example, an interface circuit, a communication unit, or a communication circuit. The interface 61 may perform wired communication or wireless communication.

[0044] The interface 62 can communicate with the arm control device 3. The control unit 60 can control the arm control device 3 through the interface 62. The interface 62 performs wired communication with the arm control device 3, for example, in accordance with EtherCAT (registered trademark). The arm control device 3 performs wired communication with the effector control device 4, for example, in accordance with EtherCAT. The interface 62 receives the arm state information output by the arm sensor unit 50 and receives the effector state information output by the effector sensor unit 55. Note that the interface 62 and the arm control device 3 may conform to a communication standard other than EtherCAT. Also, the interface 62 and the arm control device 3 may perform wireless communication.

[0045] The control unit 60 can comprehensively manage the operation of the robot control device 6 by controlling other components of the robot control device 6. The control unit 60 can also be said to be a control circuit, for example. The control unit 60 includes at least one processor to provide control and processing capabilities for executing various functions, as will be described in more detail below.

[0046] According to various embodiments, the at least one processor may be implemented as a single integrated circuit (IC), or as a plurality of communicatively connected integrated circuit ICs and / or discrete circuits. The at least one processor can be executed according to various known techniques.

[0047] In one embodiment, the processor includes one or more circuits or units configured to execute one or more data calculation procedures or processes by executing instructions stored in an associated memory, for example. In other embodiments, the processor may be firmware (e.g., discrete logic components) configured to execute one or more data calculation procedures or processes.

[0048] According to various embodiments, the processor may include one or more processors, controllers, microprocessors, microcontrollers, application specific integrated circuits (ASICs), digital signal processing devices, programmable logic devices, field programmable gate arrays, or any combination of these devices or configurations, or combinations of other known devices and configurations, and may perform the functions described below.

[0049] The control unit 60 may include, for example, a CPU (Central Processing Unit) as a processor. The control unit 60 can control the arm 20 through the interface 62 and the arm control device 3. The control unit 60 can identify the current posture of the arm 20 based on the arm state information received by the interface 62. Also, the control unit 60 can control the end effector 25 through the interface 62, the arm control device 3, and the effector control device 4. The control unit 60 can identify whether the end effector 25 is properly holding the object 10, whether the end effector 25 has dropped the object 10, etc., based on the effector state information received by the interface 62. The control unit 60 can control the position of the agitating member 28 by controlling the posture of the arm 20 through the interface 62 and the arm control device 3. The control unit 60 can cause the robot 2 to perform an agitating process by controlling the posture of the arm 20.

[0050] The storage unit 63 may include, for example, non-temporary recording media readable by the CPU of the control unit 60, such as ROM (Read Only Memory) and RAM (Random Access Memory). The storage unit 63 stores, for example, a program 630 for controlling the robot control device 6. The various functions of the control unit 60 are realized, for example, when the CPU of the control unit 60 executes the program 630 in the storage unit 63.

[0051] In addition to the program 630, the memory unit 63 stores, for example, robot information and object information used in the control of the robot 2. The robot information is information about the robot 2. The robot information includes, for example, information representing the shape of the robot 2. The object information is information about the object 10. The object information includes, for example, information representing the shape of the object 10.

[0052] Note that the configuration of the control unit 60 is not limited to the above example. For example, the control unit 60 may include a plurality of CPUs. Also, the control unit 60 may include at least one DSP (Digital Signal Processor). Further, all or some of the functions of the control unit 60 may be realized by a hardware circuit that does not require software for realizing the functions. Also, the memory unit 63 may include a non-transitory computer-readable recording medium other than ROM and RAM. The memory unit 63 may include, for example, a small hard disk drive and an SSD (Solid State Drive).

[0053] The robot control device 6 may include an input unit capable of receiving various inputs from a user. The input unit may include, for example, a mouse and a keyboard. Also, the input unit may include a touch sensor that receives a touch operation of the user. When the robot control device 6 includes a display unit such as a liquid crystal display, a touch panel display having a display function and a touch detection function may be configured by the display unit and the touch sensor. Also, the input unit may include a microphone that receives a voice input of the user. The control unit 60 can recognize the content of the user input received by the input unit based on the output signal from the input unit. Note that when the robot control device 6 includes an interface for communicating with an external device other than the first camera 8 and the arm control device 3, an input from the user may be received through the interface.

[0054] The robot control device 6 may be composed of a plurality of computer devices. Further, the robot control device 6 may be composed of a cloud server. In this case, the robot control device 6 may be able to communicate with other components such as the arm control device 3 through a network including the Internet, for example.

[0055] The arm control device 3 may have, for example, a configuration similar to that of the robot control device 6. For example, the arm control device 3 may include a control unit having a processor such as a CPU, a storage unit that stores programs and the like executed by the processor, an interface that communicates with the robot control device 6, and an interface that communicates with the effector control device 4. Further, the effector control device 4 may have, for example, a configuration similar to that of the robot control device 6. For example, the effector control device 4 may include a control unit having a processor such as a CPU, a storage unit that stores programs and the like executed by the processor, and an interface that communicates with the arm control device 3.

[0056] <Regarding the stirring process> FIG. 6 is a flowchart showing an example of the operation of the control unit 60 regarding the stirring process. When the operation of the robot 2 starts, the holding unit 26 in the exposed state is located above the container 15. When the operation of the robot 2 starts, in step s1, the control unit 60 determines whether or not the object to be held 10 exists in the container 15 based on the second camera image obtained by the second camera 9. If it is determined YES in step s1, in step s2, the control unit 60 determines whether or not an object 10 that can be held by the robot 2 (specifically, the holding unit 26 of the end effector 25) exists in the container 15. On the other hand, if it is determined No in step s1, the operation of the robot 2 ends.

[0057] Here, even if the robot 2 attempts to change the posture of the arm 20 and hold a certain object 10 in the container 15 with the holding part 26 of the end effector 25, the container 15 and the robot 2 may interfere with each other and the holding part 26 may not be able to hold the certain object 10. Also, since the posture that the arm 20 can take is restricted by the reach of the arm 20 and the rotation range of each joint of the arm 20, etc., even if the robot 2 attempts to change the posture of the arm 20 and hold a certain object 10 in the container 15 with the holding part 26, the arm 20 may not be able to take a posture in which the holding part 26 can hold the certain object 10. When there is no holding target object 10 that the holding part 26 can hold at all in the container 15 for reasons such as interference between the container 15 and the robot 2, the control unit 60 executes step s4. The control unit 60 can, for example, acquire information about the container 15 (such as the position and shape of the container 15) based on the first camera image, and determine whether the container 15 and the robot 2 will interfere when the robot 2 attempts to hold a certain object 10 in the container 15 based on the acquired information about the container 15. Note that the information about the container 15 may be stored in advance in the storage unit 63.

[0058] In step s2, when it is determined that there is an object 10 that the holding part 26 can hold in the container 15, step s3 is executed. In step s3, the control unit 60 performs holding control to control the arm 20 and the end effector 25 so that the robot 2 attempts to hold the object 10 in the container 15.

[0059] As a result of the robot 2 attempting to hold the object 10 in the container 15, if the robot 2 successfully holds the object 10, the control unit 60 controls the posture of the arm 20 so that the object 10 held by the holding unit 26 moves from the source container 15 to the destination container 16. The control unit 60 can determine whether the robot 2 has successfully held the object 10 based on the end effector state information. When the control unit 60 controls the posture of the arm 20 so that the object 10 moves from the source container 15 to the destination container 16, it identifies obstacles within the working range based on the first camera image. Then, the control unit 60 changes the posture of the arm 20 so that the identified obstacles do not interfere with the robot 2 and the object 10. When the object 10 moves to the destination container 16, the control unit 60 controls the end effector 25 to release the object 10 from the end effector 25. Thereby, the object 10 is placed within the destination container 16. Thereafter, the control unit 60 controls the posture of the arm 20 so that the holding unit 26 is again positioned above the container 15, as shown in FIG. 2. Thereafter, step s1 is executed again. After the execution of step s1, the control unit 60 operates in the same manner.

[0060] As a result of the holding control in step s3, if the robot 2 attempts to hold the object 10 in the container 15 and fails to hold the object 10, step s1 is executed again. After the execution of step s1, the control unit 60 operates in the same manner.

[0061] In step s4, the control unit 60 causes the robot 2 to perform a stirring process. In step s4, first, the control unit 60 controls the end effector 25 so that the holding unit 26 and the stirring member 28 are in the housed state and the exposed state, respectively. Next, the control unit 60 controls the posture of the arm 20 so that the exposed stirring member 28 stirs the plurality of objects 10 in the container 15. Then, after the completion of the stirring process, the control unit 60 controls the end effector 25 so that the states of the holding unit 26 and the stirring member 28 are in the exposed state and the housed state, respectively.

[0062] After step s4, step s1 is executed again. Thereafter, the control unit 60 operates in the same manner. In step s2 after step s4 is executed, since the arrangement state of the plurality of objects 10 in the container 15 has changed by the stirring process, it may be determined that there are objects 10 in the container 15 that can be held by the holding unit 26. Therefore, the robot 2 can more easily hold the object 10 in the container 15. Note that the stirring process may be performed such that the overlapping state of the plurality of objects 10 overlapping each other in the container changes.

[0063] <Regarding the stirring method> Hereinafter, a plurality of examples of the stirring method in which the stirring member 28 stirs the plurality of objects 10 in the container 15 will be described.

[0064] <First example> FIG. 7 is a schematic diagram showing an example of the stirring method. In this example, in the stirring process, the control unit 60 controls the robot 2 so that the stirring member 28 moves from the edge side to the center side of the container 15. In other words, in the stirring process, the control unit 60 controls the robot 2 to perform a stirring operation on the plurality of objects 10 in the container 15 from the edge side to the center side of the container 15. The control unit 60 can identify the edge and the center of the container 15 based on, for example, the second camera image obtained by the second camera 9. The control unit 60 controls the posture of the arm 20 based on the second camera image so that the stirring member 28 moves from the edge side to the center side of the container 15. Note that the control unit 60 may identify the edge and the center of the container 15 based on the information regarding the container 15 stored in advance in the storage unit 63.

[0065] For example, in the stirring process, the control unit 60 may control the robot 2 so that the stirring member 28 moves in a plurality of directions 300 from the edge side to the central side of the container 15. In the example of FIG. 7, the plurality of directions 300 are set so as to substantially surround the central portion of the container 15 in a circular shape when the container 15 is viewed from above (in other words, the opening side). The control unit 60 controls the posture of the arm 20 so that the stirring member 28 moves along one direction 300, and then controls the posture of the arm 20 so that the stirring member 28 moves along another direction 300. The control unit 60 repeatedly executes this, and for each of the plurality of directions 300, controls the posture of the arm 20 so that the stirring member 28 moves along the direction 300.

[0066] As shown in FIG. 7, when the container 15 is viewed from above, the control unit 60 may select the plurality of directions 300 one by one in the clockwise or counterclockwise direction, and each time one direction 300 is selected, control the posture of the arm 20 so that the stirring member 28 moves along the selected one direction 300. Note that the selection order of the plurality of directions 300 is not limited to this. For example, after selecting one direction 300, the control unit 600 may select one direction 300 on the opposite side of the one direction 300.

[0067] The number of the plurality of directions 300 may be set according to, for example, the size of the container 15 when the container 15 is viewed from above. In other words, the number of the plurality of directions 300 may be set according to the size of the opening of the container 15. The arrangement of the plurality of directions 300 may be set according to the shape of the container 15 when the container 15 is viewed from above. In other words, the arrangement of the plurality of directions 300 may be set according to the shape of the opening of the container 15. Also, the number of the plurality of directions 300 may be set by the size of the stirring member 28 or the like. More specifically, it may be set by the area of the lower surface of the stirring member 28 facing the container 15 or the size of the outer edge or the like. Also, the number of the plurality of directions 300 may be set by the remaining number of the plurality of objects 10 or the like. Note that the number of the plurality of directions 300 may be changed for each timing of the stirring process.

[0068] When the shape of the container 15 as viewed from above is square as in the example of FIG. 7, the plurality of directions 300 may be set to be arranged in a substantially circular shape when the container 15 is viewed from above. Further, when the shape of the container 15 as viewed from above is square and the shape of the container 15 as viewed from above is larger than that in the example of FIG. 7, a number of directions 300 more than 8 (for example, 16 directions 300) may be set to be arranged in a substantially circular shape. Also, when the shape of the container 15 as viewed from above is rectangular as in the example of FIG. 8, when the container 15 is viewed from above, the plurality of directions 300 may be set to be arranged in a substantially long rectangular shape or a substantially elliptical shape along the longitudinal direction of the container 15.

[0069] Note that the control unit 60 may control the robot 2 so that the stirring member 28 moves only in one direction 300 in the stirring process.

[0070] As described above, in this example, in the stirring process, the stirring member 28 moves from the edge side to the central side of the container 15. That is, in the stirring process, stirring is performed on the plurality of objects 10 in the container 15 from the edge side to the central side of the container 15. When the end effector 25 attempts to hold the object 10 on the edge side of the container 15, the robot 2 may interfere with the container 15 and the end effector 25 may not be able to hold the object 10 on the edge side of the container 15. On the other hand, the robot 2 can easily hold the object 10 located on the central side of the container 15. As in this example, by moving the stirring member 28 from the edge side to the central side of the container 15 in the stirring process, the case where the robot 2 cannot hold the object 10 can be reduced. In other words, as in this example, by performing the stirring process, the holding opportunity of the object 10 by the robot 2 can be improved, the number of work interruptions can be reduced, and the work time can be shortened.

[0071] Also, when the stirring member 28 moves along the edge of the container 15, the object 10 may be pinched between the peripheral wall portion of the container 15 and the mounting portion 280 of the stirring member 28. When the robot system 1 is configured such that the robot 2 is forced to stop when a large torque is generated at the joint of the arm 20, if the object 10 is pinched between the peripheral wall portion of the container 15 and the hard mounting portion 280 and a large torque is generated at the joint of the arm 20, the robot 2 may be forced to stop. In this example, in the stirring process, since the stirring member 28 moves from the edge side to the central side of the container 15, the object 10 is less likely to be pinched between the peripheral wall portion of the container 15 and the hard mounting portion 280. Therefore, it becomes difficult for the robot 2 to be forced to stop.

[0072] Also, as in the examples of FIGS. 7 and 8, in the stirring process, when the stirring member 28 moves in a plurality of directions 300 from the edge side to the central side of the container 15, in other words, when stirring is performed along a plurality of directions 300 from the edge side to the central side of the container 15, the plurality of objects 10 in the container 15 can be sufficiently stirred. Therefore, it becomes easier for the robot 2 to hold the object 10 in the container 15.

[0073] <Second example> As in the first example above, in the stirring process, when the stirring member 28 moves in a plurality of directions 300 from the edge side to the central side of the container 15, a plurality of objects 10 may be stacked at the central portion of the container 15. If too many objects 10 are stacked at the central portion of the container 15, it may become difficult for the robot 2 to hold the objects 10 in the container 15.

[0074] Therefore, in this example, in the stirring process, after the stirring member 28 moves in a plurality of directions 300, the control unit 60 controls the robot 2 so that the stirring member 28 orbits around the central portion of the container 15. Thereby, by moving the stirring member 28 in a plurality of directions 300 from the edge side to the central portion side of the container 15, it is possible to stir so as to break up the plurality of objects 10 stacked on the central portion of the container 15. That is, stirring is performed in a plurality of directions 300 from the edge side to the central portion side of the container 15, and it is possible to stir so as to break up the plurality of objects 10 gathered at the central portion of the container 15. Therefore, the holding opportunity of the object 10 in the container 15 in the robot 2 can be improved. Hereinafter, the operation in which the stirring member 28 orbits around the central portion of the container 15 may be referred to as an orbiting stirring operation. Further, the operation in which the stirring member 28 moves in a plurality of directions 300 from the edge side to the central portion side of the container 15 may be referred to as a stirring operation toward the central portion.

[0075] The orbiting stirring operation may be executed in each stirring process, or may be executed every time the stirring process is executed a plurality of times. That is, the orbiting stirring operation may be executed every time the above-described step s4 is executed, or may be executed every time step s4 is executed a plurality of times. Further, when the stirring operation toward the central portion is performed, since a plurality of objects 10 may be stacked on the central portion of the container 15, when the orbiting stirring operation is executed, the height of the stirring member 28 with respect to the container 15 may be set larger than when the stirring operation toward the central portion is executed.

[0076] FIG. 9 is a schematic diagram for explaining an example of the state in which the stirring member 28 orbits around the central portion of the container 15. In the stirring process, the stirring member 28 orbits around the central portion of the container 15 once, for example, by moving in the first direction 311, then moving in the second direction 312, then moving in the third direction 313, and finally moving in the fourth direction 314.

[0077] The first direction 311, the second direction 312, the third direction 313, and the fourth direction 314 are set to surround the central portion of the container 15 when the container 15 is viewed from above. The first direction 311, the second direction 312, the third direction 313, and the fourth direction 314 are set to be parallel to the four sides of the quadrilateral formed by the outer shape of the container 15 when viewed from above, for example. In the example of FIG. 9, when the container 15 is viewed from above, the stirring member 28 moves so as to draw a quadrilateral around the central portion of the container 15.

[0078] Note that the movement of the stirring member 28 when it circulates around the central portion of the container 15 is not limited to the example of FIG. 9. For example, the stirring member 28 may start moving from the second direction 312, the third direction 313, or the fourth direction 314 among the first direction 311, the second direction 312, the third direction 313, and the fourth direction 314. Further, for example, the stirring member 28 may circulate around the central portion of the container 15 two or more times. Also, when the container 15 is viewed from above, the stirring member 28 may move so as to draw a circle around the central portion of the container 15.

[0079] <The third example> When the robot 2 is performing the stirring process, since it cannot hold and move the object 10 in the container 15, if it takes time to stir the plurality of objects 10 in the container 15, the working efficiency of the robot 2 decreases. On the other hand, if the number of the plurality of directions 300 in which the stirring member 28 moves in each stirring process is simply reduced, there is a possibility that the plurality of objects 10 in the container 15 cannot be sufficiently stirred.

[0080] Therefore, in this example, in the stirring process executed multiple times, the stirring pattern composed of the plurality of directions 300 in which the stirring member 28 moves in one stirring process and the stirring pattern composed of the plurality of directions 300 in which the stirring member 28 moves in another stirring process are made different from each other. Thereby, the plurality of objects 10 in the container 15 can be efficiently stirred.

[0081] Hereafter, a stirring pattern consisting of a plurality of directions 300 in which the stirring member 28 moves in the stirring process may be referred to as a stirring pattern toward the central portion. Also, in the eight directions 300 shown in FIG. 8, the direction 300 located at the 12 o'clock direction is referred to as direction 300a, the direction 300 located at the 3 o'clock direction is referred to as direction 300c, the direction 300 located at the 6 o'clock direction is referred to as direction 300e, and the direction 300 located at the 9 o'clock direction is referred to as direction 300g. Then, the direction 300 between direction 300a and direction 300c is referred to as direction 300b, the direction 300 between direction 300c and direction 300e is referred to as direction 300d, the direction 300 between direction 300e and direction 300g is referred to as direction 300f, and the direction 300 between direction 300g and direction 300a is referred to as direction 300h.

[0082] In this example, there are a plurality of types of stirring processes with different stirring patterns toward the central portion. Here, between two types of stirring processes, that the stirring patterns toward the central portion are different from each other means that either the plurality of directions 300 in one type of stirring process include directions 300 all different from the plurality of directions 300 in the other type of stirring process, or the plurality of directions 300 in the other type of stirring process include directions 300 all different from the plurality of directions 300 in one type of stirring process. Therefore, that the stirring patterns toward the central portion are different from each other between two types of stirring processes includes that the numbers of the plurality of directions 300 are different from each other between the two types of stirring processes. Also, that the stirring patterns toward the central portion are different from each other between two types of stirring processes includes that all of the plurality of directions 300 in one type of stirring process are included in a part of the plurality of directions 300 in the other type of stirring process. Also, that the stirring patterns toward the central portion are different from each other between two types of stirring processes includes that although the numbers of the plurality of directions 300 are the same between the two types of stirring processes, the arrangements of the plurality of directions 300 are different from each other between the two types of stirring processes.

[0083] For example, consider a first stirring process and a second stirring process in which the stirring patterns towards the central part are different from each other. For example, assume that the plurality of directions 300 in the first stirring process are the four directions 300a, 300c, 300e, and 300g shown in FIG. 10, and the plurality of directions 300 in the second stirring process are the four directions 300b, 300d, 300f, and 300h shown in FIG. 11. In this case, the plurality of directions 300 in the first stirring process include the directions 300a, 300c, 300e, and 300g that are all different from the plurality of directions 300 in the second stirring process. Also, the plurality of directions 300 in the second stirring process include the directions 300b, 300d, 300f, and 300h that are all different from the plurality of directions 300 in the first stirring process. In this example, although the number of the plurality of directions 300 is the same between the first stirring process and the second stirring process, the order of the plurality of directions 300 is different between the first stirring process and the second stirring process. Also, in this example, each of the plurality of directions 300 in the first stirring process is a direction different from each of the plurality of directions 300 in the second stirring process. That is, the plurality of directions 300 in the first stirring process do not include the plurality of directions 300 in the second stirring process. Also, each of the plurality of directions 300 in the second stirring process is a direction different from each of the plurality of directions 300 in the first stirring process. That is, the plurality of directions 300 in the second stirring process do not include the plurality of directions 300 in the first stirring process.

[0084] As another example, assume that the plurality of directions 300 in the first stirring process are the four directions 300a, 300c, 300e, and 300h shown in FIG. 12, and the plurality of directions 300 in the second stirring process are the four directions 300b, 300d, 300f, and 300h shown in FIG. 11. In this case, the plurality of directions 300 in the first stirring process include the directions 300a, 300c, and 300e that are all different from the plurality of directions 300 in the second stirring process. Also, the plurality of directions 300 in the second stirring process include the directions 300b, 300d, and 300f that are all different from the plurality of directions 300 in the first stirring process. Also in this example, although the number of the plurality of directions 300 is the same between the first stirring process and the second stirring process, the order of the plurality of directions 300 is different between the first stirring process and the second stirring process.

[0085] As another example, assume that the plurality of directions 300 in the first stirring process are the five directions 300a, 300b, 300c, 300e, and 300g shown in FIG. 13, and the plurality of directions 300 in the second stirring process are the four directions 300b, 300d, 300f, and 300h shown in FIG. 11. In this case, the plurality of directions 300 in the first stirring process include the directions 300a, 300c, 300e, and 300g that are all different from the plurality of directions 300 in the second stirring process. Also, the plurality of directions 300 in the second stirring process include the directions 300d, 300f, and 300h that are all different from the plurality of directions 300 in the first stirring process. In this example, the number of the plurality of directions 300 is different between the first stirring process and the second stirring process.

[0086] Also, when there are a first stirring process, a second stirring process, and a third stirring process in which the stirring patterns toward the center are different from each other, for example, the plurality of directions 300 in the first stirring process are the four directions 300a, 300c, 300e, 300h shown in FIG. 12, the plurality of directions 300 in the second stirring process are the five directions 300a, 300b, 300c, 300e, 300g shown in FIG. 13, and the plurality of directions 300 in the third stirring process are the four directions 300b, 300d, 300f, 300h shown in FIG. 11.

[0087] The control unit 60 may control the robot 2 so that, for example, a plurality of types of stirring processes in which the stirring patterns toward the center are different from each other are repeatedly executed in order. For example, the control unit 60 may control the robot 2 so that the robot 2 alternately executes the first stirring process and the second stirring process. For example, in the process shown in FIG. 6, one of the first stirring process and the second stirring process may be executed in the odd-numbered step s4, and the other of the first stirring process and the second stirring process may be executed in the even-numbered step s4. For example, in the odd-numbered step s4, the stirring member 28 may move in the directions 300a, 300c, 300e, 300g shown in FIG. 10, and in the even-numbered step s4, the stirring member 28 may move in the directions 300b, 300d, 300f, 300h shown in FIG. 11. Thereby, the plurality of objects 10 in the container 15 can be efficiently stirred. That is, while reducing the time required for stirring the plurality of objects 10 in the container 15 during the operation of the robot 2, the plurality of objects 10 in the container 15 can be sufficiently stirred. As in this example, when each of the plurality of directions 300 in the first stirring process is in a direction different from each of the plurality of directions 300 in the second stirring process, the plurality of objects 10 in the container 15 can be stirred more efficiently.

[0088] Note that a plurality of types of stirring processes with different stirring patterns toward the center portion do not necessarily need to be repeatedly executed in order. For example, after one of the first stirring process and the second stirring process is continuously executed a plurality of times, the other of the first stirring process and the second stirring process may be executed at least once. Further, after the first stirring process, the second stirring process, and the third stirring process are executed in this order, the third stirring process, the second stirring process, and the first stirring process may be executed in this order.

[0089] <Regarding the height of the stirring member> Here, an example of a method for setting the height of the stirring member 28 with respect to the container 15 in the stirring process will be described.

[0090] FIG. 14 is a schematic diagram for explaining an example of the height of the stirring member 28 set in the stirring process. As shown in FIG. 14, in the stirring process, the control unit 60 may control the robot 2 so that the reference height position ref of the plurality of objects 10 in the container 15 is located between the tip of the elongated member 281 and the mounting portion 280. The reference height position ref can also be said to be the representative height position of the plurality of objects 10 in the container 15. When there is variation in the lengths of the plurality of elongated members 281, in the stirring process, the reference height position ref may be located, for example, between the tip of the shortest elongated member 281 among the plurality of elongated members 281 and the mounting portion 280, or may be located between the tip of the longest elongated member 281 among the plurality of elongated members 281 and the mounting portion 280.

[0091] The reference height position ref may be set based on, for example, the average height position of a plurality of objects 10 in the container 15. In step s4 described above, the control unit 60 obtains, for example, the average height position of the plurality of objects 10 in the container 15 based on the second camera image in which the plurality of objects 10 in the container 15 are captured. Then, when causing the robot 2 to perform the stirring operation toward the center, the control unit 60 sets, for example, the obtained average height position as the reference height position ref of the plurality of objects 10 in the container 15. On the other hand, when causing the robot 2 to perform the circular stirring operation, the control unit 60 sets a position that is a predetermined amount higher than the obtained average height position as the reference height position ref of the plurality of objects 10 in the container 15. The control unit 60 controls the robot 2 so that the set reference height position ref is located between the tip of the elongated member 281 and the attachment portion 280. Thereafter, the control unit 60 moves the stirring member 28 to the robot 2 to cause the robot 2 to perform the stirring operation toward the center or the circular stirring operation.

[0092] When obtaining the average height position of the plurality of objects 10 in the container 15, the control unit 60 specifies, for example, a region (also referred to as an object existence region) in which the plurality of objects 10 in the container 15 exist based on the color image included in the second camera image. Then, the control unit 60 obtains the average value of the distances to each measurement point in the object existence region based on the distance image included in the second camera image. The control unit 60 may use the obtained average value as the average height position of the plurality of objects 10 in the container 15.

[0093] In this way, in the stirring process, since the robot 2 is controlled so that the reference height position ref of the plurality of objects 10 in the container 15 is located between the tip of the elongated member 281 and the attachment portion 280, it becomes difficult for the relatively hard attachment portion 280 to hit the objects 10 in the container 15. As a result, it becomes difficult for the objects 10 to be damaged in the stirring process.

[0094] Further, when the robot system 1 is configured such that the robot 2 is forced to stop when a large torque is generated at the joints of the arm 20, if the relatively rigid mounting portion 280 hits the object 10, the robot 2 may be forced to stop. In this example, in the stirring process, since it is difficult for the mounting portion 280 to hit the object 10, it becomes difficult for the robot 2 to be forced to stop.

[0095] In the above example, since one reference height position ref is set for the entire container 15, in the container 15, when there are an area where the object 10 is stacked high and an area where the object 10 is stacked low, in the area where the object 10 is stacked high, there is a possibility that the rigid mounting portion 280 hits the object 10.

[0096] Therefore, the control unit 60 may divide the inside of the container 15 into a plurality of partial regions 150 and individually set the reference height position ref for each partial region 150. In this case, for each partial region 150, when a plurality of objects 10 in the partial region 150 are stirred in the stirring process, the control unit 60 may control the robot 2 so that the reference height position ref corresponding to the partial region 150 is located between the tip of the slender member 281 and the mounting portion 280.

[0097] FIG. 15 is a schematic diagram showing an example of the state where the inside of the container 15 is divided into a plurality of partial regions 150. In the example of FIG. 15, the inside of the container 15 is evenly divided into nine partial regions 150 in a matrix. Hereinafter, among the plurality of partial regions 150, the partial region 150 to be noted (in other words, the partial region 150 to be described) may be referred to as the noted partial region 150.

[0098] The control unit 60 obtains the average height positions of the plurality of objects 10 within the target portion area 150 based on the second camera image in the same manner as described above. Then, the control unit 60 sets the reference height position ref of the plurality of objects 10 within the target portion area 150 based on the obtained average height positions. For example, the control unit 60 sets the obtained average height position as the reference height position ref of the plurality of objects 10 within the target portion area 150. The control unit 60 sets the reference height position ref corresponding to each portion area 150 in the same manner. In this example, regardless of whether the stirring operation towards the center or the circumferential stirring operation is performed, the height of the stirring member 28 is set in the same way.

[0099] In the stirring process, for example, when the central axis 280a along the longitudinal direction of the attachment portion 280 is located on the target portion area 150 when viewed from above the container 15, the control unit 60 controls the robot 2 so that the reference height position ref of the plurality of objects 10 within the target portion area 150 is located between the tips of the plurality of elongated members 281 and the attachment portion 280.

[0100] For example, as shown in FIG. 16, consider the case where in the stirring process, the stirring member 28 moves from the partial area 150a to the partial area 150b when viewed from above the container 15. In this case, in the stirring process, when the central axis 280a is located on the partial area 150a when viewed from above the container 15, the robot 2 is controlled so that the reference height position ref of the plurality of objects 10 within the partial area 150a is located between the tips of the elongated members 281 and the attachment portion 280. Then, in the stirring process, when the central axis 280a is located on the partial area 150b when viewed from above the container 15, the robot 2 is controlled so that the reference height position ref of the plurality of objects 10 within the partial area 150b is located between the tips of the elongated members 281 and the attachment portion 280. When the central axis 280a is located on a plurality of partial areas 150a when viewed from above the container 15, the robot 2 may be controlled so that the reference height position ref corresponding to any one of the plurality of partial areas 150a is located between the tips of the elongated members 281 and the attachment portion 280.

[0101] In this way, by individually setting the reference height position ref for each of the plurality of sub-regions 150, in the stirring process, it becomes difficult for the hard attachment portion 280 to hit the object 10.

[0102] Note that the method of dividing the inside of the container 15 into a plurality of sub-regions 150 is not limited to the above example. For example, the inside of the container 15 may be divided into a plurality of sub-regions 150 less than 9, or may be divided into a plurality of sub-regions 150 of 10 or more. Also, the inside of the container 15 does not have to be divided in a matrix shape.

[0103] <Other examples of the execution timing of the stirring process> The control unit 60 may cause the robot 2 to execute the stirring process according to the number of times the robot 2 has successfully held the object 10 in the container 15 (also referred to as the number of successful holding times). FIG. 17 is a flowchart showing an example of the operation of the control unit 60 in this case. In the example of FIG. 17, the control unit 60 includes a success counter that counts the number of successful holding times.

[0104] When the operation of the robot 2 starts, in step s11, the control unit 60 resets the success counter and sets the value of the success counter to zero. Next, the control unit 60 executes the above-described step s1. If YES in step s1, the control unit 60 executes the above-described step s2. When it is determined YES in step s2, step s12 is executed. On the other hand, when it is determined NO in step s2, the stirring process is executed in step s4.

[0105] In step s12, the control unit 60 determines whether the value of the success counter is greater than or equal to a first threshold value. The first threshold value is, for example, an integer of 1 or more. When it is determined YES in step s12, step s4 is executed. That is, when the number of successful holding times is greater than or equal to the first threshold value, the stirring process is executed. When the stirring process is executed in step s4, in step s15, the control unit 60 resets the success counter and sets the value of the success counter to zero.

[0106] When it is determined as NO in step S12, the above-described step S3 is executed. After step S3, step S13 is executed. In step S13, the control unit 60 determines whether the robot 2 has successfully held the object 10 in the container 15. When it is determined as YES in step S13, the control unit 60, in step S14, increments the success counter and increases the value of the success counter by one. As a result, when the robot 2 attempts to hold the object 10 in the container 15 in step S3 and the robot 2 successfully holds the object 10, the value of the success counter increases by one. When the robot 2 successfully holds the object 10, the control unit 60 controls the posture of the arm 20 so that the object 10 held by the holding unit 26 moves from the source container 15 to the destination container 16. After that, after the object 10 is placed in the destination container 16, the holding unit 26 is again positioned above the container 15. Then, step S1 is executed again. Thereafter, the control unit 60 operates in the same manner.

[0107] On the other hand, when it is determined as NO in step S13, that is, when the robot 2 fails to hold the object 10 to be held in the container 15 as a result of the robot 2 attempting to hold the object 10 in the container 15 in step S3, step S1 is executed again. Thereafter, the control unit 60 operates in the same manner.

[0108] As described above, in the example of FIG. 17, the stirring process is executed according to the number of successful holds. When the robot 2 successfully holds the object 10, the arrangement state of the plurality of objects 10 in the container 15 changes, so that it may become difficult for the robot 2 to hold the object 10 in the container 15. By executing the stirring process according to the number of successful holds as in this example, it becomes easier for the robot 2 to hold the object 10 in the container 15.

[0109] Note that in step s3, if the robot 2 has once successfully held the object 10 but drops the object 10 when moving the object 10 toward the destination container 16, the control unit 60 may determine that the robot 2 has failed to hold the object 10. In this case, step s14 is not executed and step s1 is executed again. The control unit 60 can identify that the robot 2 has dropped the object 10 based on the end effector state information output from the effector sensor unit 55.

[0110] The control unit 60 may cause the robot 2 to execute the stirring process according to the number of times the robot 2 has failed to hold the object 10 in the container 15 (also referred to as the number of holding failures). FIG. 18 is a flowchart showing an example of the operation of the control unit 60 in this case. In the example of FIG. 18, the control unit 60 includes a failure counter that counts the number of holding failures.

[0111] When the operation of the robot 2 starts, in step s21, the control unit 60 resets the failure counter and sets the value of the failure counter to zero. Next, the control unit 60 executes step s1 described above. If the control unit 60 determines YES in step s1, it executes step s2 described above. When it is determined YES in step s2, step s22 is executed. On the other hand, when it is determined NO in step s2, the stirring process is executed in step s4.

[0112] In step s22, the control unit 60 determines whether the value of the failure counter is greater than or equal to the second threshold value. The second threshold value is, for example, an integer of 1 or more. The second threshold value may be the same as the first threshold value, may be larger than the first threshold value, or may be smaller than the first threshold value. When it is determined YES in step s22, step s4 is executed. That is, when the number of holding failures is greater than or equal to the second threshold value, the stirring process is executed. When the stirring process is executed in step s4, in step s25, the control unit 60 resets the failure counter and sets the value of the failure counter to zero.

[0113] When it is determined as NO in step S22, step S3 is executed. After step S3, step S23 is executed. In step S23, the control unit 60 determines whether the robot 2 has failed to hold the object 10 in the container 15. When it is determined as YES in step S23, in step S24, the control unit 60 increments the failure counter and increases the value of the failure counter by one. As a result, when the robot 2 attempts to hold the object 10 to be held in the container 15 in step S3 and the robot 2 fails to hold the object 10, the value of the failure counter increases by one. After step S24, step S1 is executed, and thereafter, the control unit 60 operates in the same manner.

[0114] On the other hand, when it is determined as NO in step S23, that is, when the robot 2 succeeds in holding the object 10 as a result of the robot 2 attempting to hold the object 10 to be held in the container 15 in step S3, the robot 2 moves the object 10 to be held to the destination container 16 and arranges it in the destination container 16. Thereafter, after the holding portion 26 of the end effector 25 is positioned above the container 15 again, step S1 is executed. Thereafter, the control unit 60 operates in the same manner.

[0115] In this way, by executing the stirring process according to the number of holding failures, it becomes easier for the robot 2 to hold the object 10 in the container 15. Note that, in step S3, even if the robot 2 has once succeeded in holding the object 10, when the robot 2 drops the object 10 while moving the object 10 toward the destination container 16, the control unit 60 may determine that the robot 2 has failed in holding. In this case, after step S24 is executed, step S1 is executed again.

[0116] The control unit 60 may cause the robot 2 to execute the stirring process according to the elapsed time of the operation of the robot 2 (also referred to as the operation elapsed time). FIG. 19 is a flowchart showing an example of the operation of the control unit 60 in this case. In the example of FIG. 19, the control unit 60 has a time counter that counts time. The value of the time counter increases by 1, for example, every time a predetermined time elapses. In the example of FIG. 19, while the robot 2 is performing an operation, the stirring process is periodically and repeatedly executed.

[0117] When the operation of the robot 2 starts, in step s31, the control unit 60 resets the time counter and sets the value of the time counter to zero. Next, the control unit 60 executes the above-described step s1. If the control unit 60 is YES in step s1, it executes the above-described step s2. When it is determined to be YES in step s2, step s32 is executed. On the other hand, when it is determined to be NO in step s2, the stirring process is executed in step s4.

[0118] In step s32, the control unit 60 determines whether the value of the time counter is equal to or greater than a third threshold value. The third threshold value is, for example, an integer of 1 or more. The third threshold value may be the same as the first threshold value, may be larger than the first threshold value, or may be smaller than the first threshold value. Also, the third threshold value may be the same as the second threshold value, may be larger than the second threshold value, or may be smaller than the second threshold value.

[0119] When it is determined to be YES in step s32, step s4 is executed. When the stirring process is executed in step s4, in step s35, the control unit 60 resets the time counter and sets the value of the time counter to zero.

[0120] When it is determined as NO in step S32, step S3 is executed. If, as a result of the robot 2 attempting to hold the object 10 in the container 15 in step S3, the robot 2 fails to hold the object 10, step S1 is executed again. Thereafter, the control unit 60 operates in the same manner. On the other hand, if, as a result of the robot 2 attempting to hold the object 10 in the container 15 in step S3, the robot 2 successfully holds the object 10, the robot 2 moves the object 10 to be held to the destination container 16 and places it in the destination container 16. Thereafter, after the holding part 26 of the end effector 25 is positioned above the container 15 again, step S1 is executed. Thereafter, the control unit 60 operates in the same manner.

[0121] In this way, by executing the stirring process according to the working elapsed time, it becomes easier for the robot 2 to hold the object 10 in the container 15.

[0122] The control unit 60 may cause the robot 2 to execute the stirring process according to at least two of the number of successful holds, the number of failed holds, and the working elapsed time. FIG. 20 is a flowchart showing an example of the operation of the control unit 60 when the control unit 60 causes the robot 2 to execute the stirring process according to the number of successful holds, the number of failed holds, and the working elapsed time.

[0123] When the operation of the robot 2 starts, in step S41, the control unit 60 resets the success counter, the failure counter, and the time counter, and sets the values of the success counter, the failure counter, and the time counter to zero. Next, the control unit 60 executes step S1 described above. If the control unit 60 determines as YES in step S1, it executes step S2 described above. When it is determined as YES in step S2, step S42 is executed. On the other hand, when it is determined as NO in step S2, the stirring process is executed in step S4.

[0124] In step S42, the control unit 60 determines whether the value of the success counter is greater than or equal to the first threshold value. If it is determined to be YES in step S42, step S4 is executed. When the stirring process is executed in step S4, in step S48, the control unit 60 resets the success counter, the failure counter, and the time counter, and sets the value of each counter to zero. After step S48, step S1 is executed again, and thereafter, the control unit 60 operates in the same manner.

[0125] If it is determined to be NO in step S42, in step S43, the control unit 60 determines whether the value of the failure counter is greater than or equal to the second threshold value. If it is determined to be YES in step S43, step S4 is executed. Thereafter, step S48 and step S1 are sequentially executed, and thereafter, the control unit 60 operates in the same manner.

[0126] If it is determined to be NO in step S43, in step S44, the control unit 60 determines whether the value of the time counter is greater than or equal to the third threshold value. If it is determined to be YES in step S44, step S4 is executed. Thereafter, step S48 and step S1 are sequentially executed, and thereafter, the control unit 60 operates in the same manner.

[0127] If it is determined to be NO in step S44, step S3 is executed. After step S3, step S45 is executed. In step S45, the control unit 60 determines whether the robot 2 has successfully held the object 10 in the container 15. If it is determined to be YES in step S45, in step S46, the control unit 60 increments the success counter and increases the value of the success counter by one. After step S46, the robot 2 moves the held object 10 to the destination container 16 and places it in the destination container 16. Thereafter, after the holding portion 26 of the end effector 25 is again positioned above the container 15, step S1 is executed. Thereafter, the control unit 60 operates in the same manner.

[0128] On the other hand, when it is determined as NO in step s45, that is, when it is determined that the robot 2 has failed to hold the object 10 in the container 15, the control unit 60 increments the failure counter by counting up the failure counter in step s47, thereby increasing the value of the failure counter by one. After step s47, step s1 is executed again, and thereafter, the control unit 60 operates in the same manner.

[0129] In the above example, steps s42, s43, and s44 are executed in this order, but the execution order of steps s42, s43, and s44 may be changed. For example, they may be executed in the order of step s43, step s44, and step s42, or in the order of step s44, step s42, and step s43.

[0130] When the control unit 60 causes the robot 2 to execute the stirring process according to the number of successful holds and the number of failed holds, the flowchart shown in FIG. 20 may be changed as follows. For example, the success counter and the failure counter are initialized in step s41, and when it is determined as NO in step s43, step s3 is executed instead of step s44. Then, the success counter and the failure counter are reset in step s48.

[0131] Also, when the control unit 60 causes the robot 2 to execute the stirring process according to the number of successful holds and the elapsed working time, the flowchart shown in FIG. 20 may be changed as follows. For example, the success counter and the time counter are initialized in step s41, and when it is determined as NO in step s42, step s44 is executed instead of step s43. Then, when it is determined as NO in step s45, step s1 is executed instead of step s47. Also, the success counter and the time counter are reset in step s48.

[0132] Also, when the control unit 60 causes the stirring process to be executed by the robot 2 according to the number of holding failures and the elapsed working time, the flowchart shown in FIG. 20 may be modified as follows. For example, in step s41, the failure counter and the time counter are initialized. When it is determined to be YES in step s2, step s43 is executed instead of step s42. Then, when it is determined to be YES in step s45, step s1 is executed instead of step s46. Also, in step s48, the failure counter and the time counter are reset.

[0133] In the examples of FIGS. 17 to 20 above, when it is determined to be NO in step s2, the stirring process is executed in step s4. However, the work of the robot 2 may end without executing the stirring process.

[0134] The positional relationship between the member composed of the holding unit 26 and the mounting unit 27 and the stirring member 28 is not limited to the above example. For example, unlike the examples of FIGS. 2 and 3, the longitudinal direction of the mounting unit 27 and the longitudinal direction of the mounting portion 280 of the stirring member 28 do not have to be parallel to each other. For example, the longitudinal direction of the mounting unit 27 and the longitudinal direction of the mounting portion 280 of the stirring member 28 may be perpendicular to each other. When the longitudinal direction of the mounting unit 27 and the longitudinal direction of the mounting portion 280 are perpendicular to each other, when the exposed holding unit 26 holds the object 10, the exposed stirring member 28 does not hit the object 10, and when the exposed stirring member 28 stirs the plurality of objects 10 in the container 15, the exposed holding unit 26 does not hit the object 10. In this case, the holding unit 26 and the stirring member 28 may always be in an exposed state without being housed in the housing 29.

[0135] In the above example, the stirring member 28 is provided separately from the holding unit 26. However, the holding unit 26 may be used as the stirring member 28 for stirring the plurality of objects 10 in the container 15, or the holding unit 26 and the mounting unit 27 may be used as the stirring member 28 for stirring the plurality of objects 10 in the container 15.

[0136] The robot control device 6 may perform the same function as the arm control device 3 without the arm control device 3 being provided in the robot system 1. That is, the robot control device 6 and the arm control device 3 may be configured as a single control device. Further, the robot control device 6 may perform the same function as the end effector control device 4 without the end effector control device 4 being provided in the robot system 1. That is, the robot control device 6 and the end effector control device 4 may be configured as a single control device. Further, the robot control device 6 may perform the same function as the arm control device 3 and the end effector control device 4 without the arm control device 3 and the end effector control device 4 being provided in the robot system 1. That is, the robot control device 6, the arm control device 3, and the end effector control device 4 may be configured as a single control device.

[0137] As described above, the robot control device, the robot, and the robot system including them have been described in detail. However, the above description is illustrative in all aspects, and this disclosure is not limited thereto. Further, the various examples described above can be applied in combination as long as they do not conflict with each other. And it is understood that countless examples not illustrated can be assumed without departing from the scope of this disclosure.

[0138] For example, in the above example, an example in which the end effector has the holding part 26 and the stirring member 28 has been described. However, the holding part 26 may function as the stirring member 28. In this case, the above-described stirring member 28 may be appropriately read as the holding part 26.

[0139] This disclosure includes the following content.

[0140] In one embodiment, (1) the robot control device includes a control unit that controls a robot that performs operations on a plurality of objects, and the control unit operates the robot so as to collapse the plurality of objects with respect to a plurality of objects stacked more than others.

[0141] (2) The robot control device according to (1) above, wherein the control unit causes the robot to perform a turning operation on a plurality of objects stacked more than others to collapse the plurality of objects.

[0142] (3) The robot control device according to (1) or (2) above, wherein the control unit causes the robot to perform a first operation of moving the plurality of objects so that the plurality of objects overlap each other, and causes the robot to perform a second operation of collapsing the plurality of objects stacked more than others.

[0143] (4) The robot control device according to (3) above, wherein the control unit causes the robot to perform the second operation after performing a plurality of the first operations.

[0144] (5) The robot control device according to (3) or (4) above, wherein the control unit causes the robot to perform a holding operation on the plurality of objects, and causes the robot to perform the first operation according to the number of times the robot has successfully held the plurality of objects.

[0145] (6) The robot control device according to any one of (3) to (5) above, wherein the control unit causes the robot to perform a holding operation on the plurality of objects, and causes the robot to perform the first operation according to the number of times the robot has failed to hold the plurality of objects.

[0146] (7) The robot control device according to any one of (3) to (6) above, wherein the control unit causes the robot to perform a holding operation on the plurality of objects, and when there are no objects that the robot can hold, causes the robot to perform the first operation.

[0147] (8) A control method is a control method for a robot that performs operations on a plurality of objects, and controls the robot to collapse the plurality of objects stacked more than others.

[0148] (9) The program is a program for causing a computer device to function as the control unit included in any one of the robot control devices (1) to (7) above.

[0149] (10) The robot is a robot controlled by any one of the robot control devices (1) to (7) above.

[0150] (11) The robot system includes any one of the robot control devices (1) to (7) above and a robot controlled by the robot control device.

Explanation of Reference Numerals

[0151] 2 Robot 6 Robot control device 10 Object to be held 15 Container 28 Stirring member 60 Control unit 150 Partial region 280 Mounting portion 281 Elongated member 630 Program

Claims

1. A control unit is provided for controlling a robot that performs operations on a plurality of objects, The control unit causes the robot to operate so as to break down a plurality of objects that are piled up higher than the other objects. Robot control device.

2. The robot control device according to claim 1 , The control unit causes the robot to perform a circling motion for a plurality of objects that are piled up higher than others, thereby breaking down the plurality of objects. Robot control device.

3. The robot control device according to claim 1 , The control unit causes the robot to execute a first operation of moving the plurality of objects so that the objects are stacked on top of each other, and causes the robot to execute a second operation of breaking down the plurality of objects that are stacked higher than the others. Robot control device.

4. The robot control device according to claim 3, The control unit executes the second operation after performing a plurality of the first operations.

5. The robot control device according to claim 3, The control unit causes the robot to perform a holding task of the plurality of objects, and causes the robot to perform the first action depending on the number of times the robot succeeds in holding the plurality of objects.

6. The robot control device according to claim 3, The control unit causes the robot to perform a holding task of the plurality of objects, and causes the robot to perform the first action depending on the number of times the robot fails to hold the plurality of objects.

7. The robot control device according to claim 3, The control unit causes the robot to perform a holding task of the plurality of objects, and when there is no object that the robot can hold, causes the robot to perform the first action.

8. A method for controlling a robot that performs tasks on a plurality of objects, comprising the steps of: A control method for controlling a robot to collapse a plurality of objects that are piled higher than others.

9. A computer device, The control unit of the robot control device according to any one of claims 1 to 7, A program to make it function as such.

10. A robot controlled by the robot control device according to any one of claims 1 to 7.

11. A robot control device according to any one of claims 1 to 7, A robot system comprising: a robot controlled by the robot control device.

Citation Information

Patent Citations

  • Control device for robot

    JP2001179669A

  • Systems and methods for robotic bin picking

    JP2021528259A

  • Robot device, workpiece taking-out system, and workpiece taking-out method

    JP2011115930A