Skip to content

对于README内容的一次更新#12

Open
XieTJ wants to merge 1 commit into
mainfrom
XieTJ-patch-13
Open

对于README内容的一次更新#12
XieTJ wants to merge 1 commit into
mainfrom
XieTJ-patch-13

Conversation

@XieTJ

@XieTJ XieTJ commented May 8, 2026

Copy link
Copy Markdown
Owner

多模态 CARLA 导航避障系统

项目简介

本项目基于 CARLA 模拟器与神经网络技术,实现了具备多传感器融合能力的智能车辆导航避障系统。系统集成前视摄像头、第三视角摄像头与障碍物检测模块,通过多模态数据感知环境,结合神经网络与传统控制算法,实现车辆自主行驶与障碍物规避功能。

核心功能

  • 多模态感知系统:集成 RGB 摄像头(前视 + 第三视角)与障碍物检测器,全面获取环境信息
  • 智能避障算法:基于改进神经网络控制器与传统控制器双模式,动态检测并规避前方障碍
  • 实时可视化:实时显示第三视角画面,叠加障碍物检测结果、车速、控制状态等关键信息
  • 双模式控制:支持神经网络模式与传统控制模式切换,可根据环境选择最优控制策略
  • 智能恢复机制:内置车辆卡住检测与自动恢复系统,保障行驶稳定性
  • 深度神经网络:结合神经网络与传统控制算法,实现车辆自主行驶与障碍物规避功能

项目结构

car_navigation_system/
├── README.md          # 项目说明文档
├── main.py            # 主程序文件
├── screenshots/       # 截图保存目录
└── sync_main.bat      # 同步主分支脚本

环境配置

  • 操作系统:Windows 10/11 或 Ubuntu 20.04/22.04
  • Python 版本:3.7+ (推荐 3.10)
  • 核心框架:PyTorch
  • 模拟器:CARLA 3.11 或兼容版本

依赖安装

  1. 安装 CARLA 模拟器

    • CARLA 官网 下载并安装 CARLA 3.11
    • 或使用项目提供的 CARLA 安装包
  2. 安装 Python 依赖

    pip install carla numpy opencv-python matplotlib torch

快速启动

步骤 1:启动 CARLA 模拟器

  • Windows
    CarlaUE4.exe -windowed -ResX=800 -ResY=600
  • Ubuntu
    ./CarlaUE4.sh -windowed -ResX=800 -ResY=600

步骤 2:运行导航避障系统

  1. 进入项目目录

    cd f:\nn\src\car_navigation_system
  2. 运行主程序

    python main.py

步骤 3:操作说明

按键 功能描述
q 退出系统
r 重置车辆位置
s 紧急停止
x 切换倒车/前进模式
v 切换视角(第一人称/第三人称/鸟瞰图)
m 切换地图
w 切换天气
c 切换车辆颜色
p 保存当前画面截图

系统架构

1. 环境初始化模块

  • 连接 CARLA 服务器(默认 localhost:2000)
  • 加载地图,设置异步模式确保连接稳定
  • 配置天气参数(云量、降水、太阳高度角)

2. 智能体生成模块

  • 主车辆:特斯拉 Model3,关闭自动驾驶,由自定义控制算法控制
  • NPC车辆:随机生成多辆不同类型车辆,开启自动驾驶

3. 传感器系统

  • 多视角摄像头:支持第一人称、第三人称、鸟瞰视角
  • 图像数据处理:实时转换和处理相机图像数据

4. 控制系统

  • 传统控制器:基于路点跟踪的经典控制算法,稳定性更高
  • 速度控制:根据目标速度自动调整油门和刹车
  • 转向控制:基于路点计算最优转向角度

5. 可视化与监控

  • 实时显示摄像头画面
  • 叠加车速、油门、转向值等状态信息
  • 每100帧显示一次运行状态

6. 容错与恢复

  • 相机设置失败时继续运行
  • 车辆生成失败时自动清理并重新尝试
  • 异常情况时优雅退出并清理资源

技术特点

  • 模块化设计:清晰的类结构和功能划分
  • 鲁棒性强:多重重试和错误处理机制
  • 实时性能:优化的控制循环和图像处理
  • 易于扩展:预留了神经网络控制器接口
  • 用户友好:简洁的操作界面和状态显示

截图功能

p 键保存当前画面截图,自动命名格式:

screenshot_时间戳_地图名_天气_颜色.png

示例:screenshot_20260508_204930_Town01_Clear_Red.png

常见问题

1. 连接 CARLA 服务器失败

  • 确保 CARLA 模拟器正在运行
  • 检查端口是否为 2000
  • 验证地图是否可用

2. 车辆生成失败

  • 可能是出生点被占用
  • 系统会自动清理现有车辆并重新尝试

3. 相机设置失败

  • 可能是资源不足
  • 系统会在相机失败时继续运行,仅影响可视化

贡献指南

提交代码

  1. Fork 本项目
  2. 创建 feature 分支
  3. 提交修改
  4. 发起 Pull Request

代码规范

  • 遵循 PEP 8 代码风格
  • 添加适当的注释
  • 确保代码可维护性

功能扩展

  • 可以添加更多传感器类型
  • 实现神经网络控制器
  • 增加更多地图支持
  • 添加更复杂的避障算法

许可证

本项目采用 MIT 许可证,详见 LICENSE 文件。

联系方式

更新日志

v1.0.0

  • 初始化项目
  • 实现基本的自动驾驶功能
  • 添加第三视角摄像头
  • 实现路点跟踪控制算法
  • 添加NPC车辆生成
  • 实现车辆重置功能
  • 添加紧急停止功能

v1.1.0

  • 添加多视角切换功能(第一人称/第三人称/鸟瞰图)
  • 添加地图切换功能
  • 添加天气切换功能
  • 添加车辆颜色切换功能
  • 实现截图功能(按p键保存)
  • 优化倒车控制功能

@XieTJ XieTJ self-assigned this May 8, 2026
@github-actions github-actions Bot added the size/s label May 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant