A unified benchmark suite with PyBullet CartPole and Quadrotor environments and symbolic CasADi dynamics for safe learning-based control and reinforcement learning.
safe-control-gym is a Python benchmark suite providing CartPole and Quadrotor environments for developing and testing safe learning-based control and reinforcement learning algorithms. It combines PyBullet physics simulation with CasADi symbolic dynamics to enable rigorous evaluation of safety, robustness, and generalization in robotic control tasks. The project addresses the need for standardized, reproducible benchmarks in safe robotics research.
Researchers and engineers working on safe reinforcement learning, learning-based control, and robotic motion planning who need reproducible benchmarks with symbolic dynamics and safety constraints.
Developers choose safe-control-gym for its unique integration of high-fidelity PyBullet simulation with exact CasADi symbolic models, pre-implemented safety constraints and disturbances, and a comprehensive set of baseline controllers—enabling direct comparison of algorithms in a unified, safety-focused framework.
PyBullet CartPole and Quadrotor environments—with CasADi symbolic a priori dynamics—for learning-based control and RL
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses CasADi to provide exact symbolic models of system dynamics, enabling precise model-based control and analysis, as stated in the README for rigorous evaluation.
Implements symbolic safety constraints and disturbances (input, parameter, dynamics) to test robustness and generalizability, a key feature highlighted in the description.
Offers a standardized platform for comparing safe learning-based control, model-free RL, and model-based RL approaches, facilitating reproducible research as per the philosophy.
Includes a wide range of controllers like PID, LQR, MPC variants, SAC, PPO, DDPG, and safety filters (CBF, MPSC), providing out-of-the-box baselines for benchmarking.
Leverages PyBullet with configurable physics frequencies for improved simulation fidelity over standard Gym environments, as shown in the performance comparison table.
Installation involves managing dependencies like gmp and optional acados for MPC, which can be challenging, especially on non-Ubuntu systems, as noted in the README.
Only supports CartPole and Quadrotor environments, which may not cover all robotic control scenarios, restricting its applicability for broader research needs.
High-fidelity simulation with PyBullet at high frequencies can lead to slower execution times, as evidenced by the performance table where GUI mode has lower speed-up.
Documentation and setup are geared towards researchers, with complex configuration and YAML overrides, making it less accessible for practitioners or beginners.