0% found this document useful (0 votes)
4 views

Lab 3

The document discusses representing robot kinematics using the Denavit-Hartenberg (DH) convention. It provides examples of: 1) Defining individual frames of a 3R robot using DH parameters and homogeneous transformations. 2) Creating a serial robot model from individual links defined using the Robotics Toolbox Link class. 3) Computing the forward kinematics and plotting the robot configuration using methods in the SerialLink class.

Uploaded by

N M
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Lab 3

The document discusses representing robot kinematics using the Denavit-Hartenberg (DH) convention. It provides examples of: 1) Defining individual frames of a 3R robot using DH parameters and homogeneous transformations. 2) Creating a serial robot model from individual links defined using the Robotics Toolbox Link class. 3) Computing the forward kinematics and plotting the robot configuration using methods in the SerialLink class.

Uploaded by

N M
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

University of Sana’a

Faculty of Engineering
Mechatronics Eng. Department

MT502 - Robotics

Lab.3 : Forward Kinematics

Eng. Yahya AL-Lathi


Represent individual Frames of a Robot using MDH (Denavit–Hartenberg)

➢ To represent the Frames of a manipulator.


Represent individual Frames of a Robot using MDH

➢ To represent the Frames of a manipulator.


T_i-1_i = trotx(alpha_i_1) * transl(a_i_1,0,0) * trotz(theta_i) * transl(0,0,d_i)
Represent individual Frames of a Robot using MDH

➢ Example-1:

L1 = 20, L2 = 15
Represent individual Frames of a Robot using MDH
➢ Example-1:
Syms theta_1 theta_2 theta_3
T_0_1 = trotz(theta_1)
T_1_2 = transl(20,0,0) * trotz(theta_2)
T_2_3 = transl(15,0,0) * trotz(theta_3)

L1 = 20, L2 = 15
Pose of The Robot

➢ To represent the tool frame of a manipulator with respect to base frame.

T_n= T_0_1 * T_1_2 * T_2_3 *….. * T_n-1_n


Pose of The Robot

➢ Example-2:
theta_1= pi/6;
theta_2 = pi/4;
theta_3 = pi/3;
T_0_1 = trotz(theta_1);
T_1_2 = transl(20,0,0) * trotz(theta_2);
T_2_3 = transl(15,0,0) * trotz(theta_3);
T_3 = T_0_1 * T_1_2 * T_2_3

L1 = 20, L2 = 15
Theta1 = 30, theta2 = 45, theta3 = 60
Try the following:
-Plot themanipulator.
-Animate manipulator as
theta1 change from(5 to 80).
The Robot D-H Table using Robotics Toolbox
➢ Robot manipulator Link class.
Link([theta, d, a, alpha,0]) (for revolute joint)(for standard D-H)

>>L = Link([0, 0.1, 0.2, pi/2, 0]) or


>> L = Link([0, 0.1, 0.2, pi/2])

L=
theta=q, d= 0.1 , a=0.2, alpha= 1.571, offset= 0 (R,stdDH)

Link([theta, d, a, alpha,1]) (for Prismatic joint)(for standard D-H)

>> L = Link([0, 0.1, 0.2, pi/2,1])

L=
theta= 0, d=q, a= 0.2, alpha= 1.571, offset= 0 (P,stdDH)
The Robot D-H Table using Robotics Toolbox

➢ To Add more Links:


L(1) = Link('alpha', 0, 'a', 0, 'd', 0);
L(2) = Link('alpha', 0, 'a', 20, 'd', 0);
L(3) = Link('alpha', 0, 'a', 15, 'd', 0);
L

L1 = 20, L2 = 15
The Robot D-H Table using Robotics Toolbox

➢ Create a manipulator from set of links:


L(1) = Link('alpha', 0, 'a', 0, 'd', 0);
L(2) = Link('alpha', 0, 'a', 20, 'd', 0);
L(3) = Link('alpha', 0, 'a', 15, 'd', 0);
RRR_manp= SerialLink(L, 'name', 'RRR')

L1 = 20, L2 = 15
The Robot D-H Table using Robotics Toolbox

➢ Using some of the L(1) = Link('alpha', 0, 'a', 0, 'd', 0);


methods in SerialLinkclass: L(2) = Link('alpha', 0, 'a', 20, 'd', 0);
L(3) = Link('alpha', 0, 'a', 15, 'd', 0);
RRR_manp= SerialLink(L, 'name', 'RRR’)
RRR_manp.fkine([pi/6 pi/4 pi/3])
%%
RRR_manp.plot([pi/6 pi/4 pi/3],'top’)
%%
RRR_manp.plot([pi/6 pi/4 pi/3])
RRR_manp.teach()
%%
>> RRR_manp.n; %% no. Of joints
Pose of The Robot
➢ Example-4:
-find 𝑇60 in symbolic form?

➢ Try the following:


-Plot the manipulator.
-Animate the manipulator
using teach method.
The Robot D-H Table using Robotics Toolbox
➢ Some examples of robots in Robotics Toolbox:

mdl_twolink
robot_copy= SerialLink(twolink, 'name', 'my_robot')
new_robot= twolink* robot_copy
new_robot.teach()

mdl_puma560
p560.teach()
Pose of The Robot

➢ Example_5:
The Stanford Arm find 𝑇60
Any Questions ?!
Eng. Yahya AL-Lathi

You might also like