Planning
Directory: demo/planning/ — motion planning, IK, and trajectory execution.
FastSim supports two motion planning backends:
- CuRobo: NVIDIA GPU-accelerated planner with collision awareness
- OMPL: Open Motion Planning Library with PyBullet collision checking (CPU-only)
CuRobo Planner
yaml
robot_cfg_dict:
franka_panda:
stereotype: general_robot
asset_path: assets://robots/franka.usd
ee_link_name: panda_hand
use_planner: true
planner_cfg:
stereotype: curobo
robot_config_file: assets://curobo/franka/franka.yml
world_config_source: stage
OMPL Planner
yaml
robot_cfg_dict:
franka_panda:
stereotype: general_robot
asset_path: assets://robots/franka.usd
ee_link_name: panda_hand
use_planner: true
planner_cfg:
stereotype: ompl
robot_urdf_path: assets://robots/franka.urdf
OMPL works with the PyBullet backend for a fully CPU-based planning setup.
Usage in Control Thread
python
def planning_loop(sim):
while sim.is_running():
result = sim.motion_plan_controller.move_robot_to_ee_pose(
"franka_panda", target_pose, sync=True
)
result.unwrap()
sim.add_controller_thread(planning_loop)
sim.start()