ROS2 Humble下rosbridge与ros3djs集成适配方案咨询
ROS2 Humble 下 ros3djs + rosbridge + TF 兼容方案
推荐的库版本/分支组合
- rosbridge_server: 使用ROS2 Humble官方apt包(版本
0.11.14-1jammy.20240319.180724及以上) - tf2_web_republisher_py: 采用适配ROS2的
humble分支 - roslibjs & ros3djs: 使用对应项目的
ros2分支静态文件或源码构建产物
解决报错的关键操作步骤
重新构建适配的tf2_web_republisher_py
- 拉取正确分支源码:
git clone -b humble https://github.com/ros2/tf2_web_republisher_py.git - 在ROS2工作空间内编译并生效:
colcon build --packages-select tf2_web_republisher_py source install/setup.bash
该分支已修正ROS2环境下的Action消息定义,可解决
TFSubscriptionActionGoal找不到的报错。- 拉取正确分支源码:
替换前端依赖文件
- 用roslibjs项目
ros2分支的编译产物替换网页中的roslib.js - 用ros3djs项目
ros2分支的文件替换前端依赖,确保TF客户端逻辑适配ROS2接口
- 用roslibjs项目
验证服务连通性
- 启动rosbridge服务:
ros2 launch rosbridge_server rosbridge_websocket_launch.xml - 启动TF转发服务:
ros2 run tf2_web_republisher_py tf2_web_republisher - 加载测试网页,确认ros3djs可正常订阅TF数据
- 启动rosbridge服务:
额外注意事项
- 禁止混合不同ROS版本分支的库文件,比如ROS1的roslibjs搭配ROS2的rosbridge会触发接口兼容问题
- 使用apt安装rosbridge_server时,务必选择Humble对应稳定版,避免旧版本的Action消息解析bug
内容的提问来源于stack exchange,提问作者Daniele
相关产品推荐
相关产品推荐

