Fundamental on Robotics: Palletization ... - Guillaume Lemaitre

PD 61 ,180.9 ,394.0 ,136.4 , −82.2 ,83.3. These different positions correspond to: • Position 1: Home position. • Position 20: Top-left corner of the pallet. • Position ...
183KB taille 37 téléchargements 299 vues
1

Fundamental on Robotics: Palletization operation using Mitsubishi RV-M1 Guillaume Lemaˆıtre - Miroslav Radojevi´c Heriot-Watt University, Universitat de Girona, Universit´e de Bourgogne [email protected] - [email protected]

I. I NTRODUCTION The aim of this laboratory is to be familiar with the robot Mitsubishi RV-M1. The activity asked is a palletization. We will present first the specification of the robot. Then, we will introduce the positions recording during the manipulation. Finally, we will present the scheme and the program implemented to carry the palletization. II. S PECIFICATION OF THE ROBOT In this section, we will present every degree of freedom and the Cartesian coordinate system of the Mitsubishi RV-MV1.

Figure 2.



A. Degree of freedom



Figure 1 presents all degrees of freedom of the robot. The Mitsubishi RV-M1 is composed of five degrees of freedom. All degree of freedom are rotational joints. Referring to the figure 1, the degrees of freedom are: • • •

Cartesian coordinate system

J4 : Wrist pitch - rotational joint of ±90◦ . J5 : Wrist roll - rotational joint of ±180◦ . The positive direction is clockwise as viewed from B arrow.

B. Cartesian coordinate system



J1 : Waist - rotational joint of 300 . The positive direction is clockwise as viewed from A arrow. J2 : Shoulder - rotational joint of 130◦ . J3 : Elbow - rotational joint of 110◦ .

Figure 2 presents the Cartesian coordinate system defined for the Mitsubishi RV-M1 robot. III. ACQUISITION POSITION In order to perform the palletization, the first work to do is to save different position useful to carry out the different tasks. The different positions saved are the following: PD 1 , 5 7 . 7 , 2 8 5 . 1 , 1 8 8 . 7 , − 8 9 . 8 , 8 3 . 3 PD PD PD PD

Figure 1.

Presentation of degree of freedom

20 , −48.3 ,357.7 ,22.7 , −88.5 ,83.3 21 ,152.7 ,310.6 ,20.2 , −88.5 ,83.3 22 , −60.6 ,301.9 ,21.4 , −88.5 ,83.3 23 ,134.3 ,250.4 ,18.2 , −88.5 ,83.3

PD 4 0 , − 1 7 2 . 7 , 2 8 1 . 7 , 1 1 0 . 9 , − 8 8 . 5 , 8 3 . 3 PD 4 1 , − 1 7 2 . 6 , 2 8 3 . 1 , 2 1 . 6 , − 8 8 . 5 , 8 3 . 3

PD 5 0 , − 8 3 . 8 , 4 1 5 . 2 , 1 3 2 . 2 , − 4 6 . 3 , 9 3 . 8 PD 6 0 , 1 5 6 . 3 , 3 4 0 . 4 , 1 9 8 . 5 , − 9 4 . 1 , 8 3 . 3 PD 6 1 , 1 8 0 . 9 , 3 9 4 . 0 , 1 3 6 . 4 , − 8 2 . 2 , 8 3 . 3

These different positions correspond to: • • • • • • • • • •

Position 1: Home position. Position 20: Top-left corner of the pallet. Position 21: Top-right corner of the pallet. Position 22: Bottom-left corner of the pallet. Position 23: Bottom-right corner of the pallet. Position 40: Approach object grip. Position 41: Grip object position. Position 50: Sensor. Position 60: Approach garbage. position 61: Garbage position.

IV. S CHEME AND PROGRAM A. Description of the task So to perform the manipulation, these different steps have to be executed: • • • •

Step Step Step Step

1: 2: 3: 4:

Calibration. Definition of the pallet. Routine to give an object to grab it later. Routine to grab the object and test it

– Step 5-1: If the object is metallic, bring it to the garbage. Return to the step 3. – Step 5-2: If the object is plastic, put on the pallet to the actual position. Go to step 6. •

Step 6: Compute the new position on the pallet. If the palletization is not finish go to the step 3. Figure 3.

Scheme of the program

B. Scheme 01 PD PD PD PD PD PD PD PD PD PD

The previous step describe in the previous section are shown on the figure 3.

C. Program and description So in this section, we will present the code which to implement the palletization: 2

/ / Define p o s i t i o n s 40 , −172.7 ,281.7 ,110.9 , −88.5 ,83.3 41 , −172.6 ,283.1 ,21.6 , −88.5 ,83.3 22 , −60.6 ,301.9 ,21.4 , −88.5 ,83.3 20 , −48.3 ,357.7 ,22.7 , −88.5 ,83.3 21 ,152.7 ,310.6 ,20.2 , −88.5 ,83.3 23 ,134.3 ,250.4 ,18.2 , −88.5 ,83.3 60 ,156.3 ,340.4 ,198.5 , −94.1 ,83.3 61 ,180.9 ,394.0 ,136.4 , −82.2 ,83.3 1 ,57.7 ,285.1 ,188.7 , −89.8 ,83.3 50 , −83.8 ,415.2 ,132.2 , −46.3 ,93.8

To avoid any problem with positions files, the positions presented in the previous part are included in the MRL program.

is stopped and the program return in the main routine at the line 110.

02 / / C a l i b r a t e t h e r o b o t 03 NT

109 110 120 130 140 145 150

Then, the first motion carry out is to calibrate the robot. 05 10 20 30 40

/ / Define the corners of the p a l l e t PL 9 0 , 20 PL 9 1 , 21 PL 9 2 , 22 PL 9 3 , 23

The robot moves to the approach position of the conveyor and go to grab the object and close the grip. Wait 1.5 seconds before to move to the approach position to stabilized.

Four corners of the pallet are defined to compute automatically each position of the pallet. 50 51 52 53

/ / R o u t i n e g r a b and p l a c e MO 1 MO 40 MO 4 1 , O GC TI 15 MO 4 0 , C

/ / Go t o Home p o s i t i o n MO 1 / / Put the speed a t 3 SP 3

151 152 153 154 155 156 157

The robot will move first in the HOME position and the speed will be setup up at 3 over 9. 55 / / C r e a t e t h e p a l l e t 60 PA 9 , 3 , 2

/ / Check i f i t ’ s m e t a l p i e c e MT 50 , −50 ,C MO 5 0 , C TI 15 ID TI 15 TB −1 ,700

First the robot will approach the sensor, and then go near of the sensor. The intern register will be updated and after 1.5 seconds of temporization, the bit 1 of the intern register is checked. If the value is a 0 logic, the program jump to the line 700 and the object is considered as a metal object. Otherwise, the program continues usually and the object is considered as a plastic object.

70 / / S e t row an column c o u n t e r 80 SC 9 1 , 1 90 SC 9 2 , 1

The pallet is created knowing the type (PA 9) and the number of column and row.

700 701 710 720 730 740 750 760 770

100 / / S t a r t t h e p r o g r a m h e r e 101 / / Go f o r t h e c o n v e y o r b e l t 105 GT 300

The sub routine of the line 300 is called. 299 / / R o u t i n e t o g i v e a c u b e w i t h t h e conveyor 300 OB +1 301 ID 310 TB +2 ,301 320 OB −1 330 GT 110

/ / Put the pice in the garbage MT 50 , −50 ,C MO 1 , C MO 6 0 , C MO 6 1 , C GO MO 60 MO 1 GT 105

If the object is an metal object, the robot will deposit the object inside the garbage. That is why, the robot go first to the HOME position (line 710) before to approach the garbage (line 720) and let the object (lines 730 and 740). Then, the robot go back to the HOME position before to execute the code of the line 105.

The code above implement the sub routine to import an object at the of the conveyor. The line 300 start the conveyor belt. The line 301 allows to update the intern register while the line 310 check the bit 2 of intern register to know if an object have reached the end of the conveyor. If not, the program returns to the command to update the intern register. Otherwise, the conveyor belt

159 160 161 170

3

/ / P u t on t h e p a l e t MT 50 , −50 ,C MO 1 , C PT 9

180 190 200 205 210 220

MT MO GO TI MT GT

9 , −50 ,C 9 ,C 5 9 , −50 500

If the object is detected as a plastic object, the robot will place it on the pallet at the current position computed line 170. Then, the robot temporized 0.5 seconds. Then, the program will go to a routine to increment the position of the pallet.

449 500 510 515 520

/ / C o u n t e r column IC 91 CP 91 EQ 4 , 5 3 0 GT 105

529 530 550 570 575 580

/ / C o u n t e r row SC 9 1 , 1 IC 92 CP 92 EQ 3 , 9 0 0 GT 105

900 MO 1 1000 ED

The aim of this part is to increment the position of the pallet. The counter for column is incremented until the moment that the counter exceeds the number of column (from line 500 to 520). When the counter for the column exceeds the number of column, we reset this counter and increment the counter for the row (from line 530 to 580). The program go to the line 105 until the moment where the counter of the row exceeds the number of row. At this moment, the program stops.

V. C ONCLUSION In this paper, we presented an example of palletization using the Mitsubishi RV-M1. First, we presented the specifications of this robot. Then, we introduce the position stored in order to perform the palletization. Finally, we described the program allowing the palletization.

4

A PPENDIX A C ODE All the comments using this char ”’” are replace by this char ”//” 01 PD PD PD PD PD PD PD PD PD PD

/ / Define p o s i t i o n s 40 , −172.7 ,281.7 ,110.9 , −88.5 ,83.3 41 , −172.6 ,283.1 ,21.6 , −88.5 ,83.3 22 , −60.6 ,301.9 ,21.4 , −88.5 ,83.3 20 , −48.3 ,357.7 ,22.7 , −88.5 ,83.3 21 ,152.7 ,310.6 ,20.2 , −88.5 ,83.3 23 ,134.3 ,250.4 ,18.2 , −88.5 ,83.3 60 ,156.3 ,340.4 ,198.5 , −94.1 ,83.3 61 ,180.9 ,394.0 ,136.4 , −82.2 ,83.3 1 ,57.7 ,285.1 ,188.7 , −89.8 ,83.3 50 , −83.8 ,415.2 ,132.2 , −46.3 ,93.8

02 / / C a l i b r a t e t h e r o b o t 03 NT 05 10 20 30 40

/ / Define the corners of the p a l e t PL 9 0 , 20 PL 9 1 , 21 PL 9 2 , 22 PL 9 3 , 23

50 51 52 53

/ / Go t o Home p o s i t i o n MO 1 / / Put the speed a t 3 SP 3

55 / / C r e a t e t h e p a l e t 60 PA 9 , 3 , 2 70 / / S e t row an column c o u n t e r 80 SC 9 1 , 1 90 SC 9 2 , 1 100 / / S t a r t t h e p r o g r a m h e r e 101 / / Go f o r t h e c o n v o y o r b e l t 105 GT 300

115 116 120 130 140 145 150 151 152 153 154 155 156 157

/ / R o u t i n e g r a b and p l a c e MO 1 MO 40 MO 4 1 , O GC TI 15 MO 4 0 , C / / Check i f i t ’ s m e t a l p i e c e MT 50 , −50 ,C MO 5 0 , C TI 15 ID TI 15 TB −1 ,700

5

159 160 161 170 180 190 200 205 210 220

/ / P u t on t h e p a l e t MT 50 , −50 ,C MO 1 , C PT 9 MT 9 , −50 ,C MO 9 , C GO TI 5 MT 9 , −50 GT 500

299 300 301 310 320 330

/ / Routine t o g i v e a cube with t h e convoyor OB +1 ID TB +2 ,301 OB −1 GT 110

449 500 510 515 520

/ / C o u n t e r Column IC 91 CP 91 EQ 4 , 5 3 0 GT 105

529 530 550 570 575 580

/ / C o u n t e r Row SC 9 1 , 1 IC 92 CP 92 EQ 3 , 9 0 0 GT 105

700 701 710 720 730 740 750 760 770

/ / Put the pice in the garbage MT 50 , −50 ,C MO 1 , C MO 6 0 , C MO 6 1 , C GO MO 60 MO 1 GT 105

900 MO 1 1000 ED

6