How commonroad/commonroad-control works
CommonRoad Control is a motion-control and dynamic-simulation toolbox for autonomous driving. A planner’s trajectory can be converted into supported vehicle-model representations, extended into a controller reference, and used by MPC or PID control; the simulation advances vehicle dynamics and provides modeled sensor feedback. The toolbox also exposes easy planner APIs, uncertainty models, multiple vehicle models, and visualization utilities. The main runtime wiring is partly supported by the source index and simulation excerpts; unsampled controller and easy-API internals are represented conservatively, and their links are documented or marked unverified.
Main entry points: mpc_for_dedicated_planner.py MPC planner API · simulation.py Dynamic simulation · reactive_planner_converter.py Reactive planner converter · vehicle_model_interface.py Vehicle model interface
Components 22
Planning Integration
- MPC planner API
commonroad_control/cr_control_easy_api/mpc_for_dedicated_planner.py - PID planner API
commonroad_control/cr_control_easy_api/pid_for_dedicated_planner.py - Reactive planner converter
commonroad_control/planning_converter/reactive_planner_converter.py
Control
- Reference trajectory
commonroad_control/control/reference_trajectory_factory.py - MPC controllers
commonroad_control/control/model_predictive_control/optimal_control/optimal_control_scvx.py - PID controllers
commonroad_control/control/pid
Simulation and Sensing
- Dynamic simulation
commonroad_control/simulation/simulation/simulation.py - Sensor models
commonroad_control/simulation/sensor_models/sensor_model_interface.py - Full-state feedback
commonroad_control/simulation/sensor_models/full_state_feedback/full_state_feedback.py - Uncertainty models
commonroad_control/simulation/uncertainty_model/gaussian_distribution.py
Vehicle Dynamics
- Vehicle model interface
commonroad_control/vehicle_dynamics/vehicle_model_interface.py - Dynamic bicycle
commonroad_control/vehicle_dynamics/dynamic_bicycle/dynamic_bicycle.py - Kinematic bicycle
commonroad_control/vehicle_dynamics/kinematic_bicycle/kinematic_bicycle.py - Dynamic bicycle factory
commonroad_control/vehicle_dynamics/dynamic_bicycle/db_sidt_factory.py - Kinematic bicycle factory
commonroad_control/vehicle_dynamics/kinematic_bicycle/kb_sidt_factory.py - Trajectory representation
commonroad_control/vehicle_dynamics/trajectory_interface.py - Vehicle parameters
commonroad_control/vehicle_parameters/vehicle_parameters.py
Utilities and Visualization
- Curvilinear utilities
commonroad_control/util/clcs_control_util.py - State conversion
commonroad_control/util/conversion_util.py - Control visualization
commonroad_control/util/visualization/visualize_control_state.py - Trajectory visualization
commonroad_control/util/visualization/visualize_trajectories.py
Other components
- Motion planner
Connections 24
- Motion planner → MPC planner API: provides plan
- Motion planner → PID planner API: provides plan
- MPC planner API → Reactive planner converter: uses converter
commonroad_control/cr_control_easy_api/mpc_for_dedicated_planner.py - Reactive planner converter → State conversion: converts states
commonroad_control/planning_converter/reactive_planner_converter.py - Reactive planner converter → Dynamic bicycle factory: builds trajectories
commonroad_control/planning_converter/reactive_planner_converter.py - Reactive planner converter → Kinematic bicycle factory: builds trajectories
commonroad_control/planning_converter/reactive_planner_converter.py - MPC planner API → Reference trajectory: builds reference
commonroad_control/cr_control_easy_api/mpc_for_dedicated_planner.py - MPC planner API → MPC controllers: invokes controller
commonroad_control/cr_control_easy_api/mpc_for_dedicated_planner.py - PID planner API → PID controllers: invokes controller
commonroad_control/cr_control_easy_api/pid_for_dedicated_planner.py - MPC planner API → Dynamic simulation: simulates motion
commonroad_control/cr_control_easy_api/mpc_for_dedicated_planner.py - Dynamic simulation → Vehicle model interface: advances dynamics
commonroad_control/simulation/simulation/simulation.py - Dynamic simulation → Sensor models: requests measurements
commonroad_control/simulation/simulation/simulation.py - Dynamic simulation → Uncertainty models: samples disturbance
commonroad_control/simulation/simulation/simulation.py - Dynamic simulation → Full-state feedback: defaults sensor
commonroad_control/simulation/simulation/simulation.py - Full-state feedback → Sensor models: implements interface
commonroad_control/simulation/sensor_models/full_state_feedback/full_state_feedback.py - Dynamic bicycle → Vehicle model interface: implements model
commonroad_control/vehicle_dynamics/dynamic_bicycle/dynamic_bicycle.py - Kinematic bicycle → Vehicle model interface: implements model
- Dynamic bicycle factory → Trajectory representation: creates trajectories
commonroad_control/vehicle_dynamics/dynamic_bicycle/db_sidt_factory.py - Kinematic bicycle factory → Trajectory representation: creates trajectories
commonroad_control/vehicle_dynamics/kinematic_bicycle/kb_sidt_factory.py - Vehicle model interface → Vehicle parameters: uses parameters
commonroad_control/vehicle_dynamics/vehicle_model_interface.py - Reference trajectory → Trajectory representation: creates reference data
commonroad_control/control/reference_trajectory_factory.py - MPC planner API → Curvilinear utilities: extends reference
commonroad_control/cr_control_easy_api/mpc_for_dedicated_planner.py - MPC planner API → Control visualization: visualizes state
commonroad_control/cr_control_easy_api/mpc_for_dedicated_planner.py - MPC planner API → Trajectory visualization: visualizes trajectories
commonroad_control/cr_control_easy_api/mpc_for_dedicated_planner.py