Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Robotics

Similar presentations


Presentation on theme: "Introduction to Robotics"— Presentation transcript:

1 Introduction to Robotics
4/14/2017

2 General Course Information
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) 4/14/2017

3 A150 Robotic Arm link 3 link 2 Symbolic Representation of Manipulators
4/14/2017

4 Kinematics 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 4/14/2017

5 Kinematics forward kinematics: inverse 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 4/14/2017

6 Wheeled Mobile Robots 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 4/14/2017

7 Wheel 4/14/2017

8 Deviations from Ideal 4/14/2017

9 Differential Drive two independently driven wheels mounted on a common axis 4/14/2017

10 Forward Kinematics for a robot starting with pose [ ]T moving with velocity V(t) in a direction θ(t) : 4/14/2017

11 Sensitivity to Wheel Velocity
σ = 0.05 σ = 0.01 4/14/2017

12 Localization using Landmarks: RoboSoccer
4/14/2017

13 Maps goal * start 4/14/2017

14 Path Finding goal start 4/14/2017

15 Localization goal start 4/14/2017

16 EKF SLAM Application www.probabilistic-robotics.org
[MIT B21, courtesy by John Leonard]

17 EKF SLAM Application raw odometry estimated trajectory
[courtesy by John Leonard]

18 Introduction to manipulator kinematics
Day 02 Introduction to manipulator kinematics 4/14/2017

19 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 Symbolic Representation of Manipulators 4/14/2017

20 A150 Robotic Arm link 3 link 2 Symbolic Representation of Manipulators
4/14/2017

21 Joints most manipulator joints are one of two types
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 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 Symbolic Representation of Manipulators 4/14/2017

22 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 = qi : angle of rotation of link i relative to link i – 1 prismatic qi = di : displacement of link i relative to link i – 1 Symbolic Representation of Manipulators 4/14/2017

23 Revolute Joint Variable
qi = qi : angle of rotation of link i relative to link i – 1 link i qi link i – 1 Symbolic Representation of Manipulators 4/14/2017

24 Prismatic Joint Variable
qi = di : displacement of link i relative to link i – 1 link i – 1 link i di Symbolic Representation of Manipulators 4/14/2017

25 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 Common Manipulator Arrangements 4/14/2017

26 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 q2 q3 shoulder forearm elbow q1 waist Common Manipulator Arrangements 4/14/2017

27 Spherical Manipulator
RRP Stanford arm z0 z1 d3 q2 shoulder z2 q1 waist Common Manipulator Arrangements 4/14/2017

28 SCARA Manipulator RRP Selective Compliant Articulated Robot for Assembly z1 z2 z0 q2 d3 q1 Common Manipulator Arrangements 4/14/2017

29 Forward Kinematics given the joint variables and dimensions of the links what is the position and orientation of the end effector? a2 q2 a1 q1 Forward Kinematics 4/14/2017

30 Forward Kinematics choose the base coordinate frame of the robot
we want (x, y) to be expressed in this frame (x, y) ? a2 q2 y0 a1 q1 x0 Forward Kinematics 4/14/2017

31 Forward Kinematics notice that link 1 moves in a circle centered on the base frame origin (x, y) ? a2 q2 y0 a1 q1 ( a1 cos q1 , a1 sin q1 ) x0 Forward Kinematics 4/14/2017

32 Forward Kinematics choose a coordinate frame with origin located on joint 2 with the same orientation as the base frame (x, y) ? y1 a2 q2 y0 q1 a1 x1 q1 ( a1 cos q1 , a1 sin q1 ) x0 Forward Kinematics 4/14/2017

33 Forward Kinematics notice that link 2 moves in a circle centered on frame 1 (x, y) ? y1 a2 ( a2 cos (q1 + q2), a2 sin (q1 + q2) ) q2 y0 q1 a1 x1 q1 ( a1 cos q1 , a1 sin q1 ) x0 Forward Kinematics 4/14/2017

34 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 (a1 cos q1 + a2 cos (q1 + q2), a1 sin q1 + a2 sin (q1 + q2) ) y1 a2 ( a2 cos (q1 + q2), a2 sin (q1 + q2) ) q2 y0 q1 a1 x1 q1 ( a1 cos q1 , a1 sin q1 ) x0 Forward Kinematics 4/14/2017

35 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 q2 y0 q1 a1 q1 x0 Forward Kinematics 4/14/2017

36 Forward Kinematics without proof I claim: x2 = (cos (q1 + q2),
sin (q1 + q2) ) y2 x2 y2 = (-sin (q1 + q2), cos (q1 + q2) ) a2 q2 y0 q1 a1 q1 x0 Forward Kinematics 4/14/2017

37 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 q2 ? y0 a1 q1 ? x0 Inverse Kinematics 4/14/2017

38 Inverse Kinematics harder than forward kinematics because there is often more than one possible solution (x, y) a2 y0 a1 x0 Inverse Kinematics 4/14/2017

39 Inverse Kinematics law of cosines (x, y) a2 b q2 ? y0 a1 x0
4/14/2017

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

41 Inverse Kinematics Instead, use the two trigonometric identities:
to obtain which yields both solutions for q2 . 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); Inverse Kinematics 4/14/2017

42 Inverse Kinematics Exercise for the student: show that
4/14/2017

43 Day 03 Spatial Descriptions 4/14/2017

44 Points and Vectors point : a location in space
vector : magnitude (length) and direction between two points 4/14/2017

45 Coordinate Frames choosing a frame (a point and two perpendicular vectors of unit length) allows us to assign coordinates 4/14/2017

46 Coordinate Frames the coordinates change depending on the choice of frame 4/14/2017

47 Dot Product the dot product of two vectors 4/14/2017

48 Translation suppose we are given o1 expressed in {0} 4/14/2017

49 Translation 1 the location of {1} expressed in {0} 4/14/2017

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

51 Translation 2 p1 expressed in {0} a point expressed in frame {1}
4/14/2017

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

53 Translation 3 q0 expressed in {0} 4/14/2017

54 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 4/14/2017

55 Rotation suppose that frame {1} is rotated relative to frame {0}
4/14/2017

56 Rotation 1 the orientation of frame {1} expressed in {0} 4/14/2017

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

58 Rotation 2 p1 expressed in {0} 4/14/2017

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

60 Rotation 3 q0 expressed in {0} 4/14/2017

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

62 Properties of Rotation Matrices
RT = 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) 4/14/2017

63 Rotation and Translation
4/14/2017

64 Rotations in 3D 4/14/2017

65 Day 04 Rotations 4/14/2017

66 Properties of Rotation Matrices
RT = 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) 4/14/2017

67 Rotations in 3D 4/14/2017

68 Rotation About z-axis +'ve rotation 4/14/2017

69 Rotation About x-axis +'ve rotation 4/14/2017

70 Rotation About y-axis +'ve rotation 4/14/2017

71 Relative Orientation Example
4/14/2017

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

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

74 Composition of Rotations
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: 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: 4/14/2017

75 Rotation About a Unit Axis
4/14/2017

76 Rigid Body Transformations
Day 05 Rigid Body Transformations 4/14/2017

77 Homogeneous Representation
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? 4/14/2017

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

79 Homogeneous Representation
consider an augmented vector ph and an augmented matrix D 4/14/2017

80 Homogeneous Representation
the augmented form of a rotation matrix R3x3 4/14/2017

81 Rigid Body Transformations in 3D
{1} {0} {2} 4/14/2017

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

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

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

85 Rigid Body Transformations in 3D
both interpretations yield the same transformation 4/14/2017

86 Homogeneous Representation
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 4/14/2017

87 Homogeneous Representation
in some frame i points vectors 4/14/2017

88 Inverse Transformation
the inverse of a transformation undoes the original transformation if then 4/14/2017

89 Day 06 Forward Kinematics 4/14/2017

90 Transform Equations {2} {1} {0} {4} {3} 4/14/2017

91 Transform Equations give expressions for: 4/14/2017

92 Transform Equations {1} {0} {3} {2} 4/14/2017

93 Transform Equations how can you find 4/14/2017

94 Links and Joints 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 n joint 3 joint 4 joint n-1 link 3 joint 1 link 2 link n-1 link n link 1 joint 2 link 0 4/14/2017

95 Forward Kinematics given the joint variables and dimensions of the links what is the position and orientation of the end effector? p0 ? a2 q2 y0 a1 q1 x0 Forward Kinematics 4/14/2017

96 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 (a1 cos q1 + a2 cos (q1 + q2), a1 sin q1 + a2 sin (q1 + q2) ) y1 a2 ( a2 cos (q1 + q2), a2 sin (q1 + q2) ) q2 y0 q1 a1 x1 q1 ( a1 cos q1 , a1 sin q1 ) x0 Forward Kinematics 4/14/2017

97 Forward Kinematics from Day 02 p0 = (a1 cos q1 + a2 cos (q1 + q2),
a1 sin q1 + a2 sin (q1 + q2) ) y2 x2 x2 = (cos (q1 + q2), sin (q1 + q2) ) a2 y2 = (-sin (q1 + q2), cos (q1 + q2) ) q2 y0 q1 a1 q1 x0 Forward Kinematics 4/14/2017

98 Frames y2 x2 y1 a2 q2 y0 x1 a1 q1 x0 Forward Kinematics 4/14/2017

99 Forward Kinematics using transformation matrices 4/14/2017

100 Day 07 Denavit-Hartenberg 4/14/2017

101 Links and Joints 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 n joint 3 joint 4 joint n-1 link 3 joint 1 link 2 link n-1 link n link 1 joint 2 link 0 4/14/2017

102 Forward Kinematics 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 qi (i.e., is a function of qi) this makes it easy to find the last frame with respect to the base frame 4/14/2017

103 Forward Kinematics more generally
the forward kinematics problem has been reduced to matrix multiplication 4/14/2017

104 Forward Kinematics 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 4/14/2017

105 Denavit-Hartenberg 4/14/2017

106 Denavit-Hartenberg 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? 4/14/2017

107 Denavit-Hartenberg 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 4/14/2017

108 Denavit-Hartenberg 4/14/2017

109 Denavit-Hartenberg proof: on blackboard in class 4/14/2017

110 Day 08 Denavit-Hartenberg 4/14/2017

111 Denavit-Hartenberg Forward Kinematics
RPP cylindrical manipulator 4/14/2017

112 Denavit-Hartenberg Forward Kinematics
How do we place the frames? 4/14/2017

113 Step 1: Choose the z-axis for each frame
recall the DH transformation matrix 4/14/2017

114 Step 1: Choose the z-axis for each frame
axis of actuation for joint i+1 link i link i link i+1 link i+1 joint i+1 joint i+1 4/14/2017

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

116 Step 2: Establish frame {0}
place the origin o0 anywhere on z0 often the choice of location is obvious choose x0 and y0 so that {0} is right-handed often the choice of directions is obvious 4/14/2017

117 Step 2: Establish frame {0}
4/14/2017

118 Step 3: Iteratively construct {1}, {2}, ... {n-1}
using frame {i-1} construct frame {i} DH1: xi is perpendicular to zi-1 DH2: xi intersects zi-1 3 cases to consider depending on the relationship between zi-1 and zi 4/14/2017

119 Step 3: Iteratively construct {1}, {2}, ... {n-1}
Case 1 zi-1 and zi are not coplanar (skew) ai angle from zi-1 to zi measured about xi shortest line between and (out of page) point of intersection 4/14/2017

120 Step 3: Iteratively construct {1}, {2}, ... {n-1}
Case 2 zi-1 and zi are parallel ( ai = 0 ) notice that this choice results in di = 0 point of intersection 4/14/2017

121 Step 3: Iteratively construct {1}, {2}, ... {n-1}
Case 3 zi-1 and zi intersect ( ai = 0 ) point of intersection (out of page) 4/14/2017

122 Step 3: Iteratively construct {1}, {2}, ... {n-1}
4/14/2017

123 Step 3: Iteratively construct {1}, {2}, ... {n-1}
4/14/2017

124 Step 4: Place the end effector frame
“sliding” “normal” “approach” 4/14/2017

125 Step 4: Place the end effector frame
4/14/2017

126 Step 5: Find the DH parameters
ai : distance between zi-1 and zi measured along xi ai : angle from zi-1 and zi measured about xi di : distance between oi-1 to the intersection of xi and zi-1 measured along zi-1 qi : angle from xi-1 and xi measured about zi-1 4/14/2017

127 Step 5: Find the DH parameters
Link ai di qi 1 d1 q1* 2 -90 d2* 3 d3* * joint variable 4/14/2017

128 More Denavit-Hartenberg Examples
Day 09 More Denavit-Hartenberg Examples 4/14/2017

129 Step 5: Find the DH parameters
Link ai di qi 1 d1 q1* 2 -90 d2* 3 d3* * joint variable 4/14/2017

130 Step 6: Compute the transformation
once the DH parameters are known, it is easy to construct the overall transformation Link ai di qi 1 d1 q1* 2 -90 d2* 3 d3* * joint variable 4/14/2017

131 Step 6: Compute the transformation
Link ai di qi 1 d1 q1* 2 -90 d2* 3 d3* * joint variable 4/14/2017

132 Step 6: Compute the transformation
Link ai di qi 1 d1 q1* 2 -90 d2* 3 d3* * joint variable 4/14/2017

133 Step 6: Compute the transformation
4/14/2017

134 Spherical Wrist 4/14/2017

135 Spherical Wrist 4/14/2017

136 Spherical Wrist: Step 1 4/14/2017

137 Spherical Wrist: Step 2 4/14/2017

138 Spherical Wrist: Step 2 4/14/2017

139 Spherical Wrist: Step 4 4/14/2017

140 Step 5: DH Parameters Link ai di qi 4 -90 q4* 5 90 q5* 6 d6 q6*
-90 q4* 5 90 q5* 6 d6 q6* * joint variable 4/14/2017

141 Step 6: Compute the transformation
4/14/2017

142 RPP + Spherical Wrist 4/14/2017

143 RPP + Spherical Wrist 4/14/2017

144 Stanford Manipulator + Spherical Wrist
Link ai di qi 1 -90 q1* 2 90 d2 q2* 3 d3* 4 q4* 5 q5* 6 d6 q6* * joint variable 4/14/2017

145 SCARA + 1DOF Wrist Link ai di qi 1 a1 d1 q1* 2 a2 180 q2* 3 d3* 4 d4
d1 q1* 2 a2 180 q2* 3 d3* 4 d4 q4* * joint variable 4/14/2017


Download ppt "Introduction to Robotics"

Similar presentations


Ads by Google