ubuntu22.04 ros2 kobuki底盘控制全纪录
ubuntu22.04 ros2 kobuki底盘控制全纪录
- 一、先决条件
- 二、引言
- 三、安装
- 3.1、安装以下二进制依赖项
- 3.2、使用 kobuki_keyop [Issue #21](https://github.com/ros2/teleop_twist_keyboard/issues/21) 的可选依赖项
- 3.3、使用 kobuki_joyop 的可选依赖项
- 3.4、新建工作空间
- 3.5、克隆主存储库和依赖项
- 3.6、构建系统
- 安装依赖项xacro
- 使用以下命令构建系统
- 3.7、使用以下命令为 kobuki 设置 udev 规则,然后拔下并重新插入 USB 电缆。
- 四、测试
- 4.1、检查连接
- 4.2、Kobuki Teleop 键盘 测试
- 4.3、ROS使用情况
- 带导航栈(joysitck 备份)的 Kobuki 系统启动
- 带纵杆启动的 Kobuki 系统
- Kobuki KeyOp 控制
一、先决条件
查询已安装的ROS/ROS2版本
printenv ROS_DISTRO
二、引言
目前网上关于Kobuki的教程多是在 ROS Indigo / Kinetic /Melodic 环境下操作的,但是由于个人要用到ROS2 电脑只好安装Ubuntu22.04,所以出一版 Ubuntu 22.04 ROS2 humble环境下的Kobuki操控教程。
该存储库和依赖项存储库专注于合并原始 Kobuki Base存储库上可用的所有公共分支,并将工作扩展到用于基于 kobuki 的 turtlebot 机器人的完整 ROS2 包。此外,还提供了支持 ARM64 和 AMD64 系统的 Dockerfile 和 kobuki 系统预构建容器。
Kobuki
Ubuntu 22.04
ROS humble
三、安装
3.1、安装以下二进制依赖项
sudo apt install ros-humble-angles ros-humble-diagnostics ros-humble-joint-state-publisher ros-humble-ros-testing
- ros-humble-angles:提供角度计算工具(如弧度/角度转换、归一化角度等),常用于机器人运动学和控制模块中处理关节角度数据。
- ros-humble-diagnostics:用于监控和诊断 ROS 系统状态(如节点健康、CPU/内存占用、传感器连接状态等),帮助开发者排查系统异常。
- ros-humble-joint-state-publisher:发布机器人关节状态信息(如位置、速度、力矩),是机器人可视化(如 Rviz 中模型关节运动)和控制的基础组件。
- ros-humble-ros-testing:提供 ROS 2 测试框架,支持单元测试、集成测试和性能测试,确保代码可靠性(如节点通信、消息处理逻辑验证)。
3.2、使用 kobuki_keyop Issue #21 的可选依赖项
sudo apt install xterm
- xterm 是 X Window System(图形界面环境)下的一个终端模拟器(terminal emulator)程序。
3.3、使用 kobuki_joyop 的可选依赖项
sudo apt install ros-humble-teleop-twist-joy ros-humble-joy
- ros-humble-teleop-twist-joy:手柄速度控制节点
核心功能:订阅 /joy 话题的手柄数据,将其映射为机器人运动速度指令(geometry_msgs/Twist 消息),并发布到 cmd_vel 话题。 - ros-humble-joy:手柄硬件接口驱动
核心功能:作为手柄与 ROS 2 系统的桥梁,提供手柄按键和摇杆数据的采集与发布。
3.4、新建工作空间
mkdir -p kobuki-ros2_v2_ws/src
cd kobuki-ros2_v2_ws/src
mkdir applications devices
3.5、克隆主存储库和依赖项
cd applications
git clone --recurse-submodules https://github.com/AIResearchLab/kobuki.git
git clone --recurse-submodules https://github.com/AIResearchLab/kobuki_dependencies.git
- –recurse-submodules(可简写为 -r)用于递归克隆仓库及其包含的所有子模块
3.6、构建系统
安装依赖项xacro
sudo apt install ros-humble-xacro
使用以下命令构建系统
cd ../..
colcon build
3.7、使用以下命令为 kobuki 设置 udev 规则,然后拔下并重新插入 USB 电缆。
让系统稳定识别 Kobuki 的 USB 串口设备,并给 ROS2 使用合适的权限和固定名称。
✅ 建议必须执行,做一次就行。
wget https://raw.githubusercontent.com/kobuki-base/kobuki_ftdi/devel/60-kobuki.rules
sudo cp 60-kobuki.rules /etc/udev/rules.dsudo service udev reload
sudo service udev restart
四、测试
4.1、检查连接
在工作区中运行以下命令。
source ./install/setup.bash
kobuki-version-info
输出应该是:
Version Info* Hardware Version: 1.0.4* Firmware Version: 1.1.4* Software Version: 1.4.0* Unique Device ID: 98238263-926500434-1124369971
4.2、Kobuki Teleop 键盘 测试
在工作区中运行以下命令并按照屏幕上的说明进行操作
source ./install/setup.bash
kobuki-simple-keyop
4.3、ROS使用情况
带导航栈(joysitck 备份)的 Kobuki 系统启动
source ./install/setup.bash
ros2 launch kobuki kobuki_navigation.launch.py
带纵杆启动的 Kobuki 系统
source ./install/setup.bash
ros2 launch kobuki kobuki_joystick.launch.py
Kobuki KeyOp 控制
在工作区中运行以下命令以启动 kobuki 系统。
source ./install/setup.bash
ros2 launch kobuki_node kobuki_node.launch.py
在工作区中运行以下命令以使用 kobuki 键盘控制。
source ./install/setup.bash
ros2 run kobuki_keyop kobuki_keyop_node