Difference between revisions of "ME 449 Robotic Manipulation"
Line 28: | Line 28: | ||
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. |
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:''' |
'''Instructions for uploading assignments to Canvas:''' |
Revision as of 10:15, 27 September 2016
Fall Quarter 2016
- Instructor: Prof. Kevin Lynch
- Office hours: Tech B222, 2 PM Tuesday and ?? Wednesday
- Meeting: 12:30-1:50 TTh, Tech M345
- course website: http://hades.mech.northwestern.edu/index.php/ME_449_Robotic_Manipulation
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
Grading for the course will be based on problem sets and a final project. There will be no exams.
Course Text and Software
"Introduction to Robotics: Mechanics, Planning, and Control," F. C. Park and K. M. Lynch. These course notes will be undergoing revision throughout the quarter; check the timestamp in the table of contents. Please submit your corrections to the text here!
We will use this software, written in Python, Mathematica, and MATLAB. Please submit your corrections to the software here!
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 at the beginning of class on 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. Please name the codes by their corresponding problem numbers.
5. Please name the upload file in the following format: LastName_FirstName.zip.
Assignments
- Assignment 1, due on Canvas before the beginning of class on Thurs Oct 6: Chapter 2, Exercises 1, 3, 5, 16, 17, 28, 29; Chapter 3, Exercises 1, 2, 6, 16, 26, 27, 28, 31, 47.
Visualizing Manipulators in MATLAB or ROS
We provide two different methods for visualizing the motion of a robotic arm, one in MATLAB and the other in ROS. Choose whichever method sounds more appealing to you.
The Robotics Toolbox for MATLAB
If you would like to use MATLAB, we recommend the Robotics Toolbox for MATLAB. Please download the version we provide on the ME 449 wiki. We've made a minor change to the original code, so that the base and end-effector frames are shown by default. Instructions on how to visualize poses and animate arm trajectories can be found here and in the zip file below.
Download: MATLAB Robotics Toolbox for ME 449.zip.
ROS/rviz
If you would like to use rviz, a visualization package in ROS (Robot Operating System), we provide installation and usage instructions for native Linux users and a virtual machine for Windows and Mac users.
Linux users, follow these instructions: Kinematics Tool Guide for Native ROS on Linux.
Windows and Mac users, you should follow these instructions: Kinematics Tool Guide in a Virtual Machine (Mac, Windows).
Approximate Syllabus
Configuration Space
reading: Chapter 2
- degrees of freedom, Grubler's formula, parameterizations, holonomic and nonholonomic constraints
Rigid-Body Motions
reading: Chapter 3
- rotation matrices, angular velocity, and exponential coordinates
- transformation matrices, twists, and exponential coordinates
- wrenches
Forward Kinematics
reading: Chapter 4
- product of exponentials formula in base frame and end-effector frame
- the URDF
Velocity Kinematics and Statics
reading: Chapter 5
- Jacobians: space, body, and other notions (e.g., velocity as time derivative of configuration variables)
- statics of open chains
- singularities, manipulability
Inverse Kinematics
reading: Chapter 6, but you may skip 6.1
- numerical inverse kinematics
Dynamics of Open Chains
reading: Chapter 8 (not 8.4)
- Lagrangian formulation,
- dynamics of a single rigid body
- Newton-Euler inverse and forward dynamics of open chains
- constrained dynamics
- actuation, gearing, and friction
Trajectory Generation
reading: Chapter 9, but you may skip 9.2 and 9.3
- definitions and time-optimal time scaling
Motion Planning
reading: Chapter 10 through 10.5.1
- overview, foundations, and complete path planners
- grid methods and the RRT sampling method
Robot Control
reading: Chapter 11
- motion control and force control
Grasping and Manipulation
reading: Chapter 12
- contact kinematics, planar graphical methods, and form closure
- contact forces, planar graphical methods, and force closure, Chapter 12.2
- other manipulation, Chapter 12.3
Wheeled Mobile Robots
reading: Chapter 13
- modeling, motion planning, and control for omnidirectional and nonholonomic mobile robots
- it is highly unlikely we will get here!