Teaching
MECH 564: Fundamentals of Robot Mechanics and Controls
The robotics class is my favorite class so far, and I was the TA of the class for two years and then instructor of the class for the third year. To better help the student understand the derivation in the lecture, I developed a series of labs using Matlab to derive the equations in the textbook and then simulate/control robotic manipulators. Thanks to my advisor Dr. Jianguo Zhao's great support during the development of the new course material and thanks to my students who provided numerous good suggestions to help me improve the contents.
 Textbook: Robot Modeling and Control. Author: Mark W. Spong, Seth Hutchinson, M. Vidyasagar Publisher: Hoboken, NJ : John Wiley & Sons, 2006.
 Reference Book: Robotics, Vision and Control, By Peter Corke
 Office hour: Monday, Wednesday: 4:15pm5:15pm
Course Contents
 Introduction to robotics.
 Robot modeling: Homogeneous representations; Position kinematics, Velocity kinematics (Jacobian).
 Robot motion planning: Motion representation; Path and trajectory planning
 Robot dynamics: EulerLagrange method for dynamics equation
 Robot motion control: Joint space approach; Task space approach; Computed torque control.
 Advanced topics: visionbased control (visual servoing), biologically inspired robotics
Final Grade
 Homework 25%
 Mid Term 20%
 Final Exam 30%
 Labs 25%
Labs
I believe that students will be better motivated if they can derive the complicated and tedious equations with advanced tools and can visualize the results with a stepbystep coding guide.
After three years of being the TA and then the instructor of the robotics class, I decided to design four labs/tutorials that uses Matlab as a simulation tool to help students simulate and finally simulate and control a Puma 560 robot tracking a circle.
Existing toolboxes such as Robotic Toolbox by Robotics by Peter Corke can be used to verify our results.
The labs include the lab handout, demo code, and homework. I will post some recorded lectures later. Educators can obtain the answers to the homework by reaching out to me.

Lab 1: Introduction to Matlab and Rotational Matrix Manipulation
 Learn the structures of data and commands in MATLAB™.
 Gain knowledge and familiarity with the MATLAB™ interfaces (command prompt, script files, Mfiles, and functions)
 Learn the ways to get help with MATLAB™ (help command, html help, Google)
 Solve some example mathematics problems with MATLAB™, and plot the solutions
 Practice manipulation of rotation and homogeneous transformation matrix
 Compare MATLAB™ to your Python, C, FORTRAN, MathCAD, Pascal, BASIC… programming experiences

Lab 2: Position and Velocity Kinematics
 Symbolic Toolbox
 Derive forward Position/Velocity Kinematics Programming
 Forward kinematics of a twolink robot.

Lab 3: Solving Robotics Dynamics
 Introduction to ODE solving
 Use MATLAB ODE solvers to solve sample ODEs.
 Solve robotics dynamics (a two link robot and a Puma 560 robot)

Lab 4: Task Level Control of Robotic Manipulator [The answer of lab 3 homework is removed]
 Code debuging techniques. Correct your lab 3.
 Task level controller.
 Tips for the lab 4 homework.