Many problems in robotics are fundamentally problems of geometry. Whether a robot is manipulating an object, avoiding an obstacle or interpreting sensor data, spatial relationships dictate how the system behaves — so the representation used for that geometry is not an implementation detail.
Robotics already has good geometric tools: screw theory, Lie groups, dual quaternions, homogeneous coordinates. The difficulty is that a real system uses several at once, and every boundary between them is a conversion where geometric meaning has to be re-encoded. Geometric algebra unifies them into a single algebra in which geometric primitives and the transformations acting on them are the same kind of object.
This site is both an introduction to that theory and a record of our research applying it to robot control, optimization and manipulation.
Software
- gafro — C++ library for geometric algebra in robotics,
with Python bindings in
pygafroand a ROS interface ingafro_ros