0
if __name__ == '__main__':

rospy.init_node('ardrone_action_server')
ArdroneAS()
rospy.spin()

我已经用 rospy 初始化了节点,但是我应该将节点命名为与 python 脚本中的名称相同吗?

下面是启动文件:

<launch>
<node name="ardrone_as" pkg="ardrone_as" type="action_server.py" output="screen">

</node>

运行时,启动文件中仅显示节点名称。这是为什么?

4

1 回答 1

0

这是在启动文件中设置节点名称的常见行为。它重新映射(覆盖)在代码中定义的节点名称。您可以在 ROS 节点文档的第 5 章找到它的规范:

__name 是“节点名称”的特殊保留关键字。它允许您重新映射节点名称,而无需知道其实际名称。仅当正在启动的程序包含一个节点时才能使用它。

于 2020-02-13T15:12:13.817 回答