立即咨询

电话咨询

微信咨询

立即试用
商务合作

使用Kinetic和Melodic的同学请注意!

2022-11-21

 

不知道各位使用Kinetic和Melodic的小伙伴最近有木有遇到这样的一个问题:之前好端端的一套代码,在重装了Ubuntu和ROS之后,突然运行报错了:

是的,你没看错,确实是黑底红字的error。到底咋回事,下面看看官方的说明。

一、官方说明

关于这个问题的最早消息,是在github上ROS源码项目的Pull requests里,原文网址:

https://github.com/ros/joint_state_publisher/pull/31

大致意思就是,原来的joint_state_publisher功能包将会分裂成两个不同的包:

其中一个,名字还是joint_state_publisher,只是不带GUI界面。

另一个,名字变成joint_state_publisher_gui,带有GUI界面。

这是什么意思呢?这就要从joint_state_publisher的用法讲起:

我们知道,在ROS里描述机器人模型,使用的是urdf文件。在运行程序的launch文件中,我们会将这个urdf文件名赋值到到环境变量robot_description。然后再启动joint_state_publisher包里的joint_state_publisher节点,它会自动解析robot_description里的关节(joint)名称和角度,发送到主题sensor_msgs/JointState里。这样我们就能在Rviz里看到机器人的关节处于一个初始的弯曲角度。

在很多的ROS教程的urdf的章节,会特别提到use_gui这个bool类型变量。use_gui的默认值是false,这时候运行的Rviz,只会显示机器人的模型和关节初始角度。当use_gui被赋值为true的时候,除了Rviz会显示机器人的模型和关节初始角度,还会额外弹出一个小窗口,里面有一系列调节数值的滑杆,每个滑杆都和urdf里的关节角度值有所对应,这样就能通过拖动这个窗口里的滑杆,控制Rviz里的机器人模型的关节角度。这个功能在标定一些传感器参数(比如Kinect立体相机)和构建机器人urdf模型的时候常常会用到。

按照官方的说法,将会去除使用use_gui来决定joint_state_publisher运行状态的机制,直接将joint_state_publisher分拆成带滑杆窗口和不带滑杆窗口的两个不同功能包。这么做的理由是可以保持joint_state_publisher处于一个依赖比较少的轻松状态(毕竟QtGUI依赖库确实太大了)。

二、具体的影响

1. 如果只是使用joint_state_publisher发布机器人关节的默认角度,那么恭喜你,这次的分裂对你没有影响。

2. 如果在使用joint_state_publisher的同时,还将use_gui赋值为true,那么在新的版本里,会得到如下error提示:

程序报错退出,Rviz无法启动。

3. 在我们的测试当中,发现似乎只有在2020年1月之后新安装的ROS系统才会受到这个影响。在2020年1月之前安装的ROS系统,无论Kinetic还是Melodic,都不会出现上述问题,但是1月份之后重装系统,就会出现这个问题。说明这里面还存在版本同步的问题,具备一定的隐蔽性。

三、解决方法

1. 如果现在已安装的ROS版本没有出现上述问题,可以暂不理会。如果已经遇到关于joint_state_publisher的运行error,请按照如下步骤进行调整。

2. 首先是安装新的joint_state_publisher_gui功能包。

如果是Kinetic版本,运行如下指令:

sudo apt update

sudo apt install ros-kinetic-joint-state-publisher-gui

如果是Melodic版本,运行如下指令:

sudo apt update

sudo apt install ros-melodic-joint-state-publisher-gui

3. 修改launch文件,将里面的joint_state_publisher修改为joint_state_publisher_gui。

4. 重新编译和运行新程序。

 

 

更多产品了解

欢迎扫码加入云巴巴企业数字化交流服务群

产品交流、问题咨询、专业测评

都在这里!

 

热门数字化产品

句子互动SCRM系统句子互动SCRM系统,把企业微信账号变成机器人,实现更效率和高频次的触达。基于预设规则和对象特征,让消息推送更智能更精准。 帮助企业打通内外部系统的数据系统,实现更多灵活、更个性化的营销和服务能力开发。同时支持私有部署、iframe嵌入等多种系统接入方式。
酷学院企业培训SaaS平台酷学院多个基于AI技术的培训工具,有效降低培训运营传播,显著提升学习效果。基于对14大热点行业标杆企业的大数据分析,深入研究和实验,建立77个重点岗位职能的测评标准。依托AI技术, 精准提取视频、音频、语音等课件中的知识点, 转换成碎片化的知识内容,并对各个内容设置相应标签,形成系统化的知识图谱。
分贝通企业支出管理平台分贝通企业支出管理方案,全面满足企业费用支出管理需求。一站式企业支出管理平台,体验全新企业支出体验,全流程费控,全场景支付,提供整合的数据及流转。为高成长企业带来一站式的企业支付体验,帮助财务更高效、更数字化的管理费用支出。
网易瑶台网易瑶台,通过AI算法加持,只需要一张照片即可生成个性化形象,并支持200+维度的自由捏脸,打造元宇宙专属虚拟角色。基于分布式服务框架,支持十万虚拟角色实时在线,通过AOI(感兴趣区域)机制,实现万人同屏下虚拟角色间可见、可交互。
小望电商通小望电商通,全面数字化的电子发票(简称全电发票),是以可信身份认证体系和新型电子发票服务平台为依托,以标签化、要素化、去版式、授信制、赋码制为特征,以全领域、全环节、全要素电子化为运行模式的新型电子发票。
为你推荐
直播间在线人数卡在500上不去?天志互联抽盒系统从互动率破局

抖音算法推流核心指标是互动率而非GMV。天志互联直播抽盒系统从订单秒级上屏、一键拆盒、氛围引爆三个维度拉高互动率,驱动算法推流的正循环。

2026-06-26
品牌联名越做越亏?天志互联用游戏化体验共创重新定义IP营销

从"换皮联名"到"游戏化体验共创"——拆解彩棠敦煌联名案例的壁画修复小游戏设计逻辑、奶茶品牌联名翻车教训和中小品牌三条低成本高ROI的IP联名路径。

2026-06-26
一个人也能搭游戏化运营体系?低代码时代品牌运营的乐高式搭建指南

低代码时代品牌游戏化运营体系的"乐高式"搭建指南——从选模板、搭积分闭环、数据迭代到多活动并行管理和团队交接的全流程实操方法。

2026-06-26
私域社群打开率跌破3%以后:一个快消品牌的游戏化自救实验

一个快消品牌用游戏化方法三个月救活240个死群的完整复盘——从签到排行榜、互动任务、习惯养成到赛季制防疲劳的六周运营节奏拆解。

2026-06-26
品牌私域裂变怎么设计才不被骂?游戏化社交裂变的三个底线原则

游戏化社交裂变的三个底线原则深度拆解——让转发不像广告、让奖品有炫耀价值、给用户不转发的自由,加3%超级用户识别策略和三个常见翻车点避坑指南。

2026-06-26
查看更多