Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
166 changes: 166 additions & 0 deletions src/airsim_control/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,166 @@
# ============================================================
# AirSim 无人机项目 - 统一依赖配置文件
# ============================================================
# 包含模块:
# - DQN / PPO 深度强化学习训练
# - AirSim 迷宫导航(custom_env.py)
# - Gazebo + ROS 2 迷宫导航
# - 3D 点云扫描与建图
# - 雷达避障与实时控制
# - 键盘/随机游走/视觉飞行控制
# ============================================================

# ---------- AirSim 仿真器 ----------
# AirSim Python API - 与 AirSim 仿真器通信
# 注意:AirSim 需要单独下载安装
# 下载地址:https://github.com/microsoft/AirSim/releases
airsim>=1.8.0

# ---------- 深度学习框架 ----------
# PyTorch - DQN 和 PPO 的神经网络后端
# 注意:根据 CUDA 版本选择对应版本
# CPU 版本:pip install torch
# CUDA 11.8:pip install torch --index-url https://download.pytorch.org/whl/cu118
# CUDA 12.1:pip install torch --index-url https://download.pytorch.org/whl/cu121
torch>=2.0.0

# ---------- 强化学习框架 ----------
# Stable-Baselines3 - PPO 算法实现
stable-baselines3>=2.0.0

# Gymnasium - OpenAI Gym 接口(custom_env.py)
gymnasium>=0.29.0

# shimmy - Gymnasium 与 ROS 2 兼容层(Gazebo 模块)
shimmy>=2.0.0

# ---------- 机器人操作系统 ----------
# ROS 2 (Gazebo_Maze_Navigation_with_ROS 模块需要)
# 注意:ROS 2 需要单独安装,不在此处列出
# 参考:https://docs.ros.org/en/humble/Installation.html
# rospy, rclpy, std_msgs, geometry_msgs, sensor_msgs, mavros_msgs

# ---------- 计算机视觉与图像处理 ----------
# OpenCV - 图像处理、深度图可视化、仪表盘绘制
opencv-python>=4.8.0

# Pillow - 图像保存与格式转换(vision_flyer.py)
Pillow>=10.0.0

# ---------- 数值计算 ----------
numpy>=1.24.0
scipy>=1.10.0

# ---------- 键盘输入控制 ----------
# keyboard - 键盘监听(keyboard_controller.py, 3D_point_cloud.py, Radar_obstacle_avoidance.py)
keyboard>=0.13.5

# ---------- 可选依赖(用于可视化与分析)----------
# matplotlib - 训练曲线绘制
matplotlib>=3.7.0

# tensorboard - 训练日志可视化(train.py 中已配置)
tensorboard>=2.13.0

# pandas - 数据分析
pandas>=2.0.0

# seaborn - 高级可视化
# seaborn>=0.12.0

# tqdm - 进度条显示
tqdm>=4.65.0

# ============================================================
# 安装说明
# ============================================================
#
# 1. 基础安装:
# pip install -r requirements.txt
#
# 2. PyTorch GPU 版本安装(推荐):
# pip install torch --index-url https://download.pytorch.org/whl/cu118
#
# 3. AirSim 安装:
# - 下载 AirSim 仿真器:https://github.com/microsoft/AirSim/releases
# - 推荐版本:AirSim 1.8.1
# - 将 AirSim/PythonClient 添加到 Python 路径:
# export PYTHONPATH=$PYTHONPATH:/path/to/AirSim/PythonClient
#
# 4. 配置文件:
# - 将 settings.json 复制到 ~/Documents/AirSim/settings.json
# - 确保配置中启用了 lidar_1 传感器和深度相机
#
# 5. ROS 2 安装(Gazebo 模块需要):
# - Ubuntu 22.04: sudo apt install ros-humble-desktop
# - 安装 MAVROS: sudo apt install ros-humble-mavros ros-humble-mavros-extras
#
# ============================================================
# 运行方式
# ============================================================
#
# 1. 启动 AirSim 仿真环境(Unreal Engine)
#
# 2. 训练 DQN:
# python main.py --mode dqn-train --episodes 200
#
# 3. 训练 PPO(迷宫导航):
# cd AirSim_Maze_Navigation
# python train.py
#
# 4. 测试模型:
# python run_inference.py
#
# 5. 键盘控制:
# python main.py --mode keyboard --duration 60
#
# 6. 规则算法迷宫导航:
# python maze.py
#
# 7. 3D 点云扫描:
# python 3D_point_cloud.py
#
# 8. 雷达避障测试:
# python Radar_obstacle_avoidance.py
#
# 9. 连接测试:
# python test_multirotor.py
#
# ============================================================
# 环境验证
# ============================================================
#
# 验证 PyTorch:
# python -c "import torch; print(f'PyTorch: {torch.__version__}, CUDA: {torch.cuda.is_available()}')"
#
# 验证 AirSim(需先启动仿真器):
# python -c "import airsim; client = airsim.MultirotorClient(); client.confirmConnection(); print('AirSim OK')"
#
# 验证 OpenCV:
# python -c "import cv2; print(f'OpenCV: {cv2.__version__}')"
#
# 验证 Stable-Baselines3:
# python -c "from stable_baselines3 import PPO; print('SB3 OK')"
#
# 验证 keyboard:
# python -c "import keyboard; print('keyboard OK')"
#
# ============================================================
# 常见问题
# ============================================================
#
# Q1: AirSim 连接失败
# A1: 确保 Unreal Engine 中的 AirSim 仿真已启动(点击 Play)
# 检查 settings.json 中的端口配置(默认 41451)
#
# Q2: LiDAR 无数据
# A2: 检查 settings.json 中是否正确配置了 lidar_1 传感器
# 运行 drone_lidar_test.py 测试 LiDAR 功能
#
# Q3: keyboard 模块权限问题(Linux)
# A3: sudo pip install keyboard 或以 root 权限运行
#
# Q4: ROS 2 节点找不到
# A4: 确保已 source ROS 2 环境:source /opt/ros/humble/setup.bash
#
# ============================================================