Priority is claimed on Japanese Patent Application No. 2022-047308, filed Mar. 23, 2022, the content of which is incorporated herein by reference.
Embodiments of the present invention relate to a handling system, an information processing system, an information processing method, and a storage medium.
A handling device for performing operations of picking and releasing a workpiece is known.
According to an embodiment, a handling system handles an object. The handling system includes a holder and a controller. The holder includes a main body and an interference permitter. The main body is operable to hold the object. The interference permitter is displaceably or deformably attached to the main body. A controller is configured to control a motion of the holder. The controller is configured to plan a movement route of the holder. The controller is configured to determine the presence or absence of physical interference of the holder on at least a part of the planned movement route. The controller is configured to, as to a specific segment included in the planned movement route, determine the presence or absence of physical interference of the main body and permit physical interference of the interference permitter.
Hereinafter, a handling system, an information processing system, an information processing method, and a storage medium according to embodiments will be described with reference to the drawings. The drawings are schematically or conceptually shown and a relationship between a thickness and a width of each part, a size ratio between parts, and the like are not necessarily identical to those in reality. Moreover, even if the same parts are shown, dimensions or ratios may be differently shown according to the drawing. Moreover, XYZ coordinates shown in the drawings are defined for convenience of description and the present invention is not limited thereto.
In the present specification, the term “based on XX” means “based on at least XX” and also includes a case based on another element in addition to XX. Moreover, the term “based on XX” is not limited to a case where XX is directly used and includes a case based on a result of performing a calculation operation or processing on XX. “XX” is any element (e.g., any information).
The term “physical interference” in the present specification means, for example, the physical contact or collision of a holder of a robot with a physical object other than the holder itself (an overall device mechanism including the robot having the holder, a person, an object to be held, peripheral equipment including a table and a container, or the like) during an operation.
A handling system 1 according to an embodiment will be described with reference to
As shown in
The movement source V1 is, for example, any of various types of conveyors, various types of pallets, a container such as a tote bag or a collapsible container, or the like. The “container” broadly refers to a member capable of accommodating an object O (e.g., a box-shaped member). However, the movement source V1 is not limited to the example described above. In the following description, the “movement source V1” may be referred to as an “extraction source container V1.”
One or more objects O are randomly placed in the movement source V1. The movement source V1 may store one or more objects O of the same type or may store one or more of objects O of each of two or more types. For example, the movement source V1 stores a plurality of objects O of the same type. For example, the object O to be held may be a flexible and easily deformable object or a rigid and hardly deformable object. The object O to be held may have an irregular shape on at least a part of a surface thereof. In the present embodiment, there are various types of outer shapes of objects O from a small object of a 5 cm square or the like to a large object of a 30 cm square or the like. Also, there are various types of objects O from a light object of several tens of grams (g) or the like to a heavy object of several kilograms (kg) or the like. However, the size and the weight of the object O are not limited to the examples described above.
The movement destination V2 is, for example, a container such as a tote bag or a collapsible container. However, the movement destination V2 is not limited to the above-described examples. For example, the handling system 1 may move the object O to the movement destination V2 other than the container. In the following description, the “movement destination V2” may be referred to as a “transport destination container V2” and the “movement source V1” and the “movement destination V2” may be simply collectively referred to as “containers V1 and V2.”
The handling system 1 is not limited to a handling system for logistics. The handling system 1 can be widely applied to industrial robot systems or other systems. The “handling system,” and “handling device” mentioned in the present specification are not limited to systems and devices whose main purpose is to transport objects and include systems and devices that transport (move) objects as a part of product assembly or for another purpose.
As shown in
The handling device 10 is, for example, a robot device. The handling device 10 holds the object O positioned in the extraction source container V1 and moves the held object O to the transport destination container V2. The handling device 10 can communicate with the control device 30 by wire or wirelessly. In the present embodiment, the handling device 10 has a first handling device 12 and a second handling device 14.
The first handling device 12 includes, for example, a first movable arm 110 and a pincher 120 (an example of a “holder”) provided at the tip of the first movable arm 110.
The first movable arm 110 is a moving mechanism that moves the pincher 120 to a desired position. For example, the first movable arm 110 is a six-axis vertical articulated robot arm. The first movable arm 110 can take various positions and postures. Like human arms or hands, the first movable arm 110 can take a wider variety of postures to hold an object. The first movable arm 110 includes, for example, a plurality of arm members 112 and a plurality of rotators 114 in which a plurality of arm members 112 are rotatably connected.
A configuration of the first movable arm 110 is not particularly limited and may be a three-axis Cartesian robot arm. The first movable arm 110 may be a mechanism for moving the pincher 120 to a desired position using other components. For example, the first movable arm 110 may be a flying object (e.g., a drone) that lifts and moves the pincher 120 using a rotary wing or the like.
The pincher 120 is a holding mechanism (end effector) for holding the object O positioned in the extraction source container V1. For example, the pincher 120 has a gripper type pinching hand for gripping the object O by pinching the object O with two fingers. The pincher 120 can be provided on the tip of the first movable arm 110. The configuration of the pincher 120 is not limited to this and may be, for example, a gripper-type hand for gripping the object O by pinching the object O with three fingers or four fingers.
As shown in
The support 122 is pivotally attached to the tip portion of the first movable arm 110. For example, one end of the support 122 is pivotally attached to the tip portion of the first movable arm 110, and the other end of the support 122 is pivotally attached to one end of the pinching claw 124. Thereby, the support 122 supports the pinching claw 124. A pivotal motion of the support 122 can be controlled, for example, via a signal from a control device 30 or the like. In
The pinching claw 124 is pivotally attached to the end of the support 122. Two or more pinching claws 124 pinch and hold the object O in cooperation. In
The movable body 128 is attached to the pinching claw 124 so as to be relatively displaceable or deformable thereto. For example, in
For example, the movable body 128 can be displaced with respect to the pinching hand body 126 in a direction (the Z-direction in
Although the movable body 128 is attached to the inside of the pincher 120 so as to be adjacent to the pinching claw 124 in an example shown in
The pincher 120 may be a hybrid hand further having a suction device and an adsorption pad communicating with the suction device. In this case, the pincher 120 can hold the object O in pinching and/or adsorption processes. One or more adsorption pads can be provided on the pinching claw 124 or the movable body 128. In addition, the configuration of the pincher 120 is not particularly limited.
As shown in
The adsorber 140 is a holding mechanism (end effector) configured to hold the object O positioned in the extraction source container V1. For example, the adsorber 140 has an adsorption hand configured to hold the object O according to adsorption.
As shown in
The adsorption hand body 142 is attached to the tip portion of the second movable arm 130. The adsorption hand body 142 supports the adsorption pad 146. For example, the adsorption hand body 142 has an internal space for connecting the suction device 144 and the adsorption pad 146.
The suction device 144 is, for example, a vacuum pump. The suction device 144 communicates with each of a plurality of adsorption pads 146 via a hose or the like. The suction device 144 is driven and therefore the pressure within each adsorption pad 146 becomes lower than atmospheric pressure. Thereby, the adsorption pad 146 can adsorb and hold the object O. The suction device 144 may be provided within the adsorption hand body 142 or within the second movable arm 130.
The adsorption pad 146 is provided on the tip portion of the adsorption hand body 142. The configuration of the adsorption pad 146 is not particularly limited and can have any shape and structure in which adsorption is possible. For example, the adsorption pad 146 is a vacuum pad having a bellows shape. Although only one adsorption pad 146 is provided at the tip of the adsorption hand body 142 in examples shown in
In the following description, the “pincher 120” and the “adsorber 140” are collectively referred to as the “holder 100.” That is, it is assumed that the “holder 100” includes the “pincher 120” and the “adsorber 140.” Here, the handling device 10 including the pincher 120 and the adsorber 140 has been described as an example. However, the configuration of the holder 100 is not limited to a configuration including one pincher 120 and one adsorber 140 as described above. For example, the holder 100 may include two or more pinching hands or may include two or more adsorption hands. In this case, the holder 100 may be configured to have a plurality of pinching-type hands that are different in at least any one of properties such as, for example, a configuration, a structure, a shape, a size, and an arrangement. Specifically, for example, the holder 100 may include two or more pinching hands having claws of different lengths and opening widths. Alternatively, the holder 100 may be configured to have two or more adsorption hands which are different in at least any one of the properties such as, for example, a configuration, a structure, a shape, a size, and an arrangement. Specifically, the holder 100 may include two or more adsorption hands having different adsorption pad arrangements, adsorption pad diameters, bellows structures, and the like. Even in such cases, it is possible to execute a handling operation similar to that of the above-described embodiment and obtain equivalent effects.
The holder 100 may be a hybrid type hand having a pinching hand and an adsorption hand facing different directions (for example, opposite directions) and capable of properly switching a type of hand for holding the object O.
The handling device 10 may have a mechanism for holding the object O in a holding method other than pinching and adsorption, in addition to the pincher 120 and the adsorber 140 or in place of the pincher 120 and/or the adsorber 140. For example, the handling device 10 may have a holder capable of holding the object O with a magnetic force. Alternatively, the handling device 10 may have a holder (e.g., a jamming gripper) including a flexible membrane filled with powder and a vacuum pump that extracts air from the flexible membrane and configured to hold the object O using a jamming phenomenon.
Various types of sensors 20, 22, 24, and 26 detect the state of the object O and the state of the holder 100. The sensors 20 to 26 are connected to the control device 30 by wire or wirelessly and transmit detection results to the control device 30. The sensors 20 to 26 may not necessarily be separate sensors, and a specific sensor may independently perform the functions of two or more sensors among the sensors 20 to 26.
The movement source sensor 20 is a light intensity sensor such as a camera or any one of various types of sensors arranged near the extraction source container V1 (e.g., directly above or diagonally above the extraction source container V1). The movement source sensor 20 acquires, for example, information about the object O positioned in the movement source V1 and information about the movement source V1. The information acquired by the movement source sensor 20 is, for example, “image data,” “distance image data,” “shape data,” and the like. The “distance image data” is image data having distance information in one or more directions (e.g., depth information from any reference plane set above the movement source V1). The “shape data” is information indicating an outer shape of the object O and the like. The information detected by the movement source sensor 20 is output to the control device 30. Also, the movement source sensor 20 may be provided as a part of the handling device 10.
The movement destination sensor 22 is a camera or any one of various types of sensors arranged near the transport destination container V2 (e.g., directly above or diagonally above the transport destination container V2). The movement destination sensor 22 detects, for example, information about the shape of the movement destination container V2 (including shapes of the inner wall surface and the partition) and information about an object O previously placed in the movement destination container V2. The information acquired by the movement destination sensor 22 is, for example, “image data,” “distance image data,” “shape data,” and the like. The information detected by the movement destination sensor 22 is output to the control device 30. In addition, the movement destination sensor 22 may be provided as a part of the handling device 10.
The pincher sensor 24 is a sensor provided on the pincher 120 (for example, on the surface and/or inside of the pinching claw 124 and/or the movable body 128) or in the vicinity of the pincher 120. The pincher sensor 24 acquires information about the holding state of the object O in the pincher 120. The pincher sensor 24 acquires information about a physical state of the pincher 120 such as, for example, a pressure (i.e., a magnitude of reaction of the pinching motion) received by the pinching claw 124 or the movable body 128 from the object O or the distortion or surface state of the pinching claw 124 or the movable body 128. The information can directly or indirectly indicate a force with which the pincher 120 holds the object O. The pincher sensor 24 includes one or more physical sensors such as a distortion sensor, a pressure sensor, and a proximity-contact sensor. The pincher sensor 24 may also acquire physical information of the object O. The pincher sensor 24 can be provided as a part of the handling device 10. Although the pincher sensor 24 is provided inside of the pinching claw 124 in
The adsorber sensor 26 is a sensor provided on the adsorber 140 (for example, on the surface and/or inside of the adsorption hand body 142 and/or the adsorption pad 146) or in the vicinity of the adsorber 140. The adsorber sensor 26 acquires information about the holding state of the object O in the adsorber 140. The adsorber sensor 26 acquires information about a physical state of the adsorber 140 such as, for example, an amount of distortion or deformation of the adsorption pad 146, an internal pressure of the adsorption pad 146, or an operating state of the suction device 144. The information can directly or indirectly indicate a force with which the adsorber 140 holds the object O. The adsorber sensor 26 includes one or more physical sensors such as a pressure sensor, a distortion sensor, and a proximity-contact sensor. The adsorber sensor 26 may further acquire physical information of the object O. The adsorber sensor 26 can be provided as a part of the handling device 10.
As shown in
The acquirer 300 receives an input operation from a user and an input signal from a management device 40 and acquires order information including a list of objects O to be picked up and the like. Moreover, the acquirer 300 acquires information including detection results from the movement source sensor 20, the movement destination sensor 22, the pincher sensor 24, and the adsorber sensor 26.
The planner 310 generates a holding plan for the holder 100 to hold the object O on the basis of the information acquired by the acquirer 300. Specifically, the planner 310 includes a plan preparer 320 and a calculator 330. In addition, the planner 310 may be mounted as a single planning device or a planning system (an example of an “information processing system”). In the present specification, the “planning system” or the “information processing system” is not limited to a planning system or an information processing system including two or more devices like the “handling system” and may include a single planning device or a single information processing device.
The plan preparer 320 processes the information acquired by the acquirer 300 before a calculation process is performed for a specific holding plan. Specifically, the plan preparer 320 includes a recognizer 322, a model generator 324, and a region identifier 326.
The recognizer 322 performs image recognition for the image data in any known method. For example, the recognizer 322 performs image recognition by receiving image data of an extraction source container V1 and a transport destination container V2 acquired by the transport source sensor 20 and the transport destination sensor 22. Specifically, the recognizer 322 can perform the segmentation of an object in an image using any known method and identify a position, orientation, shape, type, and the like of an object O in the image, the containers V1 and V2, an obstacle in a surrounding environment, or the like.
For example, the recognizer 322 can perform segmentation using deep learning or the like. Moreover, the recognizer 322 can recognize the position of the object in the image by detecting the contour of the object O in the image. Moreover, the recognizer 322 can estimate the shape of the object in the image on the basis of, for example, distance image data.
The model generator 324 generates a three-dimensional model of each object recognized in an image on the basis of a recognition result of the recognizer 322. The model generator 324 reproduces the arrangement of each object in the real space within a model space by arranging the generated model within a three-dimensional virtual space (model space). Specifically, the model generator 324 can generate a model of the holder 100 or the handling device 10 itself including the holder 100, a model of one or more objects O, a model of the extraction source container V1 or the transport destination container V2, a model of the object in the surrounding environment, or the like. The model generator 324 can generate these three-dimensional models in any known method.
The region identifier 326 identifies a holding region of the object O estimated to be held by the holder 100 according to any known method on the basis of a result of the recognition process of the recognizer 322 and/or a three-dimensional model generated by the model generator 324. The region identifier 326 can identify a plurality of holding regions as candidates for a holding region for the holder 100 (i.e., the pincher 120 or the adsorber 140) to hold the object O.
For example, in a case where the object O is held by the pincher 120, the region identifier 326 searches for a position where the pincher 120 can insert the pinching claw 124 on the basis of the shape information of the object O recognized by the recognizer 322.
For example, in a case where the object O is held by the adsorber 140, the region identifier 326 searches for a surface region of the object O capable of being adsorbed by the adsorber 140 on the basis of the shape information of the object O recognized by the recognizer 322 or the like.
The calculator 330 performs a calculation process of generating a specific holding plan on the basis of various types of information processed by the plan preparer 320. Specifically, the calculator 330 includes a route planner 332, a control planner 334, and an interference calculator 336.
The route planner 332 plans a movement route of the holder 100. For example, this route plan can include a route for the holder 100 to access the extraction source container V1 and hold the object O within the extraction source container V1. Moreover, the route plan can include a route for carrying the held object O from the extraction source container V1 to the transport destination container V2. Furthermore, the route plan can include a route for the holder 100 to access the transport destination container V2 and release the held object O within the transport destination container V2.
Specifically, the route planner 332 can decide on spatial positions of a plurality of waypoints that the holder 100 passes through. For example, the route planner 332 designates a three-dimensional position in the model space generated by the model generator 324, thereby setting a waypoint within the model space. The route planner 332 can generate a trajectory connecting these waypoints and set the trajectory as a movement route of the holder 100. The route planner 332 can designate position information of the waypoint and orientation information of the holder 100 at the waypoint. For example, the route planner 332 can set the direction of the holder 100, the degree of opening of the pinching claw 124 of the pincher 120, or the like at each waypoint. That is, the route planner 332 can decide on the position/orientation information of the holder 100 for each waypoint. The route planner 332 can convert the position of the waypoint in the model space and the information of the movement route into position information of a real space.
The route planner 332 can plan a movement route using a pre-prepared set of waypoints. For example, for the holding motion of the pincher 120, the following waypoints (1) to (5) can be prepared in advance. The specific positions of the waypoints are not identified and the route planner 332 decides on the position information of the waypoints, thereby generating the movement route of the holder 100.
Moreover, the route planner 332 can also calculate an orientation in which the holder 100 holds the object O in the candidate region, an amount of opening or an amount of insertion of the pinching claw 124 in a case where the pincher 120 holds the object O, the number and arrangement of the adsorption pads 146 used in a case where the adsorber 140 holds the object O, and the like using any known method.
The control planner 334 plans control content of the handling device 10 on the basis of a movement route generated by the route planner 332. Specifically, the control planner 334 can plan a motion control method of the holder 100, a movement speed of the holder 100, control content of a pinching motion of the pincher 120 and/or an adsorption motion of the adsorber 140, and the like.
Examples of the motion control method of the holder 100 include positional control and mechanical control. The positional control is a process of controlling the holder 100 to move to a specific target position on the basis of the positional information of the waypoint or the like. Examples of the positional control include a control method including an instruction for moving the holder 100 from a waypoint GAP1 above the extraction source container V1 to a waypoint GAP2 where the distance to the object O is a predetermined distance. The mechanical control is a process of controlling the motion of the holder 100 on the basis of the mechanical physical quantities acquired by the sensors 24 and 26 and the like provided in the holder 100. Examples of the mechanical control include a control method including an instruction for causing the holder 100 to continue the motion until a specific mechanical physical quantity reaches a predetermined value or exceeds or falls below the predetermined value. More specific examples include a control method including an instruction for causing the pincher 120 to pinch the object O until a magnitude of reaction from the object O increases to reach a predetermined value and control content including an instruction for causing the adsorber 140 to continue the approach motion for the object O until the pressure in the adsorption pad 146 decreases to reach the predetermined value and the like.
The control planner 334 can divide the movement route into a plurality of segments and plan the control content of the handling device 10 for each segment. For example, the control planner 334 can divide the movement route is divided into a first segment, a second segment, and a third segment, and generate a control plan so as to use positional control as the motion control method of the holder 100 in the first segment, use both the positional control and the mechanical control as the motion control method of the holder 100 in the second segment, and use the mechanical control as the motion control method of the holder 100 in the third segment.
For example, the control planner 334 can switch the mode among the following (a) to (c) in accordance with the segment of the movement route as the motion control method in a case where the holder 100 holds the object O within the extraction source container V1.
(a) A first movement mode: performing positional control; applicable to a segment where the holder 100 moves at a position that is a specified distance or more from the object O.
(b) A first intermediate mode: performing both positional control and mechanical control; applicable to a segment where the holder 100 moves at a distance less than a specific distance from the object O.
(c) A holding mode: performing mechanical control; applicable to a segment where the holder 100 performs the holding motion on the object O.
Moreover, the control planner 334 can switch the mode among the following (d) to (f) in accordance with the segment of the movement route as the motion control method in a case where the holder 100 releases the object O within the transport destination container V2.
(d) A second movement mode: performing the positional control; applicable to a segment where the holder 100 moves at a position that is a predetermined distance or more from the bottom surface of the transport destination container V2 while the holder 100 holds the object O.
(e) A second intermediate mode: performing both the positional control and the mechanical control; applicable to a segment where the holder 100 moves at a distance less than a specific distance from the bottom surface of the transport destination container V2 while the holder 100 holds the object O.
(f) A release mode: performing the mechanical control; applicable to a segment where the holder 100 releases the object O.
In (b) first intermediate mode and (e) second intermediate mode described above, the motion of the holder 100 can be controlled such that the holder 100 continues movement toward the target position, for example, until one of the following conditions (i) and (ii) is satisfied.
(i) The position reaches the target position.
(ii) The mechanical physical quantity satisfies a predetermined condition (e.g., the mechanical physical quantity reaches a predetermined value or the mechanical physical quantity exceeds or falls below a predetermined threshold value).
Moreover, the control planner 334 can generate a control plan so as to use the first movement speed as the movement speed of the holder 100 in the first segment, use the second movement speed lower than the first movement speed as the movement speed of the holder 100 in the second segment, and use the third movement speed lower than the second movement speed as the movement speed of the holder 100 in the third segment. The movement speed of the holder 100 may not necessarily be uniform in the segment or may be set to be arbitrarily changed within the segment. For example, the control planner 334 may be set such that the movement speed of the holder 100 increases or decreases in accordance with the movement distance in a specific segment.
The interference calculator 336 calculates physical interference between the holder 100 and another object. For example, the interference calculator 336 performs a simulation in which the three-dimensional model of the holder 100 is moved along a movement route within a model space. Thereby, the interference calculator 336 can determine whether or not the model of the holder 100 is in contact with the model of another object.
The interference calculator 336 can permit interference in part or in whole in accordance with the segment of the movement route. For example, the holder 100 inevitably comes into contact with the object O in a segment where the holder 100 holds the object O. Therefore, the interference calculator 336 permits interference between the holder 100 and the object O in this segment.
The interference calculator 336 can switch between whether or not to permit interference with respect to only a part of the holder 100 as well as between whether or not to permit interference with respect to the whole of the holder 100. For example, the interference calculator 336 may permit interference only with respect to the movable body 128 without permitting interference of the pinching hand body 126 of the pincher 120 in a specific segment within the movement route. Moreover, the interference calculator 336 may permit interference only with respect to the adsorption pad 146 without permitting interference of the adsorption hand body 142 of the adsorber 140 in a specific segment within the movement route.
Next, examples of a motion control method and an interference permission setting determination method for the holder 100 for each segment in the control planner 334 and the interference calculator 336 will be described with reference to
As shown in
As shown in
In each alignment table in
Using a segment from a waypoint GAP1 to a waypoint GAP2 indicated in a first row of the plan table 354 in
The interference calculator 336 may decide an interference permission setting according to an attribute of the object O. For example, there may be an indefinite flag validly set for an object O which is likely to be deformed and invalidly set for an object O which is not likely to be deformed. In a case where the indefinite flag of the object O is invalid, the interference calculator 336 refers to the interference permission setting table 356 as shown in
Next, the switching of the motion control of the holder 100 and the calculation of physical interference will be described in detail with reference to
First, a case where the pincher 120 holds the object O within the extraction source container V1 will be described with reference to
On the other hand, in a case where the pincher 120 reaches the waypoint GP which is the target position before the force detected by the pincher sensor 24 reaches the predetermined value, the movement of the pincher 120 is stopped at that time. The stop position becomes a position GP′ immediately before the pincher 120 grasps the object O. In this case, GP′ is consistent with the waypoint GP set as the target position. That is, the position GP′ is a position that the pincher 120 actually reaches according to the combined use of the positional control and the mechanical control.
Thus, the control planner 334 plans the combined use of the positional control and the mechanical control in which the pincher 120 continues movement toward the target position GP until the pincher 120 reaches the target position GP or until the force detected by the pincher sensor 24 reaches a predetermined value.
For example, as shown in
Here, a part indicated in a dot pattern in the drawing is a part where interference is permitted in a segment from the waypoint to the next waypoint.
In a segment from GAP1 of
In a segment from GAP2 of
In a segment from GP′ of
In a segment from GPclose of
Next, a case where the pincher 120 releases the object O within the transport destination container V2 will be described with reference to
On the other hand, in a case where the pincher 120 reaches the waypoint RP which is a target position before the force detected by the pincher sensor 24 reaches the predetermined value, the movement of the pincher 120 is stopped at that time. The stop position becomes a position RP′ immediately before the pincher 120 releases the object O. In this case, RP′ is consistent with the waypoint RP set as the target position. That is, the position RP′ is a position that the pincher 120 actually reaches according to the combined use of the positional control and the mechanical control.
Thus, the control planner 334 plans the combined use of the positional control and the mechanical control in which the pincher 120 continues the movement toward the target position RP until the pincher 120 reaches the target position RP or until the force detected by the pincher sensor 24 reaches a predetermined value.
For example, as shown in
In a segment from RAP1 of
In a segment from RAP2 of
In a segment from RP′ of
In a segment from RPopen of
Next, a case where the adsorber 140 holds the object O in the extraction source container V1 will be described with reference to
On the other hand, in a case where the adsorber 140 reaches the waypoint GP which is the target position before it is determined that the adsorber 140 adsorbs and holds the object O from the detection result of the adsorber sensor 26, the movement of the adsorber 140 is stopped at that time. The stop position becomes the position GP′ where the adsorber 140 adsorbs the object O. In this case, GP′ is consistent with the waypoint GP set as the target position. That is, the position GP′ is a position that the adsorber 140 actually reaches according to the combined use of the positional control and the mechanical control. In a case where it is determined that the adsorber 140 has not adsorbed and held the object O from the detection result of the adsorber sensor 26 even though the adsorber 140 has reached the waypoint GP-GP′, the adsorber 140 may be controlled to perform a further approach to the object O and perform an adsorption motion by further executing the mechanical control based on the detection result of the adsorber sensor 26.
Thus, the control planner 334 plans the combined use of positional control and mechanical control in which the adsorber 140 continues the movement toward the target position GP until the adsorber 140 reaches the target position GP or until it is determined that the adsorber 140 has adsorbed and held the object O from the detection result of the adsorber sensor 26.
For example, as shown in
In a segment from GAP1 of
In a segment from GAP2 of
In a segment from GP′ of
Next, a case where the adsorber 140 releases the object O in the transport destination container V2 will be described with reference to
On the other hand, in a case where the adsorber 140 reaches the waypoint RP which is a target position before it is determined that the object O has come into contact with the bottom surface of the transport destination container V2 from the detection result of the adsorber sensor 26, the movement of the adsorber 140 is stopped at that time. The stop position becomes the position RP′ immediately before the adsorber 140 releases the object O. In this case, RP′ is consistent with the waypoint RP set as the target position. That is, the position RP′ is a position that the adsorber 140 actually reaches according to the combined use of the positional control and the mechanical control. In a case where it is determined that the object O has not come into contact with the bottom surface of the transport destination container V2 from the detection result of the adsorber sensor 26 even though the adsorber 140 has reached the waypoint RP=RP′, the adsorber 140 may be controlled to further approach the bottom surface of the transport destination container V2 by further executing the mechanical control based on the detection result of the adsorber sensor 26.
Thus, the control planner 334 plans the combined use of positional control and mechanical control in which the adsorber 140 continues the movement toward the target position RP until the adsorber 140 reaches the target position RP or until it is determined that the object O has come into contact with the bottom surface of the transport destination container V2 from the detection result of the adsorber sensor 26. In
For example, as shown in
In a segment from RAP1 of
In a segment from RAP2 of
In a segment from RP′ of
Thus, the planner 310 can generate a holding plan for the object O in the handling device 10 such that the problem of physical interference of the holder 100 is sufficiently suppressed.
The executor 340 instructs the handling device 10 to hold the object O on the basis of the holding plan generated by the planner 310, thereby executing the holding motion on the object O. Specifically, the executor 340 includes the motion controller 342. The motion controller 342 performs motion control for the first movable arm 110 and the pincher 120 of the first handling device 12 and the second movable arm 130 and the adsorber 140 of the second handling device 14 on the basis of the holding plan. Specifically, the motion controller 342 issues instructions to the first handling device 12 and the second handling device 14 to cause the pincher 120 and the adsorber 140 to execute a holding motion for the holding region of the object O within the extraction source container V1, a transport motion from the extraction source container V1 to the transport destination container V2, and a release motion for the object O in the transport destination container V2.
The storage 350 stores a program 352 for the control device 30, the plan table 354, the interference permission setting table 356, and various types of data for controlling the motion of the handling device 10. More specifically, in addition to the program 352, the storage 350 stores device data including a type, property, and the like of the holder 100 of the handling device 10, order data including order information received from the user or the management device 40, object data including information on a type, shape, property, or the like of the object O, image data acquired by the movement source sensor 20 and the movement destination sensor 22, holder sensor data acquired by the pincher sensor 24 and the adsorber sensor 26, plan data including a holding plan such as a route and control content generated by the planner 310, history data including a control history and the like of the handling device 10, and the like.
The management device 40 manages an operation situation of the handling device 10, order information, an inventory situation for objects O, and the like. For example, the management device 40 can receive order information from the user and transmit the order information to the handling device 10 and the control device 30. The management device 40 may generate one or more picking lists for the handling device 10 on the basis of the order information. The control device 30 can feed back information such as a control history and an operation result of the handling device 10 to the management device 40.
Each of the functional portions such as the acquirer, the planner, the executor, and the storage described in the above-described example is a functional portion implemented by a hardware configuration including a processor, a memory, a storage, an input/output interface, a communication interface, a bus for interconnecting them, and the like provided in the control device in cooperation.
Next, an operation process of the handling system 1 will be described with reference to
First, a flow of an overall process of the handling system 1 will be described with reference to
Next, specific processing content in the plan preparation step S1121 and the calculation step S1122 will be described in detail with reference to
As shown in
Subsequently, in step S1204, the region identifier 326 selects a holding region serving as a holding motion target. The region identifier 326 may select the target holding region in accordance with a priority level decided on in a known evaluation method. Subsequently, in step S1205, the route planner 332 sets position information of each waypoint and orientation information of the holder 100 at each waypoint on the basis of the result of the recognition process and/or the generated three-dimensional model. The route planner 332 generates a segment route between the two waypoints by connecting the two waypoints.
In step S1206, the control planner 334 decides on the motion control method of the holder 100 for each segment with reference to the plan table 354. In step S1207, the control planner 334 decides on a movement speed of the holder 100 for each segment. For example, the control planner 334 performs positional control and sets the movement speed of the holder 100 to a first movement speed in a first segment in which mechanical control is not performed. The control planner 334 sets the movement speed of the holder 100 to a second movement speed lower than the first movement speed in a second segment where both the positional control and the mechanical control are performed. The control planner 334 performs the mechanical control and sets the movement speed of the holder 100 to a third movement speed lower than the second movement speed in a third segment where positional control is not performed.
In step S1208, the interference calculator 336 identifies an interference permission setting to be used for each segment with reference to the interference permission setting table 356. In step S1209, the interference calculator 336 determines the presence or absence of physical interference for each segment in accordance with the interference permission setting. In a case where it is determined that there is physical interference in a certain segment and the interference is not permitted in the interference permission setting of the segment, the interference calculator 336 determines that there is impermissible interference (S1210: YES). In this case, the process returns to step S1204 and the region identifier 326 selects another holding region. On the other hand, in a case where the interference calculator 336 determines that there is no impermissible interference across all segments (S1210: NO), the route planner 332 generates a route plan including information of all movement routes by coupling the respective segment routes in step S1211. Subsequently, the process proceeds to step S1130 and the executor 340 executes a holding plan on the basis of the generated route plan. In addition, after a route plan generation process and an interference check process are performed for a plurality of holding regions or all holding regions, the planner 310 may identify a route plan to be executed by scoring a plurality of route plans that have been generated.
In the handling system 1 according to the above-described embodiment, an interference permitter being displaceable or deformable with respect to the main body of the holder 100 is provided and physical interference of the interference permitter in a specific segment of the movement route is permitted. A process of switching between whether or not to permit interference for each part of the holder 100 as described above is performed and therefore a more detailed holding plan can be generated in comparison with a case where a target for switching between whether or not to permit interference is the whole holder 100. As a result, the more precise handling operation can be implemented.
According to an embodiment, the interference permitters 128 and 146 are provided on the tip portion of the pincher 120. According to an embodiment, the holder 100 includes a pinching hand configured to pinch the object O, the pinching hand has the pinching hand body 126 and the interference permitter 128, and the interference permitter 128 is attached to the pinching hand body 126 such that the interference permitter 128 can be displaced with respect to the pinching hand body 126 in a direction intersecting a pinching direction of the pinching hand. With such a configuration, because the interference permitters 128 and 146 displaceably or deformably attached to the main bodies 126 and 142 are provided on a tip portion of the holder 100 that normally initially comes into contact with the object O or the containers V1 and V2, it is possible to mitigate or absorb the impact at the tip portion.
According to an embodiment, the control device 30 switches a mode among (a) a movement mode which is applicable to a segment where the holder 100 moves at a specific distance or more from the object O, (b) an intermediate mode which is applicable to a segment where the holder 100 moves at a distance less than the specific distance from the object O, and (c) a holding mode which is applicable to a segment where the holder 100 performs a holding motion on the object O, as a method of controlling the holder 100. According to this configuration, the motion after the holder 100 approaches the object O can be divided into the intermediate mode in which the holder 100 significantly moves to a certain degree and the holding mode in which careful motion control is required for holding the object O. Therefore, more precise and/or efficient motion control becomes possible.
According to an embodiment, the control device 30 controls the motion of the holder 100 in the intermediate mode in a specific segment. According to an embodiment, the control device 30 determines the presence or absence of physical interference between the main bodies 126 and 142 and the interference permitters 128 and 146 in the movement mode. According to an embodiment, the control device 30 permits physical interference between the main bodies 126 and 142 and the interference permitters 128 and 146 in the holding mode. With such a configuration, the interference calculator 336 permits only interference of the interference permitters 128 and 146 in a state in which the holder 100 approaches the object O. Because the interference permitters 128 and 146 are displaceable or deformable with respect to the body of the holder 100, it is not necessary to plan to uniformly avoid interference even if the holder 100 approaches the object O. Therefore, the degree of freedom of the holding plan can be improved.
According to an embodiment, the control device 30 performs positional control for controlling the motion of the holder 100 to cause the holder 100 to move to the target position and mechanical control for controlling the motion of the holder 100 on the basis of a mechanical physical quantity acting on the holder 100 in the intermediate mode. According to an embodiment, the control device 30 performs positional control for controlling the motion of the holder 100 to cause the holder 100 to move to the target position in the movement mode. According to an embodiment, the control device 30 performs a mechanical control for controlling the motion of the holder 100 on the basis of the mechanical physical quantity acting on the holder 100 in the holding mode. Generally, because physical interference may occur in a region where the holder 100 approaches the object O, the motion control method of the holder 100 is often switched from the positional control to the mechanical control. However, in a case where the mechanical control is performed, the movement is performed at a lower speed than that in the positional control. On the other hand, according to the above-described configuration, the handling operation can be speeded up by the combined use of the positional control and the mechanical control even in a region where the holder 100 is close to the object O. Moreover, it is possible to perform a precise holding motion and a precise release motion by switching the interference permission setting in accordance with the mode switching.
According to an embodiment, the control device 30 sets the movement speed of the holder 100 to a first movement speed in the movement mode and sets the movement speed of the holder 100 to a second movement speed lower than the first movement speed in the intermediate mode. According to an embodiment, the control device 30 sets the movement speed of the holder 100 to a third movement speed lower than the second movement speed in the holding mode. With this configuration, the intermediate mode in which the holder 100 moves at an intermediate speed can be set between the movement mode in which the holder 100 moves at a high speed and the holding mode in which the holder 100 moves at a low speed. Thus, the handling operation can be speeded up as a whole.
Although the planner 310 generates a holding plan with reference to the plan table 354 and the interference permission setting table 356 stored in the storage 350 of the control device 30 in the above-described embodiment, the plan table 354 and/or the interference permission setting table 356 may be stored in an external storage device or a cloud server connected to the control device 30 by wire or wirelessly and the like.
A process of generating the holding plan in the planner 310 is not limited to a rule-based process using the plan table 354 and the interference permission setting table 356 as described above and machine learning models and the like can be used as needed.
In each embodiment, it is assumed that the process of the control device 30 is implemented with program software within an external storage device such as a memory using one or more processors such as a central processing unit (CPU), but may be implemented with hardware (e.g., a circuit part; circuitry) which does not use the CPU. Moreover, the process may be executed via a cloud server.
An instruction indicated in the processing procedure shown in each embodiment can be executed on the basis of a program which is software. A general-purpose computer system can obtain an effect similar to the effect of the processing procedure by reading the program stored in advance. The instructions described in each embodiment are recorded on a magnetic disc (a flexible disc, a hard disc, or the like), an optical disc (a CD-ROM, a CD-R, a CD-RW, a DVD-ROM, a DVD+R, a DVD+RW, a Blu-ray (registered trademark) disc, or the like), a semiconductor memory, or a recording medium similar thereto as a program which can be executed by a computer. If a computer or a built-in system is a readable recording medium, its storage form may be any form. The computer reads the program from the recording medium and executes instructions described in the program by the CPU on the basis of the program, thereby implementing an operation similar to the processing procedure. The computer may acquire or read the program through a network.
An operating system (OS) operating on the computer, database management software, middleware (MW) such as a network, or the like may execute a part of the processing procedure on the basis of the instructions of the program installed in the computer or a built-in system from the recording medium. A recording medium in each embodiment includes not only a medium independent of a computer and a built-in system but also a recording medium in which a program transmitted through a LAN, the Internet, or the like is downloaded and stored or temporarily stored. The recording medium may be not limited to one type and the process may be executed from a plurality of media.
Such a recording medium may have any configuration.
A computer or a built-in system in each embodiment is used for executing each process in each embodiment on the basis of a program stored in a recording medium and may have any configuration of a single device such as a personal computer or a microcomputer, or a system to which a plurality of devices are connected via a network. A computer in each embodiment is not limited to a personal computer and is a generic term for equipment and devices including an arithmetic processing device, a microcomputer, and the like included in an information processing device and capable of implementing functions in each embodiment using a program.
According to at least one embodiment described above, it is possible to improve the precision of a handling operation by permitting physical interference in a specific segment of a movement route only for the interference permitter of the holder 100.
While several embodiments of the present invention have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel embodiments described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions, and changes in the form of the embodiments described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the inventions.
A handling system for handling an object, the handling system including:
The handling system according to appendix 1, wherein the interference permitter is provided on a tip portion of the holder.
The handling system according to appendix 1 or 2,
The handling system according to any one of appendixes 1 to 3, wherein the controller is configured to switch a mode, as a method of controlling the holder, among
The handling system according to appendix 4, wherein the controller is configured to control a motion of the holder in the intermediate mode in the specific segment.
The handling system according to appendix 4 or 5, wherein the controller is configured to determine the presence or absence of physical interference of the main body and the interference permitter in the movement mode.
The handling system according to any one of appendixes 4 to 6, wherein the controller is configured to permit the physical interference of the main body and the interference permitter in the holding mode.
The handling system according to any one of appendixes 4 to 7,
The handling system according to any one of appendixes 4 to 8, wherein the controller is configured to perform, in the movement mode, positional control for controlling the motion of the holder to cause the holder to move to the target position.
The handling system according to any one of appendixes 4 to 9, wherein the controller is configured to perform, in the holding mode, mechanical control for controlling the motion of the holder on the basis of a mechanical physical quantity acting on the holder.
The handling system according to any one of appendixes 4 to 10, wherein the controller is configured to:
The handling system according to appendix 11, wherein the controller is configured to set the movement speed of the holder to a third movement speed lower than the second movement speed in the holding mode.
An information processing system for generating a motion plan of a holder having a main body operable to hold an object and an interference permitter displaceably or deformably attached to the main body, the information processing system including a processor,
An information processing system for generating a motion plan of a holder having a main body operable to hold an object and an interference permitter displaceably or deformably attached to the main body, the information processing system including:
The information processing system according to appendix 14, further including a plan preparer configured to generate models of the holder and the object,
An information processing method to be executed by a processor of a computer, the information processing method including a route planning step and an interference determination step,
A program for causing a processor of a computer to execute an information processing method, the information processing method including a route planning step and an interference determination step,
A non-transitory computer-readable storage medium storing a program for causing a processor of a computer to execute an information processing method, the information processing method including a route planning step and an interference determination step,
Number | Date | Country | Kind |
---|---|---|---|
2022-047308 | Mar 2022 | JP | national |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2023/011191 | Mar 2023 | WO |
Child | 18888244 | US |