Skip to content

SMBU-PolarBear-Robotics-Team/standard_robot_pp_ros2

Repository files navigation

standard_robot_pp_ros2

License Build and Test

PolarBear Logo

1. 项目介绍

standard_robot_pp_ros2 是配合 StandardRobot++ 下位机控制使用的机器人驱动,提供了机器人的控制接口、数据接口。

本项目获取下位机的 packet 并发布为 topic,并将下位机处理后的动态关节信息数据发布到 joint_states 话题,通过 joint_state_publisherrobot_state_publisher 建立整车 TF 树(包含 static 和 dynamic)。

frames

2. 协议结构

2.1 数据帧构成

字段 长度 (Byte) 备注
frame_header 4 帧头
time_stamp 4 时间戳(基于下位机运行时间)
data n 数据段
checksum 2 校验码

2.2 帧头构成

字段 长度 (Byte) 备注
sof 1 数据帧起始字节,固定值为 0x5A
len 1 数据段长度
id 1 数据段id
crc 1 数据帧头的 CRC8 校验

2.3 data 数据段内容

详见飞书文档 上下位机串口通信数据包

3. 安装

  • Ubuntu: 22.04

  • ROS2: Humble

  • 进入 ROS2 工作空间的 src 目录 cd $YOUR_ROS_WS/src

  • 克隆本仓库

    git clone https://github.com/SMBU-PolarBear-Robotics-Team/standard_robot_pp_ros2.git
  • 获取本仓库依赖项

    • $YOUR_ROS_WS/src 中克隆 Gthub 仓库依赖项:

      sudo apt install python3-vcstool
      
      vcs import --input standard_robot_pp_ros2/.github/dependency.repos

      请查看 vcs 导入的子仓库的 README,并按照其说明 递进地安装子仓库的依赖项

    • $YOUR_ROS_WS 中运行命令以获取打包的依赖项:

      rosdep install -r --from-paths src --ignore-src --rosdistro $ROS_DISTRO -y

4. 使用方式

  1. 配置 udev,用来定向下位机 RoboMaster C 型开发板串口硬件并给予串口权限

    本命令在一台主机中只需要运行一次,无需重复运行。

    ./script/create_udev_rules.sh
  2. 构建程序

    colcon build --symlink-install
  3. 运行上下位机通讯

    Tips: 如需开启 RViz 可视化,请添加 use_rviz:=True 参数。

    ros2 launch standard_robot_pp_ros2 standard_robot_pp_ros2.launch.py

5. 致谢

串口通信部分参考了 rm_vision - serial_driver,通信协议参考 DJI 裁判系统通信协议。

About

StandardRobot++ Drive for ROS packages

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •