MTRX4700 Experimental Robotics

Similar documents
θ x Week Date Lecture (M: 2:05p-3:50, 50-N202) 1 23-Jul Introduction + Representing Position & Orientation & State 2 30-Jul

METR 4202: Advanced Control & Robotics

Industrial Robots : Manipulators, Kinematics, Dynamics

Kinematic Model of Robot Manipulators

Introduction to Robotics

Forward kinematics and Denavit Hartenburg convention

Robotics kinematics and Dynamics

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES

Robotics I. March 27, 2018

Jacobian: Velocities and Static Forces 1/4

Kinematics, Kinematics Chains CS 685

EEE 187: Robotics Summary 2

Inverse Kinematics Analysis for Manipulator Robot With Wrist Offset Based On the Closed-Form Algorithm

1. Introduction 1 2. Mathematical Representation of Robots

Inverse Kinematics. Given a desired position (p) & orientation (R) of the end-effector

UNIVERSITY OF OSLO. Faculty of Mathematics and Natural Sciences

Articulated Robots! Robert Stengel! Robotics and Intelligent Systems! MAE 345, Princeton University, 2017

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute

Lecture «Robot Dynamics»: Kinematics 3

Lecture «Robot Dynamics»: Multi-body Kinematics

Lecture «Robot Dynamics»: Kinematics 3

MCE/EEC 647/747: Robot Dynamics and Control. Lecture 3: Forward and Inverse Kinematics

EE Kinematics & Inverse Kinematics

Kinematics. Kinematics analyzes the geometry of a manipulator, robot or machine motion. The essential concept is a position.

Lecture «Robot Dynamics»: Kinematic Control

Jacobian: Velocities and Static Forces 1/4

INSTITUTE OF AERONAUTICAL ENGINEERING

Matlab Simulator of a 6 DOF Stanford Manipulator and its Validation Using Analytical Method and Roboanalyzer

Robot mechanics and kinematics

Kinematics of Closed Chains

Prof. Mark Yim University of Pennsylvania

Lecture 2: Kinematics of medical robotics

MEM380 Applied Autonomous Robots Winter Robot Kinematics

3. Manipulator Kinematics. Division of Electronic Engineering Prof. Jaebyung Park

Chapter 1: Introduction

Kinematics and dynamics analysis of micro-robot for surgical applications

This week. CENG 732 Computer Animation. Warping an Object. Warping an Object. 2D Grid Deformation. Warping an Object.

Chapter 4 Dynamics. Part Constrained Kinematics and Dynamics. Mobile Robotics - Prof Alonzo Kelly, CMU RI

Table of Contents. Chapter 1. Modeling and Identification of Serial Robots... 1 Wisama KHALIL and Etienne DOMBRE

Chapter 2 Kinematics of Mechanisms

3D Transformations. CS 4620 Lecture Kavita Bala w/ prior instructor Steve Marschner. Cornell CS4620 Fall 2015 Lecture 11

To do this the end effector of the robot must be correctly positioned relative to the work piece.

Table of Contents Introduction Historical Review of Robotic Orienting Devices Kinematic Position Analysis Instantaneous Kinematic Analysis

Applications. Human and animal motion Robotics control Hair Plants Molecular motion

Robot mechanics and kinematics

Transformation. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering

SCREW-BASED RELATIVE JACOBIAN FOR MANIPULATORS COOPERATING IN A TASK

ME/CS 133(a): Final Exam (Fall Quarter 2017/2018)

Planar Robot Kinematics

Geometric Transformations

Basilio Bona ROBOTICA 03CFIOR 1

Singularity Handling on Puma in Operational Space Formulation

Mobile Robotics. Mathematics, Models, and Methods. HI Cambridge. Alonzo Kelly. Carnegie Mellon University UNIVERSITY PRESS

METR 4202: Advanced Control & Robotics

CS612 - Algorithms in Bioinformatics

PPGEE Robot Dynamics I

A Detailed Look into Forward and Inverse Kinematics

Robotics. SAAST Robotics Robot Arms

Automatic Control Industrial robotics

Parallel Robots. Mechanics and Control H AMID D. TAG HI RAD. CRC Press. Taylor & Francis Group. Taylor & Francis Croup, Boca Raton London NewYoric

MDP646: ROBOTICS ENGINEERING. Mechanical Design & Production Department Faculty of Engineering Cairo University Egypt. Prof. Said M.

[2] J. "Kinematics," in The International Encyclopedia of Robotics, R. Dorf and S. Nof, Editors, John C. Wiley and Sons, New York, 1988.

Design of a Three-Axis Rotary Platform

3D Transformations. CS 4620 Lecture 10. Cornell CS4620 Fall 2014 Lecture Steve Marschner (with previous instructors James/Bala)

Cecilia Laschi The BioRobotics Institute Scuola Superiore Sant Anna, Pisa

Theory of Robotics and Mechatronics

MEAM 520. Denavit-Hartenberg (DH)

NMT EE 589 & UNM ME 482/582 ROBOT ENGINEERING. Dr. Stephen Bruder NMT EE 589 & UNM ME 482/582

KINEMATIC ANALYSIS OF 3 D.O.F OF SERIAL ROBOT FOR INDUSTRIAL APPLICATIONS

ROBOTICS 01PEEQW. Basilio Bona DAUIN Politecnico di Torino

UNIVERSITY OF OSLO. Faculty of Mathematics and Natural Sciences

Robot Inverse Kinematics Asanga Ratnaweera Department of Mechanical Engieering

Exercise 1: Kinematics of the ABB IRB 120

Analysis of Euler Angles in a Simple Two-Axis Gimbals Set

Robotics (Kinematics) Winter 1393 Bonab University

Inverse Kinematics of 6 DOF Serial Manipulator. Robotics. Inverse Kinematics of 6 DOF Serial Manipulator

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute

CS 775: Advanced Computer Graphics. Lecture 3 : Kinematics

An idea which can be used once is a trick. If it can be used more than once it becomes a method

MEAM 520. More Denavit-Hartenberg (DH)

A New Algorithm for Measuring and Optimizing the Manipulability Index

COPYRIGHTED MATERIAL INTRODUCTION CHAPTER 1

ME 115(b): Final Exam, Spring

Autonomous Navigation for Flying Robots

A New Algorithm for Measuring and Optimizing the Manipulability Index

Homogeneous coordinates, lines, screws and twists

Quaternions and Rotations

Lecture Note 3: Rotational Motion

CMPUT 412 Motion Control Wheeled robots. Csaba Szepesvári University of Alberta

Math background. 2D Geometric Transformations. Implicit representations. Explicit representations. Read: CS 4620 Lecture 6

Kinematics and Orientations

CS354 Computer Graphics Rotations and Quaternions

10/25/2018. Robotics and automation. Dr. Ibrahim Al-Naimi. Chapter two. Introduction To Robot Manipulators

Quaternions and Rotations

ME 597: AUTONOMOUS MOBILE ROBOTICS SECTION 2 COORDINATE TRANSFORMS. Prof. Steven Waslander

ME 115(a): Final Exam (Winter Quarter 2009/2010)

ME5286 Robotics Spring 2014 Quiz 1 Solution. Total Points: 30

IntroductionToRobotics-Lecture02

Position and Orientation Control of Robot Manipulators Using Dual Quaternion Feedback

UNIVERSITY OF OSLO. Faculty of Mathematics and Natural Sciences

Transcription:

MTRX 4700 : Experimental Robotics Lecture 2 Stefan B. Williams Slide 1

Course Outline Week Date Content Labs Due Dates 1 5 Mar Introduction, history & philosophy of robotics 2 12 Mar Robot kinematics & dynamics Kinematics/Dynamics Lab 3 19 Mar Sensors, measurements and perception 4 26 Mar Robot vision and vision processing. No Tute (Good Friday) Kinematics Lab 2 Apr BREAK 5 9 Apr Localization and navigation Sensing with lasers 6 16 Apr Estimation and Data Fusion Sensing with vision 7 23 Apr Extra tutorial session (sensing) Robot Navigation Sensing Lab 8 30 Apr Obstacle avoidance and path planning Robot Navigation 9 7 May Extra tutorial session (nav demo) Major project Navigation Lab 10 14 May Robotic architectures, multiple robot systems 11 21 May Robot learning 12 28 May Case Study 13 4 June Extra tutorial session (Major Project) Major Project 14 Spare Slide 2

Kinematics Kinematics describes the motion of objects without consideration of the forces that cause it aka The Geometry of Motion How objects move Ampère: cinématique, study of motion 1800's Kinematics of a human jumping Kinematics of a serial robot arm Slide 3 Kinematics

Dynamics Dynamics studies the causes of motion, changes in motion, forces and torques Why objects are in motion Newton: F = ma 1600's Rigid body dynamics Vehicle Dynamics Aerodynamics Slide 4 Kinematics

Kinematics + Dynamics Application video Slide 5 Kinematics

Key Concepts Coordinates and Transformations Frames, Coordinate Systems, Transformations Rotations: Matrices, Euler Angles, Fixed Angles Homogeneous Transformations Kinematics Serial Chain Mechanisms (Arms) Denavit-Hartenberg Notation Forward, Inverse Kinematics Workspace, Configuration Space Singularities The Jacobian Matrix: Arm Velocities, Static Forces Dynamics (time-permitting) Newton-Euler Lagrangian Slide 6 Kinematics

Frames We want to describe positions and orientations of bodies in space We attach a frame to each rigid body The frame follows the body There's some freedom in how we choose the frame's position and orientation relative to the body DH notation partially standardises The combination of position and orientation of a frame is its pose Slide 7

Coordinate Systems Descartes: Cartesian Coordinates 1600's A frame's pose only makes sense relative to another frame, e.g. hand pose relative to forearm pose... Everything is relative to some global frame aka the inertial frame There is some freedom in choosing the global frame Z B {A} X B Y B Z A A P Y A X A Slide 8

Right Handed Coordinates We are free to choose the handedness of our coordinate system By convention we always choose righthanded coordinates Be sure to use the correct hand! z y x Slide 9

Position and Orientation Position of frame {B} relative to frame {A} Z B {A} X B Y B Z A Orientation of frame {B} relative to frame {A} Many ways to express orientation One way: rotation matrices Project unit vectors B into reference frame {A} (dot products!) X A A P Y A Slide 10

Rotation Matrices We can also find the orientation of frame {A} relative to frame {B} Z B {A} X B Y B Z A Compare A P Y A We see that the inverse transformation equals the transpose orthonormality (more later) X A Slide 11

Rotation Matrices A rotation can also be constructed from cosines There are multiple ways to do this Fixed Angles (aka Roll, Pitch, Yaw, or R-P-Y ) X-Y-Z: First rotate about X A, then Y A, then Z A Order Matters! {A} Z A X A Y A Slide 12

Rotation Matrices Roll, Pitch, Yaw (R-P-Y) Fixed Angles: There are multiple standards, beware! In many Kinematics References: In many Engineering Applications: Slide 13 Kinematics

Rotation Matrices Euler Angles: rotations are about moving system {B}, not fixed system {A} Z-Y-X Euler: Rotate first about Z B, then Rotate about (the new) Y B, then Rotate about (the new) X B Each new rotation is about an axis determined by the previous rotation As an exercise: show that rotations about 3 axes of a fixed frame define the same final orientation as the same 3 rotations taken in the opposite order in the moving frame... a remarkable result! Slide 14 Kinematics

Rotation Matrices Rotations are orthonormal Orthogonal All columns are orthogonal (dot product = 0) All rows are orthogonal Preserves right angles Normal All columns and rows have unit length det(r) = 1 Preserves scale Slide 15 Kinematics

Still More Rotations A rotation matrix contains 9 elements... But a rotation is a 3-DOF operation...? Rotation matrices are redundant Non-orthonormal matrices are wasted space More compact form: the rotation vector Vector of 3 numbers Magnitude = magnitude of rotation Direction = axis of rotation Also of note: unit quaternions Vector of 4 numbers No singularities ( gimbal lock ) Elegant properties X A {A} Z A v ^ v v Y A Slide 16

Coordinate Transformations Express the vector or point P, fixed in frame {B}, in terms of frame {A} If {B} is translated wrt to {A} without rotation, we can sum position vectors P= P + P A A B B {B} Z B {A} Z A A P B P A P B Y B X B Y A X A Slide 17

Coordinate Transformations If {B} is rotated wrt to {A} without translation, we can apply a rotation P = R P A A B B {B} Z B {A} Z A B P Y B Y A X A X B Slide 18

Coordinate Transformations If {B} is rotated and translated wrt to {A}, we must account for the composite transformation Watch out for order! P= P + R P A A A B B B {B} Z B {A} Z A A B RB R B P A P B P Y B A P B Y A X B X A Slide 19

Homogeneous Transformations A compact representation of the translation and rotation is known as the Homogeneous Transformation This allows us to cast the rotation and translation of the general transform in a single matrix form Slide 20

Homogeneous Transformations Fundamental orthonormal transformations that can be represented in this form Slide 21

Homogeneous Transformations Coordinate transforms can be compounded Homogeneous transform as pose {C} {A} Z A {B} Z B A P Z C C P Y C B P C A P B Y B Y A X C X A X B Slide 22

Kinematics Kinematics is the study of motion without regard to the forces which cause it The kinematics of manipulators involves the study of the geometric and time based properties of the motion, and in particular how the various links move with respect to one another and with time Slide 23

Kinematics Kinematic modelling is one of the most important analytical tools of robotics. Used for modelling mechanisms, actuators and sensors Used for on-line control and off-line programming and simulation In mobile robots kinematic models are used for: steering (control, simulation) perception (image formation) sensor head and communication antenna pointing world modelling (maps, object models) terrain following (control feedforward) gait control of legged vehicles Slide 24

Kinematics The three kinematics problems we'll discuss: 1. Describe a serial linkage (robot arm) DH notation For a particular arm: 1. Find end effector pose, given joint variables Forward Kinematics 2. Find joint variables for a desired end effector pose Inverse Kinematics θ 3 θ 2 θ 1 Slide 25

Forward Kinematics Forward kinematics is the process of chaining homogeneous transforms together in order to represent: the articulations of a mechanism, or the fixed transformation between two frames which is known in terms of linear and rotary parameters. In this process, the joint variables are given, and the problem is to find the poses of the end effector (and links in between). θ 1,θ 2,θ 3,... Joint Variables: Configuration Space A B T End Effector Poses: Workspace Slide 26

Forward Kinematics Consider the schematic of the planar manipulator shown Given the joint angles and link lengths, we can determine the end effector pose ( ) ( ) ( ) ( ) x= L cosθ + L cos θ + θ + L cos θ + θ + θ 1 1 2 1 2 3 1 2 3 y= L sinθ + L sin θ + θ + L sin θ + θ + θ 1 1 2 1 2 3 1 2 3 This isn t too difficult to determine for a simple, planar manipulator L 2 θ 3 θ 2 θ 1 Slide 27

Forward Kinematics What about a more complicated mechanism? Slide 28

Forward Kinematics We require a systematic manner for modelling complex mechanisms The conventional rules for modelling a sequence of connected joints are as follows: a link may be considered as a rigid body defining the relationship between two neighbouring joint axes assign embedded frames to the links in sequence such that the transformations which move each frame into coincidence with the next are a function of the appropriate joint variable write the frame transformations in left-to-right order, moving along the arm This process will generate a matrix that represents the position of the last embedded frame with respect to the first, or equivalently, which converts the coordinates of a point from the last to the first. This matrix will be called the mechanism model. Slide 29

Forward Kinematics In 1955, J. Denavit and R. S. Hartenberg first proposed the use of homogeneous transforms to represent the articulations of a mechanism Denavit-Hartenberg (DH) notation Assign a frame to each link Z aligns with axis of rotation or along a prismatic joint X points from one Z axis to the next Common normal For two frames positioned in space, the first can be moved into coincidence with the second by a sequence of 4 operations... Slide 30

Denavit-Hartenberg Convention http://tekkotsu.no-ip.org/movie/dh-hd.mp4 Slide 31

Denavit-Hartenberg Convention link offset d i the distance from the origin of frame i-1 to the x i axis along the z i-1 axis; joint angle θ i the angle between the x i-1 and x i axes about the z i-1 axis. link length a i the offset distance between the z i-1 and z i axes along the x i axis; link twist α i the angle from the z i-1 axis to the z i axis about the x i axis; Slide 32

Denavit-Hartenberg Convention DH: translate along z i-1 axis by a distance d i rotate around the z i-1 axis by an angle θ i translate along the new x axis by a distance a i rotate around the new x axis by an angle α i Modified DH: translate along the x i-1 axis by a distance a i rotate around the x i-1 axis by an angle α i translate along the new z axis by a distance d i rotate around the new z axis by an angle θ i Slide 33

Denavit-Hartenberg Convention Using this technique, each homogeneous transformation is represented as a product of four basic transformations Slide 34

Example: 3 Link Manipulator We assign frames at the joints, and write a table of standard DH parameters Link d i θ i a i α i 1 0 θ 1 L 1 0 2 0 θ 2 L 2 0 3 0 θ 3 L 3 0 {2} θ 3 {0} θ 2 L 2 Standard DH in Mathematical order (right-to-left): Rot[x i,α i ] Trans[x i,a i ] Rot[z i-1,θ i ] Trans[z i-1,d i ] θ 1 Slide 35

Example: 3 Link Manipulator The table translates easily into a forwardkinematics solution Link d i θ i a i α i 1 0 θ 1 L 1 0 2 0 θ 2 L 2 0 3 0 θ 3 L 3 0 {2} θ 3 {0} θ 2 L 2 θ 1 Slide 36

Example: 2 Rot 1 Linear Link Manipulator We assign frames at the joints, and write a table of modified DH parameters {4} Link a i α i d i θ i 1 0 0 0 θ 1 2 L 1 0 0 θ 2 3 L 2 0 0 0 4 L 3 0 0 0 {0} {2} θ 2 L 2 Modified DH in Mathematical order (right-to-left): Rot[z i,θ i ] Trans[z i,d i ] Rot[x i-1,α i ] Trans[x i-1,a i ] θ 1 Slide 37

Inverse Kinematics Inverse Kinematics is the problem of finding the joint parameters given only the values of the homogeneous transforms which model the mechanism (i.e. the pose of the end effector) Solves the problem of where to drive the joints in order to get the hand of an arm or the foot of a leg in the right place In general, this involves the solution of a set of simultaneous, non-linear equations θ 1,θ 2,θ 3,... Joint Variables: Configuration Space A B T End Effector Pose: Workspace Slide 38

Inverse Kinematics Unlike with systems of linear equations, there are no general algorithms that may be employed to solve a set of nonlinear equations Closed-form and numerical methods exist We will concentrate on analytical, closed-form methods These can be characterised by two methods of obtaining a solution: algebraic and geometric Slide 39

Inverse Kinematics: Multiple Solutions There will often be multiple solutions for a particular inverse kinematic analysis Consider the three link manipulator shown. Given a particular end effector pose, two solutions are possible The choice of solution can be a function of proximity to the current pose, limits on the joint angles and possible obstructions in the workspace Slide 40

Inverse Kinematics: Singularities An understanding of the workspace of the manipulator is important: some poses are not achievable (no IK solution) These are called singular positions of the manipulator The workspace boundary is a singularity Workspace-interior singularities also occur whenever the manipulator loses a degree of freedom in Cartesian space. This typically happens when joints are aligned: there is a direction in which the manipulator cannot move regardless of joint rates. Slide 41

Inverse Kinematics: Algebraic Approach From Forward Kinematics we have a series of equations which define this system θ 3 The end-effector pose is given by L 2 θ 2 Equating terms gives us a set of algebraic relationships, which we solve for the joint angles θ 1 Slide 42

Inverse Kinematics: Geometric Approach We can also consider the geometric relationships defined by the arm Start with what is fixed, explore all geometric possibilities from there {0} Slide 43

Kinematics for Mobile Platforms The preceding kinematic relationships are also important in mobile applications When we have sensors mounted on a platform, we need the ability to translate from the sensor frame into some world frame in which the vehicle is operating Slide 44

Kinematics for Mobile Platforms We typically assign a frame to the base of the vehicle Additional frames are assigned to the sensors We will develop these techniques in coming lectures Slide 45

Kinematics: Velocity Now what if things start to move? We d like to describe the motion of moving frames. In general, velocity is dependent on the frame from which it is observed. It will depend on the relative velocity of the frames, the velocity within the frame transformed into the global frame and the relative rotational velocities of the frames. Slide 46

Kinematics: Velocity Recall a vector or point fixed in {B} can be expressed relative to {A} as A A B A P= BR P+ PB Differentiating wrt to time we find the velocity of P expressed in {A} Which can expressed as: Velocity of the origin of frame {B}, expressed in terms of frame {A} Angular velocity vector: describes rotation of {B} relative to {A}; magnitude = rate Slide 47

Kinematics: Velocity If we look at a small timeslice as a frame rotates with a moving point, we find A Ω B P sinθ {Β} ΩΔt ΔP P(t) θ P(t+Δt) Slide 48

Kinematics: Manipulator Velocities Consider again the schematic of the planar manipulator shown. We found that the end effector position is given by Differentiating wrt to t ( ) ( ) ( ) ( ) x= L cosθ + L cos θ + θ + L cos θ + θ + θ 1 1 2 1 2 3 1 2 3 y= L sinθ + L sin θ + θ + L sin θ + θ + θ 1 1 2 1 2 3 1 2 3 v θ 3 θ 2 This gives us the velocity of the end effector as a function of pose and joint velocities θ 1 Slide 49

Kinematics: Manipulator Velocities Rearranging, we can recast this relation in matrix form v θ 3 Or θ 2 The resulting matrix is called the Jacobian and provides us with a mapping from Joint Space to Cartesian Space. θ 1 Slide 50

Kinematics: The Jacobian In general, the Jacobian takes the form Or more succinctly Slide 51

Inverse Kinematics: Inverse Jacobian In many instances, we are also interested in computing the set of joint velocities that will yield a particular velocity at the end effector: But, the inverse of the Jacobian may be undefined at some points in the workspace. The points where the Jacobian is noninvertible ( singular ) are the singularities of the mechanism. This is the same concept as we explored earlier, but now we have a mathematical definition. A good test for singularity is the determinant: det(j)=0 for singular J Slide 52

Inverse Jacobian Example For a simple two link manipulator, we have x= L cosθ + L cos θ + θ The Jacobian for this is ( ) ( ) 1 1 2 1 2 y= L sinθ + L sin θ + θ 1 1 2 1 2 Taking the inverse of the Jacobian: θ 2 Clearly, as θ 2 approaches 0 or π this manipulator becomes singular θ 1 Slide 53

Static Forces We can also use the Jacobian to compute the joint torques required to maintain a particular force at the end effector Consider the concept of virtual work F θ 3 Or Earlier we saw that θ 2 So that Or θ 1 Slide 54

Dynamics We can also consider the forces that are required to achieve a particular motion of a manipulator or other body Understanding the way in which motion arises from torques applied by the actuators or from external forces allows us to control these motions There are a number of methods for formulating these equations, including Newton-Euler Dynamics Langrangian Mechanics Slide 55

Dynamics For Manipulators, the general form is where τ is a vector of joint torques Θ is the nx1 vector of joint angles M(Θ) is the nxn mass matrix V(Θ,Θ)is the nx1 vector of centrifugal and Coriolis terms G(Θ) is an nx1 vector of gravity terms Notice that all of these terms depend on Θ so the dynamics varies as the manipulator moves Slide 56

Dynamics Newton-Euler In general, we could analyse the dynamics of robotic systems using classical Newtonian mechanics θ 2 m 2 g τ 2 This can entail iteratively calculating velocities and accelerations for each link and then computing force and moment balances in the system Alternatively, closed form solutions may exist for simple configurations τ 1 θ 1 m 1 g Slide 57

Dynamics Newton-Euler From: J.J. Craig Introduction to Robotics: Mechanics and Control, 2 nd Edition, Addison-Wesley ISBN 0-201-09528-9 Slide 58

Dynamics Langrangian Mechanics Alternatively, we can use Langrangian Mechanics to compute the dynamics of a manipulator (or other robotic system) The Langrangian is defined as the difference between the Kinetic and Potential energy in the system Using this formulation and the concept of virtual work we can find the forces and torques acting on the system This may seem more involved but is often easier to formulate for complex systems L= K P Slide 59

Conclusions Kinematics is the study of motion without regard to the forces that create it Kinematics is important in many instances in robotics The study of dynamics allows us to understand the forces and torques which act on a system and result in motion Understanding these motions, and the required forces, is essential for designing these systems Slide 60

Further Reading Niku Chapter 2-4 Craig Chapters 3-6 Spong & Vidayasagar Chapters 3-6 Slide 61