This application claims priority to Japanese Patent Application No. 2016-255408 filed Dec. 28, 2016, the entire contents of which are incorporated herein by reference.
The present invention relates to a simulation technique for simulating the operation of an apparatus that holds a workpiece.
In general, in a manufacturing line or the like of a factory, a pick-and-place apparatus is used as an apparatus that holds parts and products (hereinafter collectively referred to as “workpieces”) and transports them to other places. In many cases, a holding apparatus having a suction pad or chuck is used as a holding unit for holding parts. However, in the pick-and-place apparatus, an operator or the like of the manufacturing line adjusts the apparatus by trial and error while actually operating the apparatus so that the optimum operation is performed. However, with the method of actually operating and adjusting the apparatus, adjustment cannot be implemented unless the actual apparatus has been completed, or even if there is already an actual apparatus in the production line, it is necessary to interrupt the original work of the pick-and-place apparatus for adjustment work and to stop the line. Therefore, there is a problem that production efficiency deteriorates. As one method for solving such a problem, a simulation method for a robot that transports workpieces has been proposed that is capable of creating an operation program for the robot on an image output apparatus including a display panel or the like (see Patent Document 1, for example).
Patent Document 1: JP H07-256578A
However, in the above conventional simulation method, the vibration acceleration is merely estimated or the like using the operation speed of the robot as a parameter, and it is only possible to determine the maximum operating speed at which the robot can operate at the designated vibration acceleration by confirming the vibrations obtained through the simulation. Therefore, there has been a problem that it cannot simulate whether the robot can hold a workpiece.
The present invention has been made in view of the above-mentioned circumstances, and it is an object of the present invention to provide a simulation technique for easily and accurately simulating a holding operation of an apparatus that holds a workpiece.
A simulation apparatus according to one aspect of the present invention is a simulation apparatus configured to simulate whether an article can be held by a holding unit with which a robot is provided, the apparatus includes a holding success/failure determination unit configured to determine whether the holding unit can hold the article, based on an operation instruction value of the holding unit that is calculated based on moving speed or acceleration of the holding unit and a moving path of the holding unit, and the mass of the article.
With the above configuration, because it is simulated whether the holding unit can hold the article based on the operation instruction value of the holding unit provided in the robot and the mass of the article, it is possible to easily and accurately simulate the holding operation of the robot.
In the above aspect, a configuration may also be employed in which the simulation apparatus further includes an instruction value calculation unit configured to calculate an operation instruction value of the holding unit based on the moving speed or the acceleration of the holding unit and the moving path of the holding unit, and a holding force calculation unit configured to calculate, from the operation instruction value and the mass of the article, a holding force with which the holding unit holds the article when the holding unit operates in accordance with the operation instruction value, and the holding success/failure determination unit is configured to determine whether the holding unit can hold the article based on the holding force.
In the above configuration, a configuration may also be employed in which the holding force calculation unit is configured to calculate the holding force with which the holding unit holds the article, considering a motion of rotation about the horizontal or vertical direction with respect to the transportation surface of the article.
In the above configuration, a configuration may also be employed in which the holding force calculation unit is configured to calculate an oscillation amplitude of the article based on the operation instruction value and the mass of the article, and the holding success/failure determination unit is configured to determine, based on a result of comparison between the calculated oscillation amplitude of the article and a predetermined threshold value, whether the holding unit can hold the article.
In the above configuration, a configuration may also be employed in which the simulation apparatus further includes a first display unit configured to display the oscillation amplitude of the article.
In the above configuration, a configuration may also be employed in which the simulation apparatus further includes a second display unit configured to display an image simulating success or failure of holding of the article by the holding unit, and the display color of the article that is displayed in the second display unit is changed based on the holding force with which the holding unit holds the article.
In the above configuration, a configuration may also be employed in which the simulation apparatus is configured to receive a change of moving speed or acceleration of the holding unit, and the holding success/failure determination unit is configured to determine again, based on the received moving speed or acceleration of the holding unit after the change, whether the holding unit can hold the article.
In the above configuration, the holding unit may also be a suction pad that holds the article by suction.
In the above configuration, a configuration may also be employed in which the holding force calculation unit is configured to calculate a holding force with which the holding unit holds the article, considering a suctional force with which the suction pad sucks the article and a normal force at a contact surface between the suction pad and the article.
In the above configuration, a configuration may also be employed in which the holding success/failure determination unit is configured to determine that the article cannot be held when the normal force at the contact surface between the suction pad and the article becomes zero, and the simulation apparatus further includes a correction receiving unit configured to receive a correction of the moving speed or the acceleration in the direction in which the suction pad operates at that time.
In the above configuration, a configuration may also be employed in which the holding force calculation unit is configured to also calculate a suction frictional force generated between the suction pad and the article.
In the above configuration, a configuration may also be employed in which the holding force calculation unit is configured to calculate the normal force also considering the ambient outside pressure in which the robot operates.
In the above configuration, a configuration may also be employed in which the holding success/failure determination unit is configured to determine that the article cannot be held when the normal force at the contact surface between the suction pad and the article becomes zero, and the simulation apparatus further includes a suction pad change receiving unit configured to receive a change of the diameter of the suction pad or the number of the suction pads.
In the above configuration, the holding unit may also be a grasping-type holding unit configured to hold the article with claws.
In the above configuration, a configuration may also be employed in which the holding force calculation unit is configured to calculate a force with which the holding unit holds the article, considering grasping power with which the article is grasped by the claws and a frictional force at a contact surface between the claws and the article.
A simulation method according to another embodiment of the present invention is a simulation method for simulating whether a holding unit with which a robot is provided can hold an article, the method includes a holding success/failure determination step of determining whether the holding unit can hold the article based on an operation instruction value of the holding unit that is calculated based on moving speed or acceleration of the holding unit and a moving path of the holding unit, and the mass of the article.
A simulation program according to the other aspect is a simulation program for causing a computer to execute simulation for determining whether a holding unit with which a robot is provided can hold an article, and the program causes the computer to execute a holding success/failure determination step of determining whether the holding unit can hold the article based on an operation instruction value of the holding unit that is calculated based on moving speed or acceleration of the holding unit and a moving path of the holding unit, and the mass of the article.
A robot according to the other aspect of the present invention is a robot provided with a simulation function for simulating whether an article can be held by a holding unit provided in the robot, the robot including a holding success/failure determination unit configured to determine whether the holding unit can hold the article, based on an operation instruction value of the holding unit that is calculated based on moving speed or acceleration of the holding unit and a moving path of the holding unit, and the mass of the article.
According to the present invention, it is possible to provide a technique for easily and accurately simulating the holding operation of an apparatus that holds a workpiece.
Hereinafter, an embodiment of the present invention will be described with reference to the figures. Note, that the same elements are denoted by the same reference numerals, and duplicate descriptions will be omitted. The following embodiments are examples for explaining the present invention, and are not intended to restrict the present invention only to the embodiments. Furthermore, the present invention can be modified without departing from the essence thereof.
The control unit 1100 has a function for centrally controlling the simulation apparatus 1000, and includes a CPU (Central Processing Unit) 1110, a ROM (Read Only Memory) 1120, and a RAM (Random Access Memory) 1130. The CPU 1110 performs various processes described later based on data and programs stored in the ROM 1120 and the RAM 1130, and also controls the units of the simulation apparatus 1000.
The input unit 1200 includes various operation buttons and a numeric keypad, in addition to a keyboard 1210 and a mouse 1220, and is used for inputting various commands and data to the simulation apparatus 1000.
The display unit 1300 includes a monitor such as a liquid crystal display, and is used for displaying a simulation result and the like.
The storage unit 1400 is constituted by various types of storage apparatuses such as a hard disc drive (HDD) and a flash memory. Under the control of the control unit 1100, the optical disc driving unit 1500 reads data stored in various disc media (e.g., CD-ROM, Blu-ray disc, or the like), writes data to the disc media, and the like. The communication interface 1600 is used for transmitting and receiving data to and from an external apparatus through various communication methods (e.g., wired communication, wireless communication, or the like). Note, that the simulating function according to the simulation apparatus 1000 may also be directly installed in the pick-and-place apparatus.
Here,
As shown in
The motion program is a program that instructs the movement of the holding unit of the pick-and-place apparatus, and includes three linear interpolation “move” commands as shown in Table 1 in the example shown in
On the other hand, the motion parameters are constituted by, for example, a target position (moving path), maximum speed, maximum acceleration, and maximum deceleration of the holding unit of the pick-and-place apparatus. In the example shown in
Regarding the operation of the pick-and-place apparatus that is to be simulated, if a command for transporting a workpiece is input, the motion instruction value calculation unit (the instruction value calculation unit) 130 reads the motion program shown in Table 1 from the motion program DB 110, and also reads the motion parameters shown in Table 2 from the motion parameter DB 120 to calculate the operation instruction values (see step S1 shown in
Here,
In the physical model DB 150, data for specifying the physical models of the workpiece and the holding unit of the pick-and-place apparatus (hereinafter abbreviated as “physical models of the workpiece and the holding unit”) is registered. In the example shown in
The dynamics calculation unit (holding force calculation unit) 160 reads operation instruction values output from the motion instruction value calculation unit 130 and physical models of the workpiece and the holding unit from the physical model DB 150, and calculates various data regarding the operation of the workpiece and the holding unit considering the dynamics (hereinafter abbreviated as “apparatus operation considering the dynamics”) (see step S2 shown in
Based on the apparatus operation considering the dynamics that is supplied from the dynamics calculation unit 160, the suction success/failure calculation unit (the holding force calculation unit and the holding success/failure determination unit) 170 determines whether the suction pad 11 has successfully sucked the workpiece (see step S3 shown in
However, the condition for determining whether a workpiece has been successfully sucked is not limited to the condition shown in
Furthermore, as a determination condition for easily determining whether a workpiece is successfully sucked, as shown in
Referring to
The motion instruction value calculation unit 130 reads the corrected motion parameters from the motion parameter DB 120, calculates the operation instruction values again, and outputs the operation instruction values that were calculated again to the dynamics calculation unit 160. The dynamics calculation unit (the holding force calculation unit) 160 recalculates the apparatus operation considering the dynamics based on the operation instruction values (see step S5 shown in
The 3D display unit 190 displays a 3D image of the calculated apparatus operation considering the dynamics and the recalculated apparatus operation considering the dynamics in the display unit (the first display unit or the second display unit) such as a liquid crystal panel (see step S6 shown in
On the other hand, if the operator or the like determines that the adjustment was sufficient because of the successful suction of the workpiece (YES in step S7 shown in
Next, specific methods and the like for correcting the motion parameters, which was mentioned above, will be described with reference to the drawings.
On the other hand, if the motion parameter correction unit 180 determines that the suction of the workpiece fails (NO in step Sa1), the motion parameter correction unit 180 determines the falling timing of the workpiece 14. In this parameter correction process (1), the motion parameter correction unit 180 determines that the suction of the workpiece fails if the workpiece has fallen, and determines the falling timing of the workpiece 14 (step Sa3). Instances in which it is regarded that the suction of the workpiece fails include not only a case where the workpiece 14 falls, but also a case where, even if the workpiece 14 does not fall, the oscillation amplitude of the workpiece 14 becomes larger than or equal to a certain value. The method for correcting the motion parameters under the assumption that the suction of the workpiece fails if the oscillation amplitude of the workpiece 14 is larger than or equal to a certain value will be described later. Accordingly, the description will be continued.
If the motion parameter correction unit (the correction receiving unit) 180 determines that the falling timing of the workpiece 14 is at the time of being raised, then, to prevent the falling of the workpiece 14, the motion parameter correction unit 180 decreases the maximum acceleration in the direction in which the suction pad moves, that is, in the rising direction by a fixed amount (step Sa3 to step Sa4), and ends the process.
On the other hand, if the motion parameter correction unit (the correction receiving unit) 180 determines that the falling timing of the workpiece 14 is at the time of horizontally moving, then, to prevent the falling of the workpiece 14, the motion parameter correction unit 180 decreases the maximum acceleration in the horizontal direction by a fixed amount (step Sa3 to step Sa5), and ends the process.
Furthermore, if the motion parameter correction unit (the correction receiving unit) 180 determines that the falling timing of the workpiece 14 is at the time of being lowered, then, to prevent the falling of the workpiece 14, the motion parameter correction unit 180 decreases the maximum acceleration in the lowering direction by a fixed amount (step Sa3 to step Sa6), and ends the process.
Note, that in the above examples, the maximum acceleration is given as an example of a motion parameter corrected by the motion parameter correction unit (the correction receiving unit and the suction pad change receiving unit) 180. However, instead of the maximum acceleration, any of the following motion parameters (or any combination of them) may also be controlled.
Examples of other motion parameters: Maximum deceleration, maximum speed, jerk, acceleration time, deceleration time, suction pressure, suction time, shape of suction pad (general type, soft type, bellows type, etc.), material of the suction pad (nitrile butadiene rubber (NBR), silicon, etc.), suction position of the suction pad, diameter of the suction pad, the number of suction pads, and so on.
Also, examples of the criteria for selecting the motion parameters to be controlled (the selection criteria of the motion parameters) include a time taken for transporting the workpiece 14, the tolerance for suction traces on the workpiece 14, or the like. If the tolerance of the suction trace on the workpiece 14 is large, for example, the suction pressure and the suction time are selected with priority as the motion parameters to be controlled. Also, if a time taken for transporting the workpiece 14 is long, the maximum speed and the acceleration time are selected with priority as the parameters to be controlled. Needless to say, the selection criteria of the motion parameters are not limited to these criteria. Other criteria may also be employed.
In the above parameter correction process (1), the motion parameters are corrected under the assumption that the suction has failed if the workpiece 14 falls. On the other hand, in the parameter correction process (2), even if the workpiece 14 does not fall, the motion parameters are corrected under the assumption that the suction has failed if the oscillation amplitude is larger than or equal to a certain value.
On the other hand, if the motion parameter correction unit 180 determines that the oscillation amplitude of the workpiece is larger than or equal to the set threshold value Ath (NO in step Sb1), the motion parameter correction unit 180 assumes that the suction of the workpiece has failed, and determines the timing at which the vibration having the oscillation amplitude larger than the threshold value Ath (hereinafter referred to as “abnormal vibration”) occurred (step Sb3). Specifically, the motion parameter correction unit 180 determines whether the abnormal vibration occurs at the timing when the workpiece is being raised, at the timing when the workpiece moves horizontally, or at the timing when the workpiece is being lowered.
If the motion parameter correction unit 180 determines that the abnormal vibration occurs at the timing when the workpiece is being raised, then, to prevent the occurrence of the abnormal vibration, the motion parameter correction unit 180 reduces the maximum acceleration of the rising motion by a fixed amount (step Sb3 to step Sb4), and ends the process.
On the other hand, if the motion parameter correction unit 180 determines that the abnormal vibration occurs at the timing when the workpiece is horizontally moving, then, to prevent the occurrence of the abnormal vibration, the motion parameter correction unit 180 reduces the maximum acceleration of the horizontal motion by a fixed amount (step Sb3 to step Sb5), and ends the process.
Furthermore, if the motion parameter correction unit 180 determines that the abnormal vibration occurs at the timing when the workpiece is being lowered, then, to prevent the occurrence of the abnormal vibration, the motion parameter correction unit 180 reduces the maximum acceleration of the lowering motion by a fixed amount (step Sb3 to step Sb6), and ends the process.
Note, that as the application of the parameter correction process (2), it is needless to say that the above-mentioned applications 1 and 2 of the parameter correction process (1) may also be used.
Here,
As shown in
The motion program editing unit 170a corrects the motion program registered in the motion program DB 110 in accordance with the editing instruction for the motion program, which is manually input by the operator or the like (see step S8 shown in
The motion parameter editing unit 180a corrects the motion parameters registered in the motion parameter DB 120 in accordance with the editing instruction for the motion parameters, which is manually input by the operator or the like (see step S8 shown in
Normally, the motion program is corrected if the motion program cannot be adjusted by correcting the motion parameters. Let us consider the case of a motion program in which the pick-and-place apparatus moves in an arc in order to avoid an obstacle, for example, where a workpiece falls due to centrifugal force and the suction of the workpiece continues to fail if merely correcting the motion parameters. In order to cope with such a case, it is conceivable that the motion program is corrected so as to avoid the obstacle by letting the pick-and-place apparatus move linearly. Of course, which one of the motion parameters and the motion program is preferentially corrected can be set or changed as appropriate, depending on the contents of the program or the like.
In view of the above, the operation when manually correcting the motion parameters will be briefly described in the following. First, when a command for transporting a workpiece is input into the pick-and-place apparatus that is to be simulated, the motion instruction value calculation unit 130 reads the motion program shown in Table 1 from the motion program DB 110, and also reads the motion parameters shown in Table 2 from the motion parameter DB 120 to calculate the operation instruction values (see step S1 shown in
The dynamics calculation unit 160 reads the operation instruction values that are output from the motion instruction value calculation unit 130, and the physical models of the workpiece and the holding unit from the physical model DB 150, and calculates the apparatus operation considering the dynamics (see step S2 shown in
The operator or the like confirms the simulation image, determines whether the suction operation of the workpiece by the pick-and-place apparatus has been sufficiently adjusted (tuned), and performs an input operation indicating whether the adjustment has been sufficiently made (see step S7 shown in
On the other hand, if the operator or the like determines that the adjustment has been sufficiently made because of successful suction of the workpiece (YES in step S7 shown in
As mentioned above, according to the present embodiment, the motion parameters, the motion program, and the like are automatically or manually corrected such that the workpieces can be sucked appropriately, by calculating the apparatus operation considering the dynamics using the operation instruction values of the pick-and-place apparatus and the physical models of the workpiece and the holding unit, and simulating the apparatus operation. In this manner, it is possible to easily and accurately simulate the operation of the pick-and-place apparatus. Also, because there is no need to use an actual machine, it is possible to eliminate concerns such as the occurrence of failures in the actual machine due to the adjustment of the operational parameters.
In the above-described embodiment, a pick-and-place apparatus with a suction pad is simulated, but the pick-and-place apparatus may also include a chuck with claws for holding a workpiece instead of the suction pad. Note, that in the variation explained below, units corresponding to those in the above-mentioned embodiment are denoted by the same reference numerals, and a detailed description thereof will be omitted.
As mentioned above, the physical models of the workpiece and the holding unit are registered in the physical model DB 150. In the example shown in
The dynamics calculation unit (the holding force calculation unit) 160 reads the operation instruction values that are output from the motion instruction value calculation unit 130, and the physical models of the workpiece and the holding unit from the physical model DB 150, and calculates the apparatus operation considering the dynamics.
The suction success/failure calculation unit (in this variation, a grasping success/failure calculation unit) 170 determines whether the workpiece has been successfully grasped by the chuck 15 based on the apparatus operation considering the dynamics that is supplied from the dynamics calculation unit 160, and outputs the determination result information representing the determination result to the motion parameter correction unit 180. In the example of the chuck 15 shown in
|mα+mg|>2 μN (1)
Note, that the condition for determining whether the workpiece has been successfully grasped is not limited to the above equation (1), and various conditions may also be employed. Also, the configuration of the chuck 15 is not limited to a configuration in which the chuck 15 includes two claws. A configuration may also be employed in which the chuck 15 includes a plurality of claws, such as three claws or four claws.
In the above embodiment, the physical models shown in
In the investigation reflection graph G1, if a plot is located in the area above the threshold reflecting the investigation, it is determined that a workpiece will fall. On the other hand, if a plot is present in the area below the threshold reflecting the investigation, it is determined that a workpiece will not fall. In the simulation condition input by the operator or the like, which is shown in
The simulation techniques according to the above embodiment and variations can be applied to various fields. These simulation techniques can be applied to various pick-and-place apparatuses used in various industrial fields such as food, mechanical parts, chemical products, and chemicals, fishery field, agriculture field, forestry field, service industry, and medical and health industry. Also, these simulation techniques are not limited to the application to a pick-and-place apparatus, and may also be applied to an assembly apparatus used for, for example, holding workpieces with an arm, transporting the workpieces to a predetermined position, and then assembling the workpieces.
Note, that in the present specification, the term “unit” does not mean merely a physical configuration, but also includes a case where the function of the “unit” is realized by software. Also, the function of one “unit” may also be realized by two or more physical configurations or apparatuses. On the other hand, the functions of two or more “units” or apparatuses may also be realized by one physical means or apparatus.
A simulation apparatus comprising at least one hardware processor and configured to simulate whether a holding unit with which a robot is provided can hold an article, wherein
the hardware processor:
determines whether the holding unit can hold the article based on:
A simulation method for simulating whether a holding unit with which a robot is provided can hold an article by at least one or more hard processors,
the hardware processor executing:
a holding success/failure determination step of determining whether the holding unit can hold the article based on:
A robot comprising at least one hardware processor and being provided with a simulation function for simulating whether a holding unit can hold an article, wherein
the hardware processor:
determines whether the holding unit can hold the article based on:
Number | Date | Country | Kind |
---|---|---|---|
2016-255408 | Dec 2016 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2017/009600 | 3/9/2017 | WO | 00 |