Why TAMPanda
From symbolic plan to physical execution in minutes
Transitioning from standard planning benchmarks to physics simulation is expensive: you need scenes, collision detection, grasp pipelines, and control loops before testing a single idea.
TAMPanda wraps all of that. A symbolic instruction like pick(block) translates into a physically validated, collision-free trajectory — automatically.
Components are modular: use the high-level executor, or drop down to IK solvers, motion planners, and joint-space representations directly.
from tampanda import ArmSceneBuilder, RRTStar
from tampanda import GraspPlanner, PickPlaceExecutor
from tampanda.scenes import (
TABLE_SYMBOLIC_TEMPLATE,
BLOCK_SMALL_TEMPLATE,
)
import numpy as np
# Build a scene from a Python config
builder = ArmSceneBuilder()
builder.add_resource("table", TABLE_SYMBOLIC_TEMPLATE)
builder.add_resource("block", BLOCK_SMALL_TEMPLATE)
builder.add_object("table", pos=[0.75, 0.80, 0.00])
builder.add_object("block", pos=[0.45, 0.40, 0.31],
name="block_0")
env = builder.build_env(rate=200.0)
planner = RRTStar(env)
executor = PickPlaceExecutor(
env, planner, GraspPlanner(table_z=0.27))
# One call handles approach → grasp → lift → place
executor.pick(
"block_0",
env.get_object_position("block_0"),
env.get_object_half_size("block_0"),
env.get_object_orientation("block_0"))
executor.place("block_0",
np.array([0.50, 0.25, 0.31]))