600.445; Copyright © 1999, 2000, 2001 rht+sgIntroduction to Vectors and FramesCIS - 600.445Russell TaylorSarah Graham600.445; Copyright © 1999, 2000, 2001 rht+sgxxxCT imagePlanned holePinsFemurTool pathCTFCOMMON NOTATION: Use the notation Fobjto represent a coordinate system or the position and orientation of an object (relative to some unspecified coordinate system). Use Fx,yto mean position and orientation of y relative to x.600.445; Copyright © 1999, 2000, 2001 rht+sgxxxCT imagePlanned holePinsFemurTool path600.445; Copyright © 1999, 2000, 2001 rht+sgCT imagePin 1Pin 2Pin 3PlannedholeTool pathFemurAssume equalxxx600.445; Copyright © 1999, 2000, 2001 rht+sgxxxxxx600.445; Copyright © 1999, 2000, 2001 rht+sgBase of robotCT imagePin 1Pin 2Pin 3PlannedholeTool holderTool tipTool pathFemurAssume equalCan calibrate (assume known for now)Can controlWant these to be equal600.445; Copyright © 1999, 2000, 2001 rht+sgBase of robotTool holderTool tipWristFWTFTipWristWT=FFFgTargetTargetFWristTipTargetQuestion: What value of will make ?=FFFI1WristTargetWT1TargetWTAnswer:−−==FFIFFFggg600.445; Copyright © 1999, 2000, 2001 rht+sgCT imagePin 1Pin 2Pin 3PlannedholeTool pathFemurAssume equalHPFHoleFCPHoleHP=FFFg1br2br3br600.445; Copyright © 1999, 2000, 2001 rht+sgCT imagePin 1Pin 2Pin 3Tool pathCPHoleHP=FFFgBase of robotTool holderTool tipWristFWTFCTFWristQuestion: What value of will make these equal?F1br2br3br600.445; Copyright © 1999, 2000, 2001 rht+sgCT imagePin 1Pin 2Pin 3Tool pathCPHoleHP=FFFgBase of robotTool holderTool tipWristFWTFCTF1WristCTCPWT1CTCPWT−−==gggggFFFIFFFFBut: We must find FCT… Let’s review some math1br2br3br600.445; Copyright © 1999, 2000, 2001 rht+sgx0y0z0x1y1z1],[ pRF=FCoordinate Frame Transformation600.445; Copyright © 1999, 2000, 2001 rht+sg600.445; Copyright © 1999, 2000, 2001 rht+sgbF = [R,p]600.445; Copyright © 1999, 2000, 2001 rht+sgbF = [R,p]600.445; Copyright © 1999, 2000, 2001 rht+sgbF = [ I,0]600.445; Copyright © 1999, 2000, 2001 rht+sgbF = [R,0]R•v = Rbrr600.445; Copyright © 1999, 2000, 2001 rht+sgbF = [R,p]R•v = RbrrprR+=•+v = vpRbprrrrr600.445; Copyright © 1999, 2000, 2001 rht+sgCoordinate Framesrrrrrv = F b[R,p] bR b p•= •= • +bF = [R,p]600.445; Copyright © 1999, 2000, 2001 rht+sg600.445; Copyright © 1999, 2000, 2001 rht+sgForward and Inverse Frame Transformations],[ pRF=pbRbpRbFv+•=•=•=],[pRvRpvRbbvF1111•−•=−•==−−−−)(],[ pRRF111•−=−−−ForwardInverse600.445; Copyright © 1999, 2000, 2001 rht+sgComposition1112221211Assume [,],[,]Then()()[,]()[,]So==••=••=••+=••+=••+•+=••+••=•=•+2221122121211212112112212121FRpFRpFFbFFbFRbpRpRbpRRbRppRRRppbFF[R,p][R,p][RR,Rpp]rrrrrrrrrrrrrrrrrrr600.445; Copyright © 1999, 2000, 2001 rht+sgVectors[ ]zyxrowzyxcolvvvvvvvv==vxyz222 :lengthzyxvvvv ++=wv⋅=a :productdot wvu×=:product crossθcoswv=()zzyyxxwvwvwv ++=yzzyzxxzxyyx−=−−vwvwvwvwvwvwθsin, wvu =wv•wu = vxw600.445; Copyright © 1999, 2000, 2001 rht+sgVectors as Displacementsvzwv+wxy+++=+zzyyxxwvwvwvwv−−−=−zzyyxxwvwvwvwvvwv-wxyw600.445; Copyright © 1999, 2000, 2001 rht+sgVectors as Displacements Between Parallel Framesv0x0y0z0x1y1z1v1wwvv1−=0600.445; Copyright © 1999, 2000, 2001 rht+sgRotations: Some Notation(,) Rotation by angle about axis () Rotation by angle about axis ()(,)(,,)(,)(,)(,)(,,)(,)(,)(,)RotRotαααααβγαβγαβγαβγ••••axyzzyzaaRaRaaaRRxRyRzRRzRyRzrrr@r@rrr@rrr@[email protected]; Copyright © 1999, 2000, 2001 rht+sgRotations: A few useful facts1(,) and (,)ˆˆ(,)(,) where ˆˆˆ(,)(,)(,)ˆˆ(,)(,)(,0) i.e., (,0) the identity rotationˆ(,RotRotsRotRotRotRotRotRotRotRotRotRotRotαααααβαβααα−•=•===•=+=−•===aaaabbaaaaaaaaaaabbaIarrrrrrrrrrrrr( ) ( )( )ˆˆˆˆˆ)(,)ˆˆˆˆˆ(,)(,)(,)((,),)RotRotRotRotRotRotααβββα•=•+•−••=•−•babaababaabbbarrrr600.445; Copyright © 1999, 2000, 2001 rht+sgRotations: more factsIf [,,] then a rotation may be described in ˆterms of the effects of on orthogonal unit vectors, [1,0,0], ˆˆ[0,1,0], [0,0,1] whereˆˆTxyzTTTxxyyzzxyzvvvvvv=•===•=++=•=•=vRvRxyzRvrrrrRxrRyrRrrrrrrrrr( )( )ˆThus•••=zRbRcbcrrrrgg600.445; Copyright © 1999, 2000, 2001 rht+sgRotations in the plane[,]Txy=vrcossinsincoscossinsincosxxyyxyxyθθθθθθθθ−•=+−=•R•Rvrθ600.445; Copyright © 1999, 2000, 2001 rht+sgRotations in the plane[ ][ ]cossin10ˆˆsincos01ˆˆθθθθ−•=•=••RxyRxRyθ600.445; Copyright © 1999, 2000, 2001 rht+sg3D Rotation Matrices[][]ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ100ˆˆˆˆˆˆ010001ˆˆˆˆˆˆyzTTTyyzzTTTyzTTTyyyyzTTTzzyzz•=•••=•=•==xxxxxxxxxRxyzRxRyRzrrrrRRrrrrrrrrrrrrrrrrrrrrrrrggggggggg600.445; Copyright © 1999, 2000, 2001 rht+sgInverse of a Rotation Matrix equals its transpose:R-1 = RTRT R=R RT = IThe Determinant of a Rotation matrix is equal to +1:det(R)= +1Any Rotation can be described by consecutive rotations about the three primary axes, x, y, and z:R = Rz,θRy,φRx,ψProperties of Rotation Matrices600.445; Copyright © 1999, 2000, 2001 rht+sgCanonical 3D Rotation MatricesNote: Right-Handed Coordinate System100()(,)0cos)sin)0sin)cos)cos)0sin)()(,)010sin)0cos)cos)sin)0()(,)sin)cos)0001Rot(?(?(?(?(?(?Rot(?(?(?(?Rot(?(?θθθθθθ==−==−−==xyzRxRyRzrrrrrr600.445; Copyright © 1999, 2000, 2001 rht+sgHomogeneous Coordinates• Widely used in graphics, geometric calculations• Represent 3D vector as 4D quantity///xsyszss=vr1xyz=• For our purposes, we will keep the “scale” s = 1600.445; Copyright © 1999, 2000, 2001 rht+sgRepresenting Frame Transformations as
View Full Document