Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
P

Peng

> 编程语言
Open source

A minimal quadrotor autonomy framework in Rust (Mac, Linux, Windows)

694 stars0 likes0 views
WebsiteGitHub

About

A minimal quadrotor autonomy framework in Rust (Mac, Linux, Windows)

Overview

Peng is a minimal quadrotor autonomy framework written in Rust that provides real-time dynamics simulation, trajectory planning, and control with modern visualization capabilities.

Key Features

  • Real-time Simulation
  • High-fidelity quadrotor dynamics with configurable parameters
  • IMU and depth sensor simulation
  • Optional RK4 integration for accurate dynamics
  • Advanced Control
  • PID control for position and attitude with tunable gains
  • Integral windup prevention
  • Support for different control frequencies
  • Rich Trajectory Planning
  • Minimum jerk line trajectory planner
  • Lissajous curve planner
  • Circular trajectory planner
  • Obstacle avoidance planner
  • Minimum snap waypoint navigation planner
  • Quadratic Polynomial waypoint navigation planner
  • Landing planner
  • Visualization & Debug
  • Real-time 3D visualization via rerun.io
  • Depth map rendering
  • State telemetry logging
  • Configurable logging frequencies
  • ⚡ Performance
    • Memory-safe and Efficient Rust implementation
    • Multi-threaded depth rendering

Getting Started

Prerequisites

  • Rust
  • rerun-cli

Installation from Crates.io

bash
cargo install rerun-cli
cargo install peng_quad
peng_quad config/quad.yaml

Installation from Source

bash
cargo install rerun-cli
git clone https://github.com/makeecat/Peng.git
cd Peng
cargo run --release config/quad.yaml

⚙️ Configuration

  • You can configure the simulation through config file, see quad.yaml for example.
  • Configure simulation parameters such as mass, inertia, and control gains.
  • Configure control parameters such as PID gains.
  • Configure trajectory planner parameters such as waypoints, obstacles, and trajectory type.
  • Configure visualization parameters such as camera intrinsics and depth rendering.

Rerun Troubleshooting

If you encountered any issue with the rerun:

  1. Verify rerun-cli version matches rerun version in Cargo.toml:
bash
rerun --version
  1. For Linux/WSL2 users, consult the rerun troubleshooting.

️ Roadmap

  • Wind field and environmental effects
  • Motor dynamics simulation
  • Multi-quadrotor simulation
  • Model Predictive Control (MPC)

Contributing

We welcome contributions of all kinds! Please check out the Contributing Guidelines for more details.

License

Peng is free, open source and permissively licensed! Except where noted (below and/or in individual files), all code in this repository is dual-licensed under either:

  • MIT License (LICENSE-MIT or http://opensource.org/licenses/MIT)
  • Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0) at your option.

This means you can select the license you prefer!

Blog Posts

  • Peng #1: Minimal quadrotor pipeline in Rust
  • Peng #2: Error Handling, Configuration System and Obstacle Avoidance Planner
  • Peng #3: Optimization of Depth Rendering and RK4-based Dynamics Update

Citation

If you use this project in your research or work, please cite it as follows:

bibtex
@software{peng_quad,
  author       = {Yang Zhou},
  title        = {Peng: A Minimal Quadrotor Autonomy Framework in Rust},
  year         = {2024},
  publisher    = {GitHub},
  journal      = {GitHub repository},
  howpublished = {\\url{https://github.com/makeecat/peng}},
}

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Rustdronequadcopterquadrotorrerun

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言