运行ros2 control指令提示 [RTPS_TRANSPORT_SHM Error] Failed init_port fastrtps_port

运行ros2 control指令提示 [RTPS_TRANSPORT_SHM Error] Failed init_port fastrtps_port

鱼香ROS介绍:

鱼香ROS是由机器人爱好者共同组成的社区,欢迎一起参与机器人技术交流。
进群加V:fishros2048

文章信息:

标题:运行ros2 control指令提示 [RTPS_TRANSPORT_SHM Error] Failed init_port fastrtps_port
原文地址:https://fishros.org.cn/forum/topic/84
关键词:
参与者: 小鱼,
版权声明: 文章中所有知识产权归鱼香ROS及原作者所有。


1. 小鱼喜滋滋的说:

这是一个自问自答的问题记录。

在使用ros2 control CLI时遇到的RTPS报错,提示无法连接服务。

$ ros2 control list_hardware_interfaces
2022-03-27 12:15:30.282 [RTPS_TRANSPORT_SHM Error] Failed init_port fastrtps_port7412: open_and_lock_file failed -> Function open_port_internal
Could not contact service /controller_manager/list_hardware_interfaces



2. 小鱼看着电脑说:

造成该问题的原因是找不到和这个服务通信的数据类型。

可以采用下面的命令安装下,重新运行即可。其中foxy可以替换为你自己的ros2版本。

sudo apt install ros-foxy-controller-manager*


3. 小鱼看着天空说:

造成该问题的原因是找不到和这个服务通信的数据类型。

可以采用下面的命令安装下,重新运行即可。其中foxy可以替换为你自己的ros2版本。

sudo apt install ros-foxy-controller-manager*


好的,我明白了。为了回答你的问题,我先介绍一下这两个类的背景。 ros::Subscriber 是 ROS 框架中的一个类,用于订阅 ROS 中的消息。其中的 ros 是 Robot Operating System 的缩写,是一个用于机器人开发的软件平台。ROS 中的消息包含了许多不同类型的数据,例如图像、激光扫描数据、IMU 数据等等。开发者可以使用 ros::Subscriber 来订阅感兴趣的消息,然后在回调函数中处理这些消息。具体来说,图像通常是以 sensor_msgs/Image 类型的消息发布的,开发者可以使用 ros::Subscriber<sensor_msgs::Image> 来订阅这些消息。 image_transport::Subscriber 同样是 ROS 框架中的一个类,但是它是在 image_transport 包中定义的。与 ros::Subscriber 不同,image_transport::Subscriber 是专门用于订阅图像数据的。image_transport 包提供了一个更高效的图像传输方式,可以大大减少图像传输的带宽占用和延迟。在使用 image_transport::Subscriber 订阅图像时,需要指定图像的传输方式,例如 JPEG 或 PNG 等等。这样可以在传输过程中对图像进行压缩,以减小数据的大小。由于压缩会导致一定的损失,因此需要根据具体的应用来决定压缩的程度。 总之,ros::Subscriber 和 image_transport::Subscriber 都可以用于订阅图像,但是它们的实现方式有所不同。在处理图像数据时,image_transport::Subscriber 更高效,因为它在传输过程中对图像进行了压缩。但是,它需要额外的传输方式来支持这种高效的传输方式,因此在使用时需要更加小心。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值