https://github.com/makeecat/Peng Skip to content Navigation Menu Toggle navigation Sign in * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + GitHub Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions By size + Enterprise + Teams + Startups By industry + Healthcare + Financial services + Manufacturing By use case + CI/CD & Automation + DevOps + DevSecOps * Resources Topics + AI + DevOps + Security + Software Development + View all Explore + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Enterprise + Enterprise platform AI-powered developer platform Available add-ons + Advanced Security Enterprise-grade security features + GitHub Copilot Enterprise-grade AI features + Premium Support Enterprise-grade 24/7 support * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up Reseting focus You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} makeecat / Peng Public * Notifications You must be signed in to change notification settings * Fork 7 * Star 165 A minimal quadrotor pipeline in Rust (Mac, Linux, Windows) makeecat.github.io/peng/ License Apache-2.0, MIT licenses found Licenses found Apache-2.0 LICENSE-APACHE MIT LICENSE-MIT 165 stars 7 forks Branches Tags Activity Star Notifications You must be signed in to change notification settings * Code * Issues 0 * Pull requests 0 * Discussions * Actions * Projects 0 * Security * Insights Additional navigation options * Code * Issues * Pull requests * Discussions * Actions * Projects * Security * Insights makeecat/Peng This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main BranchesTags Go to file Code Folders and files Name Name Last commit Last commit message date Latest commit History 76 Commits .github .github assets assets src src .gitignore .gitignore CODE_OF_CONDUCT.md CODE_OF_CONDUCT.md CONTRIBUTING.md CONTRIBUTING.md Cargo.toml Cargo.toml LICENSE-APACHE LICENSE-APACHE LICENSE-MIT LICENSE-MIT README.md README.md SECURITY.md SECURITY.md View all files Repository files navigation * README * Code of conduct * Apache-2.0 license * MIT license * Security Peng GitHub last commit [6874747073] License Docs CI dependency status What is Peng Peng is a minimal Rust-based quadrotor simulation pipeline. It includes a simulator, controller, and planner, providing a basic framework for simulating quadrotor dynamics and control. demo Getting Started terminal 1 cargo install rerun-cli rerun --version # ensure the version is later than 0.18.0 rerun terminal 2 cargo run --release Please follow rerun troubleshooting if you are using Linux or WSL2. Overview Quadrotor Simulator Simulates realistic quadrotor dynamics with properties like position, velocity, orientation, angular velocity, mass, and inertia. Includes methods for updating dynamics with control inputs and simulating IMU readings and Depth map rendering. PID Controller Controls position and attitude with configurable gains for proportional, integral, and derivative terms. Handles both position and attitude control. Trajectory Planners Includes multiple planners: * Hover Planner * Minimum Jerk Line Planner * Lissajous Curve Planner * Circular Trajectory Planner * Landing Planner * Obstacle Avoidance Planner * Waypoint Planner Obstacle Simulation Simulates moving obstacles in the environment, with collision detection and avoidance capabilities based on potential field. Data Logging and Visualization Logs comprehensive simulation data including quadrotor state, desired positions, IMU readings, and depth map rendering. Visualizes the simulation using the rerun library. Features * Realistic quadrotor dynamics simulation * IMU sensor simulation with configurable noise parameters * Multiple trajectory planners for diverse flight patterns * PID controller for position and attitude control * Obstacle generation and avoidance * Depth map rendering based on primitives * Integration with rerun for real-time visualization TODO * [ ] Environment Effect simulation such as wind field * [ ] Add motor speed simulation * [ ] MPC controller * [ ] Advanced obstacle avoidance planner such as RRT* * [ ] Dynamic Maze generation * [ ] Modularize the pipeline 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! Why call it Peng? Peng (traditional Chinese: Peng ; simplified Chinese: Peng ; pinyin: peng; Wade-Giles: p'eng) or Dapeng (Da Peng ) is a giant bird that transforms from a Kun (Kun ; Kun ; kun; k'un) giant fish in Chinese mythology. The pipeline is designed to be minimal and for educational purpose. We chose the name Peng because our pipeline is flexible and can transform to suit different needs, just like the mythical bird. Reference: https://en.wikipedia.org/wiki/Peng_(mythology) Star History Star History Chart About A minimal quadrotor pipeline in Rust (Mac, Linux, Windows) makeecat.github.io/Peng/ Topics rust uav drone quadcopter minimal robotics simulation quadrotor rerun Resources Readme License Apache-2.0, MIT licenses found Licenses found Apache-2.0 LICENSE-APACHE MIT LICENSE-MIT Code of conduct Code of conduct Security policy Security policy Activity Stars 165 stars Watchers 6 watching Forks 7 forks Report repository Releases No releases published Packages 0 No packages published Languages * Rust 100.0% Footer (c) 2024 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * Manage cookies * Do not share my personal information You can't perform that action at this time.