首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >避免多次调用rospy.init_node()

避免多次调用rospy.init_node()
EN

Stack Overflow用户
提问于 2020-07-02 22:38:01
回答 1查看 318关注 0票数 1

我正在尝试检查一个节点是否已经被初始化到python脚本的另一个部分?因此,如果我正在编写一个包含大量pub/sub的客户端类。它需要一个活动的节点,所以应该创建一个节点。但是如果我在初始化对象之前创建一个节点。它将抛出以下错误:

代码语言:javascript
复制
raise rospy.exceptions.ROSException("rospy.init_node() has already been called with different arguments: "+str(_init_node_args))

那么有没有办法检查脚本是否已经被初始化了呢?因此,如果它不存在,并且存在并且不尝试创建另一个节点,则可以创建一个。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-24 01:11:28

一个简单快捷的方法是将init_node调用放在一个try...except块中。如下所示:

代码语言:javascript
复制
try:
    rospy.init_node("NODE_NAME_HERE")
except rospy.exceptions.ROSException as e:
    print("Node has already been initialized, do nothing")
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62698860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档