Library for computing transformations in arbitrary graph structures.
- Maintainer status: developed
- Maintainer: Justin Huang <jstn AT cs.washington DOT edu>
- License: Apache 2.0
- Source: git https://github.com/jstnhuang/transform_graph.git (branch: indigo-devel)
transform_graph is a library for computing transformations between coordinate frames in an arbitrary graph structure.
transform_graph is not a distributed system. Programmers simply create and use the transform_graph graph as an object in memory.
transform_graph does not keep track of transformations over time.
- The transform graph does not have to be structured in a tree. Instead, frames can be arranged in an arbitrary graph (weakly connected, cyclic, disconnected, etc.)
transform_graph does not depend on ROS except to convert from common message types. As a result, you do not need to run a ROS master to use transform_graph, and it is suitable for use in pure unit tests.
The library's generated documentation explains how to use transform_graph in detail. Below are a few quick examples illustrating how it can be used.
transform_graph::Graph maintains the graph of transformations and is the primary interface to transform_graph:
Add frames to the graph using transform_graph::Graph::Add:
Get points in different frames using transform_graph::Graph::DescribePosition. In this example, we want to know what a point 10 cm in front of the robot's wrist is, expressed in the base frame: