# Course Websites

## ECE 470 - Introduction to Robotics

### Last offered Spring 2021

#### Official Description

Fundamentals of robotics including rigid motions; homogeneous transformations; forward and inverse kinematics; velocity kinematics; motion planning; trajectory generation; sensing, vision; control. Course Information: Same as AE 482 and ME 445. 4 undergraduate hours. 4 graduate hours. Prerequisite: One of MATH 225, MATH 286, MATH 415, MATH 418.

#### Subject Area

Robotics, Vision, and Artificial Intelligence

#### Description

Fundamentals of robotics, rigid motions, homogeneous transformations, forward and inverse kinematics, velocity kinematics, motion planning, trajectory generation, sensing, vision, and control.

#### Topics

• Introduction: Historical development of robots; basic terminology and structure; robots in automated manufacturing, robot configuration space and its topology, degrees of freedom
• Rigid Motions and Homogeneous Transformation: Rotations and their composition; Exponential coordinates; Screw theory; Twists; Euler angles; homogeneous transformations
• Forward Kinematics: Common robot configurations; Product of Exponentials formula; Denavit-Hartenberg convention
• Velocity kinematics: Angular velocity and acceleration; The Jacobian
• Statics of open chains: The use of the Jacobian; singular configurations; manipulability
• Inverse kinematics: Planar mechanisms; geometric approaches; pseudoinverse; spherical wrist; numerical approaches and Newton-Raphson method
• Kinematics of closed-chains
• Robot dynamics: Lagrangian dynamics; Euler-Newton equations for open kinematic chains. Forward and inverse dynamics.
• Trajectory generation: trajectories in space of homogeneous transformations; minimum time trajectories
• Feedback control: Actuators and sensors; velocity and torque control; PID control; linearization; feedback linearization
• Vision-based control: The geometry of image formation; feature extraction; feature tracking (lab)

#### Detailed Description and Outline

• Introduction: Historical development of robots; basic terminology and structure; robots in automated manufacturing, robot configuration space and its topology, degrees of freedom
• Rigid Motions and Homogeneous Transformation: Rotations and their composition; Exponential coordinates; Screw theory; Twists; Euler angles; homogeneous transformations
• Forward Kinematics: Common robot configurations; Product of Exponentials formula; Denavit-Hartenberg convention
• Velocity kinematics: Angular velocity and acceleration; The Jacobian
• Statics of open chains: The use of the Jacobian; singular configurations; manipulability
• Inverse kinematics: Planar mechanisms; geometric approaches; pseudoinverse; spherical wrist; numerical approaches and Newton-Raphson method
• Kinematics of closed-chains
• Robot dynamics: Lagrangian dynamics; Euler-Newton equations for open kinematic chains. Forward and inverse dynamics.
• Trajectory generation: trajectories in space of homogeneous transformations; minimum time trajectories
• Feedback control: Actuators and sensors; velocity and torque control; PID control; linearization; feedback linearization
• Vision-based control: The geometry of image formation; feature extraction; feature tracking (lab)

#### Lab Projects

Teach Python/ROS.Pendant programming; off-line programming; workcell generation; computer/robot interfacing; kinematics; symbolic math packages for robot kinematics; inverse kinematics; camera calibration; feature detection and tracking; vision-based manipulation

#### Texts

Lynch and Park, Modern Robotics: Mechanics, Planning, and Control, Cambridge University Press, 2017

#### Course Goals

This course serves as a technical elective for computer engineering and electrical engineering majors. The goal of this course is to introduce students to the basic concepts in robotics that (a) provide prerequisite knowledge for follow-on courses, (b) provide essential knowledge of the field that would be required by a practicing engineer who must deal with automation, and (c) provides professional development by introducing best practices and ethical considerations for engineering design. This course includes a significant laboratory component.

#### Instructional Objectives

A Introduction

1. The historical development of robots (4)
2. Understand the notion of configuration space and its topology; its impact on robot motion (1,7)
3. Degrees of freedom, Grubler formula (1,2)
4. Examples of common spatial and planar mechanisms (1,3,4)
5. Basic terminology and structure (3, 4)
6. Robots in automated manufacturing (2, 4)

B. Rotation and Homogeneous transformations of rigid bodies

1. understand the configuration space of rigid bodies (1,7)
2. understand screw motions and their twists (1)
3. master exponential coordinates for rotations and homogeneous transformations (1)
4. be able to describe a rigid body position/motion using screw motions (1)

C. Forward kinematics

1. be able to express an arbitrary rigid motion as a motion in the space of homogeneous transformations (1,2)
2. master the product of exponential formula for open chains in space frame and body frame (1)
3. understand the Denavit-Hartemberg formalism and going from product of exponential to DH parameters and vice-versa (1,2,3,6)

D. Velocity kinematics and Jacobians

1. be able to differentiate the forward kinematics map and derive manipulator Jacobians (1)
2. be able to identify singular configurations and understand manipulability diagrams (1,2,6)
3. master the statics of open chains and and its relation to Jacobians (1,2)

E. Inverse kinematics and kinematics of closed-chains

1. use geometric approaches to inverse kinematics/spherical wrist (1,7)
2. understand the Newton-Raphson method; numerical zero finding (1, 6)
3. derive Newton-Raphson in the space of homogeneous transformations (1, 6) and numerical inverse kinematics (1,2, 7)
4. use numerical or analytic methods to derive the forward/inverse kinematics of closed-chains (1,6,7)

F. Robot Dynamics

1. master the Lagrangian approach to dynamics of open chains (1,2)
2. derive the Newton-Euler equations for a single rigid body (1)
3. derive the Euler-Newton equations for an open chain (1)
4. derive the torques that produce a motion (inverse dynamics of open chains) (1)

G. Trajectory generation and robot control

1. design a trajectory in the space of rigid transformations (1,6)
2. design a trajectory meeting acceleration/maximal velocity requirements (1,2,6)
3. understand the basic principles of linear control (1,2,7)
4. understand velocity and torque control (1)
5. be able to design a PID control to meet specific requirements of stability/convergence rate (1,2,6,7)
6. be able to linearize a nonlinear control system (1,2,7)

Professional Development

1. ability relate the material to real-world applications by interacting with guest lectures (3,4)
2. use ethical arguments to justify engineering decisions through value-sensitive design (4)
3. apply material in a self-guided group project (3,4,5,6,7)

Laboratory

1. improve skills in evaluating and communicating experimental results (3, 6)
2. become familiar with common robotic platforms (UR3 robot) and languages used in industrial settings (6)
3. become familiar with Robot Operating System, pendant programming (1,6,7)
4. in a series of experiments, implement forward and inverse kinematics, and solve common robotic manipulation tasks (1,2,3,5,6,7)
5. become familiar with the basics of Image processing and Computer vision (1,2,6,7)
6. learn to calibrate sensor and deal with sensor noise (1, 6)
TitleSectionCRNTypeHoursTimesDaysLocationInstructor
Introduction to RoboticsAB165294OLB00900 - 1050 T    Chuyuan Tao
Introduction to RoboticsAB265295OLB00900 - 1050 R    Chuyuan Tao
Introduction to RoboticsAB365296OLB01400 - 1550 T    Dhruv Chandra Mathur
Introduction to RoboticsAB465297OLB01400 - 1550 R    Dhruv Chandra Mathur
Introduction to RoboticsAB565298OLB00900 - 1050 M    Michelle Marie Zosky
Introduction to RoboticsAB668176OLB01600 - 1750 T
Introduction to RoboticsAB768179OLB01600 - 1750 R
Introduction to RoboticsAL65293OLC41230 - 1350 T R    Joohyung Kim