gym-pybullet-drones 项目使用教程
2024-09-16 16:43:37作者:齐添朝
1. 项目目录结构及介绍
gym-pybullet-drones/
├── gym_pybullet_drones/
│ ├── assets/
│ ├── examples/
│ ├── utils/
│ ├── __init__.py
│ ├── BaseAviary.py
│ ├── DroneModel.py
│ ├── ...
├── tests/
├── .gitignore
├── CITATION.cff
├── LICENSE
├── README.md
├── build_project.sh
├── pypi_description.md
├── pyproject.toml
目录结构介绍
-
gym_pybullet_drones/: 核心代码目录,包含无人机模拟环境的主要实现。
- assets/: 存放项目所需的资源文件,如无人机模型、配置文件等。
- examples/: 包含项目的示例代码,如PID控制、强化学习等。
- utils/: 存放项目中使用的工具函数和辅助类。
- init.py: 模块初始化文件。
- BaseAviary.py: 无人机模拟环境的基础类。
- DroneModel.py: 无人机的模型定义。
- ...: 其他相关文件和模块。
-
tests/: 存放项目的测试代码。
-
.gitignore: Git忽略文件配置。
-
CITATION.cff: 项目引用信息。
-
LICENSE: 项目许可证文件。
-
README.md: 项目说明文档。
-
build_project.sh: 项目构建脚本。
-
pypi_description.md: PyPI项目描述文件。
-
pyproject.toml: 项目配置文件。
2. 项目启动文件介绍
启动文件
- examples/pid.py: 使用PID控制无人机的示例代码。
- examples/pid_velocity.py: 使用PID控制无人机速度的示例代码。
- examples/downwash.py: 模拟无人机下洗效应的示例代码。
- examples/learn.py: 使用强化学习(如PPO)训练无人机的示例代码。
启动方法
-
进入项目目录:
cd gym-pybullet-drones/ -
激活虚拟环境(如果已创建):
conda activate drones -
运行示例代码:
python3 gym_pybullet_drones/examples/pid.py
3. 项目的配置文件介绍
配置文件
- pyproject.toml: 项目的主要配置文件,定义了项目的依赖、构建工具等信息。
- README.md: 项目说明文档,包含项目的安装、使用方法等。
- LICENSE: 项目许可证文件,定义了项目的开源许可证类型。
配置文件内容
pyproject.toml
[build-system]
requires = ["setuptools>=42", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "gym-pybullet-drones"
version = "1.0.0"
description = "PyBullet Gymnasium environments for single and multi-agent reinforcement learning of quadcopter control"
authors = [
{ name="Jacopo Panerati", email="jacopo.panerati@mail.utoronto.ca" },
{ name="Hehui Zheng", email="hehui.zheng@mail.utoronto.ca" },
{ name="SiQi Zhou", email="siqi.zhou@mail.utoronto.ca" },
{ name="James Xu", email="james.xu@mail.utoronto.ca" },
{ name="Amanda Prorok", email="amanda.prorok@eng.cam.ac.uk" },
{ name="Angela P. Schoellig", email="angelap.schoellig@mail.utoronto.ca" }
]
dependencies = [
"numpy",
"matplotlib",
"Pillow",
"cycler",
"gym",
"pybullet",
"stable-baselines3",
"ray[rllib]"
]
README.md
README.md文件包含了项目的详细说明,包括项目的安装方法、使用示例、依赖项、许可证信息等。用户可以通过阅读该文件快速了解项目的基本信息和使用方法。
LICENSE
LICENSE文件定义了项目的开源许可证类型,通常为MIT许可证。该文件确保了项目的开源性质,并明确了用户在使用、修改和分发项目时的权利和义务。
通过以上内容,您可以快速了解并开始使用gym-pybullet-drones项目。
登录后查看全文
热门项目推荐
相关项目推荐
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C0124
let_datasetLET数据集 基于全尺寸人形机器人 Kuavo 4 Pro 采集,涵盖多场景、多类型操作的真实世界多任务数据。面向机器人操作、移动与交互任务,支持真实环境下的可扩展机器人学习00
mindquantumMindQuantum is a general software library supporting the development of applications for quantum computation.Python059
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
最新内容推荐
项目优选
收起
deepin linux kernel
C
27
11
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
492
3.62 K
Ascend Extension for PyTorch
Python
300
332
暂无简介
Dart
740
178
React Native鸿蒙化仓库
JavaScript
297
346
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
866
474
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
295
123
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
11
1
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
65
20
仓颉编程语言测试用例。
Cangjie
43
870