ME 449 Robotic Manipulation

From Mech
(Difference between revisions)
Jump to: navigation, search
(Student Lectures)
(Detailed Syllabus (Under Construction))

Revision as of 23:51, 3 October 2017

Fall Quarter 2017

Contents

Course Summary

Mechanics of robotic manipulation, computer representations and algorithms for manipulation planning, and applications to industrial automation, parts feeding, grasping, fixturing, and assembly.

Grading

  • 50% quizzes
  • 35% assignments (HWs, video/reading comprehension "quick quizzes," in-class assignments; low scores dropped)
  • 10% student lecture and learning materials
  • 5% engagement and providing helpful feedback to other students

Course Text and Software

All of these resources are available at the homepage for the book.

Video Lectures

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.

Student Lectures

Each student will work in a small team to deliver one lecture during the quarter. Your lecture should not be too similar to the video lectures already online. The main purposes of the student lectures are

  • To provide your fellow students another perspective, other than my own, on the material. Maybe your way of explaining it will be more intuitive than mine, at least for some people. Unlike my lectures, which cover a lot of ground quickly, your lecture should have at least one worked example and slow things down a bit. You don't have to cover all topics of the videos and reading that were due for that day. You can choose one or a subset of topics and slow down. You can even choose a topic in that day's reading that is not covered in the videos.
  • To generate new learning materials that others can benefit from. These could be posted to the book website (e.g., worked exercises, videos, etc.).
  • To have you take ownership of your learning. There is no better way to learn the material than to figure out how to teach it.

On a student lecture day, this is a general (but flexible) guideline:

  • 5 minutes for the video/reading comprehension "quick quiz."
  • 15 minutes lecture. How you do your lecture is up to you, but everyone in the lecture team should be involved. You could make a video and then play it in front of the class, and then take questions. You could write on the chalkboard. You could use props, or videos you find online, or animations you make. You could ask questions and involve the class. You should work through at least one example or exercise that you create (not one from the book) that makes some of the concepts concrete. An ideal lecture would be engaging and informative.
  • 5 minutes of constructive feedback from the class (what worked well, what could have been clearer, but always constructive).
  • 25 minutes of the class working in small groups on an assignment you give. Ideally the assignment would be interesting and challenging, and would elicit questions if students don't fully understand the material. Students do not necessarily have to be able to get a "right" answer in the timeframe of the class; the assignment should just help them to learn. The assignment cannot be taken from the book. The student lecturers and the instructors will circulate and help the small groups. Small groups of students will turn in their group work at the end of class.

After your lecture, within one week your lecture team should provide me with:

  • [Whole team] A video of your lecture. You should arrange for a classmate to take a video of your lecture (e.g., with a cell phone propped up against books, so it doesn't move). Then post the lecture to YouTube and send me the link. You can keep the video private or you can make it public; up to you.
  • [Whole team] An electronic version of your in-class assignment with solution, suitable for posting to the website. A pdf file is probably the best format.
  • [Each member of the team] Each member of the team should confidentially email me a fair self-assessment of each individual's contribution to the lecture. You get 10 points to assign for each member of the team, so if your team has 3 students, you have 30 points to assign. Ideally your distribution would be 10/10/10. If one student did not contribute much, the distribution might be 12/12/6, or if one student did most of the work, it might be 16/7/7. In either of these cases, a brief explanation would be helpful. These are just to help me understand how the team functioned.
  • Anything else. This will likely be nothing in most cases, but maybe you found a useful website you'd like to share, or created some MATLAB code you'd like to share, etc.

I encourage you to meet with me during office hours if you have any questions or if you'd like to discuss your ideas for your lecture.

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

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.

Detailed Syllabus (Under Construction)

Click here for a graphical view of the class schedule, including student lectures.

Homeworks are due at the beginning of class every Wednesday, unless otherwise noted. You will watch the videos and do the reading in advance of class using the material, as noted in the syllabus below. A typical weekly schedule will consist of:

M: Video/reading comprehension quiz and help with homework.
W: Video/reading comprehension quiz, homework solutions, plus EITHER student lecture OR quiz preparation.
F: Video/reading comprehension quiz plus EITHER student lecture OR quiz.

Class 1 (W 9/20)

Welcome to the course and course website. Structure of the course (HW due Wed, student-generated lectures and learning materials, in-class assignments, feedback on student lectures, occasional Friday quizzes). Book, software, (lack of) D-H parameters, syllabus, V-REP simulator, office hours.

At home:

Videos: first 3 videos of Chapter 2, through Chapter 2.2
Reading: Chapters 2.1 and 2.2
Software: download github software with book, install V-REP and verify that you can use Scenes 1 and 2 (the UR5)
HW1, due 1:30 PM 9/27: Exercises 2.3, 2.9, 2.20, 2.29. Also, create your own example system with closed loops, something not in the book, and solve for the degrees of freedom using Grubler's formula. Make it something that exists or occurs in common experience, not necessarily a robot. Imagine using it to teach someone about Grubler's formula.

Class 2 (F 9/22)

Video/reading comprehension question
Sample student lecture

At home:

Videos: 2 videos on Chapter 2.3
Reading: Chapter 2.3

Class 3 (M 9/25)

Video/reading comprehension question
Bring your laptop, demo V-REP UR5 scenes
Help with HW1

At home:

Videos: 2 videos, Chapter 2.4 and 2.5
Reading: Chapters 2.4 and 2.5
Turn in HW1

Class 4 (W 9/27)

Video/reading comprehension question
Solutions to HW1; student examples of Grubler's formula

At home:

Videos: first 3 videos of Chapter 3, through Chapter 3.2.1
Reading: through Chapter 3.2.1
HW2, due 1:30 PM 10/4:
1) Exercise 3.1, except the y_a axis points in the direction (1,0,0).
2) Exercise 3.2, except p = (1,2,3).
3) Exercise 3.5.
4) Exercise 3.9.
5) In Figure 1.1(a) of the book is an image of a UR5 robot, with a frame at its base and a frame at its end-effector. Eyeballing the end-effector frame, approximately write the rotation matrix that represents the end-effector frame orientation relative to the base frame. Your rotation matrix should satisfy the properties of a rotation matrix (R^T R = I, det(R) = 1). The x-axes are in red, the y-axes are in green, and the z-axes are in blue.
6) Write a program that takes a set of exponential coordinates for rotation from the user as input. It then prints out the following: (a) the corresponding unit rotation axis and the angle of rotation about that axis; (b) the so(3) 3x3 matrix representation of the exponential coordinates; (c) the 3x3 SO(3) rotation matrix corresponding to the exponential coordinates; (d) the inverse of the rotation matrix from (c); (e) the 3x3 so(3) matrix log of the matrix from (d); and (f) the corresponding exponential coordinates for the so(3) matrix (e). Use the code from the book and write your program in Mathematica, MATLAB, or Python. Turn in your code and the output of an example run using (0.5, 1, 0) as the input to part (a).
7) Write a function that returns "true" if a given 3x3 matrix is with a distance epsilon of being a rotation matrix and "false" otherwise. It is up to you to define the "distance" between a random 3x3 real matrix and members of SO(3). Test the function on two matrices, neither of which is exactly in SO(3), but one of which is close (so the result is "true") and one of which is not. Turn in your code and provide the test run output, which also outputs the distance to SO(3) that you defined.
8) Following up on the previous exercise: describe (don't implement, unless you want to) a function that takes a "close by" 3x3 matrix and returns the closest rotation matrix. How would you use the fact that R^T R - I must be equal to zero to modify the initial 3x3 matrix to make it a "close by" rotation matrix? Would the function be iterative? You are free to do some research online, but as always, cite your sources!

Class 5 (F 9/29)

Video/reading comprehension question
Lecture

At home:

Videos: videos 4-6 of Chapter 3, through Chapter 3.2.3
Reading: through Chapter 3.2.3

Class 6 (M 10/2)

Video/reading comprehension question
Help with HW2

At home:

Videos: videos 7-9 of Chapter 3, Chapters 3.3.1 and 3.3.2
Reading: same sections

Class 7 (W 10/4)

Video/reading comprehension question
Lecture

At home:

Videos: videos 10-11, Chapter 3.3.3 and 3.4
Reading: same sections
HW3, due 1:30 PM 10/11: Exercises 3.16, 3.17, 3.27, 3.31, and 3.48

Class 8 (F 10/6)

Video/reading comprehension question
Lecture

At home:

Videos: video 1 of Chapter 4, through Chapter 4.1.2
Reading: same sections

Class 9 (M 10/9)

Video/reading comprehension question
Help with HW2

At home:

Videos: videos 2-3 of Chapter 4, Chapter 4.1.3
Reading: same sections

Class 10 (W 10/11)

Video/reading comprehension question
Student lecture

At home:

Videos: video 1 of Chapter 5, before Chapter 5.1
Reading: same sections

Class 11 (F 10/13)

Video/reading comprehension question
Student lecture

At home:

Videos: video 2 of Chapter 5, Chapter 5.1.1
Reading: same sections

Class 12 (M 10/16)

Video/reading comprehension question
Help with HW2

At home:

Videos: videos 3 and 4 of Chapter 5, Chapter 5.1.2 through 5.2
Reading: same sections

Class 13 (W 10/18)

Video/reading comprehension question
Student lecture

At home:

Videos: videos 5 and 6 of Chapter 5, Chapter 5.3 and 5.4
Reading: same sections

Class 14 (F 10/20)

Video/reading comprehension question
Student lecture

At home:

Videos: videos 1 and 2 of Chapter 6,
Reading: intro of Chapter 6 and Chapter 6.2

Class 15 (M 10/23)

Video/reading comprehension question
Help with HW2

At home:

Videos: video 3 of Chapter 6
Reading: Chapter 6.2

Class 16 (W 10/25)

Video/reading comprehension question
Student lecture

At home:

Videos:
Reading: same sections

Class 17 (F 10/27)

Video/reading comprehension question
Student lecture

At home:

Videos:
Reading: same sections

Class 18 (M 10/30)

Video/reading comprehension question
Help with HW2

At home:

Videos:
Reading: same sections

Class 19 (W 11/1)

Video/reading comprehension question
Student lecture

At home:

Videos:
Reading: same sections

Class 20 (F 11/3)

Video/reading comprehension question
Student lecture

At home:

Videos:
Reading: same sections

Class 21 (M 11/6)

Video/reading comprehension question
Help with HW2

At home:

Videos:
Reading: same sections

Class 22 (W 11/8)

Video/reading comprehension question
Student lecture

At home:

Videos:
Reading: same sections

Class 23 (F 11/10)

Video/reading comprehension question
Student lecture

At home:

Videos:
Reading: same sections

Class 24 (M 11/13)

Video/reading comprehension question
Help with HW2

At home:

Videos:
Reading: same sections

Class 25 (W 11/15)

Video/reading comprehension question
Student lecture

At home:

Videos:
Reading: same sections

Class 26 (F 11/17)

Video/reading comprehension question
Student lecture

At home:

Videos:
Reading: same sections

Class 27 (M 11/20)

Video/reading comprehension question
Help with HW2

At home:

Videos:
Reading: same sections

Class 28 (W 11/22)

Video/reading comprehension question
Student lecture

At home:

Videos:
Reading: same sections

Class 29 (F 11/27)

Video/reading comprehension question
Help with HW2

At home:

Videos:
Reading: same sections

Class 30 (W 11/29)

Video/reading comprehension question
Student lecture

At home:

Videos:
Reading: same sections

Class 31 (F 12/1)


Personal tools