16711: Kinematics, Dynamic Systems, and Control
Spring 2017
Instructor: Chris Atkeson, cga at cmu
TR 1:302:50 NSH 1305
TAs

Markvicka Eric, emarkvic@andrew.cmu.edu, Office hours: Tuesday 1130am to 1pm, Scaife Hall 205
Henry Hung, hhung1@andrew.cmu.edu, Office hours:
Monday 46, Scaife Hall 206
For more information, take a look at
2011 course.
Events
Readings
Many of these are available as PDFs through the CMU library.

[SHR] Springer Handbook of Robotics 2016,
Bruno Siciliano, Oussama Khatib (Eds.)

[SSVO] Robotics: Modelling, Planning and Control (Advanced Textbooks in Control and Signal Processing) by Bruno Siciliano, Lorenzo Sciavicco, Luigi Villani, and Giuseppe Oriolo, Springer 2009.

[MLS] A Mathematical Introduction to Robotic Manipulation
R Murray, Z Li and S Sastry, CRC 1994.

[M] Applied Dynamics
F Moon, WileyVCH 1998.

[AM] Feedback Systems: An Introduction for Scientists and Engineers
K Astrom and R Murray, Princeton 2010.

[E] Control System Design Guide
G Ellis, Elsevier 2004.<
[F] Control System Design: An Introduction to StateSpace Methods
B Friedland, Dover 2005.
Syllabus

Now: Review this material

SSVO Appendices

Numerical Recipes in C, chapters 2, 9, 10, 15
(2nd or 3rd edition, 2nd edition is electronically available for free):
Solution of Linear Algebraic Equations,
Root Finding and Nonlinear Sets of Equations,
Minimization or Maximization of Functions,
Modeling of Data.
This material from any other numerical methods book is also fine.

January: Read or look at this stuff

Jan 17: Course details: Web page, projects, course intro, ...

Jan. 19: Planar Kinematics

Jan. 24: Planar Dynamics
Schaal: Dynamics: Lagrangian Formulation
Wikipedia: Lagrangian dynamics
Scholarpedia: Robot dynamics

Jan. 26: Planar Statics
Gravity compensation

Jan. 26: Computerassisted Dynamics Derivation and Simulators
Examples of deriving planar dynamics.
Open Dynamics Engine (ODE)
Mujoco
OpenAI Gym

Jan 26: Trajectory generation
SSV0 Chapter 4.
Schaal: Trajectory Planning
note to CGA: rant about DMPs.

Jan 31Feb 9: Planar Control
SSVO Ch. 8
Single link, double link, cart pole, segway, VR shoes.
LQR

Feb: 3D Kinematics, Representing orientation.
SSV0 Ch 2
Schaal: Kinematics
SHR Kinematics
Rotation matrices,
Euler angles, and
Quaternions.
Metrics for how close two orientations are:
Metrics for 3D Rotations: Comparison and Analysis,
RigidBody Attitude Control: Using Rotation Matrices for Continuous, SingularityFree Control Laws,
ClosedLoop Manipulator Control Using Quaternion Feedback
Rotation matrix for small rotations

Feb: 3D differential kinematics:
SSVO Ch 3

Feb: 3D Statics
Gravity compensation

FebMar: 3D Dynamics
SSV0 Ch 7

Mar: Learning Kinematics and Dynamics
See Dynamic Optimization
course for pointers on optimization. The Numerical recipes chapter on
modeling of data is useful.
Numerical Recipes in C, chapters 2, 9, 10, 15
(2nd or 3rd edition, 2nd edition is electronically available for free):
Solution of Linear Algebraic Equations,
Root Finding and Nonlinear Sets of Equations,
Minimization or Maximization of Functions,
Modeling of Data.

March: State Estimation
Schaal: Kalman Filtering
Review of Gaussians slides
State estimation slides
Matlab Kalman filter example
and
minimum jerk trajectory subroutine.
Example mobile robot Kalman filter slides

Mar  Apr: Classical Control, Instability, Laplace Transforms, Root Locus, Performance and Robustness
Schaal:Basic Linear Control Theory I & II, Frequency Domain Analysis

April: MIMO Control
linearization,
state space,
pole placement,
controllability,
observability,
linear quadratic regulator,
loop transfer recovery.
Dynamic programming: Ch. 8 of Lavalle's book
DP slides

April: Robot Control
SSVO Ch. 8

April: Force Control
SSVO Ch. 9

May 2: Project Presentations

May 4: Project Presentations
For more information, take a look at
last year's course.
Assignments

Assignment 0: Send CGA an email (due Jan 20):
Who are you?
Why are you here?
What research do you do?
Any project ideas?
Be sure your name is obvious in the email, and you mention the course
name or number. We teach more than one course, and a random email from
robotlover@cs.cmu.edu is hard for us to process.

Assignment 1: Inverse Kinematics (Due Jan. 30)
Use Matlab and optimization
Using Matlab's fminsearch and fminunc.
Using Matlab's fminsearch and fminunc, with
desired posture.
Using Matlab's fmincon.
Covariance Matrix Adaptation Evolution Strategy.
See also Hansen web page.
Example1,
Ex2,
Ex3,
Ex4.
Open Dynamics Engine (ODE), Mujoco, Open AI Gym

Assignment 2: Exercise Dynamics, Control, and "Learning": Cart Pole (Due Feb. 20)
For more information, take a look at
last year's course.