
Introduction to Robotics Course Information
Explore the fundamental concepts of robotic manipulators and autonomous systems in the CSE4421/5324 course. Topics include mechanics, dynamics of robot arms, mobile robots, sensors, and control algorithms. No required textbook in the initial weeks. Assessment consists of labs, assignments, a midterm, and a final exam.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
Contact Information Burton Ma Lassonde 2046 burton@cse.yorku.ca EECS4421/5324 lectures Monday, Wednesday, Friday 1:30-2:30PM (SLH C) Lab 1 Thursday 12:30-2:30, Prism 1004 Lab 2 Thursday 2:30-4:30, Prism 1004 www.eecs.yorku.ca/course/4421 (web site not complete yet) 2
General Course Information introduces the basic concepts of robotic manipulators and autonomous systems. After a review of some fundamental mathematics the course examines the mechanics and dynamics of robot arms, mobile robots, their sensors and algorithms for controlling them. 3
Textbook no required textbook first 6 weeks of course uses notation consistent with Robot Modeling and Control by MW Spong, S Hutchinson, M Vidyasagar 4
Assessment labs/assignments 6 x 5% midterm, 30% exam, 40% 5
Robotic Manipulators a robotic manipulator is a kinematic chain i.e. an assembly of pairs of rigid bodies that can move respect to one another via a mechanical constraint the rigid bodies are called links the mechanical constraints are called joints 7 Symbolic Representation of Manipulators
A150 Robotic Arm link 3 link 2 8 Symbolic Representation of Manipulators
Joints most manipulator joints are one of two types revolute (or rotary) like a hinge 1. prismatic (or linear) like a piston 2. our convention: joint i connects link i 1 to link i when joint i is actuated, link i moves 9 Symbolic Representation of Manipulators
Joint Variables revolute and prismatic joints are one degree of freedom (DOF) joints; thus, they can be described using a single numeric value called a joint variable qi : joint variable for joint i revolute qi = i: angle of rotation of link i relative to link i 1 prismatic qi = di : displacement of link i relative to link i 1 1. 2. 10 Symbolic Representation of Manipulators
Revolute Joint Variable revolute like a hinge allows relative rotation about a fixed axis between two links axis of rotation is the z axis by convention joint variable qi = i: angle of rotation of link i relative to link i 1 link i i link i 1 joint i 11 Symbolic Representation of Manipulators
Prismatic Joint Variable prismatic like a piston allows relative translation along a fixed axis between two links axis of translation is the z axis by convention joint variable qi = di : displacement of link i relative to link i 1 link i 1 link i di joint i 12 Symbolic Representation of Manipulators
Common Manipulator Arrangments most industrial manipulators have six or fewer joints the first three joints are the arm the remaining joints are the wrist it is common to describe such manipulators using the joints of the arm R: revolute joint P: prismatic joint 13 Common Manipulator Arrangements
Articulated Manipulator RRR (first three joints are all revolute) joint axes z0 : waist z1 : shoulder (perpendicular to z0) z2 : elbow (parallel to z1) z0 z1 z2 2 3 shoulder forearm elbow 1 waist 14 Common Manipulator Arrangements
Spherical Manipulator RRP Stanford arm http://infolab.stanford.edu/pub/voy/museum/pictures/display/robots/IMG_2404ArmFrontPeekingOut.JPG z0 z1 d3 2 shoulder z2 1 waist 15 Common Manipulator Arrangements
SCARA Manipulator RRP Selective Compliant Articulated Robot for Assembly http://www.robots.epson.com/products/g-series.htm z1 z2 z0 2 d3 1 16 Common Manipulator Arrangements
Parallel Robots all of the preceding examples are examples of serial chains base (link 0) is connected to link 1 by a joint link 1 is connected to link 2 by a joint link 2 is connected to link 3 by a joint ... and so on a parallel robot is formed by connecting two or more serial chains https://www.youtube.com/watch?v=p1Lrz0gPvOA 17 Parallel Robots
Forward Kinematics given the joint variables and dimensions of the links what is the position and orientation of the end effector? a2 2 a1 1 18 Forward Kinematics
Forward Kinematics choose the base coordinate frame of the robot we want (x, y) to be expressed in this frame (x, y) ? a2 2 y0 a1 1 x0 19 Forward Kinematics
Forward Kinematics notice that link 1 moves in a circle centered on the base frame origin (x, y) ? a2 2 y0 a1 1 ( a1cos 1 , a1 sin 1 ) x0 20 Forward Kinematics
Forward Kinematics choose a coordinate frame with origin located on joint 2 with the same orientation as the base frame (x, y) ? y1 a2 2 y0 1 a1 x1 1 ( a1cos 1 , a1 sin 1 ) x0 21 Forward Kinematics
Forward Kinematics notice that link 2 moves in a circle centered on frame 1 (x, y) ? y1 a2 ( a2cos( 1 + 2), a2sin( 1 + 2) ) 2 y0 1 a1 x1 1 ( a1cos 1 , a1 sin 1 ) x0 22 Forward Kinematics
Forward Kinematics because the base frame and frame 1 have the same orientation, we can sum the coordinates to find the position of the end effector in the base frame (a1cos 1 + a2cos( 1 + 2), a1sin 1 + a2sin( 1 + 2) ) y1 a2 ( a2cos( 1 + 2), a2sin( 1 + 2) ) 2 y0 1 a1 x1 1 ( a1cos 1 , a1 sin 1 ) x0 23 Forward Kinematics
Forward Kinematics we also want the orientation of frame 2 with respect to the base frame x2 and y2 expressed in terms of x0 and y0 y2 x2 a2 2 y0 1 a1 1 x0 24 Forward Kinematics
Forward Kinematics without proof I claim: x2 = (cos( 1 + 2), sin( 1 + 2) ) y2 x2 y2 = (-sin( 1 + 2), cos( 1 + 2) ) a2 2 y0 1 a1 1 x0 25 Forward Kinematics
Forward Kinematics find ?,? , ?2, and ?2 expressed in frame 0 y2 y0 y1 x2 (x, y) ? 2 d1 x0 x1 26
Forward Kinematics find ?,? , ?2, and ?2 expressed in frame 0 y0 30 x0 27
Inverse Kinematics given the position (and possibly the orientation) of the end effector, and the dimensions of the links, what are the joint variables? y2 x2 (x, y) a2 2 ? y0 a1 1 ? x0 28 Inverse Kinematics
Inverse Kinematics harder than forward kinematics because there is often more than one possible solution (x, y) a2 y0 a1 x0 29 Inverse Kinematics
Inverse Kinematics law of cosines b = + = + 2 2 1 2 2 2 2 2 cos( ) a a a a x y 1 2 2 (x, y) a2 b 2 ? y0 a1 x0 30 Inverse Kinematics
Inverse Kinematics + 2 2 2 1 2 2 x y a a = cos( ) 2 2 a a 1 2 and we have the trigonometric identity = cos( ) cos( ) 2 2 therefore, + 2 2 2 1 2 2 x y a a = = cos C 2 2 2 a a 1 2 We could take the inverse cosine, but this gives only one of the two solutions. 31 Inverse Kinematics
Inverse Kinematics Instead, use the two trigonometric identities: sin + = = 2 2 sin cos 1 tan 2 cos to obtain 2 2 1 C C = 1 tan 2 2 which yields both solutions for 2 . In many programming languages you would use the four quadrant inverse tangent function atan2 c2 = (x*x + y*y a1*a1 a2*a2) / (2*a1*a2); s2 = sqrt(1 c2*c2); theta21 = atan2(s2, c2); theta22 = atan2(-s2, c2); 32 Inverse Kinematics
Inverse Kinematics Exercise for the student: show that sin a y a = 1 1 2 2 tan tan 1 + cos x a 1 2 2 33 Inverse Kinematics
Points and Vectors point : a location in space vector : magnitude (length) and direction between two points p v q 35
Coordinate Frames choosing a frame (a point and two perpendicular vectors of unit length) allows us to assign coordinates 0 p 4 = 0 p 0 y 5 . 2 0 q 2 = 0 q 5 . 1 0 x 0 2 0o = = 0 0 0 v p q 1 36
Coordinate Frames the coordinates change depending on the choice of frame 1p 1 1o 1 y 5 . 0 = 1p 4 1q 5 . 0 1 x = 1q 2 1 = = 1 1 1 v p q 2 37
Dot Product the dot product of two vectors u v 1 1 u v = + + + = T 2 2 u v u v u v u v u v = = u v 1 1 2 2 n n = cos u v u v nu nv u v cos u 38
Vector Projection and Rejection u u v u v rejection of u from v v v v projection of u on v u v v v v if u and v are unit vectors (have magnitude equal to 1) then the projection becomes v v u 39
Translation 0 y 1 y 0 x 1 x 0o 0 1o 1 suppose we are given o1 expressed in {0} 3 = 0 1o 0 40
Translation 1 0 y 1 y 0 x 1 x 0o 0 1o 1 0 1d the location of {1} expressed in {0} 3 0 3 = = = 0 1 0 1 0 0 d o o 0 0 0 41
Translation 1 i the translation vector can be interpreted as the location of frame {j} expressed in frame {i} jd 1. 42
Translation 2 a point expressed in frame {1} 1 0 y 1 y = 1p 1 0 x 1 x 0o 0 1o 1 0 1d p1 expressed in {0} 3 1 4 = + = + = 0 0 1 1 p d p 0 1 1 43
Translation 2 i the translation vector can be interpreted as a coordinate transformation of a point from frame {j} to frame {i} jd 2. 44
Translation 3 0 y 1 2 = = 0 0 p q 1 1 d 0 x 0o 0 q0 expressed in {0} 3 1 2 = + = + = 0 0 q d p 0 1 1 45
Translation 3 the translation vector can be interpreted as an operator that takes a point and moves it to a new point in the same frame d 3. 46
Rotation suppose that frame {1} is rotated relative to frame {0} 0 y 1 y 1 x sin 0 x o = o 0 1 cos 47
Rotation 1 the orientation of frame {1} expressed in {0} 0 y 1 y 1 x 0 x o = o 0 1 x x y x 1 0 1 0 = 0 1 R x y y y 1 0 1 0 48
Rotation 1 i the rotation matrix can be interpreted as the orientation of frame {j} expressed in frame {i} jR 1. 49
Rotation 2 p1 expressed in {0} 1 = 1p 0 y 1 1 y 1 x 0 x o = o 0 1 cos cos sin 1 = = 0 0 1 1 p R p sin 1 50