修改readme
This commit is contained in:
		
							parent
							
								
									15a6d5e8d1
								
							
						
					
					
						commit
						3f2ff1f45a
					
				
							
								
								
									
										222
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										222
									
								
								README.md
									
									
									
									
									
								
							@ -1,14 +1,64 @@
 | 
				
			|||||||
# RC2025 自动定位瞄准代码
 | 
					# 🎯 RC2025 自动定位瞄准代码
 | 
				
			||||||
 | 
					
 | 
				
			||||||
基于ROS2的机器人自动定位与瞄准系统,支持激光雷达建图和导航功能。
 | 
					> 基于ROS2的机器人自动定位与瞄准系统,支持激光雷达建图和导航功能
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## 系统要求
 | 
					[](https://docs.ros.org/en/humble/)
 | 
				
			||||||
 | 
					[](https://ubuntu.com/)
 | 
				
			||||||
 | 
					[](LICENSE)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Ubuntu 22.04
 | 
					## 📋 目录
 | 
				
			||||||
- ROS2 Humble
 | 
					 | 
				
			||||||
- 激光雷达:MID360
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
## 快速开始
 | 
					- [系统要求](#系统要求)
 | 
				
			||||||
 | 
					- [环境配置](#环境配置)
 | 
				
			||||||
 | 
					- [快速开始](#快速开始)
 | 
				
			||||||
 | 
					- [重要参数配置](#重要参数配置)
 | 
				
			||||||
 | 
					- [故障排除](#故障排除)
 | 
				
			||||||
 | 
					- [贡献指南](#贡献指南)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 🔧 系统要求
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					| 组件 | 版本/型号 |
 | 
				
			||||||
 | 
					|------|-----------|
 | 
				
			||||||
 | 
					| 操作系统 | Ubuntu 22.04 LTS |
 | 
				
			||||||
 | 
					| ROS版本 | ROS2 Humble |
 | 
				
			||||||
 | 
					| 激光雷达 | Livox MID360 |
 | 
				
			||||||
 | 
					| 处理器 | x86_64 (推荐) |
 | 
				
			||||||
 | 
					| 内存 | 8GB+ (推荐) |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 🚀 环境配置
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 1. 安装 Livox SDK2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					# 安装依赖
 | 
				
			||||||
 | 
					sudo apt update
 | 
				
			||||||
 | 
					sudo apt install cmake build-essential
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 克隆并编译 Livox SDK2
 | 
				
			||||||
 | 
					git clone https://github.com/Livox-SDK/Livox-SDK2.git
 | 
				
			||||||
 | 
					cd ./Livox-SDK2/
 | 
				
			||||||
 | 
					mkdir build && cd build
 | 
				
			||||||
 | 
					cmake .. && make -j$(nproc)
 | 
				
			||||||
 | 
					sudo make install
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 2. 安装串口驱动
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					pip install pyserial
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 3. 安装ROS2依赖
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					# 进入工作区
 | 
				
			||||||
 | 
					cd /Users/lvzucheng/Documents/R/RC2025
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 安装依赖包
 | 
				
			||||||
 | 
					rosdep install -r --from-paths src --ignore-src --rosdistro $ROS_DISTRO -y
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 🎯 快速开始
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 1. 编译项目
 | 
					### 1. 编译项目
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -16,7 +66,7 @@
 | 
				
			|||||||
. build.sh
 | 
					. build.sh
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 2. 建图模式
 | 
					### 2. 🗺️ 建图模式
 | 
				
			||||||
 | 
					
 | 
				
			||||||
用于创建环境地图和点云数据:
 | 
					用于创建环境地图和点云数据:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -24,46 +74,148 @@
 | 
				
			|||||||
. mapping.sh
 | 
					. mapping.sh
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**建图前配置:**
 | 
					#### 建图前配置
 | 
				
			||||||
1. 修改 `mapping.sh` 中的地图保存文件名(将 `RC2025` 改为您的项目名)
 | 
					 | 
				
			||||||
2. 同步修改 `src/rm_nav_bringup/config/reality/fastlio_mid360_real.yaml` 中的 pcd 文件名
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
**建图操作:**
 | 
					1. **修改地图保存文件名**
 | 
				
			||||||
- 保存点云文件:`ros2 service call /map_save std_srvs/srv/Trigger`
 | 
					   ```bash
 | 
				
			||||||
- 保存地图:确保地图名称保持一致
 | 
					   # 编辑 mapping.sh
 | 
				
			||||||
 | 
					   nano mapping.sh
 | 
				
			||||||
 | 
					   # 将 'RC2025' 改为您的项目名
 | 
				
			||||||
 | 
					   ```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 3. 导航模式
 | 
					2. **同步修改点云文件配置**
 | 
				
			||||||
 | 
					   ```bash
 | 
				
			||||||
 | 
					   # 编辑 FAST-LIO 配置文件
 | 
				
			||||||
 | 
					   nano src/rm_nav_bringup/config/reality/fastlio_mid360_real.yaml
 | 
				
			||||||
 | 
					   # 确保 pcd 文件名与 mapping.sh 中一致
 | 
				
			||||||
 | 
					   ```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 建图操作步骤
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1. **启动建图程序**
 | 
				
			||||||
 | 
					   ```bash
 | 
				
			||||||
 | 
					   ./mapping.sh
 | 
				
			||||||
 | 
					   ```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2. **控制机器人移动**
 | 
				
			||||||
 | 
					   - 使用遥控器或键盘控制机器人
 | 
				
			||||||
 | 
					   - 确保覆盖所有需要建图的区域
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					3. **保存点云文件**
 | 
				
			||||||
 | 
					   ```bash
 | 
				
			||||||
 | 
					   ros2 service call /map_save std_srvs/srv/Trigger
 | 
				
			||||||
 | 
					   ```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					4. **保存地图文件**
 | 
				
			||||||
 | 
					   - 在RViz中使用地图保存功能
 | 
				
			||||||
 | 
					   - 确保地图名称保持一致
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 建图效果展示
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<details>
 | 
				
			||||||
 | 
					<summary>点击查看建图效果图</summary>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</details>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 3. 🧭 导航模式
 | 
				
			||||||
 | 
					
 | 
				
			||||||
使用已建立的地图进行导航:
 | 
					使用已建立的地图进行导航:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```bash
 | 
					```bash
 | 
				
			||||||
. nav.sh
 | 
					chmod +x nav.sh
 | 
				
			||||||
 | 
					./nav.sh
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 导航操作说明
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## 重要参数配置
 | 
					1. **启动导航程序**
 | 
				
			||||||
 | 
					2. **在RViz中设置初始位置**
 | 
				
			||||||
 | 
					3. **设置目标点进行导航**
 | 
				
			||||||
 | 
					4. **监控导航状态**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 激光雷达安装位置
 | 
					## ⚙️ 重要参数配置
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**位置参数配置:**
 | 
					### 📍 激光雷达安装位置
 | 
				
			||||||
- 文件:`src/rm_nav_bringup/config/reality/measurement_params_real.yaml`
 | 
					 | 
				
			||||||
- 修改:`x`, `y`, `z` 坐标
 | 
					 | 
				
			||||||
- 注意:不要修改 `rpy` 参数
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
**姿态参数配置:**
 | 
					#### 位置参数配置
 | 
				
			||||||
- 文件:`src/rm_nav_bringup/config/reality/MID360_config.json`
 | 
					```yaml
 | 
				
			||||||
- 修改:`yaw`, `pitch`, `roll` 角度
 | 
					# 文件:src/rm_nav_bringup/config/reality/measurement_params_real.yaml
 | 
				
			||||||
- 注意:不要修改 `xyz` 参数
 | 
					translation:
 | 
				
			||||||
 | 
					  x: 0.0  # 前后位置 (m)
 | 
				
			||||||
 | 
					  y: 0.0  # 左右位置 (m)
 | 
				
			||||||
 | 
					  z: 0.0  # 上下位置 (m)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					> ⚠️ **注意**:不要修改 `rpy` 参数
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 地面点云分割
 | 
					#### 姿态参数配置
 | 
				
			||||||
 | 
					```json
 | 
				
			||||||
 | 
					// 文件:src/rm_nav_bringup/config/reality/MID360_config.json
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  "yaw": 0.0,    // 偏航角
 | 
				
			||||||
 | 
					  "pitch": 0.0,  // 俯仰角
 | 
				
			||||||
 | 
					  "roll": 0.0    // 翻滚角
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					> ⚠️ **注意**:不要修改 `xyz` 参数
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- 文件:`src/rm_nav_bringup/config/reality/segmentation_real.yaml`
 | 
					### 🌍 地面点云分割
 | 
				
			||||||
- 参数:`sensor_height`(激光雷达距离地面的高度)
 | 
					 | 
				
			||||||
- 参数:`max_dist_to_line`(地面点云分割的最低高度)
 | 
					 | 
				
			||||||
- 说明:此参数影响地面点云的正确分割
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 目标点设定
 | 
					```yaml
 | 
				
			||||||
 | 
					# 文件:src/rm_nav_bringup/config/reality/segmentation_real.yaml
 | 
				
			||||||
 | 
					sensor_height: 0.3        # 激光雷达距离地面的高度 (m)
 | 
				
			||||||
 | 
					max_dist_to_line: 0.05   # 地面点云分割的最低高度 (m)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- 文件:`nav.sh`
 | 
					### 🎯 目标点设定
 | 
				
			||||||
- 参数:篮筐目标点的 `x` 和 `y` 坐标
 | 
					
 | 
				
			||||||
- 用途:设定机器人瞄准的目标点
 | 
					```bash
 | 
				
			||||||
 | 
					# 文件:nav.sh
 | 
				
			||||||
 | 
					# 篮筐目标点坐标
 | 
				
			||||||
 | 
					TARGET_X=1.0  # X坐标
 | 
				
			||||||
 | 
					TARGET_Y=0.0  # Y坐标
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 🔧 故障排除
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 常见问题
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<details>
 | 
				
			||||||
 | 
					<summary>激光雷达无法连接</summary>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1. 检查网络连接
 | 
				
			||||||
 | 
					2. 确认IP地址配置
 | 
				
			||||||
 | 
					3. 检查防火墙设置
 | 
				
			||||||
 | 
					4. 验证SDK安装
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</details>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<details>
 | 
				
			||||||
 | 
					<summary>建图效果不佳</summary>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1. 检查激光雷达安装位置
 | 
				
			||||||
 | 
					2. 调整地面分割参数
 | 
				
			||||||
 | 
					3. 确保移动速度适中
 | 
				
			||||||
 | 
					4. 检查环境光照条件
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</details>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<details>
 | 
				
			||||||
 | 
					<summary>导航精度不够</summary>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1. 重新标定雷达参数
 | 
				
			||||||
 | 
					2. 优化地图质量
 | 
				
			||||||
 | 
					3. 调整导航参数
 | 
				
			||||||
 | 
					4. 检查里程计数据
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</details>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 📝 使用技巧
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- **建图时**:保持稳定的移动速度,避免急转急停
 | 
				
			||||||
 | 
					- **导航时**:确保地图与实际环境一致
 | 
				
			||||||
 | 
					- **调试时**:使用RViz可视化工具监控状态
 | 
				
			||||||
 | 
					- **维护时**:定期更新地图数据
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user