Mobile control device and robot system

The movement control device addresses inefficiencies in handling moving objects by calculating distances and determining optimal operation orders based on specific positions, enhancing the efficiency of robot systems in handling diverse object placements.

JP7710270B1Active Publication Date: 2025-07-18CONNECTED ROBOTICS INC
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2025023901
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2025-02-18
Publication Date
2025-07-18
Estimated Expiration
2045-02-18

AI Technical Summary

Technical Problem

Conventional methods for handling moving objects on conveyors, such as those described in Patent Document 1, are inefficient due to variations in the positional relationship between the work location and the center of gravity of objects, leading to suboptimal operation when objects are placed in diverse postures or angles.

Method used

A movement control device that acquires specific positions distinct from the center of gravity for each moving body and calculates distances between these positions, determining an efficient order of operations to minimize total distance and acute angles, enabling a robot system to perform tasks efficiently.

Benefits of technology

The proposed solution allows for efficient operation on multiple moving bodies by optimizing the order of tasks based on specific positions, reducing unnecessary movement and improving operational efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007710270000001_ABST
    Figure 0007710270000001_ABST
Patent Text Reader

Abstract

Provided is a movement control device that can efficiently perform operations on a moving body. 【Solution means】The movement control device 100 includes an acquisition unit 110 that acquires a specific position 550, which is a specific position different from the center of gravity 540, in each of a plurality of moving bodies 500 that move in a passage 400, and a calculation unit 120 that calculates the distance between the specific positions 550 of the plurality of moving bodies 500 using the specific positions 550 of the plurality of moving bodies 500.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a movement control device and a robot system.

Background Art

[0002] Patent Document 1 discloses a method for handling moving objects, which captures a plurality of objects irregularly placed on a conveyor and moving on a two-dimensional plane by the conveyor with a vision device, and determines the handling order of the plurality of objects by a robot using a genetic algorithm based on information from the vision device.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] In the conventional method disclosed in Patent Document 1, the distance from the current position of the robot to the center of gravity of each object and the distance between the centers of gravity of the objects are obtained, and the handling order that minimizes the moving distance of the robot is determined. However, in this method, depending on the way (posture, angle) the objects are placed on the conveyor, the positional relationship between the position where the work is to be performed on the object and the center of gravity may differ, so there is a possibility that the work on the object cannot be performed efficiently. For this reason, it is desired to efficiently perform work on a moving body that moves along a passage such as a conveyor.

[0005] The present invention has been made by the inventors of the present application newly focusing on the above problems, and an object thereof is to provide a movement control device and a robot system capable of efficiently performing work on a moving body.

Means for Solving the Problems

[0006] A movement control device according to one aspect of the present invention includes an acquisition unit that acquires a specific position, which is a specific position different from the center of gravity, in each of a plurality of moving bodies that move along a passage, and a calculation unit that calculates the distance between the specific positions of the plurality of moving bodies using the specific positions of the plurality of moving bodies.

[0007] A movement control device according to another aspect of the present invention includes an acquisition unit that acquires a specific position, which is a specific position different from the center of gravity, in each of a plurality of moving bodies that move along a passage, and a determination unit that determines the order of performing work on the plurality of moving bodies using the specific positions of the plurality of moving bodies.

[0008] A robot system according to one aspect of the present invention includes the above-described movement control device and a robot that performs work on the plurality of moving bodies using the specific positions of the plurality of moving bodies acquired by the movement control device.

Advantages of the Invention

[0009] According to the movement control device and the like in the present invention, work on the moving bodies can be performed efficiently.

Brief Description of the Drawings

[0010]

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

Mode for Carrying Out the Invention

[0011] A movement control device according to an aspect of the present invention includes an acquisition unit that acquires, for each of a plurality of moving bodies moving along a passage, a specific position that is a specific position different from the center of gravity, and a calculation unit that calculates a distance between the specific positions of the plurality of moving bodies using the specific positions of the plurality of moving bodies.

[0012] According to this, the movement control device acquires a specific position different from the center of gravity in each of a plurality of moving bodies moving along a passage, and calculates the distance between the specific positions of the plurality of moving bodies using the specific positions of the plurality of moving bodies. In this way, by calculating the distance between the specific positions of the plurality of moving bodies, the movement control device can perform operations on the specific positions of the plurality of moving bodies using the distance between the specific positions, so that operations on the plurality of moving bodies can be efficiently performed. That is, when the placement (posture, angle) of the plurality of moving bodies placed on the passage is diverse, the distance between the centers of gravity of the moving bodies and the distance between the specific positions will be different. Therefore, if the center of gravity of the moving bodies is used, operations on the specific positions of the plurality of moving bodies cannot be efficiently performed. For this reason, the movement control device calculates the distance between the specific positions of the plurality of moving bodies. Thereby, since operations can be performed on the specific positions of the plurality of moving bodies using the distance between the specific positions, operations on the plurality of moving bodies can be efficiently performed.

[0013] The acquisition unit may be configured to acquire the specific positions of at least two moving bodies among the plurality of moving bodies that move in different postures from each other.

[0014] According to this, the movement control device can calculate the distance between the specific positions of at least two moving bodies that move in different postures from each other by acquiring the specific positions of the at least two moving bodies. The distance between the specific positions of the two moving bodies is the same as the distance between the centers of gravity of the two moving bodies when the two moving bodies are in the same posture, but is different from the distance between the centers of gravity of the two moving bodies when the two moving bodies are in different postures. Therefore, by calculating the distance between the specific positions for at least two moving bodies that move in different postures from each other, the movement control device can efficiently perform operations on the specific positions of the moving bodies.

[0015] The movement control device may further include a determination unit that determines the order of performing operations on the plurality of moving bodies using the specific positions of the plurality of moving bodies.

[0016] According to this, the movement control device determines the order of performing operations on a plurality of moving bodies using the specific positions of the plurality of moving bodies. That is, when performing operations on the specific positions of the plurality of moving bodies, the movement control device can efficiently perform operations on the plurality of moving bodies by determining the order of performing operations using the specific positions of the plurality of moving bodies.

[0017] The determination unit may determine the order such that the total distance is minimized when the specific positions of the plurality of moving bodies are connected in one stroke.

[0018] According to this, the movement control device determines the order of performing operations on a plurality of moving bodies such that the total distance is minimized when the specific positions of the plurality of moving bodies are connected in one stroke. Thereby, since the movement distance when performing operations on the specific positions of the plurality of moving bodies is minimized, operations on the plurality of moving bodies can be efficiently performed.

[0019] The determination unit may determine the order such that the number of acute angles is minimized when the specific positions of the plurality of moving bodies are connected in one stroke.

[0020] According to this, the movement control device determines the order of performing operations on a plurality of moving bodies such that the number of acute angles is minimized when the specific positions of the plurality of moving bodies are connected in one stroke. Thereby, when performing operations on the specific positions of the plurality of moving bodies, since acute-angle movements require time for turning back, by determining the order such that the number of acute angles is minimized, operations on the plurality of moving bodies can be efficiently performed.

[0021] The determination unit may divide the plurality of moving bodies into a plurality of moving body groups in their traveling directions, and determine the order for each of the divided moving body groups.

[0022] According to this, the movement control device divides a plurality of moving bodies into a plurality of moving body groups in the traveling direction, and determines the order of performing operations on the plurality of moving bodies for each moving body group. As a result, since operations are performed for each moving body group divided in the traveling direction, it is possible to suppress a situation where some of the moving bodies move too far in the traveling direction and operations on the moving bodies become impossible (the moving bodies move out of the working range).

[0023] It may further include a control unit that causes the robot to perform operations on the plurality of moving bodies by using the specific positions of the plurality of moving bodies.

[0024] According to this, by causing the robot to perform operations on the plurality of moving bodies by using the specific positions of the plurality of moving bodies, the movement control device can efficiently perform operations on the plurality of moving bodies.

[0025] A movement control device according to another aspect of the present invention includes an acquisition unit that acquires a specific position, which is a specific position different from the center of gravity, in each of a plurality of moving bodies that move along a passage, and a determination unit that determines an order of performing operations on the plurality of moving bodies by using the specific positions of the plurality of moving bodies.

[0026] According to this, the movement control device acquires a specific position different from the center of gravity in each of the plurality of moving bodies that move along the passage, and determines the order of performing operations on the plurality of moving bodies by using the specific positions of the plurality of moving bodies. In this way, when performing operations on the specific positions of the plurality of moving bodies, the movement control device determines the order of performing operations by using the specific positions of the plurality of moving bodies, so that operations on the plurality of moving bodies can be efficiently performed. That is, when the placement (posture, angle) of the plurality of moving bodies placed on the passage is diverse, the positional relationship between the center of gravity and the specific position of the moving body differs depending on the placement of the moving body. Therefore, when using the center of gravity of the moving body, operations on the specific positions of the plurality of moving bodies cannot be efficiently performed. For this reason, the movement control device determines the order of performing operations on the plurality of moving bodies by using the specific positions of the plurality of moving bodies. Thereby, operations on the plurality of moving bodies can be efficiently performed.

[0027] A robot system according to one aspect of the present invention includes the above-described movement control device and a robot that performs work on the plurality of moving bodies using the specific positions of the plurality of moving bodies acquired by the movement control device.

[0028] According to this, in the robot system, as described above, the robot can efficiently perform work on the plurality of moving bodies using the specific positions of the plurality of moving bodies acquired by the movement control device.

[0029] The present invention can be realized not only as such a movement control device and robot system, but also as a movement control method or a control method for a robot system including characteristic processing steps performed by the movement control device or the robot system. The present invention can be realized as a program for causing a computer to execute the movement control method or the control method for the robot system, or as a recording medium such as a computer-readable CD-ROM (Compact Disc - Read Only Memory) on which the program is recorded. And such a program can be distributed via a recording medium such as a CD-ROM and a transmission medium such as the Internet. The present invention can also be realized as an integrated circuit including a processing unit that performs the movement control method or the control method for the robot system.

[0030] Hereinafter, a movement control device and a robot system according to embodiments (including modifications thereof) of the present invention will be described with reference to the drawings. Each of the embodiments described below shows an inclusive or specific example. The numerical values, shapes, materials, components, arrangement positions and connection forms of the components, each step in the method, the order of the steps, etc. shown in the following embodiments are examples and are not intended to limit the present invention. In each figure, the dimensions and the like are not strictly illustrated. In each figure, the same or similar components are denoted by the same reference numerals.

[0031] In the following description and drawings, two intersecting directions in the horizontal plane are defined as the X-axis direction and the Y-axis direction, and the vertical direction (up and down direction) is defined as the Z-axis direction. These X-axis direction, Y-axis direction, and Z-axis direction are directions that intersect (orthogonal in this embodiment) with each other. Also, in the following description, the X-axis plus direction indicates the arrow direction of the X-axis, and the X-axis minus direction indicates the direction opposite to the X-axis plus direction. When simply referring to the X-axis direction, it indicates both the X-axis plus direction and the X-axis minus direction or either one of the directions. The same applies to the Y-axis direction and the Z-axis direction. Expressions indicating relative directions or postures such as parallel and orthogonal include cases where they are not strictly in that direction or posture. That two directions are parallel (or orthogonal) means not only that the two directions are completely parallel (or orthogonal), but also that they are substantially parallel (or orthogonal), that is, for example, including a difference of about several percent.

[0032] (Embodiment) [1 General description of the robot system 10] First, with reference to FIG. 1, a general description of the robot system 10 in this embodiment will be given. FIG. 1 is a perspective view showing the appearance of the robot system 10 according to this embodiment.

[0033] As shown in FIG. 1, the robot system 10 is a system that performs operations on the moving body 500 on the passage 400. Specifically, the robot system 10 holds an object (not shown), releases the held object, and distributes the object to the moving body 500 that moves along the passage 400. Examples of the object include food ingredients such as vegetables. For example, the robot system 10 holds the food ingredient, releases it to the moving body 500, and distributes (serves) the food ingredient to the moving body 500. In this case, the moving body 500 is a container for each set of vegetables, a container for a bento box, or a plate or the like. For example, a plurality of robot systems 10 are arranged, and various food ingredients are sequentially released to the moving body 500, so that various food ingredients are arranged in the moving body 500. The object is not limited to food ingredients, and any object that can be supplied to the moving body 500 by the robot system 10 may be used. The moving body 500 is not limited to the above-described containers and the like, and any object that can be arranged on the passage 400 may be used.

[0034] The robot system 10 includes a movement control device 100, a robot 200, a pedestal 210, a camera 300, and a support member 310. The robot system 10 is arranged on the side (negative Y-axis direction) of the passage 400, and a plurality of moving bodies 500 are placed on the passage 400. In the present embodiment, the robot system 10 is defined without including the passage 400 (the robot system 10 is defined as not including the passage 400), but the robot system 10 may be defined including the passage 400 (the robot system 10 is defined as including the passage 400). In addition to the above configuration, the robot system 10 may include an object storage unit such as a vat (weight) or a tray for storing the object held by the robot 200, and an object supply unit for supplying the object to the robot 200.

[0035] The movement control device 100 is a device that performs various processes using specific positions of a plurality of moving bodies 500 or controls the operations of the robot 200. The movement control device 100 is a computer including a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), an input unit (keyboard, touch panel, mouse, microphone, etc.), an output unit (liquid crystal display, speaker, etc.), a communication unit that communicates via a network, and a drive, etc., and executes various processes according to a program. The movement control device 100 may be realized by a general-purpose computer system such as a personal computer executing a program, or may be realized by a dedicated computer system such as a programmable controller.

[0036] The movement control device 100 is connected to the robot 200, the camera 300, etc. by wire or wirelessly, acquires information from the camera 300, and controls the operations of the robot 200 using the information. In the present embodiment, the movement control device 100 is housed in the gantry 210. Note that the movement control device 100 may be arranged outside the gantry 210 or at a position far from the robot 200, the camera 300, etc., and the arrangement position of the movement control device 100 is not particularly limited. A detailed description of the configuration of the movement control device 100 will be described later.

[0037] The robot 200 is an articulated robot and is installed (fixed) on the gantry 210. Specifically, the robot 200 includes a robot arm 201 and a hand 202, and holds and releases an object. The robot arm 201 is a multi-jointed arm and moves the hand 202 to a desired position within the movable range. The hand 202 is a part that holds and releases an object. The hand 202 may hold the object by gripping it, by adsorbing it, by scooping it up, by piercing it, by accommodating it, or by any other method of holding the object.

[0038] Specifically, the robot 200 performs operations on the moving body 500 on the passage 400. In the present embodiment, the robot 200 uses the specific positions of the plurality of moving bodies 500 acquired by the movement control device 100 to perform operations on the plurality of moving bodies 500. That is, after holding the object, the robot 200 uses the specific positions of the plurality of moving bodies 500 acquired by the movement control device 100 to release the object to the plurality of moving bodies 500.

[0039] The pedestal 210 is a box-shaped base that supports the robot 200, and the robot 200 is attached and fixed on the pedestal 210. The pedestal 210 is also the base of the support member 310, and the support member 310 is also attached and fixed on the pedestal 210. The pedestal 210 is a case made of metal or the like, and houses the movement control device 100 inside. An openable and closable door is provided on the side wall (such as the front wall in the negative Y-axis direction) of the pedestal 210, and various operations such as maintenance or replacement of the movement control device 100 can be performed through the door. The pedestal 210 is a portable object configured to be movable (portable). Specifically, it is conceivable to arrange casters or the like on the bottom surface of the pedestal 210. Therefore, the robot system 10 is a portable object configured to be movable (portable).

[0040] The camera 300 is a photographing device that is arranged above the passage 400 (in the +Z axis direction) and can photograph the passage 400 and the moving body 500 on the passage 400. The camera 300 is supported by the support member 310 at a position a predetermined distance away from the passage 400. The camera 300 is arranged to face directly below it (in the -Z axis direction) or obliquely downward (a direction inclined from the -Z axis direction), and by photographing directly below or obliquely downward, it photographs a desired area in the passage 400. The camera 300 can also measure the distance to the object to be photographed. That is, the camera 300 can detect the coordinates (XYZ coordinates) of the object to be photographed in the three-dimensional space. As the camera 300, a publicly known 3D camera can be appropriately adopted. There are various methods for 3D cameras, such as the stereo method, the ToF method, and the structured illumination method, and any of them can be adopted. The camera 300 is connected to the movement control device 100 by wire or wirelessly, and transmits the photographed image, the position information (coordinates) of the object to be photographed, etc. to the movement control device 100.

[0041] The support member 310 is an inverted L-shaped member (rod-shaped member) made of metal or the like that supports the camera 300. The end of the support member 310 in the -Z axis direction is attached and fixed to the gantry 210, extends in the +Z axis direction from the end, bends in the +Y axis direction at the end in the +Z axis direction, and extends in the +Y axis direction. And the camera 300 is attached and fixed to the central part in the Y-axis direction of the part extending in the +Y axis direction. Thereby, the support member 310 fixes the camera 300 to the gantry 210.

[0042] The passageway 400 is a conveying device that conveys the moving body 500 on the passageway 400. Specifically, the passageway 400 is a belt conveyor that conveys (transports) the moving body 500 and extends in the X-axis direction. Thereby, the moving body 500 moves in the X-axis direction (in this embodiment, the positive X-axis direction). That is, when the upper surface of the passageway 400 moves in the moving direction F (positive X-axis direction), the plurality of moving bodies 500 on the passageway 400 proceed in the traveling direction f (positive X-axis direction). The moving direction F of the passageway 400 and the traveling direction f of the moving body 500 are parallel to each other. In this embodiment, the passageway 400 is a portable object configured to be movable (portable). Specifically, it is conceivable to arrange casters or the like on the legs that support the passageway 400 (belt conveyor).

[0043] In a process (previous process) upstream (negative X-axis direction) of the robot 200, a person or another robot may install the moving body 500 on the passageway 400 or perform work on the moving body 500 or the passageway 400. Thereby, the passageway 400 may convey the moving body 500 in a state where the position or angle of the moving body 500 is deviated from the normal position or angle.

[0044] [Explanation of the Configuration of the Movement Control Device 100] Next, the configuration of the movement control device 100 will be described in detail below. FIG. 2 is a block diagram showing the functional configuration of the movement control device 100 according to this embodiment. FIG. 3 is a diagram for explaining the specific position 550 of the moving body 500 acquired by the movement control device 100 according to this embodiment. FIG. 3 is a top view of one moving body 500 seen from above (positive Z-axis direction). FIG. 4 is a diagram for explaining the distance between the specific positions 550 of the plurality of moving bodies 500 calculated by the movement control device 100 according to this embodiment. FIG. 4 is a top view of two moving bodies 500 seen from above (positive Z-axis direction).

[0045] FIG. 5 is a diagram for explaining a process in which the movement control device 100 according to the present embodiment calculates the distances between specific positions 550 of a plurality of moving bodies 500. FIG. 5 is a top view of the passage 400 as viewed from above (in the +Z-axis direction), and shows the passage 400, a plurality of moving bodies 500 (such as 501 to 509) on the passage 400, and the imaging area 301 of the camera 300. FIG. 6 is a diagram for explaining a process in which the movement control device 100 according to the present embodiment determines the order of performing operations on a plurality of moving bodies 500. FIG. 6 is a diagram corresponding to FIG. 5, and shows the operation order for a plurality of moving bodies 500 with arrows.

[0046] As shown in FIG. 2, the movement control device 100 includes an acquisition unit 110, a calculation unit 120, a determination unit 130, a control unit 140, and a storage unit 150.

[0047] [2.1 Explanation of the acquisition unit 110] The acquisition unit 110 acquires a specific position 550, which is a specific position different from the center of gravity, in each of a plurality of moving bodies 500 moving on the passage 400. The specific position 550 is a predetermined position in the moving body 500 where the robot 200 performs an operation on the moving body 500, and is a position (eccentric position) away from (shifted from) the center of gravity position of the moving body 500. The acquisition unit 110 acquires the coordinates (XYZ coordinates) of the specific position 550 in the three-dimensional space in each of the plurality of moving bodies 500 from the camera 300.

[0048] For example, as shown in FIG. 3, the moving body 500 includes a first accommodating portion 531, a second accommodating portion 532, and a third accommodating portion 533. It is assumed that the center of gravity 540 is located in the first accommodating portion 531 and a specific position 550 is located in the second accommodating portion 532. The first accommodating portion 531 is a portion for accommodating a first object, which is an arbitrary foodstuff or the like. The second accommodating portion 532 is a portion for accommodating a second object, which is a foodstuff or the like different from the first object. The third accommodating portion 533 is a portion for accommodating a third object, which is a foodstuff or the like different from the first object and the second object. The center of gravity 540 indicates the position of the center of gravity of the moving body 500. The specific position 550 is the central position of the second accommodating portion 532 and is the position where the robot 200 performs work on the second accommodating portion 532. That is, the robot 200 moves the hand 202 to the specific position 550 of the second accommodating portion 532 and releases the second object to the second accommodating portion 532.

[0049] In the present embodiment, the acquisition unit 110 acquires the specific position 550 of the moving body 500 by the following process. First, the acquisition unit 110 acquires the contour (outer shape, outer edge) of the moving body 500 from the camera 300. Then, the acquisition unit 110 calculates the center of gravity (or center) of the moving body 500 as the center of gravity 540 from the contour of the moving body 500. Thereby, the acquisition unit 110 acquires the coordinates (XYZ coordinates) of the center of gravity 540. Then, the acquisition unit 110 calculates the coordinates (XYZ coordinates) of the specific position 550 using the preset distance and angle from the center of gravity 540 to the specific position 550. In the present embodiment, the moving body 500 has a non-circular shape (specifically, a rectangular shape) contour (outer shape, outer edge) when viewed from the Z-axis direction, and it is assumed that it is not tilted (rotated) by 180° or more. In this way, the acquisition unit 110 acquires the coordinates (XYZ coordinates) of the specific position 550 in the three-dimensional space of each of the plurality of moving bodies 500 moving in the passage 400.

[0050] The acquisition unit 110 acquires the specific positions 550 of at least two moving bodies 500 that move in different postures among the plurality of moving bodies 500. That is, the acquisition unit 110 acquires the coordinates (XYZ coordinates) in the three-dimensional space of the specific position 550 for each of at least two moving bodies 500 that move in different postures in the passage 400.

[0051] For example, as shown in FIG. 4, it is assumed that a moving body 501 and a moving body 502 are arranged as two moving bodies 500. In this case, the moving body 502 has the same configuration as the moving body 501, but is arranged in a posture tilted (rotated about the center of gravity 540) from the moving body 502a having the same posture as the moving body 501. For this reason, the moving body 501 and the moving body 502 are arranged on the passage 400 in different postures and move on the passage 400 in different postures. In this configuration, the center of gravity 540 and the specific position 550 of the moving body 501 are also referred to as the center of gravity 541 and the specific position 551. The center of gravity 540 and the specific position 550 of the moving body 502 are also referred to as the center of gravity 542 and the specific position 552. The specific position 550 of the moving body 502a is also referred to as the specific position 552a. That is, the specific position 552 of the moving body 502 is the one obtained by rotating the specific position 552a of the moving body 502a about the center of gravity 542. The acquisition unit 110 acquires the coordinates (XYZ coordinates) in the three-dimensional space such as the specific position 551 and the specific position 552 of the moving bodies 501 and 502 that move in different postures like this.

[0052] [2.2 Explanation of the calculation unit 120] The calculation unit 120 calculates the distance between the specific positions 550 of the plurality of moving bodies 500 using the specific positions 550 of the plurality of moving bodies 500. Specifically, the calculation unit 120 calculates the distance between the specific positions 550 of the plurality of moving bodies 500 using the coordinates (XYZ coordinates) in the three-dimensional space of the specific positions 550 of the plurality of moving bodies 500 acquired by the acquisition unit 110.

[0053] For example, as shown in FIG. 4, the distance between the center of gravity 541 of the moving body 501 and the center of gravity 542 of the moving body 502 is referred to as the distance L1. The distance between the specific position 551 of the moving body 501 and the specific position 552a of the moving body 502a is referred to as the distance L2. The distance between the specific position 551 of the moving body 501 and the specific position 552 of the moving body 502 is referred to as the distance L3. In this case, in the moving bodies 501 and 502a in the same posture, the distance L1 and the distance L2 are of the same length, but in the moving bodies 501 and 502 in different postures, the distance L1 and the distance L3 are of different lengths. Specifically, the distance L3 is shorter than the distance L1 (and the distance L2). The calculation unit 120 calculates the distance L3 between the specific position 551 and the specific position 552 using the coordinates (XYZ coordinates) of the specific position 551 of the moving body 501 in the three-dimensional space and the coordinates (XYZ coordinates) of the specific position 552 of the moving body 502 in the three-dimensional space.

[0054] Also, as shown in FIG. 5, it is assumed that nine of the plurality of moving bodies 500 (501 to 509) moving on the passage 400 are located within the imaging region 301, which is the region (imaginable region) imaged by the camera 300. These nine moving bodies 500 (501 to 509) all have the same shape and the same configuration, and specific positions 550 (551 to 559) are arranged at the same positions (the postures are different). In such a configuration, the calculation unit 120 calculates the distances between the specific positions 550 (551 to 559) of the plurality of moving bodies 500 (501 to 509) using the coordinates (XYZ coordinates) of the specific positions 550 (551 to 559) of the plurality of moving bodies 500 (501 to 509) in the three-dimensional space.

[0055] For example, the calculation unit 120 calculates the distances between a specific position 551 of the moving body 501 and specific positions 552 of the moving body 502, 553 of the moving body 503, 554 of the moving body 504, 555 of the moving body 505, 556 of the moving body 506, and the like. In this case, the calculation unit 120 may calculate the distances between the specific positions 550 for the moving body 501 and all other moving bodies 500 (502 to 509). Alternatively, the calculation unit 120 may calculate the distances between the specific positions 550 for the moving body 501 and the moving bodies 500 (502, 504, 505) adjacent to the moving body 501. Thus, the calculation unit 120 may calculate the distances between the specific positions 550 for all the moving bodies 500, or may select the moving bodies 500 to be calculated, such as the moving bodies 500 located relatively close to each other, and calculate the distances between the specific positions 550.

[0056] [2.3 Description of the determination unit 130] The determination unit 130 determines the order of operations for a plurality of moving bodies 500 using the specific positions 550 of the plurality of moving bodies 500. Specifically, the determination unit 130 determines the order of operations for the plurality of moving bodies 500 using the coordinates (XYZ coordinates) in the three-dimensional space of the specific positions 550 of the plurality of moving bodies 500 acquired by the acquisition unit 110, or the distances between the specific positions 550 of the plurality of moving bodies 500 calculated by the calculation unit 120. The determination unit 130 determines the order of operations for the plurality of moving bodies 500 such that the total distance or total time for the hand 202 of the robot 200 to move between the specific positions 550 of the plurality of moving bodies 500 is minimized. The determination unit 130 can determine the order by using a nearest neighbor method, a nearest by batch method, or the like.

[0057] For example, the determination unit 130 determines the order of performing operations on the plurality of moving bodies 500 by sequentially searching for the specific position 550 where the distance is minimized (nearest neighbor method). Specifically, as shown in FIG. 6, the determination unit 130 selects the specific position 552 closest to the specific position 551 after the specific position 551, then selects the specific position 553 closest to the specific position 552, and then selects the specific position 556 closest to the specific position 553, and so on, to determine the order.

[0058] The determination unit 130 may determine the order of performing operations on the plurality of moving bodies 500 such that the total distance is minimized when the specific positions 550 of the plurality of moving bodies 500 are connected in one stroke. For example, as shown in FIG. 6, if the total distance is minimized when the specific positions 551, specific position 552, specific position 553, specific position 556, specific position 555, specific position 554... are connected in one stroke, the determination unit 130 determines the order in that way. Note that since the present invention is particularly effective when performing an operation on only one moving body 500 once, a restriction may be added so that the lines do not cross in the "one stroke" in this specification. That is, while preventing an increase in resources for searching, the trajectory planning of the robot 200 can be performed so that the hand 202 does not pass through the same specific position 550 multiple times.

[0059] The determination unit 130 may determine the order of performing operations on the plurality of moving bodies 500 such that the number of acute angles is minimized when the specific positions 550 of the plurality of moving bodies 500 are connected in one stroke. For example, in the example shown in FIG. 6, when the specific position 551, specific position 554, and specific position 552 are connected, the angle formed by the straight line connecting the specific positions 551 and 554 and the straight line connecting the specific positions 554 and 552 is an acute angle. Therefore, the determination unit 130 does not determine the order such as the specific position 551, specific position 554, specific position 552... According to such a rule, the determination unit 130 determines the order.

[0060] The determination unit 130 may divide the plurality of moving bodies 500 into a plurality of moving body groups in their traveling direction (traveling direction f in FIG. 1), and determine the order of performing operations on the plurality of moving bodies 500 for each of the divided moving body groups. Specifically, the determination unit 130 performs operations in order from the moving body group close to the robot 200 (downstream moving body group), and within the moving body group, determines the order of performing operations on the plurality of moving bodies 500 by the method described above or the like.

[0061] The determination unit 130 determines, as the order of performing operations on the plurality of moving bodies 500, the order obtained using the optimal method among the various methods for determining the above-described orders. Specifically, the determination unit 130 selects, from among the plurality of methods, the method that minimizes the total distance or total time for the hand 202 of the robot 200 to move between the specific positions 550 of the plurality of moving bodies 500, and determines the order in the selected method as the order of performing operations on the plurality of moving bodies 500. A more detailed description of the process in which the determination unit 130 determines the order of performing operations on the plurality of moving bodies 500 will be described later.

[0062] [2.4 Description of the control unit 140] The control unit 140 controls the robot 200 to cause the robot 200 to perform operations on the moving body 500. Specifically, the control unit 140 causes the robot 200 to perform operations on the plurality of moving bodies 500 using the specific positions 550 of the plurality of moving bodies 500. That is, under the control of the control unit 140, the robot 200 performs operations on the plurality of moving bodies 500 using the specific positions 550 of the plurality of moving bodies 500 acquired by the movement control device 100. Further, the control unit 140 performs various controls in the other robot system 10.

[0063] Specifically, the control unit 140 causes the robot 200 to perform operations on the specific positions 550 of the plurality of moving bodies 500 using the specific positions 550 of the plurality of moving bodies 500 acquired by the acquisition unit 110 or the distances between the specific positions 550 of the plurality of moving bodies 500 calculated by the calculation unit 120. That is, the control unit 140 causes the robot 200 to perform operations on the specific positions 550 of the plurality of moving bodies 500 using the order determined by the determination unit 130.

[0064] For example, in the example shown in FIG. 6, the control unit 140 causes the robot 200 to perform operations on the specific positions 550 of the plurality of moving bodies 500 in accordance with the order determined by the determination unit 130 (the order indicated by the arrows in FIG. 6). Specifically, the control unit 140 moves the hand 202 of the robot 200 to the specific positions 550 of the respective moving bodies 500 in the order determined by the determination unit 130, and performs operations on the moving bodies 500, such as releasing the object.

[0065] [2.5 Explanation of the storage unit 150] The storage unit 150 is composed of a hard disk or DRAM (Dynamic Random Access Memory), etc., and is a memory that stores data for controlling various operations in the robot system 10. Specifically, the storage unit 150 stores the processing data 151. The processing data 151 is written with the specific position 550 acquired by the acquisition unit 110, the distance between the specific positions 550 calculated by the calculation unit 120, the operation order determined by the determination unit 130, and other information (data for controlling the operation of the robot 200, etc.).

[0066] [3 Explanation of the processing flow of the movement control device 100] Next, the processing performed by the movement control device 100 will be described. FIG. 7 is a flowchart showing the processing performed by the movement control device 100 according to the present embodiment. FIGS. 8 to 11 are diagrams for explaining the processing in which the determination unit 130 of the movement control device 100 according to the present embodiment determines the order of performing operations on the plurality of moving bodies 500. FIG. 8 shows an example of a conventional operation order for the plurality of moving bodies 500, and FIGS. 9 to 11 show an example of the operation order determined by the determination unit 130.

[0067] As shown in FIG. 7, first, the acquisition unit 110 acquires a specific position 550, which is a specific position different from the center of gravity 540, for each of the plurality of moving bodies 500 moving in the passage 400 (step S11). In the present embodiment, the acquisition unit 110 acquires the specific positions 550 of at least two moving bodies 500 that move in different postures among the plurality of moving bodies 500. Specifically, the acquisition unit 110 acquires the coordinates (XYZ coordinates) in the three-dimensional space of the specific positions 550 of the plurality of moving bodies 500 from the camera 300. The specific process by which the acquisition unit 110 acquires the specific position 550 is as described above. The acquisition unit 110 writes the acquired specific position 550 into the processing data 151 stored in the storage unit 150.

[0068] Next, the calculation unit 120 calculates the distances between the specific positions 550 of the plurality of moving bodies 500 using the specific positions 550 of the plurality of moving bodies 500 (step S12). Specifically, the calculation unit 120 reads out the specific positions 550 of the plurality of moving bodies 500 from the processing data 151 stored in the storage unit 150, and calculates the distances between the specific positions 550 of the plurality of moving bodies 500. The specific process by which the calculation unit 120 calculates the distances between the specific positions 550 of the plurality of moving bodies 500 is as described above. The calculation unit 120 writes the calculated distance into the processing data 151 stored in the storage unit 150.

[0069] Next, the determination unit 130 determines the order in which operations are to be performed on the plurality of moving bodies 500 using the specific positions 550 of the plurality of moving bodies 500 (step S13). Specifically, the determination unit 130 reads out the specific positions 550 of the plurality of moving bodies 500 or the distances between the specific positions 550 of the plurality of moving bodies 500 from the processing data 151 stored in the storage unit 150, and determines the order in which operations are to be performed on the plurality of moving bodies 500. The process by which the determination unit 130 determines the order in which operations are to be performed on the plurality of moving bodies 500 will be described in detail below.

[0070] As shown in FIG. 8, it is assumed that 11 of the plurality of moving bodies 500 (501 to 511) moving on the passage 400 are located within the imaging region 301 of the camera 300. These 11 moving bodies 500 (501 to 511) all have the same shape and the same configuration, and a specific position 550 is arranged at the same position (although the postures are different). In such a configuration, conventionally, a method (first-in, first-out) of performing operations in order from the moving body 500 located most downstream (in the positive X-axis direction) toward the upstream (in the negative X-axis direction) has been common. That is, operations have been performed in the order of the moving body 502, the moving body 503, the moving body 504, the moving body 505... (the order indicated by the arrows in FIG. 8) from the moving body 501 located most downstream (in the positive X-axis direction) toward the upstream (in the negative X-axis direction).

[0071] In contrast, for example, the determination unit 130 determines the order of performing operations on the plurality of moving bodies 500 such that the total distance is minimized when the specific positions 550 of the plurality of moving bodies 500 are connected in one stroke. For example, as shown in FIG. 9, if the total distance is minimized when the specific positions 550 are connected in one stroke in the order of the moving body 502, the moving body 505, the moving body 503, the moving body 501, the moving body 504... (the order indicated by the arrows in FIG. 9), the determination unit 130 determines the order accordingly. In this case, the determination unit 130 uses the distances between the specific positions 550 of the plurality of moving bodies 500 calculated by the calculation unit 120 in step S12 based on the specific positions 550 of the plurality of moving bodies 500 acquired by the acquisition unit 110 in step S11 to determine the order.

[0072] Further, the determination unit 130 may determine the order of operations for the plurality of moving bodies 500 such that the number of acute angles is minimized when the specific positions 550 of the plurality of moving bodies 500 are connected in one stroke. For example, as shown in FIG. 10, if the number of acute angles is minimized when the specific positions 550 are connected in one stroke in the order of the moving body 502, the moving body 503, the moving body 501, the moving body 504, the moving body 506... (the order indicated by the arrows in FIG. 10), the determination unit 130 determines the order accordingly. In this case, the determination unit 130 can determine the order using the specific positions 550 of the plurality of moving bodies 500 acquired by the acquisition unit 110 in step S11. That is, the determination unit 130 can determine the order without using the distances between the specific positions 550 of the plurality of moving bodies 500 calculated by the calculation unit 120 in step S12.

[0073] Alternatively, the determination unit 130 may divide the plurality of moving bodies 500 into a plurality of moving body groups 520 in their traveling directions, and determine the order of operations for the plurality of moving bodies 500 for each of the divided moving body groups 520 (nearest by batch method). For example, as shown in FIG. 11, the imaging region 301 is divided into three regions 301a, 301b, and 301c in the X-axis direction, and the plurality of moving bodies 500 are divided into a plurality of moving body groups 520 each composed of the moving bodies 500 whose specific positions 550 are located within the regions 301a, 301b, and 301c. Specifically, since the specific positions 550 of the moving bodies 501 to 504 are located within the region 301a, the moving bodies 501 to 504 are defined as the moving body group 521. Since the specific positions 550 of the moving bodies 505 to 509 are located within the region 301b, the moving bodies 505 to 509 are defined as the moving body group 522. Since the specific positions 550 of the moving bodies 510 and 511 are located within the region 301c, the moving bodies 510 and 511 are defined as the moving body group 523.

[0074] Therefore, first, the determination unit 130 determines the order of performing operations on the moving bodies 501 to 504 in the moving body group 521 where the specific position 550 is located within the most downstream region (X-axis positive direction) 301a. For example, as described above, the determination unit 130 determines the order of performing operations on the moving bodies 501 to 504 such that the total distance is minimized or the number of acute angles is minimized when the specific positions 550 of the moving bodies 501 to 504 are connected in one stroke. Thereby, the determination unit 130 determines the operation order of, for example, the moving body 502, the moving body 503, the moving body 501, and the moving body 504 (the order indicated by the arrows in FIG. 11) in the moving body group 521.

[0075] Next, the determination unit 130 determines the order of performing operations on the moving bodies 505 to 509 in the moving body group 522 where the specific position 550 is located within the region 301b upstream (X-axis negative direction) of the region 301a. For example, as described above, the determination unit 130 determines the order of performing operations on the moving bodies 505 to 509 such that the total distance is minimized or the number of acute angles is minimized when the specific positions 550 of the moving bodies 505 to 509 are connected in one stroke. Thereby, the determination unit 130 determines the operation order of, for example, the moving body 506, the moving body 509, the moving body 507, the moving body 505, and the moving body 508 (the order indicated by the arrows in FIG. 11) in the moving body group 522.

[0076] Next, the determination unit 130 determines the order of performing operations on the moving bodies 510 and 511 in the moving body group 523 where the specific position 550 is located within the region 301c. The determination unit 130 determines the operation order of, for example, the moving body 510 and the moving body 511 (the order indicated by the arrows in FIG. 11) in the moving body group 523.

[0077] The determination unit 130 selects, from the various methods for determining the above-described order, a method that minimizes the total distance or total time for the hand 202 of the robot 200 to move between the specific positions 550 of the plurality of moving bodies 500, and determines the order in the selected method as the order for performing operations on the plurality of moving bodies 500. The determination unit 130 writes the determined order into the processing data 151 stored in the storage unit 150.

[0078] Next, the control unit 140 causes the robot 200 to perform operations on the moving body 500 (step S14). Specifically, the control unit 140 uses the specific positions 550 of the plurality of moving bodies 500 to cause the robot 200 to perform operations on the plurality of moving bodies 500. Specifically, the control unit 140 reads out the order determined by the determination unit 130 from the processing data 151 stored in the storage unit 150, and causes the robot 200 to perform operations on the plurality of moving bodies 500. The specific process by which the control unit 140 causes the robot 200 to perform operations on the moving body 500 is as described above.

[0079] In the above manner, the processing performed by the movement control device 100 ends.

[0080] [Description of Effects] As described above, according to the movement control device 100 according to the embodiment of the present invention, in each of the plurality of moving bodies 500 moving in the passage 400, a specific position 550 different from the center of gravity 540 is acquired. Then, the movement control device 100 calculates the distance between the specific positions 550 of the plurality of moving bodies 500 using the specific positions 550 of the plurality of moving bodies 500. In this way, by the movement control device 100 calculating the distance between the specific positions 550 of the plurality of moving bodies 500, work can be performed on the specific positions 550 of the plurality of moving bodies 500 using the distance between the specific positions 550. Therefore, work on the plurality of moving bodies 500 can be efficiently performed. That is, when the placement (posture, angle) of the plurality of moving bodies 500 placed on the passage 400 is diverse, the distance between the centers of gravity 540 of the moving bodies 500 and the distance between the specific positions 550 will be different. For this reason, when using the center of gravity 540 of the moving body 500, work on the specific positions 550 of the plurality of moving bodies 500 cannot be efficiently performed. Therefore, the movement control device 100 calculates the distance between the specific positions 550 of the plurality of moving bodies 500. Thereby, since work can be performed on the specific positions 550 of the plurality of moving bodies 500 using the distance between the specific positions 550, work on the plurality of moving bodies 500 can be efficiently performed. In particular, when some work is performed on the moving body 500 upstream (previous process) of the robot 200, the necessity of precisely adjusting the orientation of the moving body 500 after the work is reduced. Therefore, the present invention can also improve the efficiency of the work in this regard.

[0081] The acquisition unit 110 calculates the center of gravity 540 from the contour (outer shape, outer edge) of the moving body 500, and acquires the specific position 550 using the distance and angle from the center of gravity 540 to the specific position 550. Thereby, the acquisition unit 110 can acquire the specific position 550 with simple processing without directly recognizing the specific position 550 of the moving body 500. For this reason, the acquisition unit 110 can easily acquire the specific position 550 even if there is no shape, pattern, color, symbol, etc. provided in the moving body 500 for recognizing the specific position 550.

[0082] The movement control device 100 can calculate the distance between the specific positions 550 of at least two moving bodies 500 that move in different postures by acquiring the specific positions 550 of the at least two moving bodies 500. The distance between the specific positions 550 of the two moving bodies 500 is the same as the distance between the centers of gravity 540 of the two moving bodies 500 when the two moving bodies 500 are in the same posture, but is different from the distance between the centers of gravity 540 of the two moving bodies 500 when the two moving bodies 500 are in different postures. Therefore, by calculating the distance between the specific positions 550 for at least two moving bodies 500 that move in different postures, the movement control device 100 can efficiently perform operations on the specific positions 550 of the moving bodies 500.

[0083] The movement control device 100 determines the order of operations for a plurality of moving bodies 500 using the specific positions 550 of the plurality of moving bodies 500. That is, when performing operations on the specific positions 550 of the plurality of moving bodies 500, by determining the order of operations using the specific positions 550 of the plurality of moving bodies 500, the movement control device 100 can efficiently perform operations on the plurality of moving bodies 500.

[0084] The movement control device 100 may determine the order of operations for a plurality of moving bodies 500 such that the total distance is minimized when the specific positions 550 of the plurality of moving bodies 500 are connected in one stroke. Thereby, since the movement distance when performing operations on the specific positions 550 of the plurality of moving bodies 500 is minimized, operations on the plurality of moving bodies 500 can be efficiently performed.

[0085] The movement control device 100 may determine the order of operations for a plurality of moving bodies 500 such that the number of acute angles is minimized when the specific positions 550 of the plurality of moving bodies 500 are connected in one stroke. Thereby, when performing operations on the specific positions 550 of the plurality of moving bodies 500, since acute-angle movements require time for turning back, by determining the order so that the number of acute angles is minimized, operations on the plurality of moving bodies 500 can be efficiently performed.

[0086] The movement control device 100 may divide a plurality of moving bodies 500 into a plurality of moving body groups 520 in the traveling direction, and determine the order of performing operations on the plurality of moving bodies 500 for each moving body group 520. As a result, since operations are performed for each moving body group 520 divided in the traveling direction, it is possible to suppress a situation where some of the moving bodies 500 move too far in the traveling direction and operations on the moving bodies 500 become impossible (the moving bodies 500 go out of the working range).

[0087] By causing the robot 200 to perform operations on the plurality of moving bodies 500 using the specific positions 550 of the plurality of moving bodies 500, operations on the plurality of moving bodies 500 can be efficiently performed.

[0088] According to the movement control device 100 according to an embodiment of the present invention, at each of the plurality of moving bodies 500 moving on the passage 400, a specific position 550 different from the center of gravity 540 is acquired. Then, the movement control device 100 determines the order of performing operations on the plurality of moving bodies 500 using the specific positions 550 of the plurality of moving bodies 500. In this way, when performing operations on the specific positions 550 of the plurality of moving bodies 500, the movement control device 100 determines the order of performing operations using the specific positions 550 of the plurality of moving bodies 500, so that operations on the plurality of moving bodies 500 can be efficiently performed. That is, when the placement (posture, angle) of the plurality of moving bodies 500 placed on the passage 400 is various, the positional relationship between the center of gravity 540 and the specific position 550 of the moving body 500 varies depending on the placement of the moving body 500. For this reason, when using the center of gravity 540 of the moving body 500, operations on the specific positions 550 of the plurality of moving bodies 500 cannot be efficiently performed. Therefore, the movement control device 100 determines the order of performing operations on the plurality of moving bodies 500 using the specific positions 550 of the plurality of moving bodies 500. Thereby, operations on the plurality of moving bodies 500 can be efficiently performed.

[0089] According to the robot system 10 according to the embodiment of the present invention, as described above, the robot 200 can efficiently perform work on the plurality of moving bodies 500 by using the specific positions 550 of the plurality of moving bodies 500 acquired by the movement control device 100.

[0090] Various effects in the above-described movement control device 100 can be similarly applied to the effects in the robot system 10.

[0091] [Description of Modification Example 5] As described above, the movement control device 100 and the robot system 10 according to the present embodiment have been described. However, the present invention is not limited to the above embodiment. The embodiments disclosed this time are illustrative in all respects and not restrictive, and the scope of the present invention includes all modifications within the meaning and scope equivalent to the claims.

[0092] [Modification Example 1] In the above embodiment, one specific position 550 is arranged for one moving body 500. However, a plurality of specific positions 550 may be arranged for one moving body 500. For example, specific positions 550 may be arranged in each of two or more of the first storage unit 531, the second storage unit 532, and the third storage unit 533. FIG. 12 is a diagram for explaining the specific positions 550 and 560 of the moving body 500 acquired by the movement control device 100 according to Modification Example 1 of the present embodiment. FIG. 12 is a diagram corresponding to FIG. 3.

[0093] As shown in FIG. 12, in this modification example, in the moving body 500, in addition to the specific position 550 being arranged in the second storage unit 532, a specific position 560 is also arranged in the third storage unit 533. The specific position 560 is the position where the robot 200 performs work on the third storage unit 533. That is, the robot 200 sequentially moves the hand 202 to the specific position 550 and the specific position 560 to release the object to the second storage unit 532 and the third storage unit 533 of the moving body 500.

[0094] In this case, the acquisition unit 110 of the movement control device 100 acquires the specific positions 550 and 560 in each of the plurality of moving bodies 500. The calculation unit 120 calculates the distances between the specific positions 550 and 560 of the plurality of moving bodies 500 (the distances between the specific positions 550, the distances between the specific positions 560, and the distance between the specific position 550 and the specific position 560) using the specific positions 550 and 560 of the plurality of moving bodies 500. The determination unit 130 determines the order in which operations are to be performed on the plurality of moving bodies 500 using the specific positions 550 and 560 of the plurality of moving bodies 500.

[0095] For other configurations of this modification, since they are the same as those of the above-described embodiment, the description thereof is omitted. Also in this modification, the same effects as those of the above-described embodiment can be achieved. Note that the specific position 560 may be a specific position in a different work process in which a robot different from the robot 200 works, rather than a specific position in the same work process in which the same robot 200 as the specific position 550 works.

[0096] (Modification 2) In the above-described embodiment, the moving body 500 is assumed to have a non-circular (rectangular) contour when viewed from the Z-axis direction, but it may have a circular contour. FIG. 13 is a top view showing the configuration of the moving body 500a according to Modification 2 of the present embodiment. FIG. 13 corresponds to FIG. 3.

[0097] As shown in FIG. 13, in this modification, the moving body 500a has a circular contour (outer contour, outer edge) when viewed from the Z-axis direction. The moving body 500a includes a first accommodation part 531a and a second accommodation part 532a, with the center of gravity 540a positioned in the first accommodation part 531a and the specific position 550a positioned in the second accommodation part 532a.

[0098] Here, in the above-described embodiment, the acquisition unit 110 of the movement control device 100 calculates the center of gravity 540 from the contour of the moving body 500, and acquires the specific position 550 using the distance and angle from the center of gravity 540 to the specific position 550. However, when the moving body 500a has a circular contour as in this modification example, it is difficult for the acquisition unit 110 to acquire the specific position 550a by this method. Therefore, in this modification example, the acquisition unit 110 may acquire the specific position 550a by acquiring a shape, pattern, color, symbol, or the like that can identify the specific position 550a in the moving body 500a from the camera 300.

[0099] Thereby, even when the moving body 500a has a circular contour when viewed from the Z-axis direction, the acquisition unit 110 can easily acquire the specific position 550a. Also, in the method of this modification example, even when the moving body 500a is rotating, the specific position 550a can be easily acquired. That is, in the above-described embodiment, the moving body 500 has a non-circular contour when viewed from the Z-axis direction and is not inclined (rotated) by 180° or more, but in this modification example, the moving body 500a may have a circular contour when viewed from the Z-axis direction or may be inclined (rotated) by 180° or more.

[0100] (Other Modification Examples) In the above-described embodiment, the passage 400 is a conveying device (belt conveyor) that conveys the moving body 500 on the passage 400 and is an object with portability, but it is not limited to this. The passage 400 may be a table or the like that is a platform that does not convey the moving body 500, and the moving body 500 may move on the passage 400 by its own force or an external force from outside the passage 400. The passage 400 may be a non-portable passage such as a road. In this case, the moving body 500 may be a vehicle or the like that travels on the road.

[0101] In the above-described embodiment, when an object storage unit such as a vat (weight) or a tray for storing an object held by the robot 200, or an object supply unit for supplying an object to the robot 200 is provided, the movement control device 100 may perform processing including these. That is, when the amount (weight) of the object held by the robot 200 becomes equal to or less than a predetermined value, the robot 200 moves to the position of the object storage unit to hold the object, or the robot 200 moves to the position of the object supply unit to receive the supply of the object. For this reason, the movement control device 100 also defines the position of the object storage unit or the object supply unit (a position outside the passage 400) as a specific position 550, and the robot 200 may also move to the specific position 550 as the position of the object storage unit or the object supply unit while moving to the moving body 500. Thereby, the movement control device 100 acquires the specific position 550 in consideration of the position of the object storage unit or the object supply unit, calculates the distance between the specific positions 550, or determines the work order for the moving body 500. In this case, the movement control device 100 performs processing in consideration of the fact that the object storage unit or the object supply unit does not move. The movement control device 100 (the control unit 140 or the like) may have a function of switching between a mode in which the robot 200 moves to the position of the object storage unit or the object supply unit and a mode in which it does not move.

[0102] In the above-described embodiment, the specific position 550 is set to the center position of the second storage unit 532, but it may be a position deviated from the center position of the second storage unit 532. The specific position 550 may be the center position (or a position deviated from the center position) of the first storage unit 531, or the center position (or a position deviated from the center position) of the third storage unit 533. That is, as long as the specific position 550 is a position different from the center of gravity 540, the position is not particularly limited.

[0103] In the above embodiment, the acquisition unit 110 was configured to acquire the coordinates (XYZ coordinates) of the specific position 550 in the three-dimensional space, but it is not limited thereto. The acquisition unit 110 may be configured to acquire the coordinates (excluding the Z coordinate) of the specific position 550 in the XY plane. In this case, the calculation unit 120 may calculate the distance between the specific positions 550 of the plurality of moving bodies 500 using the coordinates (XY coordinates) of the specific position 550 of the plurality of moving bodies 500 in the XY plane. Even when the acquisition unit 110 acquires the coordinates (XYZ coordinates) of the specific position 550 in the three-dimensional space, the calculation unit 120 may calculate the distance between the specific positions 550 of the plurality of moving bodies 500 using the coordinates (XY coordinates) of the specific position 550 of the plurality of moving bodies 500 in the XY plane.

[0104] In the above embodiment, the movement control device 100 is not limited to including all the processing units described above, and the movement control device 100 is not limited to executing all the steps described above. For example, the movement control device 100 may not include the calculation unit 120 and may not calculate the distance between the specific positions 550 of the plurality of moving bodies 500 (it may not execute step S12 in FIG. 7). For example, when the determination unit 130 determines the work order so that the number of acute angles is minimized when connecting the specific positions 550 of the plurality of moving bodies 500 in one stroke, the work order can be determined without using the distance between the specific positions 550 calculated by the calculation unit 120 in step S12 in FIG. 7. In such a case, the movement control device 100 may not include the calculation unit 120. Further, the movement control device 100 may not include the determination unit 130 and may not determine the work order for the plurality of moving bodies 500 (it may not execute step S13 in FIG. 7). For example, the movement control device 100 may use the distance between the specific positions 550 calculated by the calculation unit 120 for processing other than the determination of the work order, such as grasping the state of the moving body 500. Further, the movement control device 100 may not include the control unit 140, and another device may perform the control of the control unit 140. Further, the movement control device 100 may not include the storage unit 150 and may exchange data with an external memory or the like.

[0105] In the above-described embodiment, the robot 200 performs work on the moving body 500 using the position of the moving body 500 estimated by the movement control device 100, but the present invention is not limited to this. Using the work order for a plurality of moving bodies 500 determined by the movement control device 100, a device or worker different from the robot 200 may perform work on the moving body 500, or the work on the moving body 500 may not be performed, for example, by only monitoring the state of the moving body 500. In this case, the robot 200 may not be arranged.

[0106] In the above-described embodiment, it is assumed that all the moving bodies 500 have the same shape and the same configuration, but the present invention is not limited to this. Any one of the moving bodies 500 may have a shape or configuration different from that of the other moving bodies 500.

[0107] In the above-described embodiment, the acquisition unit 110 acquires the specific positions 550 of at least two moving bodies 500 that move in different postures from each other, but the present invention is not limited to this. All the moving bodies 500 may move in the same posture, and the acquisition unit 110 may acquire the specific positions 550 of these moving bodies 500. For example, when any one of the moving bodies 500 has a specific position 550 at a position different from that of the other moving bodies 500, even if all the moving bodies 500 move in the same posture, the positions of the specific positions 550 are different. In such a case, by performing work on the specific positions 550 of the plurality of moving bodies 500 using the distances between the specific positions 550, work on the plurality of moving bodies 500 can be efficiently performed.

[0108] In the above-described embodiment, the robot system 10 (gantry 210) may be fixed to the floor surface and may not be portable.

[0109] In the above-described embodiment, the robot system 10 is not limited to including all of the above-described components. For example, the robot system 10 may not include the pedestal 210, and the robot 200 may be fixed to another member. The robot system 10 may not include the support member 310, and the camera 300 may be fixed to another member. The robot system 10 may not include the camera 300, and the movement control device 100 may acquire information from another device.

[0110] Furthermore, the present invention can be realized not only as the movement control device 100 and the robot system 10, but also as a movement control method or a control method for a robot system including characteristic processing steps performed by the movement control device 100 or the robot system 10. The present invention can be realized as a program for causing a computer to execute the movement control method or the control method for a robot system. That is, each component included in the movement control device 100 may be realized by a program execution unit such as a CPU or a processor reading and executing a software program recorded on a recording medium such as a hard disk or a semiconductor memory. Further, the present invention can also be realized as a computer-readable non-transitory recording medium on which the program is recorded, for example, a flexible disk, a hard disk, a CD-ROM, an MO, a DVD, a DVD-ROM, a DVD-RAM, a BD (Blu-ray (registered trademark) Disc), a semiconductor memory, a flash memory, a magnetic storage device, an optical disk, a paper tape, or any other medium. And the program can be distributed via the recording medium and a transmission medium such as the Internet. Also, the present invention can be realized as an integrated circuit including a processing unit included in the movement control device 100. That is, each functional block of the movement control device 100 shown in FIG. 2 may be realized as an LSI (Large Scale Integration) which is an integrated circuit. These may be individually formed into one chip, or may be formed into one chip so as to include a part or all of them. Thus, the movement control device 100 may be configured such that each component is constituted by dedicated hardware, or may be realized by executing a software program suitable for each component.

[0111] A form constructed by arbitrarily combining the components included in the above-described embodiment and its modified examples is also included in the scope of the present invention.

Explanation of Reference Numerals

[0112] 10 Robot system 100 Movement control device 110 Acquisition unit 120 calculation unit 130 decision unit 140 control unit 150 memory unit 151 processing data 200 robot 201 robot arm 202 hand 210 pedestal 300 camera 301 imaging area 301a, 301b, 301c areas 310 support member 400 passageway 500, 500a, 501, 502, 502a, 503, 504, 505, 506, 507, 508, 509, 510, 511 moving bodies 520, 521, 522, 523 groups of moving bodies 531, 531a first storage part 532, 532a second storage part 533 third storage part 540, 540a, 541, 542 center of gravity 550, 550a, 551, 552, 552a, 553, 554, 555, 556, 557, 558, 559, 560 specific positions

Claims

1. In each of a plurality of moving bodies that move along a path, an acquisition unit that acquires a specific position that is a specific position different from the center of gravity, a calculation unit that calculates the distance between the specific positions of the plurality of moving bodies using the specific positions of the plurality of moving bodies; A movement control device comprising:

2. The acquisition unit acquires the specific positions of at least two moving bodies that move in different postures among the plurality of moving bodies The movement control device according to claim 1.

3. Further comprising a determination unit that determines an order of performing work on the plurality of moving bodies using the specific positions of the plurality of moving bodies The movement control device according to claim 1 or 2.

4. The determination unit determines the order so that the total distance is minimized when the specific positions of the plurality of moving bodies are connected in one stroke. The movement control device according to claim 3.

5. The determination unit determines the order so that the number of acute angles is minimized when the specific positions of the plurality of moving bodies are connected in one stroke. The movement control device according to claim 3.

6. The determination unit divides the plurality of moving bodies into a plurality of moving body groups in their traveling directions, and determines the order for each of the divided moving body groups. The movement control device according to claim 3.

7. Further comprising a control unit that causes a robot to perform work on the plurality of moving bodies using the specific positions of the plurality of moving bodies The movement control device according to claim 1 or 2.

8. In each of a plurality of moving bodies that move along a path, an acquisition unit that acquires a specific position that is a specific position different from the center of gravity, a determination unit that determines an order of performing work on the plurality of moving bodies using the specific positions of the plurality of moving bodies; A movement control device comprising:

9. The movement control device according to claim 1 or 8, a robot that performs work on the plurality of moving bodies using the specific positions of the plurality of moving bodies acquired by the movement control device; A robot system comprising:

Citation Information

Patent Citations

  • Robot control method

    JP1998249766A

  • Article feeding device to processing machine such as packaging machine

    JP1999139539A

  • Article holding device and article holding and transferring device

    JP2007182299A

  • Handling device, control device, and control method

    JP2009297881A

  • Workpiece recognition device and workpiece recognition method

    JP2018202593A