rocket-lander  by arex18

Box2D environment for vertical rocket landing simulation

Created 8 years ago
332 stars

Top 82.4% on SourcePulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

This project provides a continuous-action simulation environment for landing a SpaceX Falcon 9 rocket, built using Python and OpenAI Gym with the Box2D physics engine. It targets researchers and engineers interested in comparing classical control methods (PID, MPC, LQR) with AI algorithms (DDPG, ES, FA Q-Learning) for continuous control problems, offering a more realistic scenario than discrete-action simulators.

How It Works

The simulator models a vertical rocket landing, focusing on a continuous action space for thruster control (main engine, side thrusters, nozzle angle). This contrasts with discrete action spaces found in similar environments like LunarLander. The core advantage is enabling the evaluation of advanced control strategies like Deep Deterministic Policy Gradients (DDPG), which uses an actor-critic architecture with neural networks to handle continuous states and actions effectively.

Quick Start & Requirements

  • Run simulation: python main_simulation.py
  • Prerequisites: tensorflow, matplotlib, gym, numpy, Box2D, logging, pyglet, cvxpy. Windows users may need specific extension libraries for cvxpy.
  • Setup time: Not specified, but cvxpy installation can be time-consuming.

Highlighted Details

  • Compares PID, MPC, ES, and DDPG controllers.
  • DDPG demonstrated impressive results, outperforming other methods.
  • State defined as: [x_pos, y_pos, x_vel, y_vel, lateral_angle, angular_velocity].
  • Actions include main engine thrust, side thrusters, and nozzle angle.

Maintenance & Community

  • Version 1.1.0.
  • Authors: Reuben Ferrante.
  • No community links (Discord/Slack) or roadmap are provided in the README.

Licensing & Compatibility

  • MIT License.
  • Permissive for commercial use and closed-source linking.

Limitations & Caveats

The README mentions "unstructured scripts" and "messy untested code" in the controller implementations, suggesting potential quality issues outside the core environment. Modern Predictive Control (MPC) is noted as "not generalized."

Health Check
Last Commit

2 years ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
1 stars in the last 30 days

Explore Similar Projects

Starred by Deepak Pathak Deepak Pathak(Cofounder of Skild AI; Professor at CMU), Anastasis Germanidis Anastasis Germanidis(Cofounder of Runway), and
1 more.

deer by VinF

0%
489
Deep reinforcement learning framework
Created 9 years ago
Updated 2 months ago
Feedback? Help us improve.