Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Robotics 5/7/20151. General Course Information 5/7/20152  The course introduces the basic concepts of robotic manipulators and autonomous.

Similar presentations


Presentation on theme: "Introduction to Robotics 5/7/20151. General Course Information 5/7/20152  The course introduces the basic concepts of robotic manipulators and autonomous."— Presentation transcript:

1 Introduction to Robotics 5/7/20151

2 General Course Information 5/7/20152  The course 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.  two robotic arms  everything in Matlab (and some Java)

3 A150 Robotic Arm 5/7/20153Symbolic Representation of Manipulators link 3 link 2

4 Kinematics 5/7/20154  the study of motion that ignores the forces that cause the motion  “geometry of motion”  interested in position, velocity, acceleration, etc. of the various links of the manipulator  e.g., where is the gripper relative to the base of the manipulator? what direction is it pointing in?  described using rigid transformations of the links

5 Kinematics 5/7/20155  forward kinematics:  given the link lengths and joint angles compute the position and orientation of the gripper relative to the base  for a serial manipulator there is only one solution  inverse kinematics:  given the position (and possibly the orientation) of the gripper and the dimensions of the links, what are the joint variables?  for a serial manipulator there is often more than one mathematical solution

6 Wheeled Mobile Robots 5/7/20156  robot can have one or more wheels that can provide  steering (directional control)  power (exert a force against the ground)  an ideal wheel is  perfectly round (perimeter 2πr )  moves in the direction perpendicular to its axis

7 Wheel 5/7/20157

8 Deviations from Ideal 5/7/20158

9  two independently driven wheels mounted on a common axis Differential Drive 5/7/20159

10  for a robot starting with pose [0 0 0] T moving with velocity V(t) in a direction θ(t) : Forward Kinematics 5/7/201510

11 Sensitivity to Wheel Velocity 5/7/ σ = 0.05 σ = 0.01

12 Localization using Landmarks: RoboSoccer 5/7/201512

13 Maps 5/7/ * * start goal

14 Path Finding 5/7/ start goal

15 Localization 5/7/ start goal

16 EKF SLAM Application 16 [MIT B21, courtesy by John Leonard]

17 EKF SLAM Application 17 raw odometryestimated trajectory [courtesy by John Leonard]www.probabilistic-robotics.org

18 Day 02 Introduction to manipulator kinematics 5/7/201518

19 Robotic Manipulators 5/7/  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 Symbolic Representation of Manipulators

20 A150 Robotic Arm 5/7/201520Symbolic Representation of Manipulators link 3 link 2

21 Joints 5/7/201521Symbolic Representation of Manipulators  most manipulator joints are one of two types 1. revolute (or rotary)  like a hinge  allows relative rotation about a fixed axis between two links  axis of rotation is the z axis by convention 2. prismatic (or linear)  like a piston  allows relative translation along a fixed axis between two links  axis of translation is the z axis by convention  our convention: joint i connects link i – 1 to link i  when joint i is actuated, link i moves

22 Joint Variables 5/7/201522Symbolic Representation of Manipulators  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  q i : joint variable for joint i 1. revolute  q i =  i : angle of rotation of link i relative to link i – 1 2. prismatic  q i = d i : displacement of link i relative to link i – 1

23 Revolute Joint Variable 5/7/201523Symbolic Representation of Manipulators  revolute  q i =  i : angle of rotation of link i relative to link i – 1 link i – 1 link i ii

24 Prismatic Joint Variable 5/7/201524Symbolic Representation of Manipulators  prismatic  q i = d i : displacement of link i relative to link i – 1 link i – 1 link i didi

25 Common Manipulator Arrangments 5/7/  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 Common Manipulator Arrangements

26 Articulated Manipulator 5/7/  RRR (first three joints are all revolute)  joint axes  z 0 : waist  z 1 : shoulder (perpendicular to z 0 )  z 2 : elbow (parallel to z 1 ) Common Manipulator Arrangements z0z0 z1z1 z2z2 waist shoulder elbow forearm 11 22 33

27 Spherical Manipulator 5/7/  RRP  Stanford arm  Common Manipulator Arrangements z0z0 z1z1 z2z2 waist shoulder 11 22 d3d3

28 SCARA Manipulator 5/7/  RRP  Selective Compliant Articulated Robot for Assembly  Common Manipulator Arrangements z0z0 z1z1 z2z2 11 22 d3d3

29 Forward Kinematics 5/7/  given the joint variables and dimensions of the links what is the position and orientation of the end effector? Forward Kinematics 22 11 a1a1 a2a2

30 5/7/  choose the base coordinate frame of the robot  we want ( x, y ) to be expressed in this frame Forward Kinematics 22 11 a1a1 a2a2 (x, y) ? x0x0 y0y0

31 Forward Kinematics 5/7/  notice that link 1 moves in a circle centered on the base frame origin Forward Kinematics 22 11 a1a1 a2a2 (x, y) ? x0x0 y0y0 ( a 1 cos  1, a 1 sin  1 )

32 Forward Kinematics 5/7/  choose a coordinate frame with origin located on joint 2 with the same orientation as the base frame Forward Kinematics 22 11 a1a1 a2a2 (x, y) ? x0x0 y0y0 ( a 1 cos  1, a 1 sin  1 ) 11 x1x1 y1y1

33 Forward Kinematics 5/7/  notice that link 2 moves in a circle centered on frame 1 Forward Kinematics 22 11 a1a1 a2a2 (x, y) ? x0x0 y0y0 ( a 1 cos  1, a 1 sin  1 ) 11 x1x1 y1y1 ( a 2 cos (  1 +  2 ), a 2 sin (  1 +  2 ) )

34 Forward Kinematics 5/7/  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 Forward Kinematics 22 11 a1a1 a2a2 x0x0 y0y0 ( a 1 cos  1, a 1 sin  1 ) 11 x1x1 y1y1 ( a 2 cos (  1 +  2 ), a 2 sin (  1 +  2 ) ) (a 1 cos  1 + a 2 cos (  1 +  2 ), a 1 sin  1 + a 2 sin (  1 +  2 ) )

35 Forward Kinematics 5/7/  we also want the orientation of frame 2 with respect to the base frame  x 2 and y 2 expressed in terms of x 0 and y 0 Forward Kinematics 22 11 a1a1 a2a2 x0x0 y0y0 11 x2x2 y2y2

36 5/7/  without proof I claim: Forward Kinematics 22 11 a1a1 a2a2 x0x0 y0y0 11 x 2 = (cos (  1 +  2 ), sin (  1 +  2 ) ) y 2 = (-sin (  1 +  2 ), cos (  1 +  2 ) ) x2x2 y2y2

37 Inverse Kinematics 5/7/  given the position (and possibly the orientation) of the end effector, and the dimensions of the links, what are the joint variables? Inverse Kinematics  2 ?  1 ? a1a1 a2a2 x0x0 y0y0 x2x2 y2y2 (x, y)

38 Inverse Kinematics 5/7/  harder than forward kinematics because there is often more than one possible solution Inverse Kinematics a1a1 a2a2 x0x0 y0y0 (x, y)

39 Inverse Kinematics 5/7/ law of cosines Inverse Kinematics  2 ? a1a1 a2a2 x0x0 y0y0 (x, y) b

40 Inverse Kinematics 5/7/201540Inverse Kinematics and we have the trigonometric identity therefore, We could take the inverse cosine, but this gives only one of the two solutions.

41 Inverse Kinematics 5/7/201541Inverse Kinematics to obtain Instead, use the two trigonometric identities: 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);

42 Inverse Kinematics 5/7/  Exercise for the student: show that Inverse Kinematics

43 Day 03 Spatial Descriptions 5/7/201543

44 Points and Vectors 5/7/  point : a location in space  vector : magnitude (length) and direction between two points

45 Coordinate Frames 5/7/  choosing a frame (a point and two perpendicular vectors of unit length) allows us to assign coordinates

46 Coordinate Frames 5/7/  the coordinates change depending on the choice of frame

47 Dot Product 5/7/  the dot product of two vectors

48 Translation 5/7/  suppose we are given o 1 expressed in {0}

49 Translation 1 5/7/  the location of {1} expressed in {0}

50 Translation 1 5/7/ the translation vector can be interpreted as the location of frame {j} expressed in frame {i}

51 Translation 2 5/7/  p 1 expressed in {0} a point expressed in frame {1}

52 Translation 2 5/7/ the translation vector can be interpreted as a coordinate transformation of a point from frame {j} to frame {i}

53 Translation 3 5/7/  q 0 expressed in {0}

54 Translation 3 5/7/ the translation vector can be interpreted as an operator that takes a point and moves it to a new point in the same frame

55 Rotation 5/7/  suppose that frame {1} is rotated relative to frame {0}

56 Rotation 1 5/7/  the orientation of frame {1} expressed in {0}

57 Rotation 1 5/7/ the rotation matrix can be interpreted as the orientation of frame {j} expressed in frame {i}

58 Rotation 2 5/7/  p 1 expressed in {0}

59 Rotation 2 5/7/ the rotation matrix can be interpreted as a coordinate transformation of a point from frame {j} to frame {i}

60 Rotation 3 5/7/  q 0 expressed in {0}

61 Rotation 3 5/7/ the rotation matrix can be interpreted as an operator that takes a point and moves it to a new point in the same frame

62 Properties of Rotation Matrices 5/7/  R T = R -1  the columns of R are mutually orthogonal  each column of R is a unit vector  det R = 1 (the determinant is equal to 1 )

63 Rotation and Translation 5/7/201563

64 Rotations in 3D 5/7/201564

65 Day 04 Rotations 5/7/201565

66 Properties of Rotation Matrices 5/7/  R T = R -1  the columns of R are mutually orthogonal  each column of R is a unit vector  det R = 1 (the determinant is equal to 1 )

67 Rotations in 3D 5/7/201567

68 Rotation About z-axis 5/7/ 've rotation

69 Rotation About x-axis 5/7/ 've rotation

70 Rotation About y-axis 5/7/ 've rotation

71 Relative Orientation Example 5/7/201571

72 Successive Rotations in Moving Frames 5/7/ Suppose you perform a rotation in frame {0} to obtain {1}. 2. Then you perform a rotation in frame {1} to obtain {2}. What is the orientation of {2} relative to {0}?

73 Successive Rotations in a Fixed Frame 5/7/ Suppose you perform a rotation in frame {0} to obtain {1}. 2. Then you rotate {1} in frame {0} to obtain {2}. What is the orientation of {2} relative to {0}?

74 Composition of Rotations 5/7/ Given a fixed frame {0} and a current frame {1} and  if {2} is obtained by a rotation R in the current frame {1} then use postmulitplication to obtain: 2. Given a fixed frame {0} and a frame {1} and  if {2} is obtained by a rotation R in the fixed frame {0} then use premultiplication to obtain:

75 Rotation About a Unit Axis 5/7/201575

76 Day 05 Rigid Body Transformations 5/7/201576

77 Homogeneous Representation 5/7/  translation represented by a vector d  vector addition  rotation represented by a matrix R  matrix-matrix and matrix-vector multiplication  convenient to have a uniform representation of translation and rotation  obviously vector addition will not work for rotation  can we use matrix multiplication to represent translation?

78 Homogeneous Representation 5/7/  consider moving a point p by a translation vector d not possible as matrix-vector multiplication always leaves the origin unchanged

79 Homogeneous Representation 5/7/  consider an augmented vector p h and an augmented matrix D

80 Homogeneous Representation 5/7/  the augmented form of a rotation matrix R 3x3

81 Rigid Body Transformations in 3D 5/7/ {0} {1} {2}

82 Rigid Body Transformations in 3D 5/7/  suppose {1} is a rotated and translated relative to {0}  what is the pose (the orientation and position) of {1} expressed in {0} ? {0} {1}

83 Rigid Body Transformations in 3D 5/7/  suppose we use the moving frame interpretation (postmultiply transformation matrices) 1. translate in {0} to get {0’} 2. and then rotate in {0’} to get {1} {0} {1} {0} {0’} Step 1 Step 2

84 Rigid Body Transformations in 3D 5/7/  suppose we use the fixed frame interpretation (premultiply transformation matrices) 1. rotate in {0} to get {0’} 2. and then translate in {0} in to get {1} {0} {0’} {1} Step 1 Step 2

85 Rigid Body Transformations in 3D 5/7/  both interpretations yield the same transformation

86 Homogeneous Representation 5/7/  every rigid-body transformation can be represented as a rotation followed by a translation in the same frame  as a 4x4 matrix where R is a 3x3 rotation matrix and d is a 3x1 translation vector

87 Homogeneous Representation 5/7/  in some frame i  points  vectors

88 Inverse Transformation 5/7/  the inverse of a transformation undoes the original transformation  if  then

89 Day 06 Forward Kinematics 5/7/201589

90 Transform Equations 5/7/ {0} {1} {2} {3} {4}

91 Transform Equations 5/7/  give expressions for:

92 Transform Equations 5/7/ {0} {1} {2} {3}

93 Transform Equations 5/7/  how can you find

94 Links and Joints 5/7/  n joints, n + 1 links  link 0 is fixed (the base)  joint i connects link i – 1 to link i  link i moves when joint i is actuated joint 1 joint 2 joint 3 joint 4 joint n-1 joint n link 0 link 1 link 2 link 3 link n-1 link n

95 Forward Kinematics 5/7/  given the joint variables and dimensions of the links what is the position and orientation of the end effector? Forward Kinematics 22 11 a1a1 a2a2 x0x0 y0y0 p 0 ?

96 Forward Kinematics 5/7/  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 Forward Kinematics 22 11 a1a1 a2a2 x0x0 y0y0 ( a 1 cos  1, a 1 sin  1 ) 11 x1x1 y1y1 ( a 2 cos (  1 +  2 ), a 2 sin (  1 +  2 ) ) (a 1 cos  1 + a 2 cos (  1 +  2 ), a 1 sin  1 + a 2 sin (  1 +  2 ) )

97 Forward Kinematics 5/7/  from Day 02 Forward Kinematics 22 11 a1a1 a2a2 x0x0 y0y0 11 x 2 = (cos (  1 +  2 ), sin (  1 +  2 ) ) y 2 = (-sin (  1 +  2 ), cos (  1 +  2 ) ) x2x2 y2y2 p 0 = (a 1 cos  1 + a 2 cos (  1 +  2 ), a 1 sin  1 + a 2 sin (  1 +  2 ) )

98 Frames 5/7/201598Forward Kinematics 22 11 a1a1 a2a2 x0x0 y0y0 x1x1 y1y1 x2x2 y2y2

99 5/7/  using transformation matrices

100 Day 07 Denavit-Hartenberg 5/7/

101 Links and Joints 5/7/  n joints, n + 1 links  link 0 is fixed (the base)  joint i connects link i – 1 to link i  link i moves when joint i is actuated joint 1 joint 2 joint 3 joint 4 joint n-1 joint n link 0 link 1 link 2 link 3 link n-1 link n

102 Forward Kinematics 5/7/  attach a frame {i} to link i  all points on link i are constant when expressed in {i}  if joint i is actuated then frame {i} moves relative to frame {i - 1}  motion is described by the rigid transformation  the state of joint i is a function of its joint variable q i (i.e., is a function of q i )  this makes it easy to find the last frame with respect to the base frame

103 Forward Kinematics 5/7/  more generally  the forward kinematics problem has been reduced to matrix multiplication

104 Forward Kinematics 5/7/  Denavit J and Hartenberg RS, “A kinematic notation for lower- pair mechanisms based on matrices.” Trans ASME J. Appl. Mech, 23:215–221, 1955  described a convention for standardizing the attachment of frames on links of a serial linkage  common convention for attaching reference frames on links of a serial manipulator and computing the transformations between frames

105 Denavit-Hartenberg 5/7/

106 Denavit-Hartenberg 5/7/  notice the form of the rotation component  this does not look like it can represent arbitrary rotations  can the DH convention actually describe every physically possible link configuration?

107 Denavit-Hartenberg 5/7/  yes, but we must choose the orientation and position of the frames in a certain way  (DH1)  (DH2)  claim: if DH1 and DH2 are true then there exists unique numbers

108 Denavit-Hartenberg 5/7/

109 Denavit-Hartenberg 5/7/  proof: on blackboard in class

110 Day 08 Denavit-Hartenberg 5/7/

111 Denavit-Hartenberg Forward Kinematics 5/7/  RPP cylindrical manipulator 

112 Denavit-Hartenberg Forward Kinematics 5/7/ How do we place the frames?

113 Step 1: Choose the z-axis for each frame 5/7/  recall the DH transformation matrix

114 Step 1: Choose the z-axis for each frame 5/7/  axis of actuation for joint i+1 link i link i+1 joint i+1

115 Step 1: Choose the z-axis for each frame 5/7/  Warning: the picture is deceiving. We do not yet know the origin of the frames; all we know at this point is that each z i points along a joint axis

116 Step 2: Establish frame {0} 5/7/  place the origin o 0 anywhere on z 0  often the choice of location is obvious  choose x 0 and y 0 so that {0} is right-handed  often the choice of directions is obvious

117 Step 2: Establish frame {0} 5/7/

118 Step 3: Iteratively construct {1}, {2},... {n-1} 5/7/  using frame {i-1} construct frame {i}  DH1: x i is perpendicular to z i-1  DH2: x i intersects z i-1  3 cases to consider depending on the relationship between z i-1 and z i

119 Step 3: Iteratively construct {1}, {2},... {n-1} 5/7/  Case 1  z i-1 and z i are not coplanar (skew)   i angle from z i-1 to z i measured about x i (out of page) shortest line between and point of intersection

120 Step 3: Iteratively construct {1}, {2},... {n-1} 5/7/  Case 2  z i-1 and z i are parallel (  i = 0 )  notice that this choice results in d i = 0 point of intersection

121 Step 3: Iteratively construct {1}, {2},... {n-1} 5/7/  Case 3  z i-1 and z i intersect ( a i = 0 ) point of intersection (out of page)

122 Step 3: Iteratively construct {1}, {2},... {n-1} 5/7/

123 Step 3: Iteratively construct {1}, {2},... {n-1} 5/7/

124 Step 4: Place the end effector frame 5/7/ “approach” “sliding” “normal”

125 Step 4: Place the end effector frame 5/7/

126 Step 5: Find the DH parameters 5/7/  a i : distance between z i-1 and z i measured along x i   i : angle from z i-1 and z i measured about x i  d i : distance between o i-1 to the intersection of x i and z i-1 measured along z i-1   i : angle from x i-1 and x i measured about z i-1

127 Step 5: Find the DH parameters 5/7/ Linkaiai ii didi ii 100d1d1 1*1* 20-90d2*d2*0 300d3*d3*0 * joint variable

128 Day 09 More Denavit-Hartenberg Examples 5/7/

129 Step 5: Find the DH parameters 5/7/ Linkaiai ii didi ii 100d1d1 1*1* 20-90d2*d2*0 300d3*d3*0 * joint variable

130 Step 6: Compute the transformation 5/7/  once the DH parameters are known, it is easy to construct the overall transformation Linkaiai ii didi ii 100d1d1 1*1* 20-90d2*d2*0 300d3*d3*0 * joint variable

131 Step 6: Compute the transformation 5/7/ Linkaiai ii didi ii 100d1d1 1*1* 20-90d2*d2*0 300d3*d3*0 * joint variable

132 Step 6: Compute the transformation 5/7/ Linkaiai ii didi ii 100d1d1 1*1* 20-90d2*d2*0 300d3*d3*0 * joint variable

133 Step 6: Compute the transformation 5/7/

134 Spherical Wrist 5/7/

135 Spherical Wrist 5/7/

136 Spherical Wrist: Step 1 5/7/

137 Spherical Wrist: Step 2 5/7/

138 Spherical Wrist: Step 2 5/7/

139 Spherical Wrist: Step 4 5/7/

140 Step 5: DH Parameters 5/7/ Linkaiai ii didi ii 4*4* 5*5* 600d6d6 6*6* * joint variable

141 Step 6: Compute the transformation 5/7/

142 RPP + Spherical Wrist 5/7/

143 RPP + Spherical Wrist 5/7/

144 Stanford Manipulator + Spherical Wrist 5/7/ Linkaiai ii didi ii 1*1* 2090d2d2 2*2* 300d3*d3* 4*4* 5*5* 600d6d6 6*6* * joint variable

145 SCARA + 1DOF Wrist 5/7/ Linkaiai ii didi ii 1a1a1 0d1d1 1*1* 2a2a 2*2* 300d3*d3*0 400d4d4 4*4* * joint variable


Download ppt "Introduction to Robotics 5/7/20151. General Course Information 5/7/20152  The course introduces the basic concepts of robotic manipulators and autonomous."

Similar presentations


Ads by Google