Difference between revisions of "ME 449 Robotic Manipulation"

From Mech
Jump to navigationJump to search
Line 1: Line 1:
'''Fall Quarter 2015'''
'''Fall Quarter 2016'''


* Instructor: Prof. Kevin Lynch
* Instructor: Prof. Kevin Lynch
* Office hours: Tech B222, TBA
* Office hours: Tech B222, Monday 2-3 ('''3-4 on Monday Dec 8'''), Tuesday 2-3 '''(Note: no office hours on Mon Nov 16, Mon Nov 23, and Tues Nov 24. Added office hour: Thurs Nov 19, 3-4 PM.)'''
* Meeting: 12:30-1:50 TTh, Tech A110
* Meeting: 12:30-1:50 TTh, Tech M345
* course website: http://hades.mech.northwestern.edu/index.php/ME_449_Robotic_Manipulation
* course website: http://hades.mech.northwestern.edu/index.php/ME_449_Robotic_Manipulation


Line 17: Line 17:
[[Media:park-lynch.pdf|"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.
[[Media:park-lynch.pdf|"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.


[https://docs.google.com/forms/d/e/1FAIpQLSc3o0BfYxYUtnLhSoTkp40a7j0Clkx3p9DU6IdQ1yIBcNrpgA/viewform '''Please submit your corrections to the text here!''']
[[Media:ME449-Summary-2014.pdf|Summary of important equations]].


[http://www.it.northwestern.edu/software/matlab/obtain.html How to obtain Matlab]
[http://www.it.northwestern.edu/software/matlab/obtain.html How to obtain Matlab]


<!--
* [[Media:ME449-time-optimal-slides.pdf|Slides on time-optimal time scaling of a trajectory.]]
* [[Media:ME449-time-optimal-slides.pdf|Slides on time-optimal time scaling of a trajectory.]]
* [[Media:ME449-motion-planning-slides.pdf|Slides on motion planning.]]
* [[Media:ME449-motion-planning-slides.pdf|Slides on motion planning.]]
-->


==Assignments==
==Assignments==
Line 41: Line 43:


5. Please name the upload file in the following format: LastName_FirstName.zip.
5. Please name the upload file in the following format: LastName_FirstName.zip.

* [[Media:ME449-2015F-hwk1.pdf|Assignment 1]], due Thursday Oct 15 at the beginning of class
* [[Media:ME449-2015F-hwk2.pdf|Assignment 2]], due Tuesday Oct 27 at the beginning of class ([[Media:ME449-2015F-hwk2-matlab.zip|Matlab robotics library, courtesy of Antonia Nepomuceno]]; [[Media:ME449-2015F-hwk2-mathematica.zip|Mathematica robotics library, courtesy of Andrew Ju]]; [[Media:ME449-2015F-hwk2-python.zip|Python robotics library, courtesy of Mikhail Todes]])
* [[Media:ME449-2015F-hwk3.pdf|Assignment 3]], due Thursday Nov 5 at the beginning of class ([[Media:ME449-2015F-hwk3-matlab.zip|Matlab robotics library, courtesy of Minghe Jiang]]; [[Media:ME449-2015F-hwk3-mathematica.zip|Mathematica robotics library, courtesy of Matt Collins]]; [[Media:ME449-2015F-hwk3-python.zip|Python robotics library, courtesy of Tim Herrmann]])
* [[Media:ME449-2015F-hwk4.pdf|Assignment 4]], due Tuesday Nov 24 at the beginning of class. (If you write down your solutions of 9.1, 9.2 and 9.5 on paper, please scan your solutions and provide a PDF file. Please make sure that your results are clear. You can do screen shots for the plots asked in problem 5 and problem 6. Make sure you add labels, units and titles to your plots. Save the screen shots in PDF files. Please merge all your PDF files together into one single PDF file and submit it with your code.) '''Addition to the assignment:''' Make movies for 5(iii) and 6(iii), upload them to youtube, and provide the links. You can make a movie using your operating system's screen video capture program (e.g., quicktime for the Mac, or recordMyDesktop or SimpleScreenRecorder for linux), or you can use this [[Media:ME449-2015F-matlab-movie.m|'''code that shows you how to make a movie in MATLAB.''']] ([[Media:ME449-2015F-hwk4-python.zip|Python robotics library, courtesy of Mikhail Todes]], also hosted on github [https://github.com/MikhailTodes/rob_manip_repo here]; [[Media:ME449-2015F-hwk4-mathematica.zip|Mathematica robotics library, courtesy of Roman Grigorii]]; [[Media:ME449-2015F-hwk4-matlab.zip|MATLAB robotics library, courtesy of Deepak Gopinath]]; an example of an [https://www.youtube.com/watch?v=fVElSuS1GgI animation of problem 5 courtesy of Mikahil Todes]; an example of an [https://www.youtube.com/watch?v=ycaGRk_0AE8 animation of problem 6 courtesy of Mikhail Todes])
* [[Media:ME449-2015F-hwk5.pdf|Assignment 5]], due Friday Dec 11 at 9 AM


==Visualizing Manipulators in MATLAB or ROS==
==Visualizing Manipulators in MATLAB or ROS==
Line 73: Line 69:


reading: Chapter 3
reading: Chapter 3
* rotation matrices, Euler angles, exponential coordinates, unit quaternions
* rotation matrices, exponential coordinates, unit quaternions
* angular velocities
* angular velocities
* rigid-body motions
* rigid-body motions

Revision as of 10:18, 20 September 2016

Fall Quarter 2016

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

"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!

How to obtain Matlab


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.

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.

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, exponential coordinates, unit quaternions
  • angular velocities
  • rigid-body motions
  • spatial velocities

Forward Kinematics

reading: Chapter 4

  • product of exponentials formula

Velocity Kinematics and Statics

reading: Chapter 5

  • coordinate, space, and body Jacobians
  • statics of open chains, singularities, manipulability

Inverse Kinematics

reading: Chapter 6, but you may skip 6.1

  • 2R example, numerical methods, and redundant open chains

Dynamics of Open Chains

reading: Chapter 8.1 and 8.2 on Lagrangian formulation, rest of the chapter on Newton-Euler and task space coords

  • Lagrangian formulation, dynamics of a single rigid body
  • Newton-Euler inverse and forward dynamics of open chains, dynamics in task space

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

optional: Chapter 11

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

ME 449 Fall 2015