Derive the homogeneous transformation matrices of consecutive coordinates and the homogeneous transformation matrix from the final link coordinate o the world coordinate.3 Using the Robo
Trang 1HO CHI MINH CITY UNIVERSITY OF TECHNOLOGYFALCUTY OF MECHANICAL ENGINEERING
DIVISION OF MECHATRONICS
TERM PROJECT REPORTROBOTICS (ME3015)
Instructor: Assoc Prof PhD Nguyễn Quốc Chí
Student: Lê Xuân Phúc
Trang 2d.Maximum travel speed 6
e.The communication with other systems 6
2.The forward kinematics of the robot 7
a.Assign coordinates using D-H convention 7
b.The D-H Table 7
3.Using the robotics Toolbox 10
a.Declare the robot 10
b.The transformation matrices 10
c.Compare with the result from Question 2 12
4.Verify the robot forward kinematic 16
Trang 3Term project request
Consider a KUKA industrial robot Please use the last digit of your student ID to find the robot assigned to you For example, you can come to the folder "Technical manuals of robots," the robot types are listed from 0 to 9, and pick the number same at the last digit of your student ID Then, with the KUKA robot assigned, please do the following
1) Based on the technical manuals, describe the main specifications of the robot, which include workspace, accuracy, payload, the maximum travel speed of the end effector, and the communication with other systems
2) Derive the forward kinematics of the robot
a Assign the coordinate by using the D-H convention b Describe the D-H table.
c Derive the homogeneous transformation matrices of consecutive coordinates and the homogeneous transformation matrix from the final link coordinate o the world coordinate.
3) Using the Robotics Toolbox
a Declare the robot (define robot by declaring some parameters)
b "Prinf" the homogeneous transformation matrices of consecutive coordinates and the homogeneous transformation matrix from the final link coordinate o the world coordinate.
c Compare the results with the one yielded by Question 2.
4) Verify the forward kinematics of robot position by using the Robotics Toolbox performed 2) and 3) with three cases The position of the robot for each case should be plotted 5) Pick up a point and a vector (for the direction of the end effector) Using this data and the
Robotics Toolbox, solve the inverse kinematics of the robot Verify the correctness of the solution with the forward kinematics (using Robotics Toolbox again).
Hint: You can follow the technical report "Modeling and Control of a Bending Backwards Industrial Robot"
3
Trang 4Term project
Consider a KUKA industrial robot From ID Student: 1852067, search the folder "Technical
1 Main specifications of the robota Workspace
- The robot can be installed on either wall or ceiling With the first link has a wide range of motion: ± 185°, can cover a circular pattern, while the second link, with the arc angle from –135° to +35° can cover a circular plane perpendicular to the first one The third link is similar to the second, but can rotate from -120° to +158°.
- The other links (fourth, fifth, sixth) can be rotate an angle of ± 350°, ± 119°,± 350° respectively With the given rotation angles and link lengths from the figure 1 below, we can visualize and approximate the working space as a spherical shape.
- If the tool is not included and not taking the radius of mounting flange into account,
robot’s base that is fixed into the floor.
intersection of axes 4 and 5.
Fig 1.1 The top view (bottom) of the working space of the robot.
4
Trang 5Fig 1.2 The side view (upper) of the working space of the robot.
b Accuracy
- The repeatability (the accuracy or displacement of the end effector compare to the location of it in the last task, each time the robot redo it task) of this robot is ± 0.05 mm.
c Payload
- For this robot type, the rated payload, the supplementary load with rated payload and the maximum total distributed load is 30kg, 35kg and 65kg, respectively However, it should be noted that the load specification also depends on the location of the object’s center of mass that the robot works with to the location of the end effector assigned coordinate.
5
Trang 6Fig 1.3 Load center of gravity and loading curve for KR 30 HA
d Maximum travel speed
compared to the 5 link.th
e The communication with other systems
- To communicate, each robot is equipped with a controller, whose control and power electronics are integrated in a common cabinet
- The controller is compact, user-friendly in term of communicating with human operators
- The communication line between the robot and the controller are connecting cables that contain all the relevant energy supply and signal lines
- The cable connections are plug-in types, same as the energy and fluid supply lines.
6
Trang 72 The forward kinematics of the robota Assign coordinates using D-H convention
- From page 21, we can assign the coordinates:
Fig 2.1 Assigned coordinates of the robot.
- The frame 0 (for first link) is set coincidence to the world coordinate (which is not presented in this figure, but they are coincidence in Matlab robotic toolbox figure).
c The homogenous transformation matrices
From the formula (p.31[2]), we obtain the following transformation matrices:
7
Trang 8- Using Matlab we obtain the homogeneous transformation matrixes of consecutive coordinate (1T ,2T, T ,34T ,5T, T6 ) and the homogeneous transformation matrixes of world coordinate (T¿ ¿6 as follow:
Trang 103 Using the robotics Toolboxa Declare the robot
- Because the matrix with symbolic varibles will result in terribly long result, which makes it very difficult to check, so a specific set of joint angles is used.
can set the initial angles for the robot as follows:
θ1=θ2=90 ° ;θ3=θ θ4= 5=θ6=0 °;
- Based on (p.8[1]) , (p.349[3]) and ([4]), the input angles in Matlab as shown below (the array in the r.plot() command ) is manually converted to radian, the code is written:
Fig 3.1 Assigned coordinates of the robot.
b The transformation matrices
- Homogeneous transformation matrices of consecutive coordinates (
1 , T2 , T3 , T4 , T5 ∧ T6 )
- The code using Peter Corke’s Robotic toolbox:
%% bai 3a & bai 4
%create an object for robot in Matlab %Link([Theta d a alpha], CONVENTION)
Trang 11L(3) = Link([0 0 0.145 pi/2], 'standard'); L(4) = Link([0 0.82 0 -pi/2], 'standard'); L(5) = Link([0 0 0 pi/2], 'standard');
KR30HA = SerialLink(L, 'name', 'KR30HA'); % Assign initial angles
- The consecutive transformation matrix for each pair of links can be obtain using syntax “SerialLink.A” (line 23), based on ([5]) By changing the first number in the bracket in (line 23), the other consecutive matrices are obtained:
11
Trang 12Fig 3.2 The resulting homogeneous transformation matrices
- Based on p.22[3], we can use the toolbox function “fkine” to obtain the homogeneous transformation matrice of consecutive coordinate as well as the one for the world coordinate:
Fig 3.3 The resulting homogeneous transformation matrix from the code
c Compare with the result from Question 2
- The code will be:
Trang 13T56 = DH(0, 0.17, 0, 0);
T06 = T01*T12*T23*T34*T45*T56;
function transform_matrix = DH(theta, d, a, alpha)
transform_matrix = [cosd(theta), -sind(theta)*cosd(alpha), sind(theta)*sind(alpha),
Trang 14Fig 3.3 The resulting homogeneous transformation matrices after manually calculated
we only need to re-check once.
- Translation part: From fig 5, to check the position we use the outmost right column, which shows us that the position of O6 to O0 (in fig 3) on x, y, z axis respectively is
horizontal dimensions in fig 1 Getting back in fig 1: + Vertical length: 0.815+0.85+0.145=1.81 (m)
+ Horizontal length: 0.35+0.82+0.17=1.34 (m) So the translational results are correct.
- Rotation part: In fig 3, to get to the final frame O6, we need rotate frame O0 about Ox axis an angle of -90° then continue to rotate it about Oz axis an angle of -90° Therefore, using commands rotx and rotz, we have:
14
Trang 15Fig 3.4 The rotational part of the homogenous transformation matrices
3x3 matrix) of matrix T in Fig3.3 is correct.
Fig 3.5 The compared results in ZOY plane using code
15
Trang 164 Verify the robot forward kinematic
- Plot the position for the robot:
Fig 4.1 XZ plane view (top right) of the robot
Fig 4.2 YZ plane view (bottom right) of the robot 16
Trang 17Fig 4.3 Isometric view of the robot
- Input the code like the first case, we will still have the same answer:
Fig 4.4 Resulting homogeneous matrices for case 2 in 2 methods
Trang 18Fig 4.5 XZ plane (top view) of the robot
Fig 4.6 Isometric view (top left view) of the robot
18
Trang 19Fig 4.7 XY plane view (bottom left view) of the robot
- Input the code like the first case, we will still have the same answer:
Fig 4.8 Resulting homogeneous matrices for case 3 in 2 methods
5 Solve the inverse kinematics of the robot
- We pick a random point and vector (for the direction of the end effector):
Trang 20P06 = transl([1.75 0.5 1]); %Declare the position matrix R06 = eul2tr(0,0,0,'deg'); %Declare the orientation matrix T2 = P06*R06; %Obtain the transformation matrix
theta_inverse = KR30HA.ikunc(T2); %Get the joint angles from inverse kinematics T3 = KR30HA.fkine(theta_inverse); %Verify the inverse kinematics solution KR30HA.plot(theta_inverse); %Plot the robot
theta_inverse = theta_inverse*180/pi; % Convert to degrees KR30HA.islimit(theta_inverse);
Fig 5.1 The joint angles of the inverse kinematics
- Plot the position for the robot:
Fig 5.2 Isometric view of the robot 20
Trang 21Fig 5.3 XZ plane view (top right view) of the robot
Fig 4.7 XY plane view (bottom left view) of the robot 21
Trang 226 Reference
- [1] KUKA Spez KR 30 HA, KR 60 HA de/en/fr
- [3] Modeling and control industrial robot using robotics Toolbox
- [4] Robotic 08_ Robot Simulation using matlab (DH parameter using Peter corke toolbox)_part3, uploaded by Amr Zamel, “https://www.youtube.com/watch?