Robotics Mini Project
Robotics Mini Project
Mini Project
Kinematic Analysis of a Robot Arm
In the project we have designed a 5 degree of freedom robot arm manipulator design with RRRRR
configuration.
Link ai ⍺i di θi
1 0 0o d1 0
2 a2 -90o d2 θ2*
3 a3 0o 0 θ3*- 45o
4 0 -90o 0 θ4*- 45o
5 0 90o d5 θ5*
6 a6 0o 0 90o + θ6*
For our robot arm, link length and link offset values are given as follows,
𝑑! = 6.1𝑐𝑚 , 𝑑" = 7.001𝑐𝑚 , 𝑎" = 1.3𝑐𝑚 , 𝑎# = 12.021𝑐𝑚 , 𝑑$ = 12.171𝑐𝑚 , 𝑎% = 13𝑐𝑚
3. Forward Kinematics
From the above determined DH Parameters, we calculated the transformation matrices of each joint
frames, and we calculated the transformation matrix of the end effector. It can be expressed as follows,
𝑟!! 𝑟"! 𝑟#! 𝑡!
𝑟 𝑟 𝑟 𝑡
𝐴 = 1 !" "" #" " 4
𝑟!# 𝑟"# 𝑟## 𝑡#
0 0 0 1
r11 = cos(0.0174θ6+1.571θ5)(cos(0.017θ3-0.785)cos(0.017θ4-0.785)cos(0.017θ2)-sin(0.017θ3-0.785)sin(0.017θ4-0.785)cos(0.017θ2))+
sin(0.017θ2)sin(0.017θ5))-sin(0.017θ6+1.57)(cos(0.017θ3-0.785)sin(0.017θ4-0.785)cos(0.017θ2)+cos(0.017θ4-
0.785)sin(0.017θ30.785)cos(0.0174θ2)
r21 = -cos(0.017θ6+1.570)(cos(0.017θ3-0.785)sin(0.017θ4-0.785)cos(0.017θ2)+cos(0.017θ4-0.785)sin(0.017θ3-0.785)cos(0.017θ2))-
sin(0.017θ6+1.571)(cos(0.017θ5)(cos(0.017θ3-0.785)cos(0.017θ4-0.785)cos(0.017θ2)-sin(0.017θ3-0.785)sin(0.017θ4-0.785)cos(0.017θ2))+
sin(0.017 θ2)sin(0.017 θ5))
r22 = sin(0.017 θ6 + 1.571)(1.0cos(0.017 θ2)sin(0.017 θ5) - cos(0.017 θ5)(cos(0.017 θ3 - 0.785)cos(0.017 θ4 - 0.785)sin(0.017 θ2) - sin(0.017 θ3
- 0.785)sin(0.017 θ4 - 0.785)sin(0.017 θ2))) - cos(0.017 θ6 + 1.571)(cos(0.017 θ3 - 0.785)sin(0.017 θ4 - 0.785)sin(0.017 θ2) + cos(0.017 θ4 -
0.785)sin(0.017 θ3 - 0.785)sin(0.017 θ2))
r32 = cos(0.017 θ2)cos(0.017 θ5) + sin(0.017 θ5)(cos(0.017 θ3 - 0.785)cos(0.017 θ4 - 0.785)sin(0.017 θ2) - sin(0.017 θ3 - 0.785)sin(0.017 θ4 -
0.785)sin(0.017 θ2))
The measured location from the manipulator is nearly equal with the above results. (x = 29cm, y = 0cm,
z =13.5cm)
4. Inverse Kinematics
4.1. θ2 Calculation
In the initial calculations, we are calculating the θ2 value using aligning the robot’s plane and robot’s
origin to (x,y) plane as the figure 4.
From the figure 4, we can calculate θ2 as below.
𝑦
𝜃" = atan ; > ; 0° < 𝜃" < 165°
𝑥
Figure 4: Calculating θ2
After calculating θ2 we should calculate β1 and β2 in the figure 6. To calculate this, we already have the
homogenous matrix of end effector respect to the origin of the robot. It can be expressed as the figure
5.
These equations are solved using python SciPy library when operating the robot.
After calculating β values we can calculate remaining joint parameters as follows,
𝛽! = 45° − 𝜃# 𝑎𝑛𝑑 𝛽" = 𝜃# + 𝜃$
For the given coordinates (x = 25cm, y = 25cm, z = 7cm), we found the joint parameters and they are
given to the MATLAB forward kinematics calculation and got the following homogenous matrix.
The calculated translation is nearly equal to the input coordinate values.
Figure 8: MATLAB plot for Inverse Kinematics Figure 7: Robot manpulator pose for
give coordinates
5. Manipulator Jacobian
J13 = 0
J23 = 0
J14 = 0
J24 = 0
J34 = -sin((πθ2)/180
J44 = -sin((πθ2)/180
J54 = - cos((π(θ4 + ψ4))/180)cos((πθ2)/180)sin((π(θ3 - ψ3))/180) - sin((π(θ4 + ψ4))/180)cos((πθ2)/180)cos((π(θ3 - ψ3))/180
J64 = sin((πθ5)/180)(cos((π(θ4 + ψ4))/180)cos((πθ2)/180)cos((π(θ3 - ψ3))/180) - sin((π(θ4 + ψ4))/180)cos((πθ2)/180)sin((π(θ3 - ψ3))/180)) -
cos((πθ5)/180)sin((πθ2)/180)
J15 = 0
J25 = 0
J35 = cos((πθ2)/180)
J45 = cos((πθ2)/180)
J55 = - cos((π(θ4 + ψ4))/180)sin((πθ2)/180)sin((π(θ3 - ψ3))/180) - sin((π(θ4 + ψ4))/180)sin((πθ2)/180)cos((π(θ3 - ψ3))/180)
J65 = cos((πθ2)/180)cos((πθ5)/180) + sin((πθ5)/180)(cos((π(θ4 + ψ4))/180)sin((πθ2)/180)cos((π(θ3 - ψ3))/180) - sin((π(θ4 +
ψ4))/180)sin((πθ2)/180)sin((π(θ3 - ψ3))/180))
J16 = 1
J26 = 1
J36 = 0
J46 = 0
J56 = sin((π(θ4 + ψ4))/180)sin((π(θ3 - ψ3))/180) - cos((π(θ4 + ψ4))/180)cos((π(θ3 - ψ3))/180)
J66 = -sin((πθ5)/180)(cos((π(θ4 + ψ4))/180)sin((π(θ3 - ψ3))/180) + sin((π(θ4 + ψ4))/180)cos((π(θ3 - ψ3))/180))
For the pick and place task, our robot arm is going from (2, 32, 14) to (27,10,6) position.