ROS
对应仓库: 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包
并在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. 使用键盘控制底盘
- 在工作空间中编译,并在编译完成后使用source命令加载环境变量
- ROS1:
catkin_make && source devel/setup.bash
- ROS2:
colcon build && source install/setup.bash
- ROS1:
- 启动。必须指定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
- ROS1:
- 启动键盘控制节点
- ROS1:
rosrun hex_vehicle chassis_key_control.py
- ROS2:
ros2 run hex_vehicle chassis_key_control
- ROS1:
注意
- 请确保在运行此包之前已经添加hexfellow apt软件源并安装xpkg-bridge。
- 请确保Protocol Buffer文件编译成功生成*_pb2.py文件。
- 必须持续发送 /cmd_vel话题,否则底盘将保护性停止。