EE/BIOE C125 Introduction to Robotics

Homework and Lab Assignments

Problem Set 1
Lab 1
Problem Set 2
Problem Set 3
Problem Set 4
Problem Set 5
Problem Set 6
Problem Set 7
Lab 2
Lab 3
Problem Set 8 (complete)

Sample Final Exam Problems

Sample Problems
Sample Problem Solutions

Matlab Code for Lab 3



Problem Set 1 Solution (corrected -- there was a small sign error in the last question in previous posting)
Problem Set 2 Solution
Problem Set 3 Solution
Midterm 1 Solution
Problem Set 4 Solution
Problem Set 5 Solution
Problem Set 6 Solution
Problem Set 7 Solution
Problem Set 8 Solution

Some Fun Robot Links

Here are just a few links to interesting robots. If you find more, especially pages with links to many robots rather than just one project, please let me know. -FT

Cool Robot of the Week. This site is old (last updated 2003), but a lot of the robot links are still relevant and still cool.

Some links to dancing Sony QRIO ("queue-ree-oh") robots, provided by Cole Ratias:

Some links to bipedal walking robots, provided by Bobby Gregg:

Muddy Card Answers

There was a question about the second part of the proof that the exponential map e^(omega_hat*theta) is a member of SO(3) (beginning of 9/6 lecture; top of p. 29 in MLS). In this part we prove that the resulting matrix R has determinant +1. Don't worry if you don't understand all the details of the proof or aren't familiar with the continuity of e^X etc. Some of the details are beyond the scope of this class, and you won't be called upon to do any similar proofs. But here's a little more detail anyway.

A linear algebraic identity says that the determinant of the product is equal to the product of determinants. Since we know that transpose(R)*R = I, the square of the determinant of R must equal the determinant of I, which is 1. So det(R) must = +/-1. Now, both the exponential map e^X and the determinant of a matrix are continuous functions (take the book's word for it). Consequently, if det(R) is +1 for one value of omega*theta, it must be +1 for all values because there's no way a continuous function could jump from +1 to -1, and we know those are the only possible values of det(R). But when theta=0, we know that e^(0) = I, so det(e^(0)) = +1. So det(R) must be +1 for any omega and theta.