3个不稳定版本
新 0.2.1 | 2024年8月28日 |
---|---|
0.2.0 | 2024年8月27日 |
0.1.0 | 2024年8月27日 |
#3 在 机器人 中
204 每月下载量
8MB
1K SLoC
什么是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)是免费的、开源的,并且具有许可权限!除非特别说明(以下和/或在单独的文件中),本存储库中的所有代码均采用以下任一许可证双授权:
- MIT 许可证(LICENSE-MIT 或 https://open-source.org.cn/licenses/MIT)
- Apache 许可证 2.0 版本(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)由您自行选择。
这意味着您可以选择您偏好的许可证!
为什么叫它彭?
彭(繁体中文:鵬;简体中文:鹏;拼音: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
星号历史
依赖项
~21–51MB
~830K SLoC