EE 4315/5325

EE 4315/5325 Homework 2 – Spring 2015
The purpose of the homework is to let you practice 3D rigid body transformation
concepts, direct and inverse kinematics using the DH framework, and to start using the
robotics toolbox in MATLAB. For MATLAB assignments, please submit code by email:
 Your code as .m files.
 Instructions for how to run the code, and what other assumptions you used.
 A text file with your results as they were printed at the MATLAB command
prompt.
EE4315/5325 Students
Problem 1 (20 pts) (ZYX Euler angles in MATLAB).
1)
a) Using the Z-Y-X (𝛼 − 𝛽 − 𝛾) Euler angle convention, write a MATLAB program
to calculate the rotation matrix 𝑅𝐵𝐴 when the user enters the Euler angles 𝛼 − 𝛽 −
𝛾. Test for two examples:
i) 𝛼 = 10°, 𝛽 = 20°, 𝛾 = 30°
ii) 𝛼 = 30°, 𝛽 = 90°, 𝛾 = −55°
For case (i), demonstrate the six constraints for unitary orthonormal rotation
matrices (i.e. there are nine numbers in a 3 × 3 matrix, but only three are
−1
𝑇
independent). Also demonstrate the property 𝑅𝐴𝐵 = 𝑅𝐵𝐴 = 𝑅𝐵𝐴 , for case (i).
b) Write a MATLAB program to calculate the inverse homogenous transformation
matrix using a closed algebraic formula, and compare your results with the
numerical inverse.
c) Check your results using Corke’s MATLAB Robotics Toolbox using function
rpy2tr().
Problem 2 (30 pts) (Kinematics using DH conventions)
2)
a) Consider the three-link planar manipulator of Figure given below. Derive the
forward kinematic equations using both the conventional and modified DH
notations.
b) Consider the PUMA 260 manipulator shown in Figure below.
Using both the conventional and modified DH notations, pick reasonable
constants (specify) for the parameters and write a MATLAB program to
implement the forward kinematics of this robot with the help of P. Corke’s
Robotics toolbox as follows:
i) Sketch the frame assignment in the modified and conventional form on the
robot, and construct the DH tables in both cases.
ii) Construct your own robot kinematics using the fkine() function using both
tables, and verify that the resulting robots are the same.
iii) Calculate the pose of the robot (the position and orientation at the endeffector) at the following joint space variables: Q1=(0,0,0,0,0,0); Q2=(-90,
0,0,0,0,0); Q3=(-90, -90,0,0,0,0); Q4=(-90, -90,-90,0,0,0), Q5=(-90, 90,-90,45,0,0), Q6=(-90, -90,-90,45,45,0), and Q7=(-90, -90,90,45, 45, 45).
iv) Use the robot/plot() command to animate the robot as it transitions between
these 7 states. Hint: use additional points along each way-point to make your
animation smoother.
Problem 3 (10 pts) (Jacobians)
3) Compute the 4x6 Jacobian of the SCARA Manipulator in Fig 2.36, Siciliano Text.
EE 4315 Students
Problem 3.1 (25 pts) Do problem numbers 4-15 and 4-19 from the Mark W. Spong’s
text.
Problem 4.1 (15 pts) (Jacobian) Do problem 18, Chapter 5 from J. J. Craig’s text. Hint:
Use the conventional definition of the Jacobian as the differential of the robot tip position
with respect to the joint coordinates.
EE 5325 Students
Problem 3.2 (20 pts) Product of exponentials: Do problem 14, Chapter 3 from R.
Murray’s text.
Problem 4.2 (20 pts) Geometric Jacobians: Do problem 13 a) and b) from R. Murray’s
text.