如何通过action判断move_base goal reached
时间: 2023-04-09 14:01:49 浏览: 71
可以通过监听move_base的action状态来判断goal是否已经被达成。当move_base的action状态为SUCCEEDED时,表示已经到达目标点。可以通过以下代码实现:
rospy.Subscriber('/move_base/status', GoalStatusArray, self.move_base_callback)
def move_base_callback(self, data):
if data.status_list:
status = data.status_list[-1].status
if status == GoalStatus.SUCCEEDED:
rospy.loginfo("Goal reached!")
else:
rospy.loginfo("Goal not reached yet.")
相关问题
如何通过C++action判断move_base goal reached
可以通过监听 move_base 的 feedback topic,判断当前机器人是否已经到达目标点。如果 feedback 中的状态为 SUCCEEDED,则说明机器人已经到达目标点。可以使用以下代码实现:
rospy.Subscriber('/move_base/feedback', MoveBaseActionFeedback, feedback_callback)
def feedback_callback(feedback):
if feedback.status.status == 3:
rospy.loginfo("Goal reached!")
如何通过C++的action判断move_base goal reached
可以通过C的action中的feedback信息来判断move_base goal是否已经达成。当move_base成功到达目标点时,会返回一个success的feedback信息,此时可以判断goal已经达成。如果返回的是failure的feedback信息,则说明move_base没有成功到达目标点。