Skip to content

ROS

中文 | English

对应仓库: hex_vehicle


简介

本开源的ROS包主要由两个部分组成,xpkg-bridge负责将底盘消息转换至ROS话题,hex_vehicle负责监听/cmd_vel话题并发布底盘消息。

其中,xpkg-bridge将通过apt安装,hex_vehicle将通过git clone源码安装。

准备开始

首先,需要添加hexfellow apt源。您可以自动添加或者手动添加。

1. 使用我们的工具自动添加 hexfellow apt源

下载脚本并运行。 下载链接

chmod +x add_hexfellow_apt_source.py && sudo ./add_hexfellow_apt_source.py

2. 手动添加hexfellow apt源(如果已经自动添加,请跳过此步)

如果不想使用脚本自动添加或者脚本添加失败,可以手动添加hexfellow apt源。
如果存在旧的源,删除它:

sudo rm -f /etc/apt/sources.list.d/hexfellow.sources  
sudo rm -f /etc/apt/sources.list.d/hexfellow.list  
sudo rm -f /etc/apt/sources.list.d/hexfellow.lists

下载hexfellow GPG key:

sudo wget -q -O /usr/share/keyrings/hexfellow.gpg.key https://apt.hexfellow.com/conf/hexfellow.gpg.key

添加如下文本到/etc/apt/sources.list.d/hexfellow.sources文件中,如果文件不存在,创建它:

Types: deb
URIs: https://apt.hexfellow.com/hexfellow/
Suites: !!!CHANGE TO YOUR UBUNTU CODENAME!!!
Components: main
Signed-By: /usr/share/keyrings/hexfellow.gpg.key

如果你不知道你的Ubuntu版本代号,可以使用lsb_release -a命令查看。
例如,你的Ubuntu版本是20.04, 修改文本如下:

Types: deb
URIs: https://apt.hexfellow.com/hexfellow/
Suites: focal
Components: main
Signed-By: /usr/share/keyrings/hexfellow.gpg.key

3. 安装xpkg_bridge

sudo apt update
sudo apt install ros-$ROS_DISTRO-xpkg-bridge

4. 下载hex_vehicle包

请先新建ROS工作空间ROS2ROS1

并在src目录下克隆hex_vehicle包

git clone https://github.com/hexfellow/hex_vehicle.git --recursive

4. 安装protoc

此软件包需要较新版本的 protoc。请使用下面的二进制安装方法安装 protoc

# For Linux x86_64
wget https://github.com/protocolbuffers/protobuf/releases/download/v27.1/protoc-27.1-linux-x86_64.zip
sudo unzip protoc-27.1-linux-x86_64.zip -d /usr/local
rm protoc-27.1-linux-x86_64.zip  

# For Linux arm64
wget https://github.com/protocolbuffers/protobuf/releases/download/v27.1/protoc-27.1-linux-aarch_64.zip
sudo unzip protoc-27.1-linux-aarch_64.zip -d /usr/local
rm protoc-27.1-linux-aarch_64.zip  

#  Verify installation
protoc --version  # Should show libprotoc 27.1

5. 编译Protocol Buffer文件

在hex_vehicle包目录中,执行以下命令:

./build_proto.sh

6. 使用键盘控制底盘

  1. 在工作空间中编译,并在编译完成后使用source命令加载环境变量
    • ROS1: catkin_make && source devel/setup.bash
    • ROS2: colcon build && source install/setup.bash
  2. 启动。必须指定url参数,url为底盘的IP地址
    • ROS1: roslaunch hex_vehicle chassis_bringup.launch url:=ws://{YOUR_IP}:8439
    • ROS2: ros2 launch hex_vehicle chassis_bringup.launch.py url:=ws://{YOUR_IP}:8439
  3. 启动键盘控制节点
    • ROS1: rosrun hex_vehicle chassis_key_control.py
    • ROS2: ros2 run hex_vehicle chassis_key_control

注意

  1. 请确保在运行此包之前已经添加hexfellow apt软件源并安装xpkg-bridge。
  2. 请确保Protocol Buffer文件编译成功生成*_pb2.py文件。
  3. 必须持续发送 /cmd_vel话题,否则底盘将保护性停止。