basic kinematics

106
Basic Kinematics Nattee Niparnan

Upload: dore

Post on 23-Mar-2016

102 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

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