Skip to content

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 newly constructed TransformTree, visualized in Rerun

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

ParameterTypeDefaultDescription
root_namestrNoneThe 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".
verbosestr"ERROR"Logging verbosity, one of "DEBUG" or "ERROR".

Raises

ExceptionCondition
ValueErrorroot_name is not a string, including when it is left as None.
ValueErrorverbose is not a string, or not one of "DEBUG"/"ERROR".