CMPE-633-Fall2011

From CYPHYNETS

(Difference between revisions)
Jump to: navigation, search
(Text book)
Current revision (15:35, 30 March 2012) (view source)
 
(47 intermediate revisions not shown.)
Line 1: Line 1:
{| cellspacing=5 cellpadding=5 border=0 width=100%
{| cellspacing=5 cellpadding=5 border=0 width=100%
|- style="background:#e0e0ff; color:black; font-size:18px; -moz-border-radius:8px;"
|- style="background:#e0e0ff; color:black; font-size:18px; -moz-border-radius:8px;"
-
! width="75%" colspan="2" | CMPE-633: Topics in Robotics and Control
+
! width="75%" colspan="2" | CMPE-633B: Robot Kinematics, Dynamics and Control
-
Fall 2011: Robot Dynamics and Control
+
|-
 +
|- style="background:#e0e0e0; color:black; font-size:18px; -moz-border-radius:8px;"
 +
! width="75%" colspan="2" | Fall 2011
 +
|-
|}
|}
Line 34: Line 37:
===Course Description===
===Course Description===
 +
[[Image:spong_book.jpg|right|200px]]
 +
[[Image:choset_book.jpg|right|150px]]
 +
[[Image:craig_book_farsi.jpg|right|150px]]
 +
====Generic====
====Generic====
A research-methods based course to study advanced topics in robotics and control system design with emphasis on field robotics, unmanned aerial and ground vehicles, planning algorithms, autonomous systems, telerobotics, Human Robot Interaction (HRI) and other related areas. The course prepares students to do independent work at the frontiers of robotics and control research.  
A research-methods based course to study advanced topics in robotics and control system design with emphasis on field robotics, unmanned aerial and ground vehicles, planning algorithms, autonomous systems, telerobotics, Human Robot Interaction (HRI) and other related areas. The course prepares students to do independent work at the frontiers of robotics and control research.  
Line 48: Line 55:
===Pre-requisites===
===Pre-requisites===
-
'''Grads.''' CMPE435 (Robotics ) OR CMPE432 (Feedback design) OR CMPE-633 (Fall 2011) OR permission of instructor
+
* '''Grads.''' CMPE435 (Robotics) OR CMPE432 (Feedback design) OR CMPE-633 (Fall 2011) OR permission of instructor
-
'''Undergrads.''' EE361 (Feedback control) AND permission of instructor
+
* '''Undergrads.''' EE361 (Feedback control) AND permission of instructor
===Text book===
===Text book===
-
[[Image:spong_book.jpg|right|200px]]
 
-
[[Image:choset_book.jpg|right|150px]]
 
The course will be taught from a combination of the following textbooks.  
The course will be taught from a combination of the following textbooks.  
'''Primary Texts'''
'''Primary Texts'''
-
* [[http://smpp.northwestern.edu/savedLiterature/Spong_Textbook.pdf  Robot Dynamics and Control] by Spong et al. (Available as a free legal download)
+
* [http://smpp.northwestern.edu/savedLiterature/Spong_Textbook.pdf  Robot Dynamics and Control] by Spong et al. (Available as free legal download)
 +
* [http://www.springer.com/engineering/robotics/book/978-1-84628-641-4 Robotics: Modelling, Planning and Control] by Siciliano et al.
 +
'''Secondary Texts'''
* [http://www.cs.cmu.edu/~biorobotics/book/ Principles of Robot Motion] by Choset et al. (Available as low priced edition)  
* [http://www.cs.cmu.edu/~biorobotics/book/ Principles of Robot Motion] by Choset et al. (Available as low priced edition)  
-
'''Secondary Texts'''
+
*       [http://www.cds.caltech.edu/~murray/mlswiki/index.php/Main_Page A Mathematical Introduction to Robotic Manipulation] by Murray, Li and Sastry. (Available as free legal download)
-
* [http://planning.cs.uiuc.edu/ Planning Algorithms] by Steve Lavalle. (Available as a free legal download)
+
*  Introduction to Robotics: Mechanics and Control by John Craig
-
* [http://robots.stanford.edu/probabilistic-robotics/ Probabilistic Robotics] by Thrun et al.  
+
*  Research papers.
-
* Research papers.
+
 
 +
===Resources===
 +
* [http://petercorke.com/Robotics_Toolbox.html Robotics Toolbox for MATLAB].
 +
 
 +
===Similar Courses===
 +
[http://see.stanford.edu/see/lecturelist.aspx?coll=86cc8662-f6e4-43c3-a1be-b30d1d179743 Stanford]: Introduction to Robotics.  
===Grading Scheme===
===Grading Scheme===
Line 80: Line 92:
== Schedule ==
== Schedule ==
{|border="1"
{|border="1"
-
! WEEK !! TOPICS !! READINGS/REFERENCES
+
! WEEK !! LUMS CALENDAR !! TOPICS !! READINGS/REFERENCES
|-
|-
-
| align ="left" | Week 1. August 23
+
| align ="left" | Week 1. Sept 5
-
| align ="left" | '''Lec 1.''' Introduction; robotics and autonomous systems;
+
| align ="left" | Start of classes Sept 7;
-
'''Lec 2.''' workspaces; configuration spaces; planning algorithms; bug algorithms; Bug0 and Bug1 algorithms;
+
| align ="left" | Introduction to robotic systems; rigid body motions and transformations.
-
| align ="left" | Choset CH 1,2;
+
'''Lec 1.''' Introduction; robotics and autonomous systems;  
-
 
+
| align ="left" |  
-
[http://robots.stanford.edu/papers/thrun.stanley05.html Stanley, the robot that won the DARPA Grand Challenge]
+
-
 
+
-
[[Media:bugalgos_errata.pdf|Bug algorithms. Errata from author's website.]]
+
-
 
+
|-
|-
-
| align ="left" | Week 2. August 30
+
| align ="left" | Week 2. Sept 12
-
| align ="left" | '''Lec 3'''. Completeness of Bug1; upper bounds on Bug1; Bug2 algorithm; performance comparison; range sensors and mathematical description.
+
| align ="left" | Drop deadline Sept 14; Classes cancelled due to Dengue outbreak
-
'''Lec 4'''. Tangent Bug algorithm; implementation issues; wall-following behavior with range sensors;  
+
| align ="left" | '''Lec 2.''' workspaces; configuration spaces; planning algorithms;  
-
 
+
| align ="left" |  
-
[[Media:cmpe633-Hw1.pdf|Homework 1]]
+
-
 
+
-
[[Media:cmpe633-Hw1-sol-code.rar|MATLAB code solutions]]
+
-
 
+
-
| align ="left" | Choset CH 2; [http://planning.cs.uiuc.edu/node618.html LaValle SEC 12.3.3];
+
|-
|-
-
| align ="left" | Week 3. September 6
+
| align ="left" | Week 3. Sept 19
-
| align ="left" | '''Lec 5'''. Introduction to discrete planning; state space models and examples; discrete feasible planning; graph search algorithms; general forward search;
+
| align ="left" | No classes due to Dengue Outbreak.  
-
 
+
| align ="left" |  
-
'''Lec 6'''. Breadth first search; depth first search; Dijkstra's algorithm; A*; systematic searches; configuration spaces revisited; mechanical linkages; forward and inverse kinematics; toroidal configuration spaces;
+
| align ="left" |
-
 
+
-
| align ="left" | LaValle [http://planning.cs.uiuc.edu/node35.html CH2];
+
-
 
+
-
[[Media:cmpe633_Lec5slides.pdf|Slides]]
+
-
 
+
-
[http://optlab-server.sce.carleton.ca/POAnimations2007/DijkstrasAlgo.html Dijkstra's algorithm Demo]
+
|-
|-
-
| align ="left" | Week 4. September 13
+
| align ="left" | Week 4.Sept 26
-
| align ="left" | '''Lec 7'''. Mapping workspace obstacles into configuration space obstacles; visualizing high dimensional configuration spaces; a first look at obstacles in SE(2); polygonal robots and obstacles;
+
| align ="left" | Classes resumed; Semester pushed back by one week
 +
| align ="left" | '''Lec 3.'''
-
| align ="left" | Choset CH3, Appendix F
+
| align ="left" |  
|-
|-
-
| align ="left" | Week 5. September 20
+
| align ="left" | Week 5. Oct 3
-
| align ="left" | '''Lec 8'''. representing polygonal objects via linear inequalities; computing configuration space obstacle polygons from workspace descriptions; star algorithm; Minkowski sums and differences of sets;
+
| align ="left" |  
 +
| align ="left" | Forward kinematics; inverse kinematics;
 +
'''Lec 4.'''
-
'''Lec 9'''. Holonomic constraints; degrees of freedom in a configuration space; rigid body CSpace in 2D; rigid bodies in 3D; SO(3) matrix group; Euler parameterization;
+
'''Lec 5.'''
-
+
| align ="left" |  
-
 
+
-
| align ="left" | Lavalle [http://planning.cs.uiuc.edu/node161.html SEC4.3.2], [http://planning.cs.uiuc.edu/node91.html SEC3.2];
+
-
 
+
-
Choset CH3, Appendex F, E.
+
|-
|-
-
| align ="left" | Week 6. September 27
+
| align ="left" | Week 6. Oct 10
-
| align ="left" | '''Lec 10'''. SO(2) revisited via complex numbers; generalization to SO(3); quaternion algebra; topology of SO(3);
+
| align ="left" |  
 +
| align ="left" |
 +
'''Lec 6.'''
-
'''Lec 11'''. Gimbal lock problem; parameterization problems and topology of configuration spaces; topology of S^1 x S^1 vs S^2; S^3; SO(3); RP^3; quaternions as a double cover of SO(3);
+
'''Lec 7.'''
-
| align ="left" | Lavalle [http://planning.cs.uiuc.edu/node91.html SEC3.2] ,[http://planning.cs.uiuc.edu/node144.html SEC4.2]; Choset CH3, Appendix E;
+
| align ="left" | [[Media:CMPE-633b-HW1.pdf|HW1]]
-
 
+
-
Gimbal lock problem in Euler Angles. [http://www.youtube.com/watch?v=rrUCBOlJdt4 Video.]
+
-
 
+
-
[[Media:quaternions_topology.pdf|Quaternions and the topology of SO(3).]]
+
|-
|-
-
| align ="left" | Week 7. October 4
+
| align ="left" | Week 7. Oct 17
-
| align ="left" | '''Lec 12'''. 2D and 3D rigid bodies revisited; rotations and translations of points and bodies; types of joints; kinematic chains; DH-parameters; 
+
| align ="left" |
 +
| align ="left" | '''Lec 8.'''
-
'''Lec 13'''. Introduction to roadmaps; deterministic/combinatorial methods for roadmap construction; general properties; visibility graphs; line-sweep algorithm;
 
-
[[Media:cmpe633-Hw2.pdf|Homework 2]]
+
'''Lec 9.'''
-
+
| align ="left" |  
-
[[Media:cmpe633-Hw2-sol-code.rar|MATLAB code solutions]]
+
-
 
+
-
| align ="left" | LaValle [http://planning.cs.uiuc.edu/node105.html SEC3.3]; Choset CH5.
+
|-
|-
-
| align ="left" | Week 8. October 11
+
| align ="left" | Week 8. Oct 24
-
| align ="left" | '''Lec 14'''. Voronoi diagrams; generalized Voronoi diagrams (GVD); bush-fire algorithm; wavefront algorithm;
+
| align ="left" |
 +
| align ="left" |  
-
'''Lec 15'''. Potential field methods; vector fields and gradients; critical points and Hessian matrix; attractive and repulsive potential fields; gradient descent algorithm; local minima and other practical implementation issues; another look at bush-fire algorithm;
+
'''Lec 10.'''
-
| align ="left" | Choset CH4;
+
'''Lec 11.'''
-
|-
+
-
| align ="left" | Week 9. October 18
+
-
| align ="left" | '''Lec 16'''. Introduction to navigation functions; navigation functions for the sphere-shaped world; compositions of potentials; analytical switches; empirical tuning of navigation functions;
+
-
'''Lec 17'''. Star-shaped worlds; diffeomorphisms; mapping stars to spheres; analytical switches revisited; navigation functions for star worlds;
+
| align ="left" |  
-
 
+
-
| align ="left" | Choset CH4;
+
|-
|-
-
| align ="left" | Week 10. October 25
+
| align ="left" | Week 9. Oct 31
-
| align ="left" | '''Lec 17'''. Inverse and forward kinematics; lifting velocities and forces between coordinate changes; modified potential field method for direct workspace control;
+
| align ="left" |
 +
| align ="left" |  
-
'''Lec 18'''. Introduction to sampling based planning; problem history and motivation; computational complexity of planning algorithms; introduction to probabilistic road-maps algorithm (PRM); query phase of PRM;
+
Mobile kinematics (Invited Lectures. Dr Karsten Berns)
 +
'''Lec 15.'''
-
'''Tutorial.''' Using the MATLAB robotics toolbox. (Oct 29)
+
'''Lec 16.'''  
-
| align ="left" | Choset SEC3.8, SEC4.7, CH 7;
+
-
[[Media:cmpe633-roboticstoolbox.zip|MATLAB Robotics Toolbox Tutorials]].
 
 +
| align ="left" |
|-
|-
-
| align ="left" | Week 12. November 1
+
| align ="left" | Week 10. Nov 7
-
| align ="left" | Project Proposal Presentations. (Session 1)
+
| align ="left" | Eid-ul-Azha holidays Nov 7-9;
-
 
+
| align ="left" |
-
Project Proposal Presentations. (Session 2)
+
Roadmaps for trajectory generation; trajectory planning.
-
 
+
'''Lec 18.'''
| align ="left" |  
| align ="left" |  
|-
|-
-
| align ="left" | Week 13. November 8
+
| align ="left" | Week 11. Nov 14
-
| align ="left" | '''Lec 20.''' PRMs continued. Refinements in PRM construction; sampling difficulties and narrow passages; distance functions for non-Euclidean spaces; metric spaces and Lp-norms for complex configuration spaces; Cartesian products; metrics for S^1, SO(3) using complex numbers and quaternions; generating a random configuration in S^1, SO(3); 
+
| align ="left" | Midterms
 +
| align ="left" |  
-
'''Lec 21'''. Introduction to probabilistic robotics; modeling sensor noise; basic probability and statistics; linear transformations of Gaussian random variables; interpreting and visualizing the covariance matrix; state and measurement;
+
'''Lec 19.'''
-
 
+
-
'''Lec 22'''. Linear systems; discrete-time linear models from equations of motion; examples; process noise and sensor noise; Objectives of Kalman filtering;
+
-
 
+
-
| align ="left" | Choset CH7, CH8;
+
-
 
+
-
[http://en.wikipedia.org/wiki/Lp_space Lp Norms and Metrics].
+
 +
'''Lec 20.'''
 +
| align ="left" |
|-
|-
-
| align ="left" | Week 14. November 15
+
| align ="left" | Week 12. Nov 21
| align ="left" |  
| align ="left" |  
 +
| align ="left" | Velocity kinematics.
 +
'''Lec 21.'''
 +
 +
'''Lec 22.'''
| align ="left" |  
| align ="left" |  
|-
|-
-
| align ="left" | Week 15. November 22
+
| align ="left" | Week 13. Nov 28
| align ="left" |  
| align ="left" |  
-
'''Lec 23'''. Basic laws of probability and Bayes rule; belief about state; derivation of the Bayesian filter; prediction and update; dealing with beliefs and distributions for nonlinear non-Gaussian systems; Kalman Filtering as a special case;
+
| align ="left" |
-
 
+
'''Lec 23.'''
-
'''Lec 24'''. Derivation of the Kalman filter; combining estimates from two scalar Gaussians; innovation and Kalman gain; estimation in the absence of process and sensor noise; state and covariance prediction; combining measurement and prediction in the presence of process noise;
+
-
 
+
-
| align ="left" | Thrun CH 2; Choset CH8
+
 +
'''Lec 24.'''
 +
| align ="left" |
|-
|-
-
| align ="left" | Week 16. Novemeber 29
+
| align ="left" | Week 14. Dec 5
 +
| align ="left" | Ashura holidays Dec 5-6;
 +
| align ="left" | '''Lec 25.'''
| align ="left" |  
| align ="left" |  
-
'''Lec 25'''. Completion of proof of KF; basic SLAM using Kalman filtering; non-linear models of sensing and robot motion; Extended Kalman filtering; 
 
-
 
-
'''Lec 26'''. Nonlinear transformations of random variables; generation of non-Gaussian noise via nonlinear transforms; modeling sensor noise; ultrasound, laser models and other non-Gaussian sources; data association problem;
 
-
 
-
'''Lec 27'''. Probabilistic localization using Bayesian filtering; data association problem revisited; histogram Bayes filter;
 
-
introduction to particle filtering; computational issues in sampling arbitrary distributions; practical demonstration of Kalman filtering.
 
-
 
-
| align ="left" | Thrun CH 2,3,4; Choset CH8
 
|-
|-
-
| align ="left" | Week 17. December 6
+
| align ="left" | Week 15. Dec 12
| align ="left" |  
| align ="left" |  
-
'''Lec 27'''. Wrap-up. Future directions.
+
| align ="left" | Rigid body dynamics; Euler-Lagrange equations; kinetic and potential energy.
-
 
+
'''Lec 26.'''
-
'''Take home Exam.''' Due December 7th.
+
-
 
+
 +
'''Lec 27.'''
| align ="left" |  
| align ="left" |  
|-
|-
-
| align ="left" | Week 18. December 13
+
| align ="left" | Week 16. Dec 19
-
Dec 27. Final grades submission;
+
| align ="left" | Last day of classes Dec 20; Reading/review Dec 21-24;
-
Dec 20-Jan 21 Semester break.
+
| align ="left" | '''Lec 28.'''
-
| align ="left" | '''Project Presentations/Viva/Demo 1'''. Dec 14th
+
| align ="left" |
-
'''Project Presentations/Viva/Demo 2'''. Dec 15th
+
|-
-
+
| align ="left" | Week 17. Dec 26
-
 
+
| align ="left" | Final Exams Dec 26-Jan 02; Grade submission deadline Jan 13;
 +
| align ="left" | Nonlinear multivariable control problem; stability and tracking; inverse dynamics; passitivity based control; robust and adaptive control.
| align ="left" |  
| align ="left" |  
|-
|-
|}
|}
 +
 +
===Project Ideas===
 +
You can choose a project covering one of the following themes using help from literature reported in books, conferences and journals.
 +
 +
====Applications====
 +
Study, formulate and simulate the kinematics, dynamics and control of a robotic mechanism. e.g.
 +
* Underwater robots
 +
* Hopping robots
 +
* Climbing robots
 +
* Legged robots
 +
* Flapping wing aerial robots
 +
* Flexible needles for robotic surgery
 +
 +
====Techniques====
 +
Study a technique underpinning robot modeling and control systems.
 +
* Visual servoing
 +
* Force feedback / haptics
 +
* Stabilization of bipedal and otehr types of legged robots
 +
* Under-actuated systems
 +
* Kinodynamic motion planning
 +
* Control issues in wheeled robots
 +
* Dynamical models for autonomous driving and road conditions
 +
 +
====Resources====
 +
Please take help from the following journals and conferences.
 +
* IEEE Transactions on Robotics
 +
* International Journal of Robotics Research (IJRR)
 +
* Robotics, Science & Systems Conference (RSS)
 +
* IEEE International Conference on Robotics and Automation (ICRA)
 +
* IEEE International Conference on Intelligent Robotics and Systems (IROS)

Current revision

CMPE-633B: Robot Kinematics, Dynamics and Control
Fall 2011


Instructor

Dr Abubakr Muhammad, Assistant Professor of Electrical Engineering

Email: abubakr [at] lums.edu.pk

Office: Room 9-309A, 3rd Floor, SSE Bldg

Office Hours:

Teaching assistant.

Course Details

Year: 2011-12

Semester: Fall

Category: Grad

Credits: 3

Elective course for electrical engineering, computer engineering and computer science majors

Course Website: http://cyphynets.lums.edu.pk/index.php/CMPE-633-Fall2011

Course Description

Generic

A research-methods based course to study advanced topics in robotics and control system design with emphasis on field robotics, unmanned aerial and ground vehicles, planning algorithms, autonomous systems, telerobotics, Human Robot Interaction (HRI) and other related areas. The course prepares students to do independent work at the frontiers of robotics and control research.

This year

This course introduces essential concepts and analytical tools to understand the dynamics and associated control systems for common robot tasks such as manipulation, grasping and locomotion. Topics include forward and inverse kinematics; path planning, collision avoidance and trajectory generation; robot body and actuator dynamics; sensory feedback and trajectory tracking; stability, disturbance rejection and force control.

Objectives

  • Introduce mathematical foundation of robot motion and control in a general setting.
  • Introduce ideas of configuration space, path planning and trajectory generation.
  • Teach use of geometric and dynamical models in robotics.
  • Highlight control theoretic issues in trajectory planning and sensory feedback.
  • Introduce practical applications of robotics in mobile manipulation tasks, tele-operation, automated assembly, manufacturing, home and service industry.

Pre-requisites

  • Grads. CMPE435 (Robotics) OR CMPE432 (Feedback design) OR CMPE-633 (Fall 2011) OR permission of instructor
  • Undergrads. EE361 (Feedback control) AND permission of instructor

Text book

The course will be taught from a combination of the following textbooks.

Primary Texts

Secondary Texts

Resources

Similar Courses

Stanford: Introduction to Robotics.

Grading Scheme

  • Assignments: 20%
  • Midterm: 20%
  • Final Exam: 30%
  • Group Project: 30%
    • Proposal. 10%
    • Report. 20%
    • Presentation. 20%
    • Demo/working. 50%

Course Delivery Method

Lectures. Labs

Schedule

WEEK LUMS CALENDAR TOPICS READINGS/REFERENCES
Week 1. Sept 5 Start of classes Sept 7; Introduction to robotic systems; rigid body motions and transformations.

Lec 1. Introduction; robotics and autonomous systems;

Week 2. Sept 12 Drop deadline Sept 14; Classes cancelled due to Dengue outbreak Lec 2. workspaces; configuration spaces; planning algorithms;
Week 3. Sept 19 No classes due to Dengue Outbreak.
Week 4.Sept 26 Classes resumed; Semester pushed back by one week Lec 3.
Week 5. Oct 3 Forward kinematics; inverse kinematics;

Lec 4.

Lec 5.

Week 6. Oct 10

Lec 6.

Lec 7.

HW1
Week 7. Oct 17 Lec 8.


Lec 9.

Week 8. Oct 24

Lec 10.

Lec 11.

Week 9. Oct 31

Mobile kinematics (Invited Lectures. Dr Karsten Berns) Lec 15.

Lec 16.


Week 10. Nov 7 Eid-ul-Azha holidays Nov 7-9;

Roadmaps for trajectory generation; trajectory planning. Lec 18.

Week 11. Nov 14 Midterms

Lec 19.

Lec 20.

Week 12. Nov 21 Velocity kinematics.

Lec 21.

Lec 22.

Week 13. Nov 28

Lec 23.


Lec 24.

Week 14. Dec 5 Ashura holidays Dec 5-6; Lec 25.
Week 15. Dec 12 Rigid body dynamics; Euler-Lagrange equations; kinetic and potential energy.

Lec 26.

Lec 27.

Week 16. Dec 19 Last day of classes Dec 20; Reading/review Dec 21-24; Lec 28.
Week 17. Dec 26 Final Exams Dec 26-Jan 02; Grade submission deadline Jan 13; Nonlinear multivariable control problem; stability and tracking; inverse dynamics; passitivity based control; robust and adaptive control.

Project Ideas

You can choose a project covering one of the following themes using help from literature reported in books, conferences and journals.

Applications

Study, formulate and simulate the kinematics, dynamics and control of a robotic mechanism. e.g.

  • Underwater robots
  • Hopping robots
  • Climbing robots
  • Legged robots
  • Flapping wing aerial robots
  • Flexible needles for robotic surgery

Techniques

Study a technique underpinning robot modeling and control systems.

  • Visual servoing
  • Force feedback / haptics
  • Stabilization of bipedal and otehr types of legged robots
  • Under-actuated systems
  • Kinodynamic motion planning
  • Control issues in wheeled robots
  • Dynamical models for autonomous driving and road conditions

Resources

Please take help from the following journals and conferences.

  • IEEE Transactions on Robotics
  • International Journal of Robotics Research (IJRR)
  • Robotics, Science & Systems Conference (RSS)
  • IEEE International Conference on Robotics and Automation (ICRA)
  • IEEE International Conference on Intelligent Robotics and Systems (IROS)
Personal tools