ROS 使用指南

ROS-SDK

安装 ROS 软件包

提示

支持的架构:

注意, 不支持 RISCV

支持的ROS版本范围:

Ubuntu 20.04

Ubuntu 22.04

注意, 不支持 Ubuntu18.04 版本。

如果一定要使用 Ubuntu 18.04,请在 18.04 中利用 Docker 安装其他 Ubuntu 版本。即使这样,以 Ubuntu 1804 做主机也无法支持USB格式的CAN转换器,需要购入以太网版本的 CAN 转换器。

警告 注意, 下载软件包之前, 需要先安装好 ROS. 并 source 你所需要使用的版本. 否则下载的软件包将 无法使用

在你想要安装SDK的路径, 打开终端输入以下命令

wget -O hextool.bash https://ros.dl.hexmove.cn/ros.dl/hextool.bash && bash hextool.bash

提示 为防止手敲命令敲错字符, 建议使用 Ubuntu 所带的浏览器直接打开本网址, 并将命令从浏览器中复制到终端.

随后按照指引操作。

安装前工作

  1. 确保你已经安装好了ROS并已经source
  2. 确保CAN HUB固件处于最新(仅需要运行一次)

升级CAN HUB的教程如下:

  1. 拔掉所有CAN HUB上的连接线,确保CAN HUB没有连接到任何线
  2. 按住下图中按钮,然后只插入USB接口到 Ubuntu 电脑。此时HUB不应该发出叫声,只有电源绿灯长亮。如果HUB发出滴滴声响,说明您并未成功按住按钮,请拔出USB线并重试。

HUB.jpg

  1. 工具选择 4:升级固件;设备选择0:WiFiHub 截屏2024-12-14 18.12.25.png

  2. 运行提示中的命令,等待进度条完成 截屏2024-12-14 18.13.58.png

恭喜,至此,安装前准备已经全部完成了。可以正式开始ROS SDK的安装了






SDK软件包结构说明

各个软件包大同小异, 这里以 ORCS-DIFF 为例.

root@1c2edac84f0b:~# tree -d -L 5
.
└── sdk_orcs_diff_ws
    └── src
        ├── demo
        │   └── demo_general_chassis
        │       ├── demo_vehicle
        │       └── tools
        └── drivers
            └── xpkg_vehicle
                ├── include
                ├── ini
                ├── launch
                ├── scripts
                ├── src
                └── tools

14 directories

警告 注意, demo 文件夹中的 launch 文件均设计成为只能同时启动一个. 请不要同时 launch 多个 launch 文件

如果没有专业指导, 请勿改动除了 demo 文件夹之外的任何软件包.


使用SDK软件包

软件包提供了测试demo,请查阅使用ROS的demo

使用ROS的demo

启动前检查

请查阅 CAN硬件连接标准CAN总线配置,确保硬件已经正确连接

提示 请先掌握 ROS 的基本知识。可以参考 ROS1教程 以及 ROS2教程,了解对 ROS 系统的常见约定。

请检查确保完成以下事项:

  1. 已经安装完成ROS-SDK,如果是第一次安装SDK,建议在 首次安装后重启 一次

  2. 已经通过了编译并没有报错

  3. 已经完成工作空间的source

  4. 如果使用CAN-COM HUB,请确定正确连接CAN总线,确定已经能够搜索到设备

    • 在终端使用lsusb查询可看到以下设备
  5. 确保遥控器已经关闭;或者打开时,拨到的是 CAN 模式

    关于遥控器与模式,请参阅产品用户手册中关于遥控器的部。


底盘类设备

警告 注意, 首次尝试使用软件控制机器人时,请确保机器人活动范围内没有其他障碍,或将机器人架起。

底盘的测试demo有以下两个:

* demo_basic_ctrl.launch
* demo_key_ctrl.launch

demo_basic_ctrl.launch是标准的启动文件,可以配套自动驾驶直接使用,通过使用 /cmd_vel 话题来控制机器人的移动。

demo_key_ctrl.launch是支持键盘控制的启动文件,使用 turtle_teleop_key 来利用键盘控制机器人。如果你还没有看过 ROS 的 turtlesim 教程,请先查看 turtlesim 教程。

提示 注意并不是使用方向键控制移动,请查看终端打印的使用方式提示,按下提示中的前进按钮。

成功启动launch后会得到以下终端消息

startup.png

launch文件中参数设置和通讯msg请查阅src/drivers/xpkg_vehicle/README.md文件,以下解释几个关键参数:

!!!note 如果出现底盘无法控制,可能是mode_can_lock设置false,并且切换到了其他模式

成功启动launch包后可以通过rostopic list查看ROS话题,以下为几个关键话题:

Rviz导航插件

该插件仅试用于ROS1版本


 图标设置

marker setting.png

用于设置目标点的图标大小,1.0是默认值,其他数值代表尺寸比例倍数,需要点击set刷星所有图标

mark.png

marker图标由两部分组成,数字部分为该目标点的序列号,箭头部分为该目标点的停止朝向


添加目标点

add goal.png

  1. 请先使用Rviz自带功能2dnave.png 在地图上选取目标点
  2. 可通过输入X、Y、R值来微调坐标位置
  3. 如果需要直接前往目标点可点击 GOTO 按键
  4. 如果需要将目标加入到目标列表请点击 ADD GOAL TO LSIT 按键
  5. 如果目标与目标列表上一个目标距离过远,会在列表中自动插入中间目标值,容忍的最大距离差可在上图中修改,默认是10m

目标列表管理

goal list.png


模式选择

mode.png

模式选择用于不同的列表目标点执行方式

cycle mode 循环模式,执行完最后一个目标点会继续执行第一个目标点
sequence mode 序列模式,执行完列表所有目标点会停止
step mode 单步模式,按列表顺序一次执行一个目标点

为了平滑路径可以调整Goal tolerance,进入目标点的该距离半径后会自动跳转到下一目标点,场景越小该值需要越小。该设置不影响最后的目标点到达


启动控制

control.png