Download presentation

Presentation is loading. Please wait.

Published byStella Mosley Modified about 1 year ago

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 ii

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 11 22 33

27
Spherical Manipulator 5/7/ RRP Stanford arm Common Manipulator Arrangements z0z0 z1z1 z2z2 waist shoulder 11 22 d3d3

28
SCARA Manipulator 5/7/ RRP Selective Compliant Articulated Robot for Assembly Common Manipulator Arrangements z0z0 z1z1 z2z2 11 22 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 22 11 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 22 11 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 22 11 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 22 11 a1a1 a2a2 (x, y) ? x0x0 y0y0 ( a 1 cos 1, a 1 sin 1 ) 11 x1x1 y1y1

33
Forward Kinematics 5/7/ notice that link 2 moves in a circle centered on frame 1 Forward Kinematics 22 11 a1a1 a2a2 (x, y) ? x0x0 y0y0 ( a 1 cos 1, a 1 sin 1 ) 11 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 22 11 a1a1 a2a2 x0x0 y0y0 ( a 1 cos 1, a 1 sin 1 ) 11 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 22 11 a1a1 a2a2 x0x0 y0y0 11 x2x2 y2y2

36
5/7/ without proof I claim: Forward Kinematics 22 11 a1a1 a2a2 x0x0 y0y0 11 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 22 11 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 22 11 a1a1 a2a2 x0x0 y0y0 ( a 1 cos 1, a 1 sin 1 ) 11 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 22 11 a1a1 a2a2 x0x0 y0y0 11 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 22 11 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 ii didi ii 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 ii didi ii 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 ii didi ii 100d1d1 1*1* 20-90d2*d2*0 300d3*d3*0 * joint variable

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

132
Step 6: Compute the transformation 5/7/ Linkaiai ii didi ii 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 ii didi ii 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 ii didi ii 1*1* 2090d2d2 2*2* 300d3*d3* 4*4* 5*5* 600d6d6 6*6* * joint variable

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

Similar presentations

© 2016 SlidePlayer.com Inc.

All rights reserved.

Ads by Google