doc/img | ||
src | ||
.gitignore | ||
build.sh | ||
mapping.sh | ||
nav.sh | ||
r1.sh | ||
README.md |
🎯 RC2025 自动定位瞄准代码
基于ROS2的机器人自动定位与瞄准系统,支持激光雷达建图和导航功能
📋 目录
🔧 系统要求
组件 | 版本/型号 |
---|---|
操作系统 | Ubuntu 22.04 LTS |
ROS版本 | ROS2 Humble |
激光雷达 | Livox MID360 |
处理器 | x86_64 (推荐) |
内存 | 8GB+ (推荐) |
🚀 环境配置
1. 安装 Livox SDK2
# 安装依赖
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. 安装串口驱动
pip install pyserial
3. 安装ROS2依赖
# 进入工作区
cd /Users/lvzucheng/Documents/R/RC2025
# 安装依赖包
rosdep install -r --from-paths src --ignore-src --rosdistro $ROS_DISTRO -y
🎯 快速开始
1. 编译项目
. build.sh
2. 🗺️ 建图模式
用于创建环境地图和点云数据:
. mapping.sh
建图前配置
-
修改地图保存文件名
# 编辑 mapping.sh nano mapping.sh # 将 'RC2025' 改为您的项目名
-
同步修改点云文件配置
# 编辑 FAST-LIO 配置文件 nano src/rm_nav_bringup/config/reality/fastlio_mid360_real.yaml # 确保 pcd 文件名与 mapping.sh 中一致
建图操作步骤
-
启动建图程序
./mapping.sh
-
控制机器人移动
- 使用遥控器或键盘控制机器人
- 确保覆盖所有需要建图的区域
-
保存点云文件
ros2 service call /map_save std_srvs/srv/Trigger
-
保存地图文件
- 在RViz中使用地图保存功能
- 确保地图名称保持一致
建图效果展示
3. 🧭 导航模式
使用已建立的地图进行导航:
chmod +x nav.sh
./nav.sh
导航操作说明
- 启动导航程序
- 在RViz中设置初始位置
- 设置目标点进行导航
- 监控导航状态
⚙️ 重要参数配置
📍 激光雷达安装位置
位置参数配置
# 文件:src/rm_nav_bringup/config/reality/measurement_params_real.yaml
translation:
x: 0.0 # 前后位置 (m)
y: 0.0 # 左右位置 (m)
z: 0.0 # 上下位置 (m)
⚠️ 注意:不要修改
rpy
参数
姿态参数配置
// 文件: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: 0.3 # 激光雷达距离地面的高度 (m)
max_dist_to_line: 0.05 # 地面点云分割的最低高度 (m)
🎯 目标点设定
# 文件:nav.sh
# 篮筐目标点坐标
TARGET_X=1.0 # X坐标
TARGET_Y=0.0 # Y坐标
🔧 故障排除
常见问题
激光雷达无法连接
- 检查网络连接
- 确认IP地址配置
- 检查防火墙设置
- 验证SDK安装
建图效果不佳
- 检查激光雷达安装位置
- 调整地面分割参数
- 确保移动速度适中
- 检查环境光照条件
导航精度不够
- 重新标定雷达参数
- 优化地图质量
- 调整导航参数
- 检查里程计数据
📝 使用技巧
- 建图时:保持稳定的移动速度,避免急转急停
- 导航时:确保地图与实际环境一致
- 调试时:使用RViz可视化工具监控状态
- 维护时:定期更新地图数据