Add a ROS2/tf2-style transform tree for manipulation frames.
Context:
- Existing internal TF:
dimos/protocol/tf/tf.py
- Manipulation currently publishes frames in
dimos/manipulation/manipulation_module.py
- ROS tf2 reference: https://wiki.ros.org/tf2
Scope:
- Define manipulation frame conventions (
world, base, links, EE, extra links).
- Support tf2-like publish and lookup across chained frames.
- Add static transform support or an explicit equivalent.
- Prefer adapting the existing TF system over replacing it.
Acceptance:
- Manipulation publishes a complete configured frame tree.
- Consumers can query transforms between manipulation frames.
- Tests cover chained lookup, missing frames, and static/dynamic transforms.
Synced from DIM-1022 by che
Add a ROS2/tf2-style transform tree for manipulation frames.
Context:
dimos/protocol/tf/tf.pydimos/manipulation/manipulation_module.pyScope:
world, base, links, EE, extra links).Acceptance:
Synced from DIM-1022 by che