This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2016-153858, filed on Aug. 4, 2016; the entire contents of which are incorporated herein by reference.
Embodiments described herein relate generally to an apparatus and a method for holding objects.
Usually, as to automation of transportation working in a factory or warehouse, in order to quickly perform the processing, a size of object, a loading status of object, or a location information of object, are previously registered into a transportation control apparatus. However, in order to process various loaded objects using this technique, a large number of assumed objects need to be previously registered, and the registration working takes a long time. Furthermore, the number of data is enormous, and many times are required for the entire processing. As a result, the processing efficiency is poor. Furthermore, the object is recognized by a camera and processed. Accordingly, sufficient time is necessary to recognize one object, and this technique is unsuitable for processing of various loaded objects.
Moreover, as a conventional method, by using information such as a size of object or a loading status of object (previously stored into the transportation control apparatus), a hypothesis of algorithm processing steps for holding and transportation is created, and the most effective algorithm processing steps are selected. However, in consideration of a practical spot where various objects are processed, if the stringency is more pursued, the calculation resource is more enormous. Furthermore, if the easiness of enforcement is more pursued, the benefit of algorithm is harder to be accepted.
According to one embodiment, an object holding apparatus includes a holding part, a recognition device, and a controller. The holding part is able to hold at least one object. The recognition device recognizes a plurality of objects to generate a recognition result. The controller selects a first object from the objects, based on the recognition result. The controller sets a first direction to one side of the first object along which the number of objects aligned with the first object is smaller than the number of objects aligned with the first object along the other side of the first object. The controller selects a second object aligned with the first object along the first direction. The controller controls a driving of the holding part, based on a selection result of the first object and the second object.
Hereinafter, an object holding apparatus according to various embodiments will be described with reference to the accompanying drawings. Parts having same sign are the same part respectively. Moreover, the drawings are schematic or conceptual ones. In the drawings, a relationship between a thickness and a width of each part, and a relative dimension of a size between each part, are not always equal to actual ones. Furthermore, even if the drawings show the same part, in some cases, mutual measurements and relative dimensions of the same part are shown differently by the respective drawings.
The first embodiment is explained by referring to
As shown in
An object holding apparatus 1 and a transportation region 3 are fixed on the ground. The object holding apparatus 1 selectively picks the objects 4 from the loading region 2, and transfers them to the transportation region 3. The object holding apparatus 1 may be movable. For example, the object holding apparatus 1 can equip a roller at the bottom part. Alternatively, the object holding apparatus 1 can move along a rail.
The loading region 2 may be a packet, a basket carriage, or a box pallet to load the object 4. The loading region 2 may be movable by a roller installed onto the bottom part, or may be fixed. An object loaded into the loading region 2 may be called “a loaded object”.
The transportation region 3 transports the object 4 transferred by the object holding apparatus 1. For example, it may be a belt conveyor, a pallet, or a workbench. For example, a width of the transportation region 3 along x-axis direction is W1, and a width of the transportation region 3 along y-axis direction is W2.
As shown in
The holding part 5 is connected to the driving part 6 and movable along three-axes directions. Specifically, the driving part 6 drives the holding part 5 along a vertical direction, a front-back direction, and a lateral direction. In order to explain, as shown in
A width Wh of the holding part 5 along x-direction may be over a width V1 of the loading region 2 along x-direction at most. However, a maximum width of objects simultaneously holdable by one stroke is limited within a width W1 of the transportation region 3 (transportation destination). As to y-axis direction, this limitation is similarly applied.
As to the holding part 5 and the driving part 6, above-mentioned component is one example. For example, a method for the holding part 5 to hold the object 4 may be clamping.
On the holding part 5, the recognition device 7 is installed. The recognition device 7 acquires an image which puts the loaded object 7 in a visual field from the horizontal direction or oblique direction. Namely, the recognition device 7 generates the image by regarding a location of the object 4 (loaded on the loading region 2) as a recognition result. As the recognition device 7, for example, a camera able to measure a three-dimensional position (such as an infrared dot pattern projection camera) can be utilized. Hereinafter, the recognition device 7 is explained as the infrared dot pattern projection camera. The infrared dot pattern projection camera projects an infrared dot pattern onto a target object, and photographs an infrared image of the target object under this condition. By analyzing the infrared image, three-dimensional information of the target object can be acquired. The infrared dot pattern projection camera may photograph a color image or a monochrome image. Alternatively, except for the infrared dot pattern projection camera, the recognition device 7 may include an optical sensor such as a camera to capture a color image or a monochrome image. Furthermore, the recognition device 7 may include a plurality of cameras. By locating the plurality of cameras at another position, for example, a shape of the object along a depth direction can be recognized with high accuracy. The above-mentioned image is, for example, image data generally used such as jpg, gif, png, bmp, and so on. Moreover, the recognition device 7 may be installed at a place except for the holding part 5. For example, the recognition device 7 may be installed onto the driving part 6.
The recognition device 7 is installed onto the holding part 5 and movable with the holding part 5. Accordingly, the recognition device 7 can recognize a wide area. In case of recognition, for example, the recognition device 7 is driven at a position where the highest part of loaded objects is a little lower than the upper limit of the recognition area.
The controller 8 accepts an image as the recognition result from the recognition device 7, and determines a moving target position of the holding part 5 and the driving part 6.
First, based on the image accepted, the controller 8 calculates a position of an object (it is called “a first object” or “a base object”) located at the highest position among loaded objects. Continually, based on the image accepted, the controller 8 calculates a position of an object (it is called “a second object”) located at the second highest position (next to the first object) among loaded objects. In the first embodiment, a position of the object calculated by the controller 8 is a position of a corner (edge) formed by a top face and a front face (or a side face) of the object. The front face represents a side face of the object at the side facing the object holding apparatus 1. An edge formed by the top face and the front face of the first object is called “a first edge”, and an edge formed by the top face and the front face of the second object is called “a second edge”. The controller 8 detects the first edge and the second edge from the image accepted from the recognition device 7. The first edge is a corner of the object located at the highest position among loaded objects. If a plurality of objects is located at the highest position, the first edge is a corner of an object located at the nearest position to the object holding apparatus 1 among the plurality of objects. The second edge is a corner of another object located at the second highest position (next to the first edge) and at the nearest position to the object holding apparatus 1.
As a method for detecting the first edge and the second edge, for example, if the recognition device 7 is a three-dimensional sensor, by converting data (acquired by the recognition device 7) to point group data in a three-dimensional space, the edge can be calculated. In order to acquire the first edge, from the point group data (acquired by conversion), a point group having the largest z-value (i.e., located at the highest position) and composed by a plurality of points mutually adjacent, is specified. By rearranging the point group in order of y-value, a point group having the smallest x-value in an arbitrary range of y-value is extracted as the first edge. The second edge is calculated in the same way as the method for calculating the first edge. However, the second edge is selected from a point group different from a point group corresponding to the first edge. Alternatively, at a region adjacent to the first edge, a horizontal line detected by image processing may be the second edge. In this method, the first edge and the second edge can be certainly detected with few calculation loads. This detection of the first edge and the second edge may be performed by the recognition device 7. Furthermore, detection of edge is not limited to the first edge and the second edge. Edges of objects located at different heights (except for the first edge and the second edge) can be detected.
Next, an algorithm for the controller 8 to operate the holding part 5 and the driving part 6 is explained in detail.
In order to effectively transport objects (loaded randomly) in consideration of limitation of the transportation region, the controller 8 controls the holding part 5 and the driving part 6 based on a simple algorithm. For example, the controller 8 can be mounted by a computer (equipping a processor and a memory) or LSI (large scale integration).
As shown in
However, if respective shapes of objects (loaded randomly) are different, even if above-mentioned simple decision is applied, a pattern unable to be effectively transport exists.
Here, a maximum width of objects (holding targets) to be simultaneously held by one stroke of the holding part is explained. For example, if a loading region has a basket shape, even if all objects densely spread all over the loading region are held and transferred simultaneously, there is a risk that the objects are caught by a basket frame along x-axis direction. Accordingly, if there is a possibility that the objects contact with the basket frame, the holding part operates so as to avoid the basket frame.
Furthermore, if the loading region is flat stacking-type (without the basket frame), or if the transportation region is narrow, the width of holding objects has the similar limitation. An area of objects simultaneously transportable is limited by the transportation region, next to whether the holding can be executed. In the first embodiment, an area (or a width) limited in this way is set to a transportation region W (or a transportation width W), and a plurality of objects accommodated into this area (or width) is set to holding targets.
As shown in
Namely, even if objects are loaded randomly, the objects are processed in higher order from an object loaded at the highest position. This is the most safe and effective transportation operation.
In the first embodiment, from all objects existing within a simultaneously holdable difference in height dH, objects (holding targets) are selected based on a limitation of the transportation region N. In this case, the controller controls to select an object located at the highest position as a base object, and to hold the selected object (base object). A difference in height between the object located at the highest position and another object located at the second highest position is calculated as a difference between the first edge and the second edge. If the difference is smaller than (or equal to) dH, these objects can be held simultaneously. If the difference is larger than dl, these objects cannot be held simultaneously. For example, among the first object˜the N-th object located in order of higher position, if a difference in height between the first edge (of the first object) and the N-th edge (of the N-th object) is within dH, all of the first object˜the N-th object are holding targets able to be held simultaneously.
First, an object located at the highest position is set to a number one (base object). Next, objects located within a simultaneously holdable difference in height dH from the base object are numbered in order. Among objects having smaller numbers, objects accommodated into the transportation region are selected as holding target objects.
When numbers are assigned to objects located within the simultaneously holdable difference in height dl, objects adjacent to the base object are preferentially numbered. For example, as to objects aligned at one side of the base object along which the number of objects adjacent to the base object is smaller, the objects are numbered in order of nearer to the base object. If the holding part is positioned at a center of the loading region, an operation direction of the holding part is an arrow direction in
As a method for assigning object numbers representing an order of holding targets, a first method for setting the number of objects around the base object to a reference, and a second method for setting a clearance of a position of the base object from a center of the loading region (a width from a center of the base object to an and (end part) of the loading region) to a reference, are applied.
In the first method, among objects having smaller numbers, objects accommodated into a width W of the transportation region is set to holding targets. However, as to objects aligned at one side of the base object along which the number of objects aligned with the base object is smaller, if an object to be numbered next to the base object is far away from the base object over a width W of the transportation region, this object is deleted from the holding target. In this case, objects aligned at another side of the base object along which the number of objects aligned with the base object is larger are preferably set to target objects.
Based on the first method or the second method, the holding part 5 sets an object located at the highest position to a base object. Among objects located around the base object, the holding part 5 operates to drive along a direction of the side having the smaller number of objects aligned with the base object or a direction of the side having a narrower width from a center of the base object to an end of the loading region. As a result, many objects are not always held. Only objects accommodatable into the transportation region are held.
In above-mentioned explanation, by viewing objects from a front face of the loading region (x-axis direction in
As shown in
Among the object group Ph except for the object group P1, an object group P2 located inside the width W1 and along the second direction are determined (S1009). It is confirmed whether the base object is located at an end of the object group P2 (S1010). In case of “No”, as to each object included in the object group P2, among objects located at one side of the base object along which the number of objects aligned with the base object is smaller, or among objects located at one side of the base object along which an width from a center of the base object to an end of the object group P2 is narrower, the objects are numbered in order to nearer to the base object (S1011). After completing numbering of the objects located at one side of the base object along which the number of objects aligned with the base object is smaller, among objects located at another side of the base object along which the number of objects aligned with the base object is larger, the objects are numbered in order to nearer to the base object. Alternatively, after completing numbering of objects located at one side of the base object along which an width from a center of the base object to an end of the object group P2 is narrower, among objects located at another side of the base object along which an width from a center of the base object to an end of the object group P2 is wider, the objects are numbered in order to nearer to the base object (S1012). In case of “Yes”, each object of the object group P2 is numbered in order of nearer to the base object (S1013). Among the object group P2, objects accommodated into a width 12 of the transportation region are selected in order of smaller number (S1014). All objects selected at (S1008) and (S1014) are determined as holding targets (S1015). The objects (holding targets) are held by the holding part and transferred to the transportation region. In above-mentioned flow chart of the controller in case that objects are loaded in a planer shape, a method for setting the number of objects around the base object to a reference is called “a third method”. Furthermore, a method for setting a clearance of a position of the base object from a center of the loading region (a width from a center of the base object to an end of the loading region) to a reference is called “a fourth method”.
By extending a range of the holding target to two-dimensional plane, a plurality of objects can be effectively held and transported. An area of the transportation region is supposed as a quadrangle such as a square or a rectangle. However, the area of the transportation region is not limited to the quadrangle, and may be a circle and a polygon. The flow chart of
In the object holding apparatus of the first embodiment, as to a plurality of objects loaded into the loading region, the flow chart of
In
According to processing of the first method, as shown in steps of
Next, as to other objects except for the objects 1˜3 (transported in
Next, as to other objects except for the object 1 (transported in
Next, as to other objects except for the object 1 (transported in
As shown in
Furthermore, as a processing method used for the simulation, following five methods are used.
Values outputted by the simulation are values that the number of processed objects is divided by the number of times of holding operation. Namely, it is the number of objects held by one time holding operation.
As shown in
By using the object holding apparatus of the first embodiment, in comparison with conventional technique, effective transportation of objects becomes possible. As a result, a time to transport a plurality of objects can be reduced.
Furthermore, the controller of the first embodiment is composed by a simple algorithm. Accordingly, calculation time can be shortened, and the processing efficiency can be improved.
Furthermore, information such as a size and a shape of objects, and a loading status of the objects, need not be previously registered. Accordingly, the working efficiency can be improved.
The second embodiment is explained by referring to
As shown in
On the other side, if an object having a width smaller than α exists in the loaded region, the first˜fourth methods of the first embodiment can be applied.
By using
First, an object located at the highest position is set to a base object (S1501). All objects located within a difference in height dH from the base object are selected (S1502). Among respective widths from a center of the base object to each end (each end part) of the loading region, one side (of the base object) having a narrower width is selected (S1503). As to objects aligned at the one side having the narrower width, the objects are numbered in order of nearer to the base object (S1504). After completing numbering of the objects, as to objects aligned at another side (of the base object) having a wider width, the objects are numbered in order of nearer to the base object (S1505). Next, the processing flow is branched by whether an object having a width smaller than α is included in numbered objects (S1506). If the object having a width smaller than α is included (Yes at S1506), when objects accommodatable into a width W of the transportation region are selected in order of smaller number, and when an object having a width smaller than α is found (selected) after a width of selected objects (holding targets) is over Wh (width of the holding part), objects accommodatable into Nh are set to holding targets (S1507). If the object having a width smaller than α is not included (No at S1506), among objects having smaller numbers, objects accommodatable into W (width of the transportation region) are set to holding targets (S1508).
As shown in
On the other side, if an object having a width smaller than α does not exist in the loaded region, the first˜fourth methods of the first embodiment can be applied. The processing flow is same as that of
As shown in
On the other hand, if the object having a width smaller than α does not exist in the loading region, when objects are selected based on numbers assigned to the objects in order of smaller number, at timing when a large object having a width equal to a width Wh of the holding part is selected, this object is excluded from the holding targets. In this case, a selection direction is inverted, or this selection is completed. As a result, it is avoided that a large object (having a width equal to a width of the holding part) and another object are set to holding targets simultaneously.
If an object having a width smaller than α exists in the loading region, when objects accommodatable into W (width of the transportation part) are selected in order of smaller number, and when an object having a width smaller than α is found (selected) after a width of holding objects (selected objects) is over Wh, objects accommodatable into Wh are set to holding targets. Furthermore, when an object having a width equal to Wh (width of the holding part) is found (selected) before inverting a selection direction, the selection direction is inverted, and objects accommodatable into N (width of the transportation region) are set to holding targets. When the object having a width equal to Wh (width of the holding part) is found (selected) after inverting the selection direction, this selection is completed, and objects selected till then are set to holding targets (S1807).
If the object having a width smaller than α does not exist in the loading region, when objects accommodatable into N (width of the transportation part) are selected in order of smaller number, and when an object having a width equal to Wh (width of the holding part) is found (selected) before inverting the selection direction, the selection direction is inverted, and objects accommodatable into W (width of the transportation region) are set to holding targets. When the object having a width equal to Wh (width of the holding part) is found (selected) after inverting the selection direction, this selection is completed, and objects selected till then are set to holding targets (S1808).
As shown in
On the other side, if the object having a width smaller than α does not exist in the loaded region, the first˜fourth methods of the first embodiment can be applied.
If an object having a width smaller than α exists in the loading region, when objects accommodatable into W (width of the transportation part) are selected in order of smaller number, and when an object having a width smaller than α is found (selected) after a width of holding objects (selected objects) is over Wh, objects accommodatable into Wh are set to holding targets (S2007).
If the object having a width smaller than α does not exist in the loading region, among object having smaller numbers, objects accommodatable into W (width of the transportation region) are set to holding targets (S2008).
In explanation of
By adding above-mentioned method to the holding transportation processing of the object holding apparatus of the first embodiment, the case that the holding part cannot hold objects is avoided, and more effective holding transportation becomes possible.
Moreover, in the first and second embodiments, the driving part to drive along three axes directions (xyz directions) was explained. However, driving operation of the driving part is not to this. By equipping a plurality of joints, the driving part may have a shape of multiple joints rotating around a central axis of each joint. Furthermore, the driving part may have component that multiple joints driving and orthogonal driving are combined. In consideration of a cost, an environment of a transportation spot, and so on, the driving part can be selected arbitrarily.
While certain embodiments have been described, these embodiments have been presented by way of examples 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.
Number | Date | Country | Kind |
---|---|---|---|
2016-153858 | Aug 2016 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
5040056 | Sager | Aug 1991 | A |
6122895 | Schubert | Sep 2000 | A |
7240465 | Davi′ | Jul 2007 | B2 |
7654380 | Nishihara | Feb 2010 | B2 |
8805585 | Nishihara | Aug 2014 | B2 |
20070179671 | Arimatsu | Aug 2007 | A1 |
20100008754 | Hartmann | Jan 2010 | A1 |
20150066199 | Shimono | Mar 2015 | A1 |
20160016311 | Konolige | Jan 2016 | A1 |
20160207072 | Hellenbrand | Jul 2016 | A1 |
Number | Date | Country |
---|---|---|
4-286541 | Oct 1992 | JP |
2001-317911 | Nov 2001 | JP |
2015-47681 | Mar 2015 | JP |
2015-193468 | Nov 2015 | JP |
2015-217790 | Dec 2015 | JP |
2015-223266 | Dec 2015 | JP |
Number | Date | Country | |
---|---|---|---|
20180040132 A1 | Feb 2018 | US |