0% found this document useful (0 votes)
9 views6 pages

Assignment 1 Rotation

This assignment focuses on rotation matrices and transformations in robotics, covering topics from velocity mapping to MATLAB exercises. Students are required to solve problems related to rotation theory, derive formulas, and implement MATLAB code for calculations and transformations. Deliverables include written solutions, MATLAB scripts, plots, and a report discussing results and comparisons with verification tools.

Uploaded by

hoanghatsn
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)
9 views6 pages

Assignment 1 Rotation

This assignment focuses on rotation matrices and transformations in robotics, covering topics from velocity mapping to MATLAB exercises. Students are required to solve problems related to rotation theory, derive formulas, and implement MATLAB code for calculations and transformations. Deliverables include written solutions, MATLAB scripts, plots, and a report discussing results and comparisons with verification tools.

Uploaded by

hoanghatsn
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

ROBOTICS ASSIGNMENT 1:

ROTATION MATRICES AND


TRANSFORMATIONS
Course Information

Textbook: Craig, J.J. (2013). Introduction to Robotics: Mechanics and


Control (3rd ed.). Pearson Education.
Assignment Scope: This assignment covers fundamental concepts in
rotation matrices and homogeneous transformations from Chapter 2.

PART A: ROTATION THEORY (CHAPTER 2)


Exercise Group 1: Velocity Mapping and Rotation
Efficiency
Problem A1 (Based on Exercise 2.12)

Topic: Velocity as a free vector


Task: Given a velocity vector expressed in frame ,
transform it to frame using the rotation matrix .
Requirements:
Write the transformation in matrix form:
Explain why translation does not appear in velocity
transformation (hint: velocities are free vectors)
Discuss the implication for constructing Jacobians in
Chapter 5
Problem A2 (Based on Exercise 2.16)

Topic: Computational efficiency in rotation matrix chains


Scenario: A vector must be mapped through three rotation
matrices:
The vector updates at 100 Hz
Rotation matrices , , update at 30 Hz (from
vision system)
Requirements:
1. Identify two computational strategies:
Strategy 1: Pre-multiply matrices:
, then compute
Strategy 2: Sequential multiplication with the vector
at each step
2. Count multiplication and addition operations for each
strategy
3. Recommend the optimal approach given the update rates

Exercise Group 2: Rotation Theory and Representations


Problem A3 (Based on Exercise 2.19)

Topic: Moving axes vs. fixed axes rotations


Context: When rotating about body-attached axes (moving
frame), the composition differs from fixed-axis rotations
Task:
Use the similarity transform approach:
to derive the rotation matrix
equivalent to Euler angles
The result should match Equation 2.72 in the textbook[1]
Provide a brief geometric explanation of how "changing
reference frames" via similarity transform affects the
rotation order
Problem A4 (Based on Exercises 2.20 & 2.21)

Topic: Rodrigues' formula and infinitesimal rotations

Part 1 (Exercise 2.20): Derive Rodrigues' formula for rotating vector


about axis by angle :

Start from using Equation 2.80[1]


Part 2 (Exercise 2.21): Using small-angle approximations ( ,
, ):
Derive the rotation matrix for infinitesimal rotation about
general axis
Show it has the form (first-order
approximation)
Problem A5 (Based on Exercise 2.22)

Topic: Commutativity of infinitesimal rotations


Task:
Using the first-order rotation matrix from Problem A4,
prove that two infinitesimal rotations commute:

Discuss why this property does NOT hold for finite (large)
rotations
Problem A6 (Based on Exercise 2.35)

Topic: Determinant of rotation matrices


Task:
Prove that for any rotation matrix
Use the orthonormality property:
Explain why we choose (not ) for proper
rotations

PART B: MATLAB EXERCISES - ROTATION


AND TRANSFORMATIONS
Problem B1 (MATLAB Exercise 2A)

(a) Forward Problem: Write a MATLAB program to calculate


rotation matrix from Euler angles

Test cases:
(i)
(ii)
For case (i), verify the six orthonormality constraints for rotation
matrices
Demonstrate:

(b) Inverse Problem: Write MATLAB code to extract Euler angles


from a given rotation matrix

Calculate both possible solutions (there are always two)


Verify results using circular check: angles → matrix → angles
(c) Vector Transformation: For simple rotation of 20° about Y-axis
only, with :
Calculate
Create a sketch verifying your results geometrically
(d) Verification: Check all results using the Corke MATLAB Robotics
Toolbox
Functions: rpy2tr, tr2rpy, rotx, roty, rotz
Problem B2 (MATLAB Exercise 2B)

(a) Write MATLAB code to calculate homogeneous transformation


matrix from Euler angles and position vector

Test cases:
(i) ,
(ii) ,
(b) For case (ii), given , calculate and verify with a
sketch
(c) Write code to compute inverse transformation
using:
1. Symbolic formula
2. MATLAB's numerical inv() function
Verify:
(d) Let = result from (a-i) and = result from (a-ii)

(i) Calculate and ; draw transformation graph


(ii) Given and (assume you don't know ), recover it
and compare with known answer
(iii) Given and (assume you don't know ), recover it
and compare
(e) Verify all results using Corke Toolbox functions: rpy2tr, transl

SUBMISSION REQUIREMENTS
Deliverables:
1. Written Solutions: Hand calculations for Part A (Problems A1-
A6)
2. MATLAB Code: Well-commented scripts for Part B (Problems B1-
B2)
3. Plots: All required graphs with proper labels, legends, and units
4. Report:
Brief discussion of results for each problem
Answers to conceptual questions
Comparison with Robotics Toolbox verification

Format:
PDF document combining written work and printed code
Separate MATLAB .m files (one per problem)
All plots embedded in PDF report

Grading Rubric (50 points):


Part A (Rotation Theory): 25 points
Part B (MATLAB Implementation): 20 points
Code quality and documentation: 5 points
Due Date:
[Instructor to specify]

ADDITIONAL RESOURCES
Textbook Sections:

Chapter 2: Sections 2.2-2.9 (Rotation representations and


transformations)
MATLAB Toolbox:

Peter Corke's Robotics Toolbox: Download from [Link]


[Link]/toolboxes/robotics-toolbox/
Installation: Add to MATLAB path and run startup_rvc
Office Hours:
[Instructor to specify]

Good luck! This assignment will strengthen your understanding


of rotation matrices and coordinate transformations essential for
robotics.

References
[1] Craig, J.J. (2013). Introduction to Robotics: Mechanics and Control
(3rd ed.). Pearson Education.

You might also like