-
Notifications
You must be signed in to change notification settings - Fork 7
Coordinate Spaces
It's important to understand the three different coordinate systems we use when talking about robots in Tharp.
Joint coordinates define the end effector position by the angle of each joint and the length of each link in a chain. In the images below we are setting the coxa servo to 1°, the femur to 45° and the tibia to -115°.
Using these angles and the link lengths it is possible to compute the end effector position using forward kinematics but this is not a reasonable pattern for defining complex behaviors like walking. We need angles for our revolute joints of course, but our brains are much better at reasoning about X, Y, Z coordinates in a 3D coordinate system.
Global coordinates define a position using an X, Y and Z value (a 3-tuple) on a coordinate grid whose origin is at some arbitrary point in the space our robot moves within. As the robot moves around within this space, the origin point does not move.
Robot Coordinates also define a position using X, Y, and Z values, but the coordinate grid has its origin at some arbitrary point on the robot. As the robot rotates or moves, the coordinate grid rotate and moves with it. Positive X values are always to the right, positive Y values are always to the front and so on.
For most of our work with Tharp we will be working in robot coordinate space. Later, when we need to interact with things other than our robot, we will be mapping robot coordinate space onto the global coordinate space but that mapping is handled outside of Tharp.
Next: Assemble Your Robot