SlideShare a Scribd company logo
1 of 11
Download to read offline
1
Model of Robotic Manipulator with Revolute and
Prismatic Joints
03/25/2016
Travis Heidrich
Report Contents:
Dimensions of the Robot 2
Denavit-Hartenberg Parameters 2-3
MATLAB Script 3-5
Frame Transformation Matrices 6
Reachable Workspace for Manipulator 7-8
Inverse Kinematics for Manipulator 8-9
Jacobian and Singularity 10
Angular and Linear Velocities, Forces, and Torques of Robot 11
2
Dimensions of Robot
L1 = 1 m; L2 = 0.5 sin(45Β°) = 0.3536 m; LE = 0.5 m
D-H Parameters
Figure 1: Reference Frames and Dimensions of the three link robot
3
Table 1: D-H Parameter Table for all frames of the robot
i Ξ±i - 1 ai - 1 di - 1 ΞΈi
1 0 0 L1 ΞΈ1 + 135Β°
2 L2 90Β° d2 0
3 0 0 0 ΞΈ3
E 0 -90Β° LE 0
MatLab Script
%Solutions
clear all
close all
%Robot Dimensions
L_1 = 1; %meters
L_2 = 0.5*sind(45); %meters
L_E = 0.5; %meters
syms ai alphai di thetai theta1 d_2 theta3
T_x=[1 0 0 0;0 cos(alphai) -sin(alphai) 0;0 sin(alphai) cos(alphai) 0;0 0 0
1];
D_x=[1 0 0 ai;0 1 0 0;0 0 1 0;0 0 0 1];
T_z=[cos(thetai) -sin(thetai) 0 0;sin(thetai) cos(thetai) 0 0;0 0 1 0 ;0 0 0
1];
D_z=[1 0 0 0;0 1 0 0;0 0 1 di;0 0 0 1];
%Link the reference frames into one homogeneous transform matrix
AtB=T_x*D_x*T_z*D_z;
%Transformation from frame 0 to frame 1
ai = 0;
alphai = 0;
di = L1;
thetai = theta1 + 3*pi/4;
T_01 = subs(AtB);
iT_01 = inv(T_01);
%Transformation from frame 1 to frame 2
ai = L_2;
alphai = pi/2;
di = d_2;
thetai = 0;
T_12 = subs(AtB);
%iT_12 = inv(T_12);
%Transformation from frame 2 to frame 3
ai = 0;
4
alphai = 0;
di = 0;
thetai = theta3;
T_23 = subs(AtB);
%Transformation from frame 3 to frame E
ai = 0;
alphai = -pi/2;
di = LE;
thetai = 0;
T3E = subs(AtB);
%iT3E = inv(T3E);
% Linking the Transformations
T_02 = T_01*T_12;
T_03 = T_01*T_12*T_23;
T_0E = T_01*T_12*T_23*T_3E;
T_1E = T_12*T_23*T_3E;
T_2E = T_23*T_3E;
x = T_0E(1,4);
y = T_0E(2,4);
z = T_0E(3,4);
%Inverse Kinematics for robot
syms px py pz
theta3 = solve( pz == z, theta3);
[d_2, theta1] = solve(px == x, py == y, d_2, theta1);
%Rotation Matrices frame to frame
R_01 = T_01(1:3,1:3);
R_12 = T_12(1:3,1:3);
R_23 = T_23(1:3,1:3);
R_3E = T_3E(1:3,1:3);
R_02 = R_01*R_12;
R_03 = R_01*R_12*R_23;
R_0E = R_01*R_12*R_23*R_3E;
%Forces 10,5,and 1
f_EE = [10;5;1];
f_33 = R_3E*f_EE;
f_22 = R_23*f_33;
f_11 = R_12*f_22;
f_00 = R_01*f_11;
%Vectors between D-H Origins
P_01 = T_01(1:3,4);
P_12 = T_12(1:3,4);
P_23 = T_23(1:3,4);
P_3E = T_3E(1:3,4);
P_00 = [0;0;0];
P_02 = T_02(1:3,4);
P_03 = T_03(1:3,4);
P_0E = T_0E(1:3,4);
5
%Robot Torques
n_EE = zeros(3,1);
n_33 = R_01*n_EE + cross(P_3E,f_33);
n_22 = R_01*n_33 + cross(P_23,f_22);
n_11 = R_01*n_22 + cross(P_12,f_11);
n_00 = R_01*n_11 + cross(P_01,f_00);
t_0 = transpose(n_00)*[0;0;1];
t_1 = transpose(n_11)*[0;0;1];
t_2 = transpose(f_22)*[0;0;1];
t_3 = transpose(n_33)*[0;0;1];
t_E = zeros(3,1);
%Velocities
syms theta1Dot theta2Dot theta3Dot d_2Dot
%Unit Vectors
u_i = [1;0;0];
u_j = [0;1;0];
u_k = [0;0;1];
%Angular rotations
z_00 = u_k;
z_01 = R_01*u_k;
z_02 = R_02*u_k; %Prismatic
z_03 = R_03*u_k;
J_angular = [z00, 0*z01, z02];
Omega_0E = theta1Dot*u_k + 0 + theta3Dot*R_02*u_k + 0;
%Linear
J_linear = [cross(z_00,P_0E – P_00), z_02, cross(z_02,P_0E – P_02)];
%linear velocity equations
W_00 = zeros(3,1);
w_11 = inv(R_01)*w_00+[0;0;1]*theta1Dot;
w_22 = inv(R_12)*w_11+[0;0;0]*theta2Dot;
w_33 = inv(R_23)*w_22+[0;0;1]*theta3Dot;
w_EE = zeros(3,1);
v_00 = zeros(3,1);
v_11 = inv(R_01)*(v_00+cross(w_00,P_01));
v_22 = inv(R_12)*(v_11+cross(w_11,P_12))+d_2Dot*[0;0;1]; %Prismatic
v_33 = inv(R_23)*(v_22+cross(w_22,P_23));
v_EE = inv(R_3E)*(v_33+cross(w_33,P_3E));
v_0E = R_0E*v_EE;
6
Frame Transformation Matrices
𝑇0
1
=
[
βˆ’sin (
πœ‹
4
+ πœƒ1) βˆ’cos (
πœ‹
4
+ πœƒ1) 0 0
cos (
πœ‹
4
+ πœƒ1) βˆ’ sin (
πœ‹
4
+ πœƒ1) 0 0
0 0 1 1
0 0 0 1]
𝑇1
2
=
[
1 0 0
√2
4
0 0 βˆ’1 βˆ’π‘‘2
0 1 0 0
0 0 0 1 ]
𝑇2
3
= [
cos(πœƒ3) βˆ’sin(πœƒ3) 0 0
sin(πœƒ3) cos(πœƒ3) 0 0
0 0 1 0
0 0 0 1
]
𝑇3
𝐸
=
[
1 0 0 0
0 0 1
1
2
0 0 1 0
0 0 0 1]
𝑇0
𝐸
=
[
βˆ’ cos(πœƒ3) βˆ— sin(
πœ‹
4
+ πœƒ1) βˆ’cos(
πœ‹
4
+ πœƒ1) sin(πœƒ3) βˆ— sin (
πœ‹
4
+ πœƒ1)
(sin(πœƒ3) βˆ— sin(
πœ‹
4
+ πœƒ1))
2
+ 𝑑2 βˆ— cos (
πœ‹
4
+ πœƒ1) βˆ’
(√2 βˆ— sin(
πœ‹
4
+ πœƒ1))
4
cos(πœƒ3) βˆ— sin(
πœ‹
4
+ πœƒ1) βˆ’π‘ π‘–π‘›(
πœ‹
4
+ πœƒ1) βˆ’ cos (
πœ‹
4
+ πœƒ1) βˆ— sin(πœƒ3)
(√2 βˆ— cos (
πœ‹
4
+ πœƒ1))
4
βˆ’
(cos (
πœ‹
4
+ πœƒ1) βˆ— sin(πœƒ3))
2
+ 𝑑2 βˆ— sin(
πœ‹
4
+ πœƒ1)
sin(πœƒ3) 0 cos(πœƒ3)
cos(πœƒ3)
2
+ 1
0 0 0 1 ]
7
Reachable Workspace for Manipulator
Figure 2: X-Z Plane View of reachable workspace
Figure 3: X-Y Plane View of reachable workspace
8
Figure 4: Trimetric view of reachable workspace
Inverse Kinematics for Manipulator
𝑇0
𝐸
= [
π‘Ÿ11 π‘Ÿ12 π‘Ÿ13 𝑝 π‘₯
π‘Ÿ21 π‘Ÿ22 π‘Ÿ23 𝑝 𝑦
π‘Ÿ31 π‘Ÿ32 π‘Ÿ33 𝑝𝑧
0 0 0 1
]
𝑝𝑧 =
cos(πœƒ3)
2
+1
𝑝 𝑦 =
(√2 π‘π‘œπ‘  (
πœ‹
4 + πœƒ1))
4
βˆ’
( π‘π‘œπ‘  (
πœ‹
4 + πœƒ1) 𝑠𝑖𝑛(πœƒ3))
2
+ 𝑑2 𝑠𝑖𝑛 (
πœ‹
4
+ πœƒ1)
𝑝 π‘₯ =
( 𝑠𝑖𝑛(πœƒ3) 𝑠𝑖𝑛 (
πœ‹
4 + πœƒ1))
2
βˆ’
(√2 𝑠𝑖𝑛 (
πœ‹
4 + πœƒ1))
4
+ 𝑑2 π‘π‘œπ‘  (
πœ‹
4
+ πœƒ1)
Solving for ΞΈ3
πœƒ3 = Β± cosβˆ’1(2𝑝𝑧 βˆ’ 2)
Substituting ΞΈ3 and solving for ΞΈ1 and d2
πœƒ1 = 2 tanβˆ’1
(4𝑝 𝑦 Β± √2√(8𝑝 π‘₯
2 βˆ’ 2√2 sin(πœƒ3) + cos(2πœƒ3) + 8𝑝 𝑦
2 βˆ’ 2)) βˆ’
3πœ‹
4
9
𝑑2 = Β±
(√2√(8𝑝 π‘₯
2 + 8𝑝 𝑦
2 + cos(2πœƒ3) + 2√2 sin(πœƒ3) βˆ’ 2))
4
Solutions for the point: (-0.275, 0.6125, 1.4375)
πœƒ3 = Β± 0.5054 π‘Ÿπ‘Žπ‘‘
πœƒ1
𝑑2
= {
βˆ’5.2426 0.1163 βˆ’1.7674 βˆ’0.8431 π‘Ÿπ‘Žπ‘‘
0.6621 0.3099 βˆ’0.6621 βˆ’0.3099 π‘š
Solution set to satisfy the limits is
πœƒ3 = 0.5054 π‘Ÿπ‘Žπ‘‘
πœƒ1 = βˆ’5.2426 π‘Ÿπ‘Žπ‘‘ = 1.0406 π‘Ÿπ‘Žπ‘‘
𝑑2 = 0.6621 π‘š
Where d2 for both the offset L2 and the 0.1 m limit.
𝑑2 βˆ’ 𝐿2 βˆ’ 0.1 = 0.2085 π‘š
Figure 5: MatLab output of robot configured with the inverse kinematic solution
10
Jacobian
[
cos (
πœ‹
4
+ πœƒ1) βˆ— sin(πœƒ3)
2
βˆ’
√2 βˆ— cos (
πœ‹
4
+ πœƒ1)
4
βˆ’ 𝑑2 βˆ— sin (
πœ‹
4
+ πœƒ1) cos (
πœ‹
4
+ πœƒ1)
cos(πœƒ3) βˆ— sin (
πœ‹
4
+ πœƒ1)
2
sin(πœƒ3) βˆ— sin (
πœ‹
4 + πœƒ1)
2
βˆ’
√2 βˆ— sin (
πœ‹
4 + πœƒ1)
4
+ 𝑑2 βˆ— cos (
πœ‹
4
+ πœƒ1) sin(
πœ‹
4
+ πœƒ1) βˆ’
cos(πœƒ3) βˆ— cos (
πœ‹
4 + πœƒ1)
2
0 0
βˆ’ sin(πœƒ3)
2
0 0 βˆ’ cos (
πœƒ
4
+ πœƒ1)
0 0 sin (
πœƒ
4
+ πœƒ1)
1 0 0 ]
𝐷𝑒𝑑(π½π‘™π‘–π‘›π‘’π‘Žπ‘Ÿ) =
𝑑2 βˆ— sin(πœƒ3)
2
𝐷𝑒𝑑(𝐽 π‘Žπ‘›π‘”π‘’π‘™π‘Žπ‘Ÿ) = 0
Singularities
When determinate of Jacobian = 0
The was no determinate for the angular Jacobian
There was no theta 1 that resulted in singularities
Given theta3 = 0 and pi
For d_2 < = 0.5(sin(45)) + 0.1
OR
d_2 > 0.5(sin(45)) + 0.5
11
Angular and Linear Velocities, Forces, and
Torques of Robot
Table 2: The angular velocity of the end effector
πœ”0𝐸
πœƒΜ‡3 βˆ— sin(
3πœ‹
4
+ πœƒ1) βˆ’πœƒΜ‡3 βˆ— cos(
3πœ‹
4
+ πœƒ1)
πœƒΜ‡1
Table 3: The linear velocity of the end effector
𝑣0𝐸 𝑣 π‘₯ =
πœƒΜ‡1βˆ—sin(πœƒ1)
4
βˆ’
πœƒΜ‡1βˆ—cos(πœƒ1)
4
βˆ’
√2βˆ—π‘‘Μ‡2βˆ—sin(πœƒ1)
2
+
√2βˆ—π‘‘Μ‡2βˆ—cos(πœƒ1)
2
βˆ’
√2βˆ—πœƒ1
Μ‡ βˆ—sin(πœƒ1)βˆ—sin(πœƒ3)
4
βˆ’
(√2βˆ—π‘‘2βˆ—πœƒ1
Μ‡ βˆ—cos(πœƒ1))
2
βˆ’
(√2βˆ—π‘‘2βˆ—πœƒ1
Μ‡ βˆ—sin(πœƒ1))
2
+
√2βˆ—πœƒΜ‡3βˆ—cos(πœƒ1)βˆ—cos(πœƒ3)
4
+
√2βˆ—πœƒΜ‡1βˆ—cos(πœƒ1)βˆ—sin(πœƒ3)
4
+
√2βˆ—πœƒΜ‡3βˆ—cos(πœƒ3)βˆ—sin(πœƒ1)
4
𝑣 𝑦 =
√2βˆ—π‘‘Μ‡2βˆ—sin(πœƒ1)
2
βˆ’
πœƒΜ‡1βˆ—sin(πœƒ1)
4
βˆ’
πœƒΜ‡1βˆ—cos(πœƒ1)
4
+
√2βˆ—π‘‘Μ‡2βˆ—cos(πœƒ1)
2
+
√2βˆ—πœƒΜ‡1βˆ—sin(πœƒ1)βˆ—sin(πœƒ3)
4
+
√2βˆ—π‘‘2βˆ—πœƒΜ‡1βˆ—cos(πœƒ1)
2
βˆ’
√2βˆ—π‘‘2βˆ—πœƒΜ‡1βˆ—sin(πœƒ1)
2
βˆ’
√2βˆ—πœƒΜ‡3βˆ—cos(πœƒ1)βˆ—cos(πœƒ3)
4
+
√2βˆ—πœƒΜ‡1βˆ—cos(πœƒ1)βˆ—sin(πœƒ3)
4
+
√2βˆ—π‘‘2βˆ—πœƒΜ‡3βˆ—cos(πœƒ3)βˆ—sin(πœƒ1)
4
𝑣𝑧 = βˆ’
πœƒ3
Μ‡ sin(πœƒ3)
2
Table 4: The forces for each link with respect to each link’s frame in N
End Effector 𝐹π‘₯ = 10 𝐹𝑦 = 5 𝐹𝑧 = 1
Third Link 𝐹π‘₯ = 10 𝐹𝑦 = 1 𝐹𝑧 = βˆ’5
Second Link 𝐹π‘₯ = 8.266 𝐹𝑦 = 5.716 𝐹𝑧 = βˆ’5
First Link 𝐹π‘₯ = 8.266 𝐹𝑦 = 5 𝐹𝑧 = 5.716
Base 𝐹π‘₯ = -6.736 𝐹𝑦 =-6.925 𝐹𝑧 = 5.716
Table 5: Each joint torque in Nm:
End Effector 𝜏 𝐸 = 0
Third Link 𝜏3 = βˆ’5
Second Link 𝜏2 = βˆ’5
First Link 𝜏1 =2.240
Base 𝜏 𝑩 = 0

More Related Content

What's hot

Digital Signals and System (October – 2016) [Revised Syllabus | Question Paper]
Digital Signals and System (October  – 2016) [Revised Syllabus | Question Paper]Digital Signals and System (October  – 2016) [Revised Syllabus | Question Paper]
Digital Signals and System (October – 2016) [Revised Syllabus | Question Paper]Mumbai B.Sc.IT Study
Β 
Block diagram, Transfer Function from block diagram reduction, (8 Rules to re...
Block diagram, Transfer Function from block diagram reduction, (8 Rules to re...Block diagram, Transfer Function from block diagram reduction, (8 Rules to re...
Block diagram, Transfer Function from block diagram reduction, (8 Rules to re...Waqas Afzal
Β 
Circular convolution Using DFT Matlab Code
Circular convolution Using DFT Matlab CodeCircular convolution Using DFT Matlab Code
Circular convolution Using DFT Matlab CodeBharti Airtel Ltd.
Β 
Mechanical Engineering Assignment Help
Mechanical Engineering Assignment HelpMechanical Engineering Assignment Help
Mechanical Engineering Assignment HelpMatlab Assignment Experts
Β 
Convex Optimization Modelling with CVXOPT
Convex Optimization Modelling with CVXOPTConvex Optimization Modelling with CVXOPT
Convex Optimization Modelling with CVXOPTandrewmart11
Β 
DFT and IDFT Matlab Code
DFT and IDFT Matlab CodeDFT and IDFT Matlab Code
DFT and IDFT Matlab CodeBharti Airtel Ltd.
Β 
Digital Signals and System (May – 2016) [Revised Syllabus | Question Paper]
Digital Signals and System (May  – 2016) [Revised Syllabus | Question Paper]Digital Signals and System (May  – 2016) [Revised Syllabus | Question Paper]
Digital Signals and System (May – 2016) [Revised Syllabus | Question Paper]Mumbai B.Sc.IT Study
Β 
Time complexity (linear search vs binary search)
Time complexity (linear search vs binary search)Time complexity (linear search vs binary search)
Time complexity (linear search vs binary search)Kumar
Β 
Signal Flow Graph ( control system)
Signal Flow Graph ( control system)Signal Flow Graph ( control system)
Signal Flow Graph ( control system)Gourab Ghosh
Β 
Asymptotic Notation
Asymptotic NotationAsymptotic Notation
Asymptotic NotationProtap Mondal
Β 
Block diagram reduction techniques
Block diagram reduction techniquesBlock diagram reduction techniques
Block diagram reduction techniquesparimalagandhi ayyavu
Β 
Lesson 7: Vector-valued functions
Lesson 7: Vector-valued functionsLesson 7: Vector-valued functions
Lesson 7: Vector-valued functionsMatthew Leingang
Β 
GTR final project
GTR final projectGTR final project
GTR final projectChemistMikeLam
Β 
Rules of block diagram
Rules of block diagramRules of block diagram
Rules of block diagramManishDubey118
Β 
Asymptotic Notation and Complexity
Asymptotic Notation and ComplexityAsymptotic Notation and Complexity
Asymptotic Notation and ComplexityRajandeep Gill
Β 
Asymptotic notations(Big O, Omega, Theta )
Asymptotic notations(Big O, Omega, Theta )Asymptotic notations(Big O, Omega, Theta )
Asymptotic notations(Big O, Omega, Theta )swapnac12
Β 

What's hot (20)

Control chap3
Control chap3Control chap3
Control chap3
Β 
Digital Signals and System (October – 2016) [Revised Syllabus | Question Paper]
Digital Signals and System (October  – 2016) [Revised Syllabus | Question Paper]Digital Signals and System (October  – 2016) [Revised Syllabus | Question Paper]
Digital Signals and System (October – 2016) [Revised Syllabus | Question Paper]
Β 
2020 preTEST3A
2020 preTEST3A2020 preTEST3A
2020 preTEST3A
Β 
Block diagram, Transfer Function from block diagram reduction, (8 Rules to re...
Block diagram, Transfer Function from block diagram reduction, (8 Rules to re...Block diagram, Transfer Function from block diagram reduction, (8 Rules to re...
Block diagram, Transfer Function from block diagram reduction, (8 Rules to re...
Β 
Circular convolution Using DFT Matlab Code
Circular convolution Using DFT Matlab CodeCircular convolution Using DFT Matlab Code
Circular convolution Using DFT Matlab Code
Β 
Machnical Engineering Assignment Help
Machnical Engineering Assignment HelpMachnical Engineering Assignment Help
Machnical Engineering Assignment Help
Β 
Mechanical Engineering Assignment Help
Mechanical Engineering Assignment HelpMechanical Engineering Assignment Help
Mechanical Engineering Assignment Help
Β 
Convex Optimization Modelling with CVXOPT
Convex Optimization Modelling with CVXOPTConvex Optimization Modelling with CVXOPT
Convex Optimization Modelling with CVXOPT
Β 
DFT and IDFT Matlab Code
DFT and IDFT Matlab CodeDFT and IDFT Matlab Code
DFT and IDFT Matlab Code
Β 
Digital Signals and System (May – 2016) [Revised Syllabus | Question Paper]
Digital Signals and System (May  – 2016) [Revised Syllabus | Question Paper]Digital Signals and System (May  – 2016) [Revised Syllabus | Question Paper]
Digital Signals and System (May – 2016) [Revised Syllabus | Question Paper]
Β 
Time complexity (linear search vs binary search)
Time complexity (linear search vs binary search)Time complexity (linear search vs binary search)
Time complexity (linear search vs binary search)
Β 
Signal Flow Graph ( control system)
Signal Flow Graph ( control system)Signal Flow Graph ( control system)
Signal Flow Graph ( control system)
Β 
Asymptotic Notation
Asymptotic NotationAsymptotic Notation
Asymptotic Notation
Β 
Block diagram reduction techniques
Block diagram reduction techniquesBlock diagram reduction techniques
Block diagram reduction techniques
Β 
Lesson 7: Vector-valued functions
Lesson 7: Vector-valued functionsLesson 7: Vector-valued functions
Lesson 7: Vector-valued functions
Β 
Signal Processing Assignment Help
Signal Processing Assignment HelpSignal Processing Assignment Help
Signal Processing Assignment Help
Β 
GTR final project
GTR final projectGTR final project
GTR final project
Β 
Rules of block diagram
Rules of block diagramRules of block diagram
Rules of block diagram
Β 
Asymptotic Notation and Complexity
Asymptotic Notation and ComplexityAsymptotic Notation and Complexity
Asymptotic Notation and Complexity
Β 
Asymptotic notations(Big O, Omega, Theta )
Asymptotic notations(Big O, Omega, Theta )Asymptotic notations(Big O, Omega, Theta )
Asymptotic notations(Big O, Omega, Theta )
Β 

Similar to Model of Robotic Manipulator with Revolute and Prismatic Joints

Introduction to MatLab programming
Introduction to MatLab programmingIntroduction to MatLab programming
Introduction to MatLab programmingDamian T. Gordon
Β 
Umbra Ignite 2015: Rulon Raymond – The State of Skinning – a dive into modern...
Umbra Ignite 2015: Rulon Raymond – The State of Skinning – a dive into modern...Umbra Ignite 2015: Rulon Raymond – The State of Skinning – a dive into modern...
Umbra Ignite 2015: Rulon Raymond – The State of Skinning – a dive into modern...Umbra Software
Β 
Cgo2007 P3 3 Birkbeck
Cgo2007 P3 3 BirkbeckCgo2007 P3 3 Birkbeck
Cgo2007 P3 3 BirkbeckaiQUANT
Β 
A Dimension Abstraction Approach to Vectorization in Matlab
A Dimension Abstraction Approach to Vectorization in MatlabA Dimension Abstraction Approach to Vectorization in Matlab
A Dimension Abstraction Approach to Vectorization in MatlabaiQUANT
Β 
assignemts.pdf
assignemts.pdfassignemts.pdf
assignemts.pdframish32
Β 
Fourier series example
Fourier series exampleFourier series example
Fourier series exampleAbi finni
Β 
Idea for ineractive programming language
Idea for ineractive programming languageIdea for ineractive programming language
Idea for ineractive programming languageLincoln Hannah
Β 
Introduction to MATLAB
Introduction to MATLABIntroduction to MATLAB
Introduction to MATLABDamian T. Gordon
Β 
Linear transformation.ppt
Linear transformation.pptLinear transformation.ppt
Linear transformation.pptRaj Parekh
Β 
Amth250 octave matlab some solutions (1)
Amth250 octave matlab some solutions (1)Amth250 octave matlab some solutions (1)
Amth250 octave matlab some solutions (1)asghar123456
Β 
INTRODUCTION TO MATLAB presentation.pptx
INTRODUCTION TO MATLAB presentation.pptxINTRODUCTION TO MATLAB presentation.pptx
INTRODUCTION TO MATLAB presentation.pptxDevaraj Chilakala
Β 
Introduction to Artificial Neural Networks
Introduction to Artificial Neural NetworksIntroduction to Artificial Neural Networks
Introduction to Artificial Neural NetworksStratio
Β 
7600088.ppt
7600088.ppt7600088.ppt
7600088.pptMUST
Β 
CSCI 2033 Elementary Computational Linear Algebra(Spring 20.docx
CSCI 2033 Elementary Computational Linear Algebra(Spring 20.docxCSCI 2033 Elementary Computational Linear Algebra(Spring 20.docx
CSCI 2033 Elementary Computational Linear Algebra(Spring 20.docxmydrynan
Β 
COMPAPPABCA49085rFunrAP__Practical Number 9 & 10.docx
COMPAPPABCA49085rFunrAP__Practical Number 9 & 10.docxCOMPAPPABCA49085rFunrAP__Practical Number 9 & 10.docx
COMPAPPABCA49085rFunrAP__Practical Number 9 & 10.docxTashiBhutia12
Β 
Tall-and-skinny Matrix Computations in MapReduce (ICME MR 2013)
Tall-and-skinny Matrix Computations in MapReduce (ICME MR 2013)Tall-and-skinny Matrix Computations in MapReduce (ICME MR 2013)
Tall-and-skinny Matrix Computations in MapReduce (ICME MR 2013)Austin Benson
Β 

Similar to Model of Robotic Manipulator with Revolute and Prismatic Joints (20)

Introduction to MatLab programming
Introduction to MatLab programmingIntroduction to MatLab programming
Introduction to MatLab programming
Β 
Umbra Ignite 2015: Rulon Raymond – The State of Skinning – a dive into modern...
Umbra Ignite 2015: Rulon Raymond – The State of Skinning – a dive into modern...Umbra Ignite 2015: Rulon Raymond – The State of Skinning – a dive into modern...
Umbra Ignite 2015: Rulon Raymond – The State of Skinning – a dive into modern...
Β 
Laplace transforms
Laplace transformsLaplace transforms
Laplace transforms
Β 
Cgo2007 P3 3 Birkbeck
Cgo2007 P3 3 BirkbeckCgo2007 P3 3 Birkbeck
Cgo2007 P3 3 Birkbeck
Β 
A Dimension Abstraction Approach to Vectorization in Matlab
A Dimension Abstraction Approach to Vectorization in MatlabA Dimension Abstraction Approach to Vectorization in Matlab
A Dimension Abstraction Approach to Vectorization in Matlab
Β 
assignemts.pdf
assignemts.pdfassignemts.pdf
assignemts.pdf
Β 
Fourier series example
Fourier series exampleFourier series example
Fourier series example
Β 
Idea for ineractive programming language
Idea for ineractive programming languageIdea for ineractive programming language
Idea for ineractive programming language
Β 
Learn Matlab
Learn MatlabLearn Matlab
Learn Matlab
Β 
Introduction to MATLAB
Introduction to MATLABIntroduction to MATLAB
Introduction to MATLAB
Β 
Linear transformation.ppt
Linear transformation.pptLinear transformation.ppt
Linear transformation.ppt
Β 
Amth250 octave matlab some solutions (1)
Amth250 octave matlab some solutions (1)Amth250 octave matlab some solutions (1)
Amth250 octave matlab some solutions (1)
Β 
Mat lab
Mat labMat lab
Mat lab
Β 
INTRODUCTION TO MATLAB presentation.pptx
INTRODUCTION TO MATLAB presentation.pptxINTRODUCTION TO MATLAB presentation.pptx
INTRODUCTION TO MATLAB presentation.pptx
Β 
Introduction to Artificial Neural Networks
Introduction to Artificial Neural NetworksIntroduction to Artificial Neural Networks
Introduction to Artificial Neural Networks
Β 
7600088.ppt
7600088.ppt7600088.ppt
7600088.ppt
Β 
nabil-201-chap-06.ppt
nabil-201-chap-06.pptnabil-201-chap-06.ppt
nabil-201-chap-06.ppt
Β 
CSCI 2033 Elementary Computational Linear Algebra(Spring 20.docx
CSCI 2033 Elementary Computational Linear Algebra(Spring 20.docxCSCI 2033 Elementary Computational Linear Algebra(Spring 20.docx
CSCI 2033 Elementary Computational Linear Algebra(Spring 20.docx
Β 
COMPAPPABCA49085rFunrAP__Practical Number 9 & 10.docx
COMPAPPABCA49085rFunrAP__Practical Number 9 & 10.docxCOMPAPPABCA49085rFunrAP__Practical Number 9 & 10.docx
COMPAPPABCA49085rFunrAP__Practical Number 9 & 10.docx
Β 
Tall-and-skinny Matrix Computations in MapReduce (ICME MR 2013)
Tall-and-skinny Matrix Computations in MapReduce (ICME MR 2013)Tall-and-skinny Matrix Computations in MapReduce (ICME MR 2013)
Tall-and-skinny Matrix Computations in MapReduce (ICME MR 2013)
Β 

Model of Robotic Manipulator with Revolute and Prismatic Joints

  • 1. 1 Model of Robotic Manipulator with Revolute and Prismatic Joints 03/25/2016 Travis Heidrich Report Contents: Dimensions of the Robot 2 Denavit-Hartenberg Parameters 2-3 MATLAB Script 3-5 Frame Transformation Matrices 6 Reachable Workspace for Manipulator 7-8 Inverse Kinematics for Manipulator 8-9 Jacobian and Singularity 10 Angular and Linear Velocities, Forces, and Torques of Robot 11
  • 2. 2 Dimensions of Robot L1 = 1 m; L2 = 0.5 sin(45Β°) = 0.3536 m; LE = 0.5 m D-H Parameters Figure 1: Reference Frames and Dimensions of the three link robot
  • 3. 3 Table 1: D-H Parameter Table for all frames of the robot i Ξ±i - 1 ai - 1 di - 1 ΞΈi 1 0 0 L1 ΞΈ1 + 135Β° 2 L2 90Β° d2 0 3 0 0 0 ΞΈ3 E 0 -90Β° LE 0 MatLab Script %Solutions clear all close all %Robot Dimensions L_1 = 1; %meters L_2 = 0.5*sind(45); %meters L_E = 0.5; %meters syms ai alphai di thetai theta1 d_2 theta3 T_x=[1 0 0 0;0 cos(alphai) -sin(alphai) 0;0 sin(alphai) cos(alphai) 0;0 0 0 1]; D_x=[1 0 0 ai;0 1 0 0;0 0 1 0;0 0 0 1]; T_z=[cos(thetai) -sin(thetai) 0 0;sin(thetai) cos(thetai) 0 0;0 0 1 0 ;0 0 0 1]; D_z=[1 0 0 0;0 1 0 0;0 0 1 di;0 0 0 1]; %Link the reference frames into one homogeneous transform matrix AtB=T_x*D_x*T_z*D_z; %Transformation from frame 0 to frame 1 ai = 0; alphai = 0; di = L1; thetai = theta1 + 3*pi/4; T_01 = subs(AtB); iT_01 = inv(T_01); %Transformation from frame 1 to frame 2 ai = L_2; alphai = pi/2; di = d_2; thetai = 0; T_12 = subs(AtB); %iT_12 = inv(T_12); %Transformation from frame 2 to frame 3 ai = 0;
  • 4. 4 alphai = 0; di = 0; thetai = theta3; T_23 = subs(AtB); %Transformation from frame 3 to frame E ai = 0; alphai = -pi/2; di = LE; thetai = 0; T3E = subs(AtB); %iT3E = inv(T3E); % Linking the Transformations T_02 = T_01*T_12; T_03 = T_01*T_12*T_23; T_0E = T_01*T_12*T_23*T_3E; T_1E = T_12*T_23*T_3E; T_2E = T_23*T_3E; x = T_0E(1,4); y = T_0E(2,4); z = T_0E(3,4); %Inverse Kinematics for robot syms px py pz theta3 = solve( pz == z, theta3); [d_2, theta1] = solve(px == x, py == y, d_2, theta1); %Rotation Matrices frame to frame R_01 = T_01(1:3,1:3); R_12 = T_12(1:3,1:3); R_23 = T_23(1:3,1:3); R_3E = T_3E(1:3,1:3); R_02 = R_01*R_12; R_03 = R_01*R_12*R_23; R_0E = R_01*R_12*R_23*R_3E; %Forces 10,5,and 1 f_EE = [10;5;1]; f_33 = R_3E*f_EE; f_22 = R_23*f_33; f_11 = R_12*f_22; f_00 = R_01*f_11; %Vectors between D-H Origins P_01 = T_01(1:3,4); P_12 = T_12(1:3,4); P_23 = T_23(1:3,4); P_3E = T_3E(1:3,4); P_00 = [0;0;0]; P_02 = T_02(1:3,4); P_03 = T_03(1:3,4); P_0E = T_0E(1:3,4);
  • 5. 5 %Robot Torques n_EE = zeros(3,1); n_33 = R_01*n_EE + cross(P_3E,f_33); n_22 = R_01*n_33 + cross(P_23,f_22); n_11 = R_01*n_22 + cross(P_12,f_11); n_00 = R_01*n_11 + cross(P_01,f_00); t_0 = transpose(n_00)*[0;0;1]; t_1 = transpose(n_11)*[0;0;1]; t_2 = transpose(f_22)*[0;0;1]; t_3 = transpose(n_33)*[0;0;1]; t_E = zeros(3,1); %Velocities syms theta1Dot theta2Dot theta3Dot d_2Dot %Unit Vectors u_i = [1;0;0]; u_j = [0;1;0]; u_k = [0;0;1]; %Angular rotations z_00 = u_k; z_01 = R_01*u_k; z_02 = R_02*u_k; %Prismatic z_03 = R_03*u_k; J_angular = [z00, 0*z01, z02]; Omega_0E = theta1Dot*u_k + 0 + theta3Dot*R_02*u_k + 0; %Linear J_linear = [cross(z_00,P_0E – P_00), z_02, cross(z_02,P_0E – P_02)]; %linear velocity equations W_00 = zeros(3,1); w_11 = inv(R_01)*w_00+[0;0;1]*theta1Dot; w_22 = inv(R_12)*w_11+[0;0;0]*theta2Dot; w_33 = inv(R_23)*w_22+[0;0;1]*theta3Dot; w_EE = zeros(3,1); v_00 = zeros(3,1); v_11 = inv(R_01)*(v_00+cross(w_00,P_01)); v_22 = inv(R_12)*(v_11+cross(w_11,P_12))+d_2Dot*[0;0;1]; %Prismatic v_33 = inv(R_23)*(v_22+cross(w_22,P_23)); v_EE = inv(R_3E)*(v_33+cross(w_33,P_3E)); v_0E = R_0E*v_EE;
  • 6. 6 Frame Transformation Matrices 𝑇0 1 = [ βˆ’sin ( πœ‹ 4 + πœƒ1) βˆ’cos ( πœ‹ 4 + πœƒ1) 0 0 cos ( πœ‹ 4 + πœƒ1) βˆ’ sin ( πœ‹ 4 + πœƒ1) 0 0 0 0 1 1 0 0 0 1] 𝑇1 2 = [ 1 0 0 √2 4 0 0 βˆ’1 βˆ’π‘‘2 0 1 0 0 0 0 0 1 ] 𝑇2 3 = [ cos(πœƒ3) βˆ’sin(πœƒ3) 0 0 sin(πœƒ3) cos(πœƒ3) 0 0 0 0 1 0 0 0 0 1 ] 𝑇3 𝐸 = [ 1 0 0 0 0 0 1 1 2 0 0 1 0 0 0 0 1] 𝑇0 𝐸 = [ βˆ’ cos(πœƒ3) βˆ— sin( πœ‹ 4 + πœƒ1) βˆ’cos( πœ‹ 4 + πœƒ1) sin(πœƒ3) βˆ— sin ( πœ‹ 4 + πœƒ1) (sin(πœƒ3) βˆ— sin( πœ‹ 4 + πœƒ1)) 2 + 𝑑2 βˆ— cos ( πœ‹ 4 + πœƒ1) βˆ’ (√2 βˆ— sin( πœ‹ 4 + πœƒ1)) 4 cos(πœƒ3) βˆ— sin( πœ‹ 4 + πœƒ1) βˆ’π‘ π‘–π‘›( πœ‹ 4 + πœƒ1) βˆ’ cos ( πœ‹ 4 + πœƒ1) βˆ— sin(πœƒ3) (√2 βˆ— cos ( πœ‹ 4 + πœƒ1)) 4 βˆ’ (cos ( πœ‹ 4 + πœƒ1) βˆ— sin(πœƒ3)) 2 + 𝑑2 βˆ— sin( πœ‹ 4 + πœƒ1) sin(πœƒ3) 0 cos(πœƒ3) cos(πœƒ3) 2 + 1 0 0 0 1 ]
  • 7. 7 Reachable Workspace for Manipulator Figure 2: X-Z Plane View of reachable workspace Figure 3: X-Y Plane View of reachable workspace
  • 8. 8 Figure 4: Trimetric view of reachable workspace Inverse Kinematics for Manipulator 𝑇0 𝐸 = [ π‘Ÿ11 π‘Ÿ12 π‘Ÿ13 𝑝 π‘₯ π‘Ÿ21 π‘Ÿ22 π‘Ÿ23 𝑝 𝑦 π‘Ÿ31 π‘Ÿ32 π‘Ÿ33 𝑝𝑧 0 0 0 1 ] 𝑝𝑧 = cos(πœƒ3) 2 +1 𝑝 𝑦 = (√2 π‘π‘œπ‘  ( πœ‹ 4 + πœƒ1)) 4 βˆ’ ( π‘π‘œπ‘  ( πœ‹ 4 + πœƒ1) 𝑠𝑖𝑛(πœƒ3)) 2 + 𝑑2 𝑠𝑖𝑛 ( πœ‹ 4 + πœƒ1) 𝑝 π‘₯ = ( 𝑠𝑖𝑛(πœƒ3) 𝑠𝑖𝑛 ( πœ‹ 4 + πœƒ1)) 2 βˆ’ (√2 𝑠𝑖𝑛 ( πœ‹ 4 + πœƒ1)) 4 + 𝑑2 π‘π‘œπ‘  ( πœ‹ 4 + πœƒ1) Solving for ΞΈ3 πœƒ3 = Β± cosβˆ’1(2𝑝𝑧 βˆ’ 2) Substituting ΞΈ3 and solving for ΞΈ1 and d2 πœƒ1 = 2 tanβˆ’1 (4𝑝 𝑦 Β± √2√(8𝑝 π‘₯ 2 βˆ’ 2√2 sin(πœƒ3) + cos(2πœƒ3) + 8𝑝 𝑦 2 βˆ’ 2)) βˆ’ 3πœ‹ 4
  • 9. 9 𝑑2 = Β± (√2√(8𝑝 π‘₯ 2 + 8𝑝 𝑦 2 + cos(2πœƒ3) + 2√2 sin(πœƒ3) βˆ’ 2)) 4 Solutions for the point: (-0.275, 0.6125, 1.4375) πœƒ3 = Β± 0.5054 π‘Ÿπ‘Žπ‘‘ πœƒ1 𝑑2 = { βˆ’5.2426 0.1163 βˆ’1.7674 βˆ’0.8431 π‘Ÿπ‘Žπ‘‘ 0.6621 0.3099 βˆ’0.6621 βˆ’0.3099 π‘š Solution set to satisfy the limits is πœƒ3 = 0.5054 π‘Ÿπ‘Žπ‘‘ πœƒ1 = βˆ’5.2426 π‘Ÿπ‘Žπ‘‘ = 1.0406 π‘Ÿπ‘Žπ‘‘ 𝑑2 = 0.6621 π‘š Where d2 for both the offset L2 and the 0.1 m limit. 𝑑2 βˆ’ 𝐿2 βˆ’ 0.1 = 0.2085 π‘š Figure 5: MatLab output of robot configured with the inverse kinematic solution
  • 10. 10 Jacobian [ cos ( πœ‹ 4 + πœƒ1) βˆ— sin(πœƒ3) 2 βˆ’ √2 βˆ— cos ( πœ‹ 4 + πœƒ1) 4 βˆ’ 𝑑2 βˆ— sin ( πœ‹ 4 + πœƒ1) cos ( πœ‹ 4 + πœƒ1) cos(πœƒ3) βˆ— sin ( πœ‹ 4 + πœƒ1) 2 sin(πœƒ3) βˆ— sin ( πœ‹ 4 + πœƒ1) 2 βˆ’ √2 βˆ— sin ( πœ‹ 4 + πœƒ1) 4 + 𝑑2 βˆ— cos ( πœ‹ 4 + πœƒ1) sin( πœ‹ 4 + πœƒ1) βˆ’ cos(πœƒ3) βˆ— cos ( πœ‹ 4 + πœƒ1) 2 0 0 βˆ’ sin(πœƒ3) 2 0 0 βˆ’ cos ( πœƒ 4 + πœƒ1) 0 0 sin ( πœƒ 4 + πœƒ1) 1 0 0 ] 𝐷𝑒𝑑(π½π‘™π‘–π‘›π‘’π‘Žπ‘Ÿ) = 𝑑2 βˆ— sin(πœƒ3) 2 𝐷𝑒𝑑(𝐽 π‘Žπ‘›π‘”π‘’π‘™π‘Žπ‘Ÿ) = 0 Singularities When determinate of Jacobian = 0 The was no determinate for the angular Jacobian There was no theta 1 that resulted in singularities Given theta3 = 0 and pi For d_2 < = 0.5(sin(45)) + 0.1 OR d_2 > 0.5(sin(45)) + 0.5
  • 11. 11 Angular and Linear Velocities, Forces, and Torques of Robot Table 2: The angular velocity of the end effector πœ”0𝐸 πœƒΜ‡3 βˆ— sin( 3πœ‹ 4 + πœƒ1) βˆ’πœƒΜ‡3 βˆ— cos( 3πœ‹ 4 + πœƒ1) πœƒΜ‡1 Table 3: The linear velocity of the end effector 𝑣0𝐸 𝑣 π‘₯ = πœƒΜ‡1βˆ—sin(πœƒ1) 4 βˆ’ πœƒΜ‡1βˆ—cos(πœƒ1) 4 βˆ’ √2βˆ—π‘‘Μ‡2βˆ—sin(πœƒ1) 2 + √2βˆ—π‘‘Μ‡2βˆ—cos(πœƒ1) 2 βˆ’ √2βˆ—πœƒ1 Μ‡ βˆ—sin(πœƒ1)βˆ—sin(πœƒ3) 4 βˆ’ (√2βˆ—π‘‘2βˆ—πœƒ1 Μ‡ βˆ—cos(πœƒ1)) 2 βˆ’ (√2βˆ—π‘‘2βˆ—πœƒ1 Μ‡ βˆ—sin(πœƒ1)) 2 + √2βˆ—πœƒΜ‡3βˆ—cos(πœƒ1)βˆ—cos(πœƒ3) 4 + √2βˆ—πœƒΜ‡1βˆ—cos(πœƒ1)βˆ—sin(πœƒ3) 4 + √2βˆ—πœƒΜ‡3βˆ—cos(πœƒ3)βˆ—sin(πœƒ1) 4 𝑣 𝑦 = √2βˆ—π‘‘Μ‡2βˆ—sin(πœƒ1) 2 βˆ’ πœƒΜ‡1βˆ—sin(πœƒ1) 4 βˆ’ πœƒΜ‡1βˆ—cos(πœƒ1) 4 + √2βˆ—π‘‘Μ‡2βˆ—cos(πœƒ1) 2 + √2βˆ—πœƒΜ‡1βˆ—sin(πœƒ1)βˆ—sin(πœƒ3) 4 + √2βˆ—π‘‘2βˆ—πœƒΜ‡1βˆ—cos(πœƒ1) 2 βˆ’ √2βˆ—π‘‘2βˆ—πœƒΜ‡1βˆ—sin(πœƒ1) 2 βˆ’ √2βˆ—πœƒΜ‡3βˆ—cos(πœƒ1)βˆ—cos(πœƒ3) 4 + √2βˆ—πœƒΜ‡1βˆ—cos(πœƒ1)βˆ—sin(πœƒ3) 4 + √2βˆ—π‘‘2βˆ—πœƒΜ‡3βˆ—cos(πœƒ3)βˆ—sin(πœƒ1) 4 𝑣𝑧 = βˆ’ πœƒ3 Μ‡ sin(πœƒ3) 2 Table 4: The forces for each link with respect to each link’s frame in N End Effector 𝐹π‘₯ = 10 𝐹𝑦 = 5 𝐹𝑧 = 1 Third Link 𝐹π‘₯ = 10 𝐹𝑦 = 1 𝐹𝑧 = βˆ’5 Second Link 𝐹π‘₯ = 8.266 𝐹𝑦 = 5.716 𝐹𝑧 = βˆ’5 First Link 𝐹π‘₯ = 8.266 𝐹𝑦 = 5 𝐹𝑧 = 5.716 Base 𝐹π‘₯ = -6.736 𝐹𝑦 =-6.925 𝐹𝑧 = 5.716 Table 5: Each joint torque in Nm: End Effector 𝜏 𝐸 = 0 Third Link 𝜏3 = βˆ’5 Second Link 𝜏2 = βˆ’5 First Link 𝜏1 =2.240 Base 𝜏 𝑩 = 0