Advanced Robotics CSC 290

Written parts of exercises are due in hardcopy by the start of the first class of the following week, either in class or in the box outside TA's office. Programming exercises due in Blackboard on the day and time indicated on Blackboard.

Do NOT submit materials that need proprietary products. In other words, nothing from Microsoft. No .doc, NO .docx, no .rar, etc. (zip and tar are OK). Make sure your code works under linux, make sure your prose submissions are .pdf. If you need help finding the appropriate utilities, see Google(TM), a classmate, or your TA.

I'm told you can convert .doc to .pdf at this DocToPdfConversion site.

Assignments on Blackboard: (Due dates, submissions) Control Panel -> Content Areas (Course Materials) -> Assignments

DJ means Dudek and Jenkin Text.


1. (Craig 2.3): A frame {B} is located as follows: initially coincident with a frame {A} we rotate {B} about ZB by theta degrees and then we rotate the resulting frame about XB by phi degrees. Give the rotation matrix that will change the description of vectors from BP to AP.

2. (Craig 2.8) Write a little procedure to change representation of orientation from rotation matrix form to equivalent angle-axis form: its input is a 3x3 matrix, output is an axis vector and an angle scalar. Also write an inverse procedure to the above, to change from angle-axis representation to rotation matrix representation. Run your procedures on enough test cases to convince yourself and us that a) they give intuitive believable answers and b) they are in fact inverses. Include difficult cases.
3. DJ 2.1
4. DJ 2.2

Linear Systems and Control

1. You arrive on time (04:30 hours) at your new employer Xe Services LLC . After calisthenics and some range work with the H&K MP5SD6, you get to your new desk to find a yellow workorder saying: DIRIGIBLE-DEPLOYED IMAGE-BASED FOURIER-TRANSFORM FEATURE-DETECTORS FOR OASES, VILLAGES, DESERT: SPECS TO XEINTCOM BY 1500 ZULU.

What a SNAFU -- that's only an hour away -- BOHICA, baby!

For the following you need the e-Reserve reading by Craig on Control, where you'll find the questions (and the chapter they refer to).

2. Craig 9.1
3. Craig 9.3
4. Craig 9.5
5. Craig 9.11
6. Extra Fourier Domain Filtering Assignment.

Non-Visual Sensors

1. DJ 3.2
2. DJ 3.3
3. DJ 3.4
4. DJ 3.5
5. (Extra) Use a particle filter to refine estimate in 3.5.


1. DJ 3.6 -- use Hough Transform
2. Similar to DJ 4.3: Hough Transform for Circle Detection
3. (Alternative to 2): Stereo! DJ 4.5
4. (Alternative to 2 or 3): Clustering for classification .


1. Write a little 2-D robot simulator (see DJ problem 2.5, or maybe this Simple discrete grid simulator). I'm not sure existing simulators like Quagents, or even RP1 will give you enough flexibility, but you can check. Use your code for (and maybe for a Final Project).

1. DJ 5.1
2. DJ 5.4

Final Project

I'll need a Proposal for your final project, probably by about mid-term.

Probably helpful to you, and certainly easy for me, is to point you to the description of CSC 242 projects. The projects for 290 could be even more ambitious, however, so don't be constrained by the descriptions and examples you see.

Some off-the-cuff ideas: