TransformTree
SUMMARY
TransformTree manages a tree of TransformNode objects rooted at a single named frame. It exposes the Skills to add, update, delete, look up, and visualize frames without touching TransformNode directly.
The Skill
python
from telekinesis.tf import tftree
tree = tftree.TransformTree(root_name="world")Example

A tree built from its root frame, with a robot and camera frame added.
The Code
python
"""
Example of constructing a TransformTree.
"""
from loguru import logger
from telekinesis.tf import tftree
def main():
"""
Construct a TransformTree and inspect its root frame.
"""
tree = tftree.TransformTree(root_name="world", verbose="DEBUG")
logger.info(f"Root name: {tree.get_root_name()}")
logger.info(f"Root node: {tree.root.get_name()}")
tree.add("world", "robot", [0, 0, 1, 0, 0, 0], rot_type="deg")
tree.add("robot", "camera", [0.25, 0, 0.5, 0, 0, 0], rot_type="deg")
if __name__ == "__main__":
main()Parameter Configuration
| Parameter | Type | Default | Description |
|---|---|---|---|
root_name | str | None | The name of the root frame. Required in practice: the type check runs before the None case, so omitting it raises ValueError rather than defaulting to "World". |
verbose | str | "ERROR" | Logging verbosity, one of "DEBUG" or "ERROR". |
Raises
| Exception | Condition |
|---|---|
ValueError | root_name is not a string, including when it is left as None. |
ValueError | verbose is not a string, or not one of "DEBUG"/"ERROR". |