Post on 06-Mar-2015
Robotics & Automation
Assignment : Analysis and design of a robot system
Vazguene AKOPIAN 10006669
Module Number : CE00453-7
Contents
Introduction...............................................................................................................................3
Section 1
1.1 Study of the Puma 560 robot kinematics...........................................................3
1.2 Creation of a three link robot.............................................................................5
Section 2
2.1 The Task..............................................................................................................9
2.2 The Workspace.................................................................................................10
2.3 The Robot.........................................................................................................11
2.4 The Sensors.......................................................................................................12
2.5 The Gripper.......................................................................................................14
2.6 The Safety.........................................................................................................16
2.7 Approximate cost and payback........................................................................17
Conclusion...............................................................................................................................17
List of figuresFigure 1 : Joint angles positions
Figure 2 : Velocity of each joint
Figure 3 : Robot specifications
Figure 4 : DH Matrix
Figure 5 : Three link created robot
Figure 6 : Results of the forward kinematics on MATLAB
Figure 7 : Rotation component into RPY
Figure 8 : Schematic of the robot-cashier system
Figure 9 : STÄUBLI TX60
Figure 10 : CamCube 3.0 by PMD
Figure 11 : Torquemeter SCAIME DR1
Figure 12 : Gripper METAL WORKS Series P9-32
Figure 13 : Design of the pinch of the gripper
Vazguene AKOPIAN10006669 2 Module : CE00453-7
Introduction
In this report we will treat some aspects of the manipulation and the creation of robots. The
first section will explain the simulation of a robot with MATLAB and the robotic toolbox, the
study of its kinematics and the design of a three link robot with DH matrices. In the second
part we will see the design and requirements of a robot-cashier system.
Section 1
1. 1 Study of the Puma 560 robot kinematics
First of all is the creation of the point B which will be the final position of the robot. Its
coordinates are x = 0.211, y = 0.851, z = 0.010. Now that we have this point we can use the
'ikine' function (inverse kinematics) to obtain the joint angles in the final position :
clear all;puma560;%drivebot(p560) P=transl(0.211,0.851,0.010);% movement of the arm to coordinatesPointB=ikine(p560,P)% inverse kinematics to get the joint angles
The joint angles obtained are : 16.8637 28.2835 -14.1317 -75.3982 -14.1518 71.1009.
To get position and velocity graphs we calculate the trajectory of the robot with the function
'jtraj' which needs the initial and final coordinates, the total time and the sampling rate.
Vazguene AKOPIAN10006669 3 Module : CE00453-7
This is the code to obtain position and velocity graphs :
P=transl(0.211,0.851,0.010);% movement of the arm to coordinatesPointB=ikine(p560,P)% inverse kinematics to get the joint angles %%t=[0:0.125:7]' % total time and sampling rate (in sec)start=[0 0 0 0 0 0];% initial position : all joint angle at 0stop=PointB;% final position [p v]=jtraj(start,stop,t);%calculation of the trajectory to the point Bsubplot(6,1,1);plot(t,p(:,1))% position graphs subplot(6,1,2);plot(t,p(:,2))subplot(6,1,3);plot(t,p(:,3))subplot(6,1,4);plot(t,p(:,4))subplot(6,1,5);plot(t,p(:,5))subplot(6,1,6);plot(t,p(:,6))figure; subplot(6,1,1);plot(t,v(:,1))% velocity graphs subplot(6,1,2);plot(t,v(:,2))subplot(6,1,3);plot(t,v(:,3))subplot(6,1,4);plot(t,v(:,4))subplot(6,1,5);plot(t,v(:,5))subplot(6,1,6);plot(t,v(:,6))
From this code we get two figures, the position graph :
Figure 1 : Joint angles positions
Vazguene AKOPIAN10006669 4 Module : CE00453-7
And the velocity graph as well :
Figure 2 : Velocity of each joint
1.2 Creation of a three link robot
First steps of the creation of a robot is to define its dimensions and rotation axes :
Figure 3 : Robot specifications
a = 300mm
b = 200mm
c = 80mm
1,2,3 : the rotation axis of the joints is z
Vazguene AKOPIAN10006669 5 Module : CE00453-7
The DH matrix permits to describe the mobility of the robot, its "freedom". It is composed of
four parameters (a, α, θ, d) that we have chosen before :
α a θ d
0 300 θ1 0
0 200 θ2 0
0 80 θ3 0
Figure 4 : DH Matrix
The following program permits to give to our robot the decided dimensions in this DH
matrix. The command 'link' permits to write each line separately, then they are put together
in the matrix 'R' which is used to simulate the robot.
clear all; l1=link([0 300 0 0]); l2=link([0 200 0 0]);l3=link([0 80 0 0]);R{1}=l1;R{2}=l2;R{3}=l3;S=robot(R)drivebot(S)
Figure 5 : Three link created robot
Vazguene AKOPIAN10006669 6 Module : CE00453-7
Now that we have set up the dimensions, we must choose the angles to use in the forward
kinematics. We get :
θ1 = 90° = 1.570 rad
θ2 = 60° = 1.047 rad
θ3 = 90° = 1.570 rad
The following code allows to give to our robot the angles of its joints and to perform the
forward kinematics with 'fkine'.
angle=[1.570 1.047 1.570]T=fkine(S,angle)
The result of this command shows the coordinates of the final point :
Figure 6 : Results of the forward kinematics on MATLAB
By using 'tr2rpy' we can get the values of the roll, the pitch and the yaw the end point. The
results are shown below :
roll = 0
pitch = 0
yaw = -2.0962
Vazguene AKOPIAN10006669 7 Module : CE00453-7
To verify these results we do some manual calculation using the rotation and translation
matrices applied to this case. For this robot we only need the rotation about Z and
translation along X matrices to calculate the forward kinematics. We replace with our values
of angles and lengths and after the multiplication of the three rotations by the three
translations we obtain these results :
-0.5 0.86 0 -213.2
-0.86 -0.5 0 331.2
0 0 1 0
0 0 0 1
The slight differences between the results are due to approximations done in previous steps
of the calculation.
To calculate the roll, pitch and yaw we will use the formulas below :
Figure 7 : Rotation component into RPY
As our r31, r32 and r33 equal to 0, X and Y equal to 0 and we find Z = -2.0974. The difference
of 0.0012 is due to previous approximation.
The manual calculation and MATLAB give almost the same results.
Vazguene AKOPIAN10006669 8 Module : CE00453-7
Section 2
2.1 The Task
The goal of the robot from this case study is to replace a human cashier in the supermarkets.
The customer arrives and lays his items on the first conveyer (the slow one). The items go
then to a faster conveyer which will split the items from each other. Inside the Plexiglas
shield (level 0), the 3D camera placed on the top of the system (level 2) will see the items
arriving in the workspace. The conveyer will stop when an item arrives at the laser sensors
and, guided by the camera, the robot arm will take the closest item on the conveyer.
The robot will bring the item above the barcode readers and turn the item until it receives
the signal that the item has been scanned.
Once the price recorded, the arm will put the item in the hole on the last conveyer (level -1),
which will bring it to the customer, on the weighing machine. The arm will repeat the
operation while items are coming on the conveyors.
The customer will have plastic bags available on one side of the system. He will have 2
seconds to take an item and put it back on the weighing machine, inside the bag. If this
operation takes too long, the customer will hear the message to put the item back on the
weighing machine, the robot will stop and a red light high placed on the system will switch
on, attracting the attention of security guards.
Once the client has paid his items he can leave and the next customer can put his own items
on the first conveyer.
Vazguene AKOPIAN10006669 9 Module : CE00453-7
2.2 The Workspace
Figure 8 : Schematic of the robot-cashier system
The robot has to work in the same workspace as the human operator did before, so more
than the Plexiglas box, one bumper pole one each side of the arm will stop it if , in case of a
problem, the arm decides to go behind its workstation. Besides, these bumpers are an
additional security for the worker, in case he has to penetrate inside the Plexiglas fence
through the gate.
Also there is the possibility to put another cashier robot in the other side, next to this one to
optimise place.
Vazguene AKOPIAN10006669 10 Module : CE00453-7
2.3 The Robot
The arm that seemed the most adapted to this situation is the industrial robot arm STÄUBLI
TX60.
Figure 9 : STÄUBLI TX60
This arm has six degrees of freedom which assures an excellent mobility. The robot is quiet
compact so a small work-envelope fits. Also, it is waterproof and it benefits a total dust
protection.
The payload of this arm is 3.5 kg with a maximum of 9 kg. To this we must add the weight of
the gripper and the pinch, so approximately 1.5 kg which gives us 2 kg to 7.5 kg for the
payload of the robot, which is enough for supermarket items.
The reach at wrist of this arm is 670 mm, but once the gripper and the pinch (gripper's
fingers) added the reach becomes 940 mm.
Vazguene AKOPIAN10006669 11 Module : CE00453-7
2.4 The Sensors
The most important detector of this system is the Time Of Flight (TOF) 3D Camera.
Figure 10 : CamCube 3.0 by PMD
This camera will see and analyse the size of each item. It is wide-angle so it sees everything
from the arrival of the items on the conveyor to the arm robot placing the item after
scanning on the last conveyor. This camera gives directions to the robot arm in all its
movements.
On each side of the camera there is a matrix of infrared light which spreads in the area and
the camera gets the light when it returns and calculates the distance from the time that the
light needed to come back.
Vazguene AKOPIAN10006669 12 Module : CE00453-7
The second sensor to be used in this case is the torque meter.
Figure 11 : Torquemeter SCAIME DR1
The torque meter will detect if something opposes resistance on the arm's motor in two
cases :
when the gripper grabs an item from the conveyer it must not be cashed by the
robot, so the torque meter will detect this and stop the motor
if something goes wrong and the arm touches one of the bumper poles, to avoid any
mechanical damage the sensor will also stop the motor.
Also, there is the possibility to add a slip detector to improve the robot's abilities if
necessary.
Vazguene AKOPIAN10006669 13 Module : CE00453-7
2.5 The Gripper
For this kind of task the robot-cashier has to grab every kind of objects, of every size, every
shape so choosing an angular gripper was the only thing left.
Figure 12 : Gripper METAL WORKS Series P9-32
The METAL WORKS Series P9-32 has a jaw opening angle adjustable up to 180°, so it can
grab objects of any size. The clamping force at 20 mm from the jaw pivot is 180 N so it can
lift even big bottles or beer packs.
Vazguene AKOPIAN10006669 14 Module : CE00453-7
Then we had to find a pinch that could be versatile enough to fit to all items of a
supermarket. Is this system does not exist yet we had design the fingers of the grip.
Figure 13 : Design of the pinch of the gripper
This kind of design can grab big items like a bottle, a box of cereal with the wide inside part,
and small items with the hole in the middle of the end of the fingers for cylindrical items, or
between the end of fingers for any other shape. To benefit lightness and strength the pinch
will made in aluminium.
Vazguene AKOPIAN10006669 15 Module : CE00453-7
2.6 The Safety
In a supermarket the customer stays very close to the cashier so we had to secure the
workplace of the robot without loss of place and with 100% safety guarantee for the
customer. The whole workplace of the robot is secured with a Plexiglas fence accessible only
through a service door. If an employee has to enter into the security fence, the fact of
opening the door will automatically stop the robot. Moreover to guarantee the safety of the
employee one bumper pole is fixed in the ground to create a guardrail in case of
uncontrolled movements of the arm.
Two emergency buttons have been installed : one at the end of the first conveyer and
another one next to the weighing machine at the end of the process.
The 3D camera's angle is wide enough to see the whole process, so it will be able to detect if
a human hand comes inside the workplace of the robot and shut down the arm before it
hurts anyone.
The entire part of the supermarket will be monitored by a team of human operatives who
will ensure that everything is working safely and intervene if anything goes wrong.
Vazguene AKOPIAN10006669 16 Module : CE00453-7
2.7 Approximate cost and payback period
The calculation of the cost or the payback of this system includes every part's price :
the arm
the gripper and the pinch
the 3D camera and the torque meter
the Plexiglas fence
the secured door of the fence
the three conveyers
the emergency buttons
the bumper poles
the weighing machine
the installation costs
The price of all these parts must be compared to the cost per year of a cashier : his salary,
the cost of an employee to the company, any other spending that the company has to do
related to the employee.
To get the payback period we have to divide the total price of the robot system by the total
cost of a cashier employee per year.
The approximate cost is the sum of the elements listed above.
Conclusion
Through this assignment we saw how to manipulate and understand a robot on MATLAB
with the Robotic Toolbox, the possibilities of this software. We also learned a lot about how
to design an entire robot system and how to apply it in the real world, the aspects of the
conception that have to be treated and all the questions that have to be answered.
Vazguene AKOPIAN10006669 17 Module : CE00453-7