ME 449 Robotic Manipulation
Fall Quarter 2018
- Instructor: Prof. Kevin Lynch
- Meeting: 2:00-2:50, MWF, Frances Searle Building 1441
- TAs: Huan Weng, Tito Fernandez, and Zack Woodruff
- Office hours: Tech B222 (TBA),
- course website: http://hades.mech.northwestern.edu/index.php/ME_449_Robotic_Manipulation
- book website:
Mechanics of robotic manipulation, computer representations and algorithms for manipulation planning, and applications to industrial automation, parts feeding, grasping, fixturing, and assembly.
- 50% exams
- 40% assignments
- 5% practice exercise for other students
- 5% engagement: answering questions in class, working on in-class assignments, and helping other students in class
Course Text and Software
This course uses the textbook Modern Robotics: Mechanics, Planning, and Control, Kevin M. Lynch and Frank C. Park, Cambridge University Press 2017.
Get the book, install and test the Modern Robotics code library, and install and test the V-REP simulator. You will program in Python, Mathematica, or MATLAB in this course.
Video supplements to the reading can be found at http://modernrobotics.northwestern.edu. If you prefer to watch the videos as playlists in the youtube environment, you can go here instead. These links are also available from the book's homepage.
In general, I recommend that you first watch the videos to get a quick understanding of the material of the chapter, then follow up by reading. The videos are short and dense, so don't expect to get by only watching the videos. You will need to read the book, then do the exercises, to gain mastery of the material.
All students will be responsible for creating a practice exercise, consisting of the exercise and the solution. A good exercise should test an important concept in the context of a real robotics application (e.g., motion planning for a quadrotor, robot localization, computer vision, grasping, etc.), require the learner to understand and apply equations in the book or use the book's software, and require a bit of thought (i.e., not just "plug and chug" questions). For many exercises, a good figure is helpful. You could use a figure of a real robot and add your own annotations to it (e.g., frames or objects in its environment), or you could hand-draw something, or you could use V-REP or other software to help create the figure. You should not confine your question to an application discussed in the textbook. Make your exercise interesting and motivating! Exercises that require synthesizing two or more concepts or equations are more interesting and useful.
You will create your exercise using LaTeX (pronounced "lay teck" or "lah teck"), the standard for scientific document preparation. Overleaf is a free online implementation of LaTeX. To get started on your exercise,
- Download this .zip file and uncompress it. There are four files: main.tex, prelims.tex, screw.pdf, and happy-face.jpg.
- Create an account on Overleaf.
- Create a new project on Overleaf called "exercise."
- Upload the four files main.tex, prelims.tex, screw.pdf, and happy-face.jpg to this project. (You may get a warning that your default main.tex file is being overwritten; don't worry about it.)
- Click on main.tex to see your main LaTeX document.
- Press the "Recompile" button to see the pdf document that is compiled from the four files. You can download the pdf file, or all the "source" files, by clicking on "Menu" and choosing which to download.
main.tex is the main file of the project, and the only one that you will edit, so you should understand what is going on in that file. prelims.tex tells LaTeX what packages to use and defines some macros, e.g., \twist creates and \wrench creates . screw.pdf and happy-face.jpg are image files that get included in the document. You will create different image files depending on your exercise.
You will turn in the source for your exercise as well as the final pdf file.
Approximate Syllabus and Reading
- Chapter 2, Configuration Space (weeks 1-2)
- Chapter 3, Rigid-Body Motions (weeks 2-3)
- Chapter 4, Forward Kinematics (week 4); section 4.2 is optional
- Chapter 5, Velocity Kinematics and Statics (week 5)
- Chapter 6, Inverse Kinematics (week 6); focus on section 6.2
- Chapter 8, Dynamics of Open Chains (weeks 6-7); skip sections 8.4, 8.8, and 8.9
- Chapter 9, Trajectory Generation (week 8); focus on sections 9.1 and 9.4
- Chapter 11, Robot Control (week 9); focus on sections 11.1 through 11.4
- Chapter 13, Wheeled Mobile Robots (week 10); skip section 13.3
Assignments are graded based on correctness, how well you organize your homework (it should be easy to understand your thinking and easy to find your responses), and how well you follow the submission instructions below. You will lose points if you don't follow these instructions.
If you ever think a problem is stated incorrectly, not enough information is given, or it is impossible to solve, don't panic! Simply make a reasonable assumption that will allow you to solve the problem (but clearly state what this assumption is), or indicate why it is not possible to solve the problem.
Instructions for uploading assignments to Canvas:
0. Upload on time! Late submissions are not accepted. The cutoff time is 30 minutes before class the day the assignment is due.
1. Only upload one zip file or rar file for each assignment;
2. In your zip file or rar file, include all source codes in their original form, such as .cpp, .m, .py, .nb.
3. If there is a demo, combine the screen shots into one SEPARATE pdf file, OR, show the results in one SEPARATE .txt file (DON'T show them in your source code file format, e.g. .nb file), and include it in the zip file (or rar file).
4. Always include output of your code running on the exercises, particularly in case the grader has problems running your code. Also, always create a script (for example, titled ex6-9 or something) that the grader can easily invoke for each exercise. Don't expect the grader to search through your code to find sample code to cut-and-paste. Make it as easy as possible for the grader (you can include a "README" file in your solutions, for example).
5. Please name the upload file in the following format: LastName_FirstName.zip.