Difference between revisions of "ME 449 Robotic Manipulation"

From Mech
Jump to navigationJump to search
Line 71: Line 71:
* You are encouraged to read the corresponding portions of the textbook after watching the videos. I suggest you watch first, then read, then possibly re-watch, but you can determine what works best for your learning style.
* You are encouraged to read the corresponding portions of the textbook after watching the videos. I suggest you watch first, then read, then possibly re-watch, but you can determine what works best for your learning style.
* During the class period '''after''' those videos, I will typically summarize what we learned, work a problem, take any questions you have about the material, and possibly assign you a problem to work on.
* During the class period '''after''' those videos, I will typically summarize what we learned, work a problem, take any questions you have about the material, and possibly assign you a problem to work on.
* There are two kinds of quizzes on Coursera: "lecture comprehension" quizzes, which are short and immediately follow lectures (and are due before class), and summative quizzes, which are usually longer assessments/assignments at the middle or end of a chapter. All quizzes are required and have an impact on your grade.
* There are two kinds of assessments on Coursera: "lecture comprehension" quizzes (LCs), which are short and immediately follow lectures (and are due before class), and summative tests, which are usually longer assessments/assignments at the middle or end of a chapter. All assessments are required and have an impact on your grade.
* Within Coursera there are also "discussion prompts," open-ended group questions that you should reply to (responses can be simple) and forums where you can post questions and reply to other students' questions.
* Within Coursera there are also "discussion prompts," open-ended group questions that you should reply to (responses can be simple) and forums where you can post questions and reply to other students' questions.
* Assignments outside Coursera will be submitted through Canvas.
* Assignments outside Coursera will be submitted through Canvas.


Below is the approximate syllabus and schedule. Next to each date is the Coursera material that should have been covered '''before''' that class.
Below is the approximate syllabus and schedule. Next to each date is the Coursera material that should have been covered '''before''' that class. "LC" refers to a brief lecture comprehension quiz that should be completed before that class, and "test" is a longer summative test that should be completed before that class.


'''Chapter 2, Configuration Space'''
'''Chapter 2, Configuration Space'''
* Wed Sept 22: welcome to the course; check for working CoppeliaSim implementation
* Wed Sept 22: welcome to the course; check for working CoppeliaSim implementation
* Fri Sept 24: through Chapter 2.2 (dof of a robot, 3 videos)
* Fri Sept 24: through Chapter 2.2 (3 videos and 2 LCs on dof of a robot)
* Mon Sept 27: through Chapter 2.3 (c-space topology and representation, 2 videos)
* Mon Sept 27: through Chapter 2.3 (test; 2 videos and 2 LCs on c-space topology and representation)
* Wed Sept 29: finish Chapter 2 (configuration and velocity constraints, task space and workspace, 2 videos)
* Wed Sept 29: finish Chapter 2 (2 videos and 2 LCs on configuration and velocity constraints, task space and workspace)
'''Chapter 3, Rigid-Body Motions'''
'''Chapter 3, Rigid-Body Motions'''
* Fri Oct 1: through Chapter 3.2.1 (rotation matrices SO(3), 3 videos)
* Fri Oct 1: through Chapter 3.2.1 (rotation matrices SO(3), 3 videos)

Revision as of 14:32, 16 September 2021

Fall Quarter 2021

Supportive Class Environment

All members of this class (instructors, TAs, students) are expected to contribute to a respectful, inclusive, and supportive environment for every other member of the class.

We are partners in your education; help us help you get the most out of this class. Please engage as much as possible during our class meetings!

Honor Code

You are encouraged to discuss the material with the instructor, course assistants, and your classmates, but you are not allowed to share your answers or code with others. Anyone asking for answers or code, or providing answers or code, or becoming aware of others doing so without reporting to the instructor, is considered in violation of the honor code.

Other Syllabus Statements

Here you can find other syllabus statements regarding academic integrity (do not submit work that is not your own), accessibility, COVID-19 classroom expectations, COVID-19 testing for unvaccinated students, class modality, class recordings, prohibition of recordings of class sessions by students, and wellness and mental health. By university policy, any student not vaccinated against COVID-19 must be tested for COVID-19 twice per week.

Getting Started

Do the following things as soon as possible:

Course Summary

Representations of the configuration and spatial motion of rigid bodies and robots based on modern screw theory. Forward, inverse, and differential kinematics. Robot dynamics, trajectory planning, and motion control. Wheeled mobile robots and mobile manipulation.

Prerequisites

Linear algebra, first-order linear ODEs, freshman-level physics/mechanics, a bit of programming background.

Grading

50% of your final grade will be from your Coursera grades (which I expect to be near perfect) and 50% from quizzes and assignments outside of Coursera.

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. If you find an error or typo in the book, please report it here.

Get the book, install and test the Modern Robotics code library, and install and test the CoppeliaSim robot simulator. You will program in Python, Mathematica, or MATLAB in this course.

Here is a linear algebra refresher appendix to accompany the book.

Approximate Syllabus and Schedule

Here is a summary of the structure of the course:

  • Before most classes, you will watch the associated videos on Coursera and answer the "lecture comprehension" quizzes. (Designed to be relatively quick, to solidify your understanding.)
  • You are encouraged to read the corresponding portions of the textbook after watching the videos. I suggest you watch first, then read, then possibly re-watch, but you can determine what works best for your learning style.
  • During the class period after those videos, I will typically summarize what we learned, work a problem, take any questions you have about the material, and possibly assign you a problem to work on.
  • There are two kinds of assessments on Coursera: "lecture comprehension" quizzes (LCs), which are short and immediately follow lectures (and are due before class), and summative tests, which are usually longer assessments/assignments at the middle or end of a chapter. All assessments are required and have an impact on your grade.
  • Within Coursera there are also "discussion prompts," open-ended group questions that you should reply to (responses can be simple) and forums where you can post questions and reply to other students' questions.
  • Assignments outside Coursera will be submitted through Canvas.

Below is the approximate syllabus and schedule. Next to each date is the Coursera material that should have been covered before that class. "LC" refers to a brief lecture comprehension quiz that should be completed before that class, and "test" is a longer summative test that should be completed before that class.

Chapter 2, Configuration Space

  • Wed Sept 22: welcome to the course; check for working CoppeliaSim implementation
  • Fri Sept 24: through Chapter 2.2 (3 videos and 2 LCs on dof of a robot)
  • Mon Sept 27: through Chapter 2.3 (test; 2 videos and 2 LCs on c-space topology and representation)
  • Wed Sept 29: finish Chapter 2 (2 videos and 2 LCs on configuration and velocity constraints, task space and workspace)

Chapter 3, Rigid-Body Motions

  • Fri Oct 1: through Chapter 3.2.1 (rotation matrices SO(3), 3 videos)
  • Mon Oct 4: finish Chapter 3.2 (angular velocities, so(3), exponential coordinates, 3 videos)
  • Wed Oct 6: through Chapter 3.3.2 (transform matrices SE(3) and twists, 3 videos)
  • Fri Oct 8: finish Chapter 3 (se(3), exponential coordinates and wrenches, 2 videos)

Chapter 4, Forward Kinematics (skip section 4.2 on URDF)

  • Mon Oct 11: finish Chapter 4 (product of exponentials formula, space and e-e frame, 3 videos)

Chapter 5, Velocity Kinematics and Statics

  • Wed Oct 13: through Chapter 5.1 (space Jacobian, body Jacobian, 3 videos)
  • Fri Oct 15: through Chapter 5.2 (statics of open chains, 1 video)
  • Mon Oct 18: through Chapter 5.4 (singularity analysis, manipulability, 2 videos)

Chapter 6, Inverse Kinematics (focus on section 6.2)

  • Wed Oct 20: Chapter 6 (numerical inverse kinematics, 3 videos)
  • Fri Oct 22: catch up (this class will basically be an office hour)

Chapter 8, Dynamics of Open Chains (skip sections 8.4, 8.7, 8.8, and 8.9)

  • Mon Oct 25: through Chapter 8.1.2 (Lagrangian dynamics, 2 videos)
  • Wed Oct 27: Chapter 8.1.3 (understanding the mass matrix, 1 video)
  • Fri Oct 29: Chapter 8.2 (dynamics of a single rigid body, 2 videos)
  • Mon Nov 1: Chapter 8.3 and 8.5 (Newton-Euler inverse dynamics, forward dynamics, 2 videos)

Chapter 9, Trajectory Generation

  • Wed Nov 3: through Chapter 9.3 (point-to-point trajectories, polynomial via point trajectories, 3 videos)
  • Fri Nov 5: Chapter 9.4 (time-optimal time scaling, 3 videos)
  • Mon Nov 8: catch up
  • Wed Nov 10: final project

Chapter 11, Robot Control (focus on sections 11.1 through 11.4)

  • Fri Nov 12: up to (not including) Chapter 11.2.2.1 (linear error dynamics, 3 videos)
  • Mon Nov 15: finish Chapter 11.2.2 (first- and second-order error dynamics, 2 videos)
  • Wed Nov 17: through Chapter 11.3 (motion control with velocity inputs, 3 videos)
  • Fri Nov 19: Chapter 11.4 (motion control with torque or force inputs, 3 videos)

Chapter 13, Wheeled Mobile Robots (skip section 13.3)

  • Mon Nov 22: through Chapter 13.2 (omnidirectional wheeled mobile robots, 3 videos)
  • Wed Nov 24: CLASS CANCELED
  • Mon Nov 29: Chapter 13.4 (odometry, 1 video)
  • Wed Dec 1: Chapter 13.5 (mobile manipulation, 1 video)
  • Fri Dec 3: wrap-up
  • Thurs Dec 9, noon: Capstone project due

Practice Exercises

Sample exercises and their solutions, useful for practicing your understanding of the material.

Practice Quizzes


Assignments

As mentioned above, in the Honor Code: You are encouraged to discuss the material with the instructor, course assistants, and your classmates, but you are not allowed to share your answers or code with others. Anyone asking for answers or code, or providing answers or code, or becoming aware of others doing so without reporting to the instructor, is considered in violation of the honor code.

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.

You will not receive credit if you just give an answer. Your solution must demonstrate how you got the answer. It must be easy to follow.

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:

  • Upload on time! Late submissions are not accepted.
  • For every assignment, you should upload exactly one pdf file, named FamilyName_GivenName_asst#.pdf. This pdf file should have answers to all the questions, including screen shots, text logs of code running, etc. Always include output of your code running on the exercises, so the grader can see what you got when you ran your code. You may scan handwritten solutions (provided they are neat!), but in any case, all answers should be in a single pdf file. DO NOT UPLOAD SCANS AS JPGS! THEY MUST ALL BE COMPILED INTO A SINGLE PDF FILE.
  • If required by the assignment, in addition you may be asked to provide a zip file including all source code in their original forms, such as .m, .py, or .nb. This zip file should be named FamilyName_GivenName_asst#.zip. Always create a script that the grader can easily invoke to run your code for a particular 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.txt" file in your zip file, for example, to tell the grader how everything works). Your code should be commented well enough that it is easy for someone else to pick it up and understand more or less how it works.


Final Project: Mobile Manipulation

The final project is described on this page.