PDF version - RobUALab - Universidad de Alicante

Transcription

PDF version - RobUALab - Universidad de Alicante
Automatics, Robotics and Computer Vision Group
www.aurova.ua.es
Universidad de Alicante
Kinematic control of a robot arm:
Scorbot ER-IX
1. Introduction
For this practical exercise the robot Scorbot ER-IX from Intelitek (formerly Eshed
ROBOTEC) will be used. This is a robot arm with five degrees of freedom plus a grip. The
robot is managed by a specific control cabinet, the Scorbot ER-IX ACL type B (black box in
Figure 1), which incorporates the processor with joint control algorithms and the amplifiers
for servos.
Figure 1. Scorbot ER-IX in the laboratory
The robot arm is vertically articulated by a harmonic transmission for each of the five
joints. The feedback system uses optical encoders type C for high repeatability of the robot.
The Scorbot ER-IX has a strong mechanical structure, which achieves high precision and high
speed. The maximum load is 2kg and the robot has continued full trajectory. The driver
Scorbot ER-IX ACL type B has two channels of communication RS232 (expandable to 10
channels) and a bidirectional parallel port. His Motorola 68020 CPU allows multitasking up
to 20 programs. The math coprocessor Motorola MC68881 allows faster calculations. The
driver SCORBOT-ER IX is equipped with 6 DC servo axes, and total access to control
parameters, and it can be programmed from 2 programming languages: Scorbase or ACL.
2. Working space
Figure 2 shows the dimensions of working space of the robot. The axis 1, corresponding
to the base, is limited to 270º. Axis 2, of the lower arm, has an angle of 240º, and axis 3 of the
upper arm an angle of 210º. The axis 4, corresponding to the lifting of the gripper, can be
rotated 196 º. Finally, the gripper can rotate 737 º (axis 5). The actuation radius if of 691mm,
and the work area has a shadow of 90º.
Upper view
Side view
Figure 2. Working space of the Scorbot ER-IX
3. Inverse kinematics
Although the calculations of inverse kinematics necessary in practice can be made by
using the simulator, the equations of inverse kinematics for the robot Scorbot ER-IX that
allow these calculations manually are shown below. These equations may be useful for
checks.
While the direct cinematic problem has always one solution, the reverse may have
several solutions, and not all of them are physically correct. Resolving the inverse kinematics
gives all the ways to achieve the desired position (different solutions to the problem), but
without considering the physical limits of the robot and its surroundings, neither any
restrictions that must be applied. In any case, among the possible solutions, several or even all
of them will be discarded to take into account those limits and restrictions, considering also
the outline of the robot shown in Figure 3.
The solutions of the inverse kinematics will be fond by means of some expressions from
which are obtained each of the joint coordinates according to specific Cartesian coordinates.
2
Figure 2. Scheme of the Scorbot ER-IX
In the calculation of inverse kinematics the Pieper’s method has been used, which
implies that the first three joint variables (q1, q2 and q3) will establish the position of the end
of the robot, and the last two (q4 and q5) will establish the orientation.
The position of the end of the robot is determined by the following homogeneous
transformation matrix:
⎡ x x0
⎢ extremo
0
⎢ y xextremo
⎢z 0
⎢ xextremo
⎢⎣ 0
x y0
xz0
y y0
y z0
z y0
z z0
extremo
extremo
extremo
0
extremo
extremo
extremo
0
3
0
⎤
xextremo
⎥
0
yextremo
⎥
0
z extremo ⎥
⎥
1 ⎥⎦
Where:
l1=39.25, l2=9.00, l3=10.00, l4=28.00, l5=23.00, l6=6.5, l7=24.55
To implement the Pieper’s algorithm it is necessary the decoupling of the position.
Therefore, the Cartesian position of link 3 must be obtained from the position of end of the
robot with the next transformation, where pm is the Cartesian position of the calliper (end of
joint 3), pr is the Cartesian position of the gripper, the l7 is the length of the final part of the
robot and z5 part of the definition of the desired orientation:
pm = p r − l 7 ⋅ z 5
[
z5 = xz0
[
extremo
, y z0
extremo
, z z0
extremo
] [
]
[
0
0
0
pr = xextremo
, yextremo
, z extremo
[
]
]
0
0
0
− l7 × x z 0
pm = x pm , y pm , z pm = xextremo
, y extremo
, z extremo
0
x pm = xextremo
− l7 ⋅ x z 0
extremo
0
y pm = yextremo
− l7 ⋅ y z 0
extremo
extremo
, y z0
extremo
, z z0
extremo
]
0
z pm = z extremo
− l7 ⋅ z z 0
extremo
Where q1 is determinated by:
2
2
⎛ − m⋅ x ± y
x pm + y pm − m 2
pm
pm
⎜
q1 = arcsin⎜
2
2
x pm + y pm
⎜
⎝
⎞
⎟
⎟
⎟
⎠
Considering that:
m = l 6 − l3
It can be seen that q1 has 4 solutions, depending on the sign of the square root and the
sign of arcosine. For obtaining q2 and q3 the following expressions are used:
⎛ − al S ± a 2 + b 2 − l 2 S 2
5 3
5 3
q 2 = arcsin⎜
⎜
a2 + b2
⎝
⎞
⎟ + 90
⎟
⎠
⎛ a 2 + b 2 − l42 − l52 ⎞
⎟⎟ − 12'4
q3 = arccos⎜⎜
2l4l5
⎝
⎠
Where:
a = x pm ⋅ C1 + y pm ⋅ S1 − l 2
b = l1 − z pm
S i = sin (qi )
Ci = cos(qi )
Finally, to obtain q4 y q5 the following expressions are used:
4
(
q4 = arccos − xz 0
extremo
C1 (C2 S3 + S 2C3 ) − y z 0
(
extremo
q5 = arcsen x x 0
extremo
S1 (C2 S3 + S 2C3 ) + z z 0
S1 − y x 0
extremo
)
extremo
(S 2 S3 − C2C3 ))+ 18º
C1 + 2º
It can be appreciated that each of the equations obtained has several solutions, and by
combining the different solutions of each one of them all solutions to the problem cinematic
reverse are available.
The easiest way to apply these equations to multiple values is to prepare a spreadsheet
with them, or making a small program in a language such as Matlab.
5