Difference between revisions of "ME 449 Robotic Manipulation"

From Mech
Jump to navigationJump to search
Line 63: Line 63:
* '''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.
* '''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.
* '''Assignment 2''', due on Canvas before the beginning of class on Thurs Oct 20: Chapter 4, Exercises 1, 2, and 7; Chapter 5, Exercises 2, 3, 8, 24, 25, and 28
* '''Assignment 2''', due on Canvas before the beginning of class on Thurs Oct 20: Chapter 4, Exercises 1, 2, and 7; Chapter 5, Exercises 2, 3, 8, 24, 25, and 28
* '''Assignment 3''', due on Canvas before the beginning of class on Thurs Nov 3: Chapter 6, Exercise 7, 8, and 9, plus a programming assignment: You will write a program for trajectory generation for the UR5 robot, as described in Chapter 4. For simplicity, the {b} frame is always aligned with the {s} frame in this trajectory. Your program accepts a start point for {b} and a goal point, each expressed as (x, y, z) of the {b} frame relative to {s}. Call these points (xstart, ystart, zstart) and (xend, yend, zend). Your program will solve the inverse kinematics at 101 points: the first point, at (xstart, ystart, zstart), the 101th point, at (xend, yend, zend), and at 99 points spaced equally in between. Your program will then write out a comma separated values (csv) text file similar to

0, 0, 0, 0, 0, 0
0.12, 0.37, -0.54, 0.01, 0.02, -0.31
...

etc. Each row corresponds to the joint angles that solve the inverse kinematics problem for the given (x, y, z) point, from the 1st to the 101st. So your csv file will have 101 rows. Then you will use the [[V-REP Introduction|V-REP simulator]], scene 2, to "play" the trajectory in your CSV file to see the motion of the robot. You will make a video of the motion. You will turn in (1) your working, commented code and (2) your video. For the video, use the starting position (0.7 m, 0, 0.1 m) and the goal position (0, -0.3 m, 0.5 m).


<!--
<!--

Revision as of 15:41, 26 October 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 and Software

You can find the latest version of the book, and the software, by clicking here. You can also submit your corrections.

Introduction to V-REP, which we will be using to simulate robots.

How to obtain MATLAB.

Reading

This supersedes the approximate syllabus below.

  • Chapter 2
  • Chapter 3
  • Chapter 4 (4.2 can be skimmed)
  • Chapter 5
  • Chapter 6 (6.1 can be skipped)
  • Chapter 8 (8.4 can be skipped; 8.6-8.9 are for reference only for those interested)

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.
  • Assignment 2, due on Canvas before the beginning of class on Thurs Oct 20: Chapter 4, Exercises 1, 2, and 7; Chapter 5, Exercises 2, 3, 8, 24, 25, and 28
  • Assignment 3, due on Canvas before the beginning of class on Thurs Nov 3: Chapter 6, Exercise 7, 8, and 9, plus a programming assignment: You will write a program for trajectory generation for the UR5 robot, as described in Chapter 4. For simplicity, the {b} frame is always aligned with the {s} frame in this trajectory. Your program accepts a start point for {b} and a goal point, each expressed as (x, y, z) of the {b} frame relative to {s}. Call these points (xstart, ystart, zstart) and (xend, yend, zend). Your program will solve the inverse kinematics at 101 points: the first point, at (xstart, ystart, zstart), the 101th point, at (xend, yend, zend), and at 99 points spaced equally in between. Your program will then write out a comma separated values (csv) text file similar to

0, 0, 0, 0, 0, 0 0.12, 0.37, -0.54, 0.01, 0.02, -0.31 ...

etc. Each row corresponds to the joint angles that solve the inverse kinematics problem for the given (x, y, z) point, from the 1st to the 101st. So your csv file will have 101 rows. Then you will use the V-REP simulator, scene 2, to "play" the trajectory in your CSV file to see the motion of the robot. You will make a video of the motion. You will turn in (1) your working, commented code and (2) your video. For the video, use the starting position (0.7 m, 0, 0.1 m) and the goal position (0, -0.3 m, 0.5 m).


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!