Vectors, Frames & Rotations
Every position a robot uses is measured from somewhere. Count a robot's degrees of freedom, work with vectors and rotation matrices, then use homogeneous transforms to turn what a sensor sees into where the gripper should go.
Start the lesson0/6 steps done
What you'll learn
- Describe a robot by its links, joints and degrees of freedom
- Use vectors for directions, distances and projections
- Build 2-D and 3-D rotation matrices and compose them
- Convert points between frames with homogeneous transforms
- Chain joint transforms into forward kinematics
Before you start
You should be comfortable with basic Python: variables, loops and functions. We'll introduce the robotics and the maths as you go. The first visit downloads the physics engine and Python, about 20 MB, and later visits load from your browser's cache.
Steps
- 1Links, joints & degrees of freedomTake the arm apart joint by joint, and meet a robot with a joint that has no motor.Links and jointsRevolute vs prismaticDegrees of freedomActuated vs passiveOpen
- 2Direction, distance & the dot productSubtract points to get vectors, then use lengths, unit vectors and dot products to aim the gripper.VectorsNorm and unit vectorsDot productProjectionOpen
- 3Angles, atan2 & 2-D rotationTurn a rover to face beacons the short way round, and rotate what it sees into the world.Radianssin, cos and atan22-D rotation matricesAngle wrappingOpen
- 4Rotations in 3-DBuild rotation matrices about x, y and z, compose them, and aim the gripper by reading one column.Rotation matricesRotations about x, y and zOrder mattersOrientation of the gripperOpen
- 5Frames & homogeneous transformsA sensor reports the ball in its own frame. Pack its pose into a 4×4 matrix and bring the ball into the world.Coordinate frames4×4 transformsInverse transformSensor framesOpen
- 6Chaining transforms: forward kinematicsMultiply one transform per joint and link to get the gripper's pose, then use it to read a sensor on the hand.Transform compositionJoint transformsForward kinematicsEye-in-hand sensingOpen