Go to file
2025-07-08 15:08:09 +08:00
doc/img 完善 2025-07-07 02:48:47 +08:00
src Merge branch 'main' of ssh://gitea.qutrobot.top:222/robofish/RC2025 2025-07-08 15:08:09 +08:00
.gitignore 保存pcd 2025-07-08 09:06:11 +08:00
build.sh RC2025启动! 2025-07-07 02:34:34 +08:00
mapping.sh 保存pcd 2025-07-08 09:06:11 +08:00
nav.sh 保存pcd 2025-07-08 09:06:11 +08:00
r1.sh 添加锁车 2025-07-08 03:20:12 +08:00
README.md 修改readme 2025-07-08 02:49:39 +08:00

🎯 RC2025 自动定位瞄准代码

基于ROS2的机器人自动定位与瞄准系统支持激光雷达建图和导航功能

ROS2 Ubuntu License

📋 目录

🔧 系统要求

组件 版本/型号
操作系统 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

建图前配置

  1. 修改地图保存文件名

    # 编辑 mapping.sh
    nano mapping.sh
    # 将 'RC2025' 改为您的项目名
    
  2. 同步修改点云文件配置

    # 编辑 FAST-LIO 配置文件
    nano src/rm_nav_bringup/config/reality/fastlio_mid360_real.yaml
    # 确保 pcd 文件名与 mapping.sh 中一致
    

建图操作步骤

  1. 启动建图程序

    ./mapping.sh
    
  2. 控制机器人移动

    • 使用遥控器或键盘控制机器人
    • 确保覆盖所有需要建图的区域
  3. 保存点云文件

    ros2 service call /map_save std_srvs/srv/Trigger
    
  4. 保存地图文件

    • 在RViz中使用地图保存功能
    • 确保地图名称保持一致

建图效果展示

点击查看建图效果图

建图效果1 建图效果2 建图效果3

3. 🧭 导航模式

使用已建立的地图进行导航:

chmod +x nav.sh
./nav.sh

导航操作说明

  1. 启动导航程序
  2. 在RViz中设置初始位置
  3. 设置目标点进行导航
  4. 监控导航状态

⚙️ 重要参数配置

📍 激光雷达安装位置

位置参数配置

# 文件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坐标

🔧 故障排除

常见问题

激光雷达无法连接
  1. 检查网络连接
  2. 确认IP地址配置
  3. 检查防火墙设置
  4. 验证SDK安装
建图效果不佳
  1. 检查激光雷达安装位置
  2. 调整地面分割参数
  3. 确保移动速度适中
  4. 检查环境光照条件
导航精度不够
  1. 重新标定雷达参数
  2. 优化地图质量
  3. 调整导航参数
  4. 检查里程计数据

📝 使用技巧

  • 建图时:保持稳定的移动速度,避免急转急停
  • 导航时:确保地图与实际环境一致
  • 调试时使用RViz可视化工具监控状态
  • 维护时:定期更新地图数据