How open-planning/roboplan works
RoboPlan is a Pinocchio-based robot motion-planning library with C++ implementations and Python bindings. A user supplies a robot scene and planning request; the available capabilities include inverse kinematics, RRT motion planning, Cartesian path planning, and TOPP-RA trajectory timing, with visualization helpers for inspection. The bimanual example imports several of these packages and illustrates a multi-stage application. Edges are limited to relationships shown by excerpts, indexed references, or the README; unsampled implementation details are not inferred.
Main entry points: example_bimanual_pick_and_place.py Bimanual Example · cartesian_path_planner.cpp Cartesian Planner · python Other Examples · rrt.cpp RRT Planner
Components 18
Scene Foundation
- Robot Scene
roboplan_core/src/core/scene.cpp - Scene Context
roboplan_core/src/core/scene_context.cpp - Core Bindings
roboplan_core/bindings/src/core.cpp
Planning Solvers
- Simple IK
roboplan_simple_ik/src/simple_ik.cpp - Optimal IK
roboplan_oink/src/optimal_ik.cpp - IK Constraints
roboplan_oink/src/constraints/position_limit.cpp - IK Barriers
roboplan_oink/src/barriers/self_collision_barrier.cpp - RRT Planner
roboplan_rrt/src/rrt.cpp - RRT Search Tree
roboplan_rrt/src/kd_tree.cpp
Path And Timing
- Cartesian Planner
roboplan_cartesian_planning/src/cartesian_path_planner.cpp - TOPP-RA Timing
roboplan_toppra/src/toppra.cpp - Blended Paths
roboplan_toppra/src/linear_blend_path.cpp
Python Use
- Visualization
roboplan_core/bindings/python/roboplan/visualization.py - Example Models
roboplan_example_models/src/resources.cpp - Example Support
roboplan_examples/python/common.py - Bimanual Example
roboplan_examples/python/example_bimanual_pick_and_place.py - Other Examples
roboplan_examples/python
Other components
- Robot Planner
Connections 19
- Scene Context → Robot Scene: queries
roboplan_core/src/core/scene_context.cpp - RRT Planner → Scene Context: creates
roboplan_rrt/src/rrt.cpp - RRT Planner → RRT Search Tree: uses search
- Cartesian Planner → Optimal IK: builds solver
roboplan_cartesian_planning/src/cartesian_path_planner.cpp - Cartesian Planner → TOPP-RA Timing: uses timing
roboplan_cartesian_planning/src/cartesian_path_planner.cpp - Cartesian Planner → IK Constraints: uses limits
roboplan_cartesian_planning/src/cartesian_path_planner.cpp - Bimanual Example → Example Support: imports helpers
roboplan_examples/python/example_bimanual_pick_and_place.py - Bimanual Example → Cartesian Planner: imports planner
roboplan_examples/python/example_bimanual_pick_and_place.py - Bimanual Example → Optimal IK: imports solver
roboplan_examples/python/example_bimanual_pick_and_place.py - Bimanual Example → RRT Planner: imports planner
roboplan_examples/python/example_bimanual_pick_and_place.py - Bimanual Example → TOPP-RA Timing: imports timing
roboplan_examples/python/example_bimanual_pick_and_place.py - Bimanual Example → Visualization: imports tools
roboplan_examples/python/example_bimanual_pick_and_place.py - Bimanual Example → Example Models: loads models
- Example Support → Core Bindings: imports core
roboplan_examples/python/common.py - Other Examples → Simple IK: demonstrates IK
README.md - Other Examples → Optimal IK: demonstrates OInK
README.md - Other Examples → RRT Planner: demonstrates RRT
README.md - Other Examples → Cartesian Planner: demonstrates paths
README.md - Robot Planner → Bimanual Example: runs example