basic kinematics
DESCRIPTION
Basic Kinematics. Nattee Niparnan. Recall. Robot Programming Introduction to Control PID Motion Planning. Kinematics. Physical representation of manipulator Description of robotics entity Forward kinematics Inverse kinematics. Motivation. Robot acts in the real world - PowerPoint PPT PresentationTRANSCRIPT
Basic Kinematics
Basic KinematicsNattee NiparnanRecallRobot ProgrammingIntroduction to ControlPIDMotion PlanningKinematicsPhysical representation of manipulatorDescription of robotics entityForward kinematicsInverse kinematicsMotivationRobot acts in the real worldWe must know how robot interact with the real worldWhere it is?Where is its arm, upper arm, forearm, hand, etc.How to reach to some position
Today, In static settingWhat you will learn todayHow to know the position of the robotic body?Is that hard?Todays ProtagonistManipulator
Robot ComponentLinksJointsEnd EffectorJoint
Link
Something that connects joinsEnd Effector
The last part of the robotThe Question: repriseWhere is my End Effecter?Where are my Joints?Where are my Links?
DemoLooks ahead motion planningDescription of EntityEntitiesPointsOrientationFrameExampleWhere is the end effecter?linklinkjointEEhereWe need coordinateDescribed by a vector PPPosition VectorP =
What is the meaning of the value of a and b?
Distance? From what?linkThe OriginWith respect to the originOWe write P as
Means that the value of x is related to the frame O
xoyolinkPThe OriginWith respect to the originO
xoyoPabRelative DescriptionThe vector is related (referenced) to the specific frameFor now, let us assume that we know where the reference point isConcrete ExampleObject is a set of points, w.r.t. to some fixed point on the objectAnother ExampleWhere is the end effecter?Position is not enoughWe need orientationlinklinklinklinkXOrientationRotationCan we just simply use the angle?Orientation by axesAttach axesAxis is a unit vectorlinklinkxEyEAxes also described relatively
bdacxEyEAngle Axes equivalenceb = sin()a = cos()d = sin(+90o)=cos()c = cos(+90o)=-sin()
bdacxEyEAngle Axes equivalenceWe will soon knows thatAngle axes is simpleAxes angle is simpleRotation MatrixWe write the orientation as a matrix
Rotation matrix is a matrix of column vectors that describe the axes
Recall the Dot ProductAB|C| = AB/|B|CRotation MatrixWe write the orientation as a matrix
bdacxEyE
Frame Description End Effecter can be described by FramePosition and orientation FrameLet us call the End Effecter Frame as Frame E ( {E} )
Describe the other frame related to the origin
Origin as a frameOrigin itself, is also a framex = (1,0)Ty = (0,1)TP = (0,0)T
Hence, the description actually describe a frame relative to another frameExtend to 3D : Position
Extend to 3D : Orientation
Extend to 3D : Frame
Frame B is described by
TransformationMapping from Frame to FrameIf we know P relative to {B} and the frame {B}What is P relative to {A}?
Translation Mapping
Rotational Mapping
Rotational Mapping
38Rotational Mapping
See how B cancelled outA note on rotational matrixAs we have seen
What is RT ?
Hence, RT=R-1
Transpose is equal to the inverseGeneral Mapping
Mapping Example
510
Mapping Example
R
Mapping Example
given73
Mapping Example
given
Homogeneous TransformMapping using Matrix MultiplicationInstead of
We write
Transformation matrixHomogeneous Transform
TRow of 0 and 1Homogeneous Transform as a Frame DescriptorDescriptor = (PBORG, RB)
Transform can also be regarded as a descriptor of a frame is a description of frame {B} w.r.t to {A}
Operator on PointsT is an operator that performs mapping from one frame to another frameUsing matrix multiplicationThere are also many other operatorsAlso matrix multiplicationTranslational Operator
Translate point P1 by QWhat is P2 ?
Translational Operator
Rotational OperatorThis rotate P as the same as the reference frame is rotated to orientation R
Rotational OperatorRotate about a specific axisRotate about K
Rotate about Z
Rotational OperatorRotation can be interpreted directly as 3x3 matrix
But homogeneous form is applicable as well
Transformation OperatorThe transform which rotates by R and translates by Q is the same as the transform which describes a frame rotated by R and translated by Q relative to the reference frame.
Transformation Operator Example
RPTransformation Operator ExampleGiven
Get
Transformation Operator Example
The transform which rotates by R and translates by Q is the same as the transform which describes a frame rotated by R and translated by Q relative to the reference frame.Conclusion: Meaning of Transformation MatrixMapping from Frame to Frame maps
Description of a Frame describe frame {B} w.r.t. to {A}
Transformation Operator
Arithmetic of TransformWe know{C} relative to {B}{B} relative to {A}We can transform from
Arithmetic of TransformHence
Inverse TransformGiven finds
Inverse TransformWe know that
Then we need to find
Inverse Transform
0weknowWhat we wantInverse TransformIn conclusion
Also note that
Transform Equation
Express {D}
yields transform equation
Transform Equation
Assume that we dont know {B}{C}
From the transform equation, we get
Another Example
We haveWhat is {U}{A}
More on rotationDescription of RotationDo we need rotational matrix?For 2D, the rotational matrix can be generated from a single angle
Recall R =
What about 3D?How many free variable we can use?
Azimuth & Elevation
Azimuth & Elevation
Plus rotationRotation descriptionIntuitively, we should be able to express rotation with 3 degree of freedomAlgebraic ExplanationRotation matrix is the description of axesAxes must be unitAxes must be orthogonal
9 variables6 constraints 3free variables3 variables descriptionWhat 3 variable should be?Azim + ele + skrew?What is the rotational matrix of such?Any other ways?
Another problemGiven a rotational matrixWhat is our 3 parameters?X-Y-Z Fixed AngleStart from frame {A} and rotate to frame {B}Given 3 numbers (,,)Rotate about XA axis by , thenRotate about YA axis by , thenRotate about ZA axis by
Beware!!! Rotations do not commute, X-Y-Z Fixed Angle
X-Y-Z Fixed AngleThink in term of operator
c is cos ()S is sin ()
Z-Y-X Euler AngleRotate about ZB axis by , thenRotate about YB axis by , thenRotate about XB axis by
Z-Y-X Euler Angle
Z-Y-X Euler AngleThink in term of descriptor
The same as the fixed angle of X-Y-Z
Rotation About Arbitrary Axis
Computational ConcernIn practice, we dont multiply the transformation matrix directlyUsually
Additionally order of multiplication is importantRemember matrix chain multiplication?
Manipulator KinematicsDescription of robotics armLink descriptionJoint descriptionJoint
Joint AxisAssume that each joint has only one degree of freedom
In case of n DoF, modeled by n joints joined by zero length linkNumbering
Link 1Link 2Link 3Link 4Link 0 (base)Joint 1Joint 2Joint 3Joint 4Joint comes before linkLink Description
Link lengthLink twistLink DescriptionLink Length (ai-1)Shortest distance between two linesDefined by the segment mutually perpendicular to both lines
Link twist (i-1)Shorts the distance of the link lengthAngle between the axes about the vector along the link length from the axis i-1 to axis i
Joint Description
Joint offsetJoint angleJoint DescriptionJoint offset (di)Distance from link to link along the common axis
Joint Angle (i)Rotation about the axisOf link to link
for revolute joint --- joint offset is fixedfor prismatic joint --- joint angle is fixed
First and Last LinkFirst link and last link has zero lengthFirst link and last link has zero twistIf the first link is revoluteZero position for the angle is freeOffset is zeroIf the first link is prismaticZero position for the offset is freeangle is zero
Link 1Link 2Link 3Link 4Link 0 (base)Joint 1Joint 2Joint 3Joint 4Attach a frame to a link
X along the mutually perpendicular lineZ along the axisFirst and Last LinkFor frame {0}From our convention on offset and angle it is best to locate {0} to coincide with {1} when the respective parameter is zeroFor frame {n}Revolute joint at {n}Align X with the previous frame {n-1} when angle is zeroLocate such that dn is zeroPrismatic joint at {n}Align X with the previous frame {n-1} (make angle be zero)Locate such that the frame intersect when dn is zero
Example
Example
Another Example
Another Example
ENDFrame DescriptionIn fact, we have gone a little bit too farWe know how to describe the End EffecterWithout actually know how to compute P and R!!!
Nevertheless, we know how to describe somethingAs a frame
TransformationWe need something that relates links, joins and end effecterWe relate it by some entity, point for exampleWe describe how the same point is described under several frames
Pure TranslationPure Rotation