A robot programming device capable of reducing the operation of a robot in the field required for generating a program for palletizing operation, and shortening a time to generate the palletizing program. The robot programming device includes a storing part for storing three-dimensional models of the plurality kinds of units, a conveyor, a recognition device, a robot and a plurality of pallets; a layout making part for making a layout, in a virtual space, of the three-dimensional models stored in the storing part; a displaying part for displaying the layout made by the layout making part; an information setting part for setting information regarding each component displayed on the displaying part; and a program generating part for generating a palletizing program for the robot based on the layout of the three-dimensional models and the information set by the information setting part.
|
1. A robot programming device for generating a palletizing program for use in a palletizing system including: a conveyor for conveying a plurality kinds of units, a vision sensor to recognize a kind of each unit conveyed by the conveyor based on the size thereof, a robot for assorting the units based on the kind of unit recognized by the vision sensor, and a plurality of pallets to which the assorted units are loaded according to the kinds of the units, the robot programming device comprising:
a storing part for storing three-dimensional models of the plurality kinds of units, the conveyor, the vision sensor, the robot and the plurality of pallets;
a layout making part for making a layout, in a virtual space, of the three-dimensional models stored in the storing part;
a displaying part for displaying the layout made by the layout making part;
an information setting part for setting information regarding each component displayed on the displaying part; and
a program generating part for generating a palletizing program for the robot based on the layout of the three-dimensional models and the information set by the information setting part,
wherein the palletizing program includes an algorithm for causing the vision sensor to output a result of recognition of each unit conveyed to a delivery position of the conveyor.
7. A robot programming device for generating a palletizing program used in a palletizing system including a conveyor for conveying a plurality kinds of units; a recognition device to recognize a kind of each unit conveyed by the conveyor; a robot for assorting the units based on the kind of unit recognized by the recognition device; and a plurality of pallets to which the assorted units are loaded according to the kinds of the units, the robot programming device comprising:
a storing part for storing three-dimensional models of the plurality kinds of units, the conveyor, the recognition device, the robot and the plurality of pallets;
a layout making part for making a layout, in a virtual space, of the three-dimensional models stored in the storing part;
a displaying part for displaying the layout made by the layout making part;
an information setting part for setting information regarding each component displayed on the displaying part;
a program generating part for generating a palletizing program for the robot based on the layout of the three-dimensional models and the information set by the information setting part; and
a vision sensor for measuring an amount of compression of stacked units in the vertical direction,
wherein the program generating part generates a program for automatically correcting the vertical position of the unit to be taken out.
6. A robot programming device for generating a palletizing program used in a palletizing system including a conveyor for conveying a plurality kinds of units; a recognition device to recognize a kind of each unit conveyed by the conveyor; a robot for assorting the units based on the kind of unit recognized by the recognition device; and a plurality of pallets to which the assorted units are loaded according to the kinds of the units, the robot programming device comprising:
a storing part for storing three-dimensional models of the plurality kinds of units, the conveyor, the recognition device, the robot and the plurality of pallets;
a layout making part for making a layout, in a virtual space, of the three-dimensional models stored in the storing part;
a displaying part for displaying the layout made by the layout making part;
an information setting part for setting information regarding each component displayed on the displaying part;
a program generating part for generating a palletizing program for the robot based on the layout of the three-dimensional models and the information set by the information setting part; and
a compression amount calculating part for calculating an amount of compression of stacked units in the vertical direction,
wherein the program generating part generates a program for automatically correcting the vertical position of the unit to be taken out.
2. The robot programming device as set forth in
3. The robot programming device as set forth in
4. The robot programming device as set forth in
wherein the program generating part is configured to generate a program for automatically correcting the vertical position of the unit to be taken out.
5. The robot programming device as set forth in
8. The robot programming device as set forth in
|
The present application claims priority from Japanese Patent Application No. 2007-236902, filed on Sep. 12, 2007, the entire content of which is fully incorporated herein by reference.
1. Field of the Invention
The present invention relates to a robot programming device for generating a palletizing program used in a palletizing operation for sorting containers or packages by using a robot.
2. Description of the Related Art
A programming device for generating a palletizing program is used when a palletizing operation is carried out by using a robot. In the palletizing operation, a plurality of units on a conveyor are assorted and loaded on a pallet or the like according to category. For example, Japanese Unexamined Patent Publication No. 7-237159 discloses a load handling unit having a package status indicating device for displaying a packaging status of units to be handled and a position inputting device for directing the position of the indicated unit and inputting a way of restart operation of an industrial robot from the position of the unit.
Japanese Unexamined Patent Publication No. 10-31742 also discloses an unit conveying device and an image processor having a means for generating an image of a plurality of units, by which the three-dimensional position of an unit may be obtained in a short time by a simple constitution.
As a robot program for the palletizing operation, a program for a robot in the actual field for assorting units on a conveyor in a teaching playback system, is known. However, it takes a long time to prepare such a program. On the other hand, a technique using software for a personal computer (PC) is also known. The software is used for generating a robot program by which a robot may assort units on the conveyor. However, in this case, it is necessary to check the motion of a robot in the field by connecting the PC to the robot. As such, when the PC software is used and the program is downloaded by connecting the PC the robot in the field, it is necessary to operate the robot in the field in order to set reference positions of the conveyor and the pallet, etc.
Accordingly, it is an object of the present invention to provide a robot programming device capable of reducing the operation of a robot in the field required for generating a program for palletizing operation, and shortening a time to generate the palletizing program.
According to the present invention, there is provided a robot programming device for generating a palletizing program used in a palletizing system including a conveyor for conveying a plurality kinds of units; a recognition device to recognize a kind of each unit conveyed by the conveyor; a robot for assorting the units based on the kind of unit recognized by the recognition device; and a plurality of pallets to which the assorted units are loaded according to the kinds of the units, the robot programming device comprising: a storing part for storing three-dimensional models of the plurality kinds of units, the conveyor, the recognition device, the robot and the plurality of pallets; a layout making part for making a layout, in a virtual space, of the three-dimensional models stored in the storing part; a displaying part for displaying the layout made by the layout making part; an information setting part for setting information regarding each component displayed on the displaying part; and a program generating part for generating a palletizing program for the robot based on the layout of the three-dimensional models and the information set by the information setting part.
The robot programming device may further comprise a simulation executing part for executing a simulation based on the palletizing program generated by the program generating part. In this case, the simulation may be executed as a three-dimensional animation.
The robot programming device may further comprise a compression amount calculating part for calculating an amount of compression of stacked units in the vertical direction in this case, the program generating part may generate a program for automatically correcting the vertical position of the unit to be taken out.
The robot programming device may further comprise a vision sensor for measuring an amount of compression of stacked units in the vertical direction. In this case, the program generating part may generate a program for automatically correcting the vertical position of the unit to be taken out. In addition, the vision sensor for measuring the amount of compression of stacked units may be attached to a hand of a robot.
The information set by the information setting part may include at least one of: a kind of the unit detected by the recognition device, a stacking pattern of the units on the pallet, input/output information between the robot, the conveyor and the recognition device, and the shape and operational condition of a hand attached to the robot.
A preferable example of the recognition device is a switching device for switching the kind of unit on the conveyor, a non-contact sensor for detecting a RF tag attached to each unit, or a vision sensor.
The above and other objects, features and advantages of the present invention will be made more apparent by the following description, of the preferred embodiments thereof, with reference to the accompanying drawings wherein:
In the embodiment, an operation using a robot having an adsorption hand is simulated. In the operation, two different kinds of units (large and small units) are fed to one conveyor at random timing, and the robot picks up the units and loads them on two pallets according to the sizes of the units. In the field, a recognition device such as a vision sensor to recognize the kind of units on the conveyor is attached to the robot. The robot may recognize the kind of the unit capable of being picked from the conveyor based on a signal from the recognition device, and loads each unit on the pallet corresponding to the kind of the unit. According to the invention, as described below, such an operation may be correctly simulated by using the three-dimensional models, without operating an actual system.
In the next step S3, in the virtual space of the PC or the programming device, the selected three-dimensional CAD models of the robot, the hand, the conveyor, the pallet and the recognition device are positioned so as to make a layout thereof.
The three-dimensional models such as robot 20 and hand 22, are formed similar to the actual corresponding components. Therefore, the operation range of the robot and interference between the three-dimensional models may be correctly checked by simulation. It is preferable that the three-dimensional models are precisely constituted corresponding to the actual components. However, it is necessary at least that the three-dimensional models are formed such that the normal operation of each component and interference between them may be previously checked. Generally, the type and the feeding speed of the conveyor and the arrival frequency of the units are determined based on the condition of the physical distribution system in the field. However, in the embodiment, it is assumed that the feeding speed is constant, the arrival frequency is not constant, and the conveyor is a conventional conveyor.
In the next step S4, a stacking pattern of the units on the pallet, prepared by the programming device, is set. In the embodiment, larger or first units 32 and smaller or second units 34 are conveyed by conveyor 28. Further, a stacking pattern of first units 32 is set to first pallet 24, and a stacking pattern of second units 34 is set to second pallet 26. The stacking pattern on the pallet may be specified by the Japanese Industrial Standard (JIS Z0111, etc.), for example, alternative-stacking and brick-stacking patterns may be set to the first and second units, respectively. Next, a stacking sequence for each layer of units on the pallet is set. In even-numbered layer (second, fourth, sixth, . . . , layers from the bottom), the staking pattern may be inverted from odd-numbered layer (first, third, fifth, . . . , layers from the bottom). The stacking sequence in this case is also set. The stacking pattern may be selected from a plurality of patterns previously prepared. Further, the stacking pattern may be inverted every other layer, and/or a stacking sequence in each layer may be arbitrarily set.
In the next step S5, an input-output signal or I/O between each component is set. Signals which are necessary to be set are explained below.
(a) Unit Arrival Signal
This signal is an on-off signal indicating that the unit is conveyed to the delivery position. Generally, the number of prepared channels for the signal is equal to the number of the kinds of units. Since the embodiment includes two kinds of units, unit arrival signals a1 and a2 are used.
(b) Pallet Location Signal
This signal is an on-off signal indicating that the pallet is located on a predetermined pallet position. When this signal is valid (on), the robot is moved to the pallet and stacks the units of the pallet. Since the embodiment includes two pallet positions, pallet location signals b1 and b2 are used.
(c) Operation Stop Signal
This signal is an on-off signal indicating whether the operation should be discontinued for some reasons. This signal is checked every when the operation for one unit is completed, and if the signal is valid (on), the robot is returned to its origin so as to discontinue the operation and the program is terminated.
(d) Skip Command Signal
This signal is an on-off signal indicating whether the operation of an unit handled when an error occurs in the system should be continued when the system is restarted after the occurrence of the error. The skip command signal is checked when the system is restarted after the occurrence of the error, and if the signal is valid (on), then the unit being handled is ignored and the next unit is picked.
(e) Pallet Replacing Signal
This signal is an on-off signal informing the robot that the pallet is being replaced. The pallet replacing signal is maintained at a valid (on) state until a replacement operation of the pallet is completed. Since the embodiment includes two pallet positions, pallet replacing signals e1 and e2 are used.
(f) Pallet Replacement Command Signal
This signal is a signal for commanding the replacement of the pallet. The pallet replacement command signal becomes a valid (on) state after a predetermined number of units are stacked on the pallet. Since the embodiment includes two pallets, pallet replacement command signals f1 and f2 are used.
(g) Unit Hold Check Signal
This signal is a signal for checking that the hand of the robot holds the unit. The unit grip check signal becomes a valid (on) state while the hand grips or adsorbs the unit.
Other than the above signals, a cardboard insertion command signal for commanding insertion of a cardboard between pallets, a cardboard inserting signal indicating that a cardboard is being inserted between the pallets, and a skip check signal for checking that a skip operation is executed based on the above skip command signal, may be used as the I/O signal.
In the next step S6, calibration of the vision sensor is executed. As shown in
In the next step S7, a palletizing program for the robot is generated and output based on the above settings. The program may be divided into a plurality of programs. In this case, when a main program is executed, the other programs may be called from the main program. An example of the main program is indicated below.
1: check activation of recognition device, conveyor and external system
2: execute main program
3: set number of first units to be palletized to register
4: set number of second units to be palletized to register
5: set position of delivery position of conveyor to positional register
6: set reference position of first pallet to positional register
7: set reference position of second pallet to positional register
8: set location of each unit in first layer from bottom on first pallet to positional register
9: set location of each unit in first layer from bottom on second pallet to positional register
10: set first passing point through which unit moved from delivery position of conveyor to first pallet passes, to positional register
11: set second passing point through which unit is moved from delivery position of conveyor to second pallet passes, to positional register
12: wait until one of unit arrival signals a1 and a2 turns on
During waiting, the vision sensor is continuously activated. When each unit is conveyed to the delivery position of the conveyor, the vision sensor outputs the result of recognition of the unit and transmits unit arrival signal a1 or a2 to the robot according to the kind of the unit.
13: start palletizing operation for stacking first units on first pallet (when unit arrival signal a1 is on)
13′: start palletizing operation for stacking second units on second pallet (when unit arrival signal a2 is on)
Hereinafter, the program regarding only the first unit is explained, since algorithms used for the first and second units may be substantially the same.
14: move robot to delivery position after reading positional register, and hold first unit
Concretely, the robot moves the hand thereof to or near the center of the first unit, based on the size data of the first unit, so as to adsorb or grip the first unit. At this point, the robot checks whether the unit hold check signal is valid, and if the signal is invalid, the robot suspends the operation. In case that the suspension is due to an error, if the robot receives the above skip command signal, the unit handled when the error occurs is not counted and the robot restarts the operation.
15: move robot from delivery position to first passing point
16: calculate stacking position of unit using reference position of first pallet, number of layers of first units, position of each unit in selected stacking pattern, and current stacking sequence of units on first pallet
17: locate unit at stacking position by using robot
18: check whether stacking operation is completed by current stacking sequence on first pallet
At this point, if the stacking operation on the first pallet is completed, pallet replacement command signal f1 is output. During replacement of the pallet, pallet replacing signal e1 is transmitted to the robot from external equipment. The robot waits until pallet replacing signal e1 turns off. Otherwise, if an unit to be moved to another pallet is conveyed to the delivery position, the robot picks the unit.
19: repeat above operations until a predetermined number of units are palletized
In step S8, a simulation of the palletizing operation is executed in animation style, by using a palletizing program generated based on the above algorithm.
In the next step S9, the palletizing program is transmitted or downloaded to an actual robot or control device, whereby a teaching operation for the robot may be carried out.
Finally, in step S10, a running test of the actual system is carried out by using the downloaded palletizing program.
As described above, according to the present invention, the palletizing program may be generated and the operation of the program may be simulated, without using the actual robot in the field, whereby the operation of the actual robot required for generating the program may be reduces. Since all parameters may be set in a virtual space of the programming device, a time for generating the program may be shortened. Further, a cycle time of the palletizing program may be precisely determined, which is advantageous in designing a physical distribution system.
Hereinafter, a preferable modification of the invention is explained. A RF (radio frequency) tag may be attached to each unit, and a non-contact sensor 36 capable of reading the RF tag may be arranged near a stop position of the unit on the conveyor. The RF tag in this case is a package including an IC chip and an antenna, by which a short-range communication may be possible (i.e., data may be stored in or read from a semiconductor memory of the chip by using radio wave or an induced electromagnetic field). In the modification, information regarding the kind of each unit is stored in such a tag attached to the unit. Non-contact sensor 36 may read the information and transmit a signal indicating the information to the control device of the robot, whereby the kind of each unit may be recognized.
In case that the kind of the unit is switched at a certain period of time, a switching device 38 (schematically illustrated in
In case that the unit is a bundle of folded cardboards or a bundle of magazines which may be compressed when stacked, an amount of compression in each layer of the bundle may be calculated by measuring the height of the undermost layer when two layers are stacked and the height of the undermost layer when three layers are stacked. By using the amount of compression, the linear relation between the compressed height and the number of layers may be assumed and a robot program may be generated, by which the robot may picks the unit while adjusting the vertical position of each unit. As such, the robot program including a parameter regarding the amount of compression may be generated when the unit is compressible.
Instead of calculating the amount of compression of each layer, a vision sensor may be used for imaging the units in order to adjust the vertical position by reading the amount of compression from an obtained image, whereby the robot program including the parameter regarding the amount of compression may also be generated. In this case, it is preferable that the vision sensor is arranged for each pallet.
Alternatively, the vision sensor may be attached to the hand of the robot for reading the compressed height of the unit. When the sensor is configured to recognize the kind of the unit, assortment of the units may also be possible.
According to the robot programming device of the present invention, the operation of the actual system required for generating a palletizing program may be reduced, and a time for generating the program may be shortened.
By executing a simulation of the generated palletizing program, the occurrence of interference or the like may be checked without operating the actual system.
Further, by executing the simulation in animation style, the user may easily understand the simulation.
When the unit to be handled is compressible, a robot program including a parameter regarding the amount of compression of the unit may be generated.
The amount of compression may be easily measured by using a vision sensor.
Further, by attaching the vision sensor to the end of the robot, an installation space for the vision sensor may be reduced.
According to the present invention, concrete information of each component included in the palletizing system may be provided.
When a switching device for switching the kind of unit is used, the switching device may be used as a recognition device to recognize the kind of unit, whereby the system may be simplified.
Alternatively, when a RF tag is attached to the unit, a non-contact sensor for detecting the RF tag may be used as the recognition device.
Alternatively, by using a vision sensor as the recognition device, even when the number of kinds of the units may be increased, the kinds may be effectively recognized by changing settings of the vision sensor. In addition, if the vision sensor is no longer required to recognize the kind of the unit, the vision sensor may be used for another application.
While the invention has been described with reference to specific embodiments chosen for the purpose of illustration, it should be apparent that numerous modifications could be made thereto, by one skilled in the art, without departing from the basic concept and scope of the invention.
Nagatsuka, Yoshiharu, Oyamada, Masahiro
Patent | Priority | Assignee | Title |
10551179, | Apr 30 2018 | Path Robotics, Inc.; PATH ROBOTICS, INC | Reflection refuting laser scanner |
11209264, | Apr 30 2018 | Path Robotics, Inc. | Reflection refuting laser scanner |
11548162, | Feb 24 2021 | PATH ROBOTICS, INC | Autonomous welding robots |
11648683, | Feb 24 2021 | PATH ROBOTICS, INC | Autonomous welding robots |
11759952, | Jul 17 2020 | Path Robotics, Inc. | Real time feedback and dynamic adjustment for welding robots |
11759958, | Feb 24 2021 | Path Robotics, Inc. | Autonomous welding robots |
11801606, | Feb 24 2021 | Path Robotics, Inc. | Autonomous welding robots |
11859964, | Apr 30 2018 | Path Robotics, Inc. | Reflection refuting laser scanner |
12070867, | Feb 24 2021 | Path Robotics, Inc. | Autonomous welding robots |
12109709, | Jul 17 2020 | PATH ROBOTICS, INC | Real time feedback and dynamic adjustment for welding robots |
9789517, | Feb 10 2015 | VEOLIA ENVIRONNEMENT - VE; SILEANE | Selective sorting method |
9878349, | Dec 24 2014 | Solystic | Postal sorting machine with a feed inlet having a robotized arm and a sloping flat conveyor |
9957120, | Mar 17 2016 | Fanuc Corporation | Stowage pattern calculation device and stowage device for stowing plurality types of objects |
Patent | Priority | Assignee | Title |
4287459, | Nov 27 1978 | ASEA Aktiebolag | Method for generating a pattern by means of an industrial robot and industrial robot for carrying out the method |
4380696, | Nov 12 1980 | Unimation, Inc. | Method and apparatus for manipulator welding apparatus with vision correction for workpiece sensing |
4419384, | Sep 27 1982 | Armstrong World Industries, Inc. | Apparatus and process for ultrasonically identifying and coating articles having differing characteristics |
4641271, | Nov 09 1983 | Hitachi, Ltd. | Piling planning method and piling system of cargoes by palletizing robot |
4692876, | Oct 12 1984 | Hitachi, Ltd. | Automatic freight stacking system |
4746255, | Jun 19 1985 | Machine for automatically loading pallets | |
4815190, | Aug 20 1987 | FANUC ROBOTICS NORTH AMERICA, INC | Method for automated assembly of assemblies such as automotive assemblies |
4871252, | Oct 30 1986 | REGENTS OF THE UNIVERSITY OF CALIFORNIA, THE, A CORP OF CA | Method and apparatus for object positioning |
4969109, | Jan 07 1987 | Fanuc Ltd | Robot control apparatus |
5050090, | Mar 30 1989 | R J REYNOLDS TOBACCO COMPANY, A CORP OF NJ | Object placement method and apparatus |
5175692, | Aug 26 1988 | University of Cincinnati | Method and apparatus for palletizing randomly arriving mixed size and content parcels |
5413454, | Jul 09 1993 | Mobile robotic arm | |
5501571, | Jan 21 1993 | International Business Machines Corporation | Automated palletizing system |
5613826, | Jul 29 1993 | Texas Instruments Incorporated | System to optimize the stacking efficiency of objects |
5908283, | Nov 26 1996 | United Parcel Service of Americia, Inc. | Method and apparatus for palletizing packages of random size and weight |
6120241, | Nov 26 1996 | United Parcel Service of America, Inc. | Apparatus for selecting package from a line of accumulated packages |
6286656, | Nov 26 1996 | United Parcel Service of America, Inc. | Apparatus for measuring length of accumulated packages |
6699007, | Nov 26 1996 | United Parcel Service of America, Inc. | Method and apparatus for palletizing packages of random size and weight |
6721762, | Apr 28 2000 | Michael C., Levine; LEVINE, MICHAEL C | Method and system for packing a plurality of articles in a container |
7092860, | Feb 03 1999 | Mitutoyo Corporation | Hardware simulation systems and methods for vision inspection systems |
7266422, | Apr 09 2004 | FANUC ROBOTICS AMERCA, INC | Automated palletizing cases having mixed sizes and shapes |
7390458, | Oct 13 2000 | Novartis AG | High throughput processing system and method of using |
7480976, | Jan 19 2005 | TOSOH SMD, INC | Automated sputtering target production and sub systems thereof |
7746379, | Dec 31 2002 | SIENA FUNDING LLC | Sensing cargo using an imaging device |
20020106273, | |||
20020193972, | |||
20050075752, | |||
20050201610, | |||
EP1026637, | |||
JP10031742, | |||
JP11079407, | |||
JP2001216015, | |||
JP2005052926, | |||
JP2006004262, | |||
JP2921496, | |||
JP3225725, | |||
JP7237159, | |||
JP7328968, | |||
RE33416, | Nov 09 1983 | Hitachi, Ltd. | Piling planning method and piling system of cargoes by palletizing robot |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Aug 06 2008 | NAGATSUKA, YOSHIHARU | Fanuc Ltd | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 021391 | /0436 | |
Aug 06 2008 | OYAMADA, MASAHIRO | Fanuc Ltd | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 021391 | /0436 | |
Aug 14 2008 | Fanuc Ltd | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Jul 24 2017 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jul 21 2021 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
Feb 04 2017 | 4 years fee payment window open |
Aug 04 2017 | 6 months grace period start (w surcharge) |
Feb 04 2018 | patent expiry (for year 4) |
Feb 04 2020 | 2 years to revive unintentionally abandoned end. (for year 4) |
Feb 04 2021 | 8 years fee payment window open |
Aug 04 2021 | 6 months grace period start (w surcharge) |
Feb 04 2022 | patent expiry (for year 8) |
Feb 04 2024 | 2 years to revive unintentionally abandoned end. (for year 8) |
Feb 04 2025 | 12 years fee payment window open |
Aug 04 2025 | 6 months grace period start (w surcharge) |
Feb 04 2026 | patent expiry (for year 12) |
Feb 04 2028 | 2 years to revive unintentionally abandoned end. (for year 12) |