立即咨询

电话咨询

微信咨询

立即试用
商务合作

使用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. 重新编译和运行新程序。

 

 

更多产品了解

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

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

都在这里!

 

热门数字化产品

青椒云AIGC云桌面平台青椒云AIGC云桌面平台是一种基于云计算技术的虚拟桌面服务。通过在云端提供可扩展的桌面环境,允许用户通过网络从任意地点访问专属桌面界面。青椒云AIGC平台支持高性能计算和图形处理,适合设计、视频编辑等专业应用场景。此外,它还具备数据安全、远程协作、灵活定制等特点,能够满足不同行业和企业的个性化需求。通过青椒云AIGC,企业可以实现IT资源的集中管理和成本优化,同时提升员工的工作效率和协作灵活性。
酷学院企业培训SaaS平台酷学院多个基于AI技术的培训工具,有效降低培训运营传播,显著提升学习效果。基于对14大热点行业标杆企业的大数据分析,深入研究和实验,建立77个重点岗位职能的测评标准。依托AI技术, 精准提取视频、音频、语音等课件中的知识点, 转换成碎片化的知识内容,并对各个内容设置相应标签,形成系统化的知识图谱。
腾讯云服务器CVM腾讯云云服务器致力于提供安全稳定、高弹性的计算服务,为视频、游戏、金融、互联网等行业知名企业及个人开发者提供稳定的计算服务。支持基于快照创建云盘,支持快照跨地域复制。 一键开启云盘加密,满足安全和认证的需求;基于overlay技术构建逻辑隔离网络空间VPC; 安全组、网络ACL。
华云天下云呼叫中心系统HCC华云天下云呼叫中心系统采用HCCASR/TTS集成,客户可自定义VIP客户转接流程。拥有预测式外呼和预览式外呼两种,提供单声道、双声道、主被叫分离等多种录音方式以及不安装任何插件的情况下, 坐席录音可在线收听和下载 支持MP3,WAV格式等,使企业实现人工智能快速规模化落地。
有成CRM有成CRM是一款SaaS模式的客户关系管理软件,以客户管理为核心,包含客户管理、销售全流程管理,合同订单、项目管理、工单管理、呼叫中心、移动审批、数据分析八大模块。旨在助力企业销售全流程精细化、数字化管理,全面解决了企业销售团队的全流程客户服务难题,帮助企业有效盘活客户资源、量化销售行为,合理配置资源、建立科学销售体系,提升销售业绩。
为你推荐
2025腾讯产业合作伙伴大会|云巴巴荣获双项大奖,载誉而归

1月16日,2025腾讯产业合作伙伴大会在三亚召开。云巴巴,荣膺“2024腾讯云卓越合作伙伴奖—星云奖”和“2024腾讯云AI产品突出贡献奖”双项大奖

2025-01-17
智能仓储管理系统选型全攻略!蓝巨人WCS、畅捷通、商派、富勒、SAP盘点解析

本文将从技术先进性、场景适配性和成本效益三大核心维度,对蓝巨人WCS、畅捷通、商派、富勒、SAP五大系统进行专业对比分析,为企业选型决策提供专业参考。

2025-05-30
智慧医疗管理系统推荐:漪云+DeepSeek如何重构数据与决策链路?

智慧医疗管理系统推荐!漪云诊所管理系统精准分诊,看病效率翻倍!

2025-05-30
游戏厂商如何抵御DDoS、外挂?腾讯ACE轻量级安全方案实战解析

游戏安全系统怎么选?腾讯ACE如何保障游戏安全?开发者必收藏!

2025-05-30
AI大模型如何解决企业知识管理三大痛点?AI问答、权限管理、数据洞察一站式解决方案

随着AI大模型在业务中的渗透,企业对知识库的认知和需求,正在发生巨大变化。知识库本身对于企业级AI的价值,也开始越发凸显。

2025-05-30
查看更多