Skip to content

feat: 2D inverted pendulum on a drone (upright stabilisation) — Ticket #45#73

Open
zhangx1ang03620 wants to merge 19 commits into
rp-itmo:masterfrom
zhangx1ang03620:feature/ticket-45
Open

feat: 2D inverted pendulum on a drone (upright stabilisation) — Ticket #45#73
zhangx1ang03620 wants to merge 19 commits into
rp-itmo:masterfrom
zhangx1ang03620:feature/ticket-45

Conversation

@zhangx1ang03620

Copy link
Copy Markdown
Collaborator

Closes #45

Implements a planar quadrotor-pendulum system stabilised at the upright equilibrium using LQR control.

  • examples/quadrotor_drone/sim/dynamics.py: equations of motion, RK4 integration
  • examples/quadrotor_drone/sim/scene.py: 2D rendering using existing renderer primitives
  • examples/quadrotor_drone/control/lqr_controller.py: numerical linearisation and LQR gain computation
  • examples/quadrotor_drone/communication.py: ZeroMQ communication layer between simulator and controller
  • examples/quadrotor_drone/main.py: simulation entry point
  • tests covering dynamics, LQR stability, and closed-loop verification

Results: starting from a 17-degree initial pendulum deviation, the system converges to upright stability within ~4 seconds. See README for full details, plots, and demonstration video.

@zhangx1ang03620 zhangx1ang03620 requested a review from kirillin June 19, 2026 12:26
Comment thread examples/communication.py

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, I like it implementation 👍

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks pretty)

@kirillin kirillin added the done label Jun 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[control] 2d inverted pendulum on a drone (upright stabilisation)

4 participants