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