From 3f2ff1f45a0489406c591bfaa2cd2be6e16b9d54 Mon Sep 17 00:00:00 2001 From: Robofish <1683502971@qq.com> Date: Tue, 8 Jul 2025 02:49:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 222 +++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 187 insertions(+), 35 deletions(-) diff --git a/README.md b/README.md index fd846cf..2e79a00 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,64 @@ -# RC2025 自动定位瞄准代码 +# 🎯 RC2025 自动定位瞄准代码 -基于ROS2的机器人自动定位与瞄准系统,支持激光雷达建图和导航功能。 +> 基于ROS2的机器人自动定位与瞄准系统,支持激光雷达建图和导航功能 -## 系统要求 +[![ROS2](https://img.shields.io/badge/ROS2-Humble-blue.svg)](https://docs.ros.org/en/humble/) +[![Ubuntu](https://img.shields.io/badge/Ubuntu-22.04-orange.svg)](https://ubuntu.com/) +[![License](https://img.shields.io/badge/License-MIT-green.svg)](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. 编译项目 @@ -16,7 +66,7 @@ . build.sh ``` -### 2. 建图模式 +### 2. 🗺️ 建图模式 用于创建环境地图和点云数据: @@ -24,46 +74,148 @@ . mapping.sh ``` -**建图前配置:** -1. 修改 `mapping.sh` 中的地图保存文件名(将 `RC2025` 改为您的项目名) -2. 同步修改 `src/rm_nav_bringup/config/reality/fastlio_mid360_real.yaml` 中的 pcd 文件名 +#### 建图前配置 -**建图操作:** -- 保存点云文件:`ros2 service call /map_save std_srvs/srv/Trigger` -- 保存地图:确保地图名称保持一致 +1. **修改地图保存文件名** + ```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中使用地图保存功能 + - 确保地图名称保持一致 + +#### 建图效果展示 + +
+点击查看建图效果图 + +![建图效果1](doc/img/07b3c725_11812035.png) +![建图效果2](doc/img/5032aa1d_11812035.png) +![建图效果3](doc/img/bea7dae2_11812035.jpeg) + +
+ +### 3. 🧭 导航模式 使用已建立的地图进行导航: ```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` -- 修改:`yaw`, `pitch`, `roll` 角度 -- 注意:不要修改 `xyz` 参数 +#### 位置参数配置 +```yaml +# 文件:src/rm_nav_bringup/config/reality/measurement_params_real.yaml +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坐标 +``` + +## 🔧 故障排除 + +### 常见问题 + +
+激光雷达无法连接 + +1. 检查网络连接 +2. 确认IP地址配置 +3. 检查防火墙设置 +4. 验证SDK安装 + +
+ +
+建图效果不佳 + +1. 检查激光雷达安装位置 +2. 调整地面分割参数 +3. 确保移动速度适中 +4. 检查环境光照条件 + +
+ +
+导航精度不够 + +1. 重新标定雷达参数 +2. 优化地图质量 +3. 调整导航参数 +4. 检查里程计数据 + +
+ +## 📝 使用技巧 + +- **建图时**:保持稳定的移动速度,避免急转急停 +- **导航时**:确保地图与实际环境一致 +- **调试时**:使用RViz可视化工具监控状态 +- **维护时**:定期更新地图数据