# 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`

and`base_link`

)- fixed, never moves

- Dynamic Transformations (ex: between
`laser`

and`map`

),- 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