EECS 390: Intro to Robotics

Quarter Offered

Spring : 1-1:50 MWF ; C-H Wu


EECS 211 or EECS 230


Homogeneous vector and plane, homogeneous transformation, position and orientation transformations, kinematics and inverse kinematic solutions of robot manipulators and mobile robots, Jacobian and inverse Jacobian relation, robot trajectory and task planning, mobile robot planning, dynamic formulation and computation of robot manipulators, robot programming and control systems.


  1. “Introduction to Robotics: Analysis, Systems, Applications”, Prentice Hall, 2002, by Saeed Niku.
  2. “Introduction to Autonomous Mobile Robots”, by Siegwart and Nourbakhsh, The MIT Press, 2004.


COURSE GOALS: Teach the mathematics, design, analysis, and control of robotic systems. Topics include homogeneous transformation, coordinate definition for robot coordinates, kinematics, dynamics, trajectory planning, and robotic control. The students will learn the mathematics and technologies to design software functions for planning and controlling a robot.


1. Vector and matrix operations.

2. High-level computer programming language C.


Week 1&2: Introduce robotic systems and their functions. Homogeneous vector, plane, and transformation: points, planes, coordinate frames, position, and orientation transformations.

Week 3: Rotation transformation: general one-axis rotation, Euler rotation, and RPY rotation.

Week 4: Kinematics: joint coordinate frames and kinematic parameters of a multi-joint robot, forward kinematics representing position and orientation of a robot

Week 5: Inverse Kinematic Solutions: techniques of finding inverse kinematics of various types of robots

Week 6: Differential relationships between different coordinates, Jacobian and inverse Jacobian relation.

Week 7: Mobile Robots - kinematics and motion planning.

Week 8: Path and trajectory planning - joint path planning and Cartesian path planning.

Week 9: Dynamics: Lagrangian formulation, computation of inertial forces, centripetal and Coriolois forces and gravity forces.

Week 10: Robot task planning, programming, and control.

COMPUTER USAGE: Three or four programming assignments:

  • Design and plan one-axis rotation, Euler-angle rotation, and RPY rotation.
  • Path planning of industrial robots.
  • Mobile robot path planning.

LABORATORY EXPERIMENTS: Simple 5-axis robots or 3-wheel mobile robots will be set up and controlled by students. Each student will require to implement program assignment #2 and #3 to control robots.


1. Homeworks: 20%

2. Programming projects: 30%

3. Implementing software projects on the robot: 20%

4. Final Exam: 30%

GRADE LEVELS: A- 85%, B- 75%, C- 65%, D- 60% and F- below 60%.

COURSE OBJECTIVES: When a student completes this course, s/he should be able to learn:

  • What is a robot system?
  • Basic functions designed in robot controller.
  • Basic components of a robot mechanical arm.
  • How to define points, planes, and coordinate frames.
  • How to define position and orientation transformations.
  • One-axis rotation, Euler-angle rotation, and RPY rotation for planning orientation.
  • How to define joint coordinate frames for a multi-joint robot.
  • How to define kinematic parameters for a robot.
  • How to compute forward kinematics representing position and orientation of a robot in a task domain.
  • How to design inverse joint solutions for a robot.
  • How to define differential changes among different coordinates.
  • How to derive Jacobian and inverse Jacobian for a robot.
  • How to design tasks for robot manipulators.
  • How to plan joint paths for robot to move.
  • How to plan Cartesian paths for robot to move.
  • What is robotic dynamics?
  • How to compute robot dynamics, such as inertial forces, centripetal and Coriolis forces, and gravity forces.
  • What is a real-time robot language and how to design it?
  • Understand robot control systems.
  • Understand kinematics and motions of mobile robot.