Rigid-Body Transformations
Rigid-body transformations enable us to systematically describe a rigid body’s position and orientation by attaching a reference frame to the body. Exciting!!!
See Spatial Algebra for the rigorous notation.
Best Tool: https://www.andre-gaschler.com/rotationconverter/
- Allows you to easily convert between different formats
Books that cover this topic:
- Modern Robotics
- Planning Algorithms by Steven M. Lavalle
- Visual SLAM book
Concepts
- tf2 implementation of transforms in ROS
Some lectures:
- Matrix algebra and 2D rotations by Steven M. Lavalle
- F1TENTH L03 - Rigid Body Transformations by F1TENTH (only really covers 2D well), Google Slides
There are two types of transformations:
- Static Transformations (ex: between
laser
andbase_link
)- fixed, never moves
- Dynamic Transformations (ex: between
laser
andmap
),- changes as the robot moves
Rotate first, and then translate
I think that intuition is sort of confusing. You don’t get any idea of why. See Spatial Algebra, just break down the transform.
Concepts
- Spatial Algebra for the stuff learned through Robot Manipulation
- Linear Transformation
- Coordinate Frame
- Rotation Matrix
- Quaternion
- tf2
- URDF