Forward kinematics model using DH parameters in MATLAB

Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
1 reply · 4K views
Joon
Messages
85
Reaction score
2
Homework Statement
Derive the forward kinematics model in MATLAB using the DH parameters provided.
Relevant Equations
The homogeneous transformation matrix has the form shown in the attached image.
5 links (thus 6 frames) and corresponding theta, alpha, d and a values are all given.
However, I'm not sure how to start coding the DH parameters to derive a forward kinematics model.

I know that I'll have to use matrix operators, but do I just put in the values of the 4 factors mentioned above in the transformation matrix in the attached image and then calculate the transformation matrix from the origin to the end-effector?
Please help. Thanks.
 

Attachments

  • pic.png
    pic.png
    5.8 KB · Views: 437
Last edited:
Physics news on Phys.org
Below is my code. I have all the DH parameters that will allow me to calculate the end effector position.
I'm not sure where to input the values of thetas 1 ~5 shown at the bottom. Please help.

function [T] = getTransformMatrix(theta, d, a, alpha)
T = [cosd(theta) -sind(theta) * cosd(alpha) sind(theta) * sind(alpha) a * cosd(theta);...
sind(theta) cosd(theta) * cosd(alpha) -cosd(theta) * sind(alpha) a * sind(theta);...
0,sind(alpha),cosd(alpha),d;...
0,0,0,1];
end

function [T00,T01,T12,T23,T34,T45,EndEffector] = forwardKinematics(theta1, theta2, theta3, theta4, theta5)T00 = [1 0 0 0; 0 1 0 0; 0 0 1 0; 0 0 0 1];
T01 = getTransformMatrix(theta1,10.25,0,90);
T12 = getTransformMatrix(theta2,0,9,0);
T23 = getTransformMatrix(theta3,0,9,0);
T34 = getTransformMatrix(theta4,0,0,90);
T45 = getTransformMatrix(theta5,6.25,0,0);
EndEffector = T00 * T01 * T12 * T23 * T34 * T45;

end

theta1 = 30;
theta2 = 45;
theta3 = -90;
theta4 = 45;
theta5 = 60;
 
Last edited: