1

我试图检查一个节点是否已经初始化了 python 脚本的另一部分?因此,如果我正在编写一个包含许多 pubs/subs 的客户端类。它需要一个节点才能处于活动状态,因此应该创建一个节点。但是如果我在初始化对象之前创建了一个节点。它会抛出以下错误:

raise rospy.exceptions.ROSException("rospy.init_node() has already been called with different arguments: "+str(_init_node_args))

那么有没有办法检查脚本是否已经初始化?所以如果它不存在并且如果一个确实存在并且不尝试创建另一个节点,我可以创建一个。

4

1 回答 1

2

一种快速而肮脏的方法是将init_node调用放在 try...except 块中。像这样的东西:

try:
    rospy.init_node("NODE_NAME_HERE")
except rospy.exceptions.ROSException as e:
    print("Node has already been initialized, do nothing")
于 2020-07-23T17:11:28.433 回答