#uav #minimal #aerospace #unmanned-aerial-vehicles #quadrotor

app peng_quad

Peng是一个包含四旋翼动力学、IMU模拟、多种轨迹规划器、PID控制器和深度图渲染的最小化四旋翼管道。

3个不稳定版本

0.2.1 2024年8月28日
0.2.0 2024年8月27日
0.1.0 2024年8月27日

#3机器人

Download history · Rust 包仓库 200/week @ 2024-08-21 · Rust 包仓库

204 每月下载量

MIT/Apache

8MB
1K SLoC

Peng

GitHub last commit License Docs CI dependency status

什么是Peng

Peng是一个基于Rust的最小化四旋翼模拟管道。它包括一个模拟器、控制器和规划器,为模拟四旋翼动力学和控制提供了一个基本框架。 演示

入门

终端1

cargo install rerun-cli
rerun

终端2

cargo install peng_quad
peng_quad

如果您使用Linux或WSL2,请遵循rerun故障排除

如果您想从最新源代码构建

git clone https://github.com/makeecat/Peng.git
cargo run --release

概述

四旋翼模拟器

通过位置、速度、方向、角速度、质量、惯性等属性模拟真实四旋翼动力学。包括使用控制输入更新动力学和模拟IMU读取以及深度图渲染的方法。

PID控制器

使用可配置的比例、积分和微分项增益控制位置和姿态。处理位置和姿态控制。

轨迹规划器

包括多个规划器

  • 悬停规划器
  • 最小抖动线规划器
  • 李萨茹曲线规划器
  • 圆形轨迹规划器
  • 着陆规划器
  • 避障规划器
  • 航点规划器

障碍物模拟

模拟环境中移动的障碍物,具有基于势场的碰撞检测和避障能力。

数据记录和可视化

记录全面的模拟数据,包括四旋翼状态、期望位置、IMU读取和深度图渲染。使用rerun库可视化模拟。

功能

  • 逼真的四旋翼动力学模拟
  • 可配置噪声参数的IMU传感器模拟
  • 多种轨迹规划器,用于不同的飞行模式
  • 用于位置和姿态控制的PID控制器
  • 障碍物生成和避障
  • 基于原语的深度图渲染
  • 与rerun集成以实时可视化

待办事项

  • 环境效果模拟,例如风场
  • 添加电机速度模拟
  • MPC控制器
  • 如RRT*的高级避障规划器
  • 动态迷宫生成
  • 模块化管道

许可

彭(Peng)是免费的、开源的,并且具有许可权限!除非特别说明(以下和/或在单独的文件中),本存储库中的所有代码均采用以下任一许可证双授权:

这意味着您可以选择您偏好的许可证!

为什么叫它彭?

彭(繁体中文:鵬;简体中文:鹏;拼音:péng;威妥玛拼音:p'eng)或大鹏,是中国神话中由巨鱼鲲(kūn;k'un)变化而成的大鸟。

该管道设计为最小化并用于教育目的。我们选择这个名字“彭”,因为我们的管道具有灵活性,可以根据不同的需求进行转换,就像神话中的鸟一样。

参考:https://en.wikipedia.org/wiki/Peng_(mythology)

行数统计

我要感谢 tokei 提供行数统计信息!我的目标是保持项目最小化,易于理解,将代码行数控制在 1500 行以下。Markdown 行用于生成文档。

========================================================
 Language     Files    Lines     Code Comments   Blanks
========================================================
 Rust             1     1270     1233       12       25
 |- Markdown      1      291        0      291        0
 (Total)                1561     1233      303       25

星号历史

Star History Chart

依赖项

~21–51MB
~830K SLoC