Skip to content
Open
Show file tree
Hide file tree
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
69 changes: 55 additions & 14 deletions src/car_navigation_system/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

## 核心功能
- **多模态感知系统**:集成 RGB 摄像头(前视 + 第三视角)与障碍物检测器,全面获取环境信息
- **智能避障算法**:基于改进神经网络控制器与传统控制器双模式,动态检测并规避前方障碍物
- **智能避障算法**:基于改进神经网络控制器与传统控制器双模式,动态检测并规避前方障碍
- **实时可视化**:实时显示第三视角画面,叠加障碍物检测结果、车速、控制状态等关键信息
- **双模式控制**:支持神经网络模式与传统控制模式切换,可根据环境选择最优控制策略
- **智能恢复机制**:内置车辆卡住检测与自动恢复系统,保障行驶稳定性
Expand All @@ -15,7 +15,9 @@
```
car_navigation_system/
├── README.md # 项目说明文档
└── main.py # 主程序文件
├── main.py # 主程序文件
├── screenshots/ # 截图保存目录
└── sync_main.bat # 同步主分支脚本
```

## 环境配置
Expand All @@ -29,7 +31,7 @@ car_navigation_system/
- 从 [CARLA 官网](https://carla.org/) 下载并安装 CARLA 3.11
- 或使用项目提供的 CARLA 安装包

2. **安装 Python 依赖包**
2. **安装 Python 依赖**
```bash
pip install carla numpy opencv-python matplotlib torch
```
Expand Down Expand Up @@ -63,23 +65,27 @@ car_navigation_system/
| q | 退出系统 |
| r | 重置车辆位置 |
| s | 紧急停止 |
| w | 手动加速(提高油门) |
| a | 手动左转向 |
| d | 手动右转向 |
| x | 切换倒车/前进模式 |
| v | 切换视角(第一人称/第三人称/鸟瞰图) |
| m | 切换地图 |
| w | 切换天气 |
| c | 切换车辆颜色 |
| b | 切换车辆品牌(Tesla/Ford Mustang/Chevrolet Spark等) |
| p | 保存当前画面截图 |

## 系统架构

### 1. 环境初始化模块
- 连接 CARLA 服务器(默认 localhost:2000)
- 加载 Town01 地图,设置异步模式确保连接稳定
- 配置天气参数(云量30%、无降水、太阳高度角70°
- 加载地图,设置异步模式确保连接稳定
- 配置天气参数(云量、降水、太阳高度角

### 2. 智能体生成模块
- **主车辆**:特斯拉 Model3(红色),关闭自动驾驶,由自定义控制算法控制
- **NPC车辆**:随机生成2辆不同类型车辆,开启自动驾驶
- **主车辆**:支持多种品牌车型(Tesla Model3/Ford Mustang/Chevrolet Spark等),关闭自动驾驶,由自定义控制算法控制
- **NPC车辆**:随机生成多辆不同类型车辆,开启自动驾驶

### 3. 传感器系统
- **第三视角摄像头**:90°视野,分辨率640×480,用于可视化监控
- **多视角摄像头**:支持第一人称、第三人称、鸟瞰视角
- **图像数据处理**:实时转换和处理相机图像数据

### 4. 控制系统
Expand All @@ -88,7 +94,7 @@ car_navigation_system/
- **转向控制**:基于路点计算最优转向角度

### 5. 可视化与监控
- 实时显示第三视角画面
- 实时显示摄像头画面
- 叠加车速、油门、转向值等状态信息
- 每100帧显示一次运行状态

Expand All @@ -104,12 +110,36 @@ car_navigation_system/
- **易于扩展**:预留了神经网络控制器接口
- **用户友好**:简洁的操作界面和状态显示

## 截图功能
按 `p` 键保存当前画面截图,自动命名格式:
```
screenshot_时间戳_地图名_天气_颜色.png
```
示例:`screenshot_20260508_204930_Town01_Clear_Red.png`

## 车辆品牌切换功能
按 `b` 键切换车辆品牌,支持以下车型:
| 编号 | 品牌型号 |
|------|----------|
| 1 | Tesla Model3 |
| 2 | Ford Mustang |
| 3 | Audi TT |
| 4 | Mercedes Coupe |
| 5 | Jeep Wrangler Rubicon |
| 6 | Nissan Patrol |
| 7 | Audi e-tron |
| 8 | Lincoln MKZ 2020 |
| 9 | Chevrolet Impala |
| 10 | BMW Grand Tourer |

按 `b` 键后会在控制台显示菜单,切换时会保留当前车辆颜色设置。

## 常见问题

### 1. 连接 CARLA 服务器失败
- 确保 CARLA 模拟器正在运行
- 检查端口是否为 2000
- 验证 Town01 地图是否可用
- 验证地图是否可用

### 2. 车辆生成失败
- 可能是出生点被占用
Expand Down Expand Up @@ -154,4 +184,15 @@ car_navigation_system/
- 实现路点跟踪控制算法
- 添加NPC车辆生成
- 实现车辆重置功能
- 添加紧急停止功能
- 添加紧急停止功能

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

### v1.2.0
- 添加车辆品牌切换功能(按b键,支持10种品牌车型)
Loading