修改readme

This commit is contained in:
Robofish 2025-07-08 02:49:39 +08:00
parent 15a6d5e8d1
commit 3f2ff1f45a

222
README.md
View File

@ -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. 编译项目 ### 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>
![建图效果1](doc/img/07b3c725_11812035.png)
![建图效果2](doc/img/5032aa1d_11812035.png)
![建图效果3](doc/img/bea7dae2_11812035.jpeg)
</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可视化工具监控状态
- **维护时**:定期更新地图数据