# ROS

FDILink ROS 例程用户使用手册

FDILink ROS

# 1. 简介

为帮助用户在 ROS 中更快部署机器人项目,本公司提供 ROS 节点数据发布例程,便于将惯导产品信息发布到 ROS 话题。ROS(Robot Operating System)是当前主流机器人操作系统;借助本例程,可更方便地利用 ROS 能力,快速构建并运行应用。

# 2. 使用方法

# (1) 地面站配置数据输出

  1. 在 Windows 下通过 FDIGroundStation 配置串口发布数据。该步骤用于保证模块串口能正常输出所需数据包;出厂默认仅开启部分数据包。数据包定义见 FDILink 通讯协议。
地面站配置数据输出
  1. 配置完成后保存并重启设备。此时可用 Windows 串口助手查看数据:帧以 FC 开头,第二字段为具体数据包 ID(十六进制)。
串口助手查看十六进制数据

# (2) Ubuntu 中配置串口权限

Ubuntu 串口权限配置
  1. 连接 IMU 后,打开终端,用 cd 进入例程所在目录。
  2. 查看端口号:
ls -l /dev/ttyUSB*
  1. 为 IMU 所连串口赋权(将 imu_serial_port 替换为实际端口,如 /dev/ttyUSB0;每次重新连接后通常需重新赋权):
sudo chmod 777 imu_serial_port
  1. 输入 Ubuntu 系统密码后,ROS 端即可接收串口实时数据。

# (3) 安装依赖项

  • ROS Melodic:
sudo apt-get install ros-melodic-serial
  • ROS Kinetic:
sudo apt-get install ros-kinetic-serial

# (4) 编译 ROS 例程

编译 ROS 例程
  1. 在例程工作空间目录执行:
catkin_make
  1. 编译成功后会提示类似 [100%] Built target ... 的信息。

# (5) 启动 IMU 例程

启动 IMU 例程
source catkin_ws/devel/setup.bash
roslaunch FDILink launch_imu.launch

# 3. 测试效果

按上述步骤正常运行后,终端会实时打印串口接收到的数据。

ROS 例程测试效果

# 4. 注意事项

  1. 当前 ROS1 例程仅示例解析 FDILink 协议中的部分数据包:
序号 Packet_ID 说明 备注
1 0x40 MSG_AHRS 主要姿态信息
2 0x42 MSG_INS/GPS NED 坐标系位置信息
3 0x59 MSG_RAW_GNSS 单天线卫星数据
4 0x78 MSG_GNSS_DUAL_ANT 双天线卫星数据
  1. 若需额外数据包:先在 Windows 上位机配置好数据输出,再在 ROS 例程的 main.cpp 中,按现有接收方式增加对应数据包的类与接收代码。