From 66bc55f6d6928f826fb5852016ae16fa236336b1 Mon Sep 17 00:00:00 2001 From: XieTJ <2922472198@qq.com> Date: Thu, 16 Apr 2026 21:36:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96README=E7=BB=93=E6=9E=84?= =?UTF-8?q?=E5=92=8C=E5=86=85=E5=AE=B9=E5=B9=B6=E4=B8=94=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E5=88=9D=E6=AD=A5=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/car_navigation_system/README.md | 239 ++++++++++++++++++---------- 1 file changed, 157 insertions(+), 82 deletions(-) diff --git a/src/car_navigation_system/README.md b/src/car_navigation_system/README.md index 5784b244e2..0369bfd2ed 100644 --- a/src/car_navigation_system/README.md +++ b/src/car_navigation_system/README.md @@ -1,82 +1,157 @@ -# 多模态 CARLA 导航避障系统 -## 项目简介 -本项目基于 CARLA 模拟器与神经网络技术,实现了具备多传感器融合能力的智能车辆导航避障系统。系统集成前视摄像头、第三视角摄像头与障碍物检测模块,通过多模态数据感知环境,结合神经网络与传统控制算法,实现车辆自主行驶与障碍物规避功能。 -## 核心功能 -- 多模态感知系统:集成 RGB 摄像头(前视 + 第三视角)与障碍物检测器,全面获取环境信息 -- 智能避障算法:基于改进神经网络控制器与传统控制器双模式,动态检测并规避前方障碍物 -- 实时可视化:实时显示第三视角画面,叠加障碍物检测结果、车速、控制状态等关键信息 -- 双模式控制:支持神经网络模式与传统控制模式切换,可根据环境选择最优控制策略 -- 智能恢复机制:内置车辆卡住检测与自动恢复系统,保障行驶稳定性 -- 深度神经网络:结合神经网络与传统控制算法,实现车辆自主行驶与障碍物规避功能 -## 环境配置 -- 操作系统:Windows 10/11 或 Ubuntu 20.04/22.04 -- Python 版本:3.7 -- 核心框架:PyTorch -- 模拟器:CARLA_3.11 -## 依赖安装 -- 安装 CARLA 模拟器(参考 CARLA 官网) -- 安装 Python 依赖包: -- ```bash - pip install -r requirements.txt - pip install carla numpy opencv-python matplotlib - pip install setuptools==40.2.0 - pip insatll wheel - pip insatll torch - pip install random - PIP install cv2 - ``` -## 快速启动 - -步骤 1:启动 CARLA 模拟器 -- ``` bash - CarlaUE4.exe -windowed -ResX=800 -ResY=600 #Windows 示例 - ./CarlaUE4.sh -windowed -ResX=800 -ResY=600 #Ubuntu 示例 - ``` -步骤 2:运行导航避障系统 -- 进入项目根目录 -- ```bash - cd D:\nn - ``` -- 激活虚拟环境 -- ``` bash - source venv/bin/activate # Linux/Mac - venv\Scripts\activate # Windows - ``` -- 运行主程序 -- ``` bash - python src/robot_navigation_system/main.py - ``` -步骤 3:操作说明 -- 按键 功能描述: -- q 退出系统 -- w 手动加速(提高油门) -- s 手动减速(降低油门) -- a 手动左转向 -- d 手动右转向 -- r 重置转向角度(回正) -## 系统架构 -1. 环境初始化模块 -- 连接 CARLA 服务器(默认 localhost:2000) -- 加载 Town01 地图,设置同步模式(固定时间步长 0.1s) -- 配置天气参数(云量30%、无降水、太阳高度角70°) -2. 智能体生成模块 -- 主车辆:特斯拉 Model3(红色),关闭自动驾驶,由自定义控制算法控制 -- NPC车辆:随机生成3辆不同类型车辆,开启自动驾驶,分散在50米外起始位置 -3. 传感器系统 -- 前视摄像头:90°视野,分辨率640×480,用于神经网络输入 -- 第三视角摄像头:110°视野,分辨率640×480,用于可视化监控 -- 障碍物检测器:实时检测前方±60°范围内50米内障碍物 -4. 控制系统 -- 神经网络控制器:基于改进的SimpleDrivingNetwork,融合图像与障碍物信息 -- 传统控制器:基于路点跟踪的经典控制算法,稳定性更高 -- 障碍物避障逻辑:紧急刹车、减速跟随、转向避让多级策略 -5. 可视化与监控 -- 实时显示第三视角画面 -- 可视化障碍物位置与距离 -- 显示车速、控制模式、油门/刹车/转向值 -- 安全区域标记与卡住警告 -6. 深度神经网络 -- 网络架构:3层卷积提取图像特征,融合障碍物三维特征,全连接层输出归一化控制指令; -- 容错策略:异常时自动切换传统控制,输出超限触发软限制。 -## 联系方式 -邮箱:2985835251@qq.com \ No newline at end of file +# 多模态 CARLA 导航避障系统 + +## 项目简介 +本项目基于 CARLA 模拟器与神经网络技术,实现了具备多传感器融合能力的智能车辆导航避障系统。系统集成前视摄像头、第三视角摄像头与障碍物检测模块,通过多模态数据感知环境,结合神经网络与传统控制算法,实现车辆自主行驶与障碍物规避功能。 + +## 核心功能 +- **多模态感知系统**:集成 RGB 摄像头(前视 + 第三视角)与障碍物检测器,全面获取环境信息 +- **智能避障算法**:基于改进神经网络控制器与传统控制器双模式,动态检测并规避前方障碍物 +- **实时可视化**:实时显示第三视角画面,叠加障碍物检测结果、车速、控制状态等关键信息 +- **双模式控制**:支持神经网络模式与传统控制模式切换,可根据环境选择最优控制策略 +- **智能恢复机制**:内置车辆卡住检测与自动恢复系统,保障行驶稳定性 +- **深度神经网络**:结合神经网络与传统控制算法,实现车辆自主行驶与障碍物规避功能 + +## 项目结构 +``` +car_navigation_system/ +├── README.md # 项目说明文档 +└── main.py # 主程序文件 +``` + +## 环境配置 +- **操作系统**:Windows 10/11 或 Ubuntu 20.04/22.04 +- **Python 版本**:3.7+ (推荐 3.10) +- **核心框架**:PyTorch +- **模拟器**:CARLA 3.11 或兼容版本 + +## 依赖安装 +1. **安装 CARLA 模拟器** + - 从 [CARLA 官网](https://carla.org/) 下载并安装 CARLA 3.11 + - 或使用项目提供的 CARLA 安装包 + +2. **安装 Python 依赖包** + ```bash + pip install carla numpy opencv-python matplotlib torch + ``` + +## 快速启动 + +### 步骤 1:启动 CARLA 模拟器 +- **Windows**: + ```bash + CarlaUE4.exe -windowed -ResX=800 -ResY=600 + ``` +- **Ubuntu**: + ```bash + ./CarlaUE4.sh -windowed -ResX=800 -ResY=600 + ``` + +### 步骤 2:运行导航避障系统 +1. **进入项目目录** + ```bash + cd f:\nn\src\car_navigation_system + ``` + +2. **运行主程序** + ```bash + python main.py + ``` + +### 步骤 3:操作说明 +| 按键 | 功能描述 | +|------|----------| +| q | 退出系统 | +| r | 重置车辆位置 | +| s | 紧急停止 | +| w | 手动加速(提高油门) | +| a | 手动左转向 | +| d | 手动右转向 | + +## 系统架构 + +### 1. 环境初始化模块 +- 连接 CARLA 服务器(默认 localhost:2000) +- 加载 Town01 地图,设置异步模式确保连接稳定 +- 配置天气参数(云量30%、无降水、太阳高度角70°) + +### 2. 智能体生成模块 +- **主车辆**:特斯拉 Model3(红色),关闭自动驾驶,由自定义控制算法控制 +- **NPC车辆**:随机生成2辆不同类型车辆,开启自动驾驶 + +### 3. 传感器系统 +- **第三视角摄像头**:90°视野,分辨率640×480,用于可视化监控 +- **图像数据处理**:实时转换和处理相机图像数据 + +### 4. 控制系统 +- **传统控制器**:基于路点跟踪的经典控制算法,稳定性更高 +- **速度控制**:根据目标速度自动调整油门和刹车 +- **转向控制**:基于路点计算最优转向角度 + +### 5. 可视化与监控 +- 实时显示第三视角画面 +- 叠加车速、油门、转向值等状态信息 +- 每100帧显示一次运行状态 + +### 6. 容错与恢复 +- 相机设置失败时继续运行 +- 车辆生成失败时自动清理并重新尝试 +- 异常情况时优雅退出并清理资源 + +## 技术特点 +- **模块化设计**:清晰的类结构和功能划分 +- **鲁棒性强**:多重重试和错误处理机制 +- **实时性能**:优化的控制循环和图像处理 +- **易于扩展**:预留了神经网络控制器接口 +- **用户友好**:简洁的操作界面和状态显示 + +## 常见问题 + +### 1. 连接 CARLA 服务器失败 +- 确保 CARLA 模拟器正在运行 +- 检查端口是否为 2000 +- 验证 Town01 地图是否可用 + +### 2. 车辆生成失败 +- 可能是出生点被占用 +- 系统会自动清理现有车辆并重新尝试 + +### 3. 相机设置失败 +- 可能是资源不足 +- 系统会在相机失败时继续运行,仅影响可视化 + +## 贡献指南 + +### 提交代码 +1. Fork 本项目 +2. 创建 feature 分支 +3. 提交修改 +4. 发起 Pull Request + +### 代码规范 +- 遵循 PEP 8 代码风格 +- 添加适当的注释 +- 确保代码可维护性 + +### 功能扩展 +- 可以添加更多传感器类型 +- 实现神经网络控制器 +- 增加更多地图支持 +- 添加更复杂的避障算法 + +## 许可证 +本项目采用 MIT 许可证,详见 LICENSE 文件。 + +## 联系方式 +- **邮箱**:2985835251@qq.com +- **项目地址**:[GitHub 仓库链接] + +## 更新日志 + +### v1.0.0 +- 初始化项目 +- 实现基本的自动驾驶功能 +- 添加第三视角摄像头 +- 实现路点跟踪控制算法 +- 添加NPC车辆生成 +- 实现车辆重置功能 +- 添加紧急停止功能 \ No newline at end of file