ROS-检查节点是否仍处于活动状态 [英] ROS - check if a node is still alive

查看:10
本文介绍了ROS-检查节点是否仍处于活动状态的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在为一个有四个轮子的设备实现控制节点。到目前为止,我有以下节点:

TALKER:
--Publishes messages for movement of vehicle

LISTENER:
--Listens to messages for movement of vehicle and controls vehicle directly

这两个工作之间的沟通,我唯一的问题是,如果其中一个关闭,以防止车辆不受控制的移动怎么办。ros::isShuttingDown()调用监听程序,以便它检测到它何时将被终止。

然而,如果说话者被关闭,则收听者根据从说话者接收的最后一条消息继续移动车辆。首先,我尝试在Talker中使用ros::isShuttingDown(),以便向监听器发送最终的"停止"消息,但似乎一旦节点关闭,就无法进行通信。

因此,我正在寻找一种方法来检查监听器内部的节点说话者是否仍在运行(或者是否仍在接收新消息)。

有谁知道如何查看一个节点(在本例中是说话者)是否还活着?或者有没有一种简单的方法来检测距离上次收到ROS消息有多长时间?

推荐答案

查看bond包。我相信它完全符合您的需要。

这篇关于ROS-检查节点是否仍处于活动状态的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆