ros2 node list
显示的名字例如从启动文件中的教程比较
https://docs.ros.org/en/foxy/How-To-Guides/Launch-file-different-formats.html
:
有一行同时设置
name
和exec
<node pkg="turtlesim" exec="turtlesim_node" name="sim" namespace="turtlesim2">
当我创建一个包来运行它时,会发生以下情况。
$ ros2 node list
/listener
/mimic
/my/chatter/ns/listener
/my/chatter/ns/talker
/talker
/turtlesim1/sim
/turtlesim2/sim
你可以看到节点名称是如何显示的,有一个额外的警告 - 因为命名空间也被添加,它显示为
<namespace>/<name>
.
现在,对于可执行文件,您可以在 ROS 安装目录中查看它。例如,在我运行
humble
的 Linux 计算机上,有可执行文件。我添加了-l
以显示它是可执行的。
$ ls -l /opt/ros/humble/lib/turtlesim/turtlesim_node
-rwxr-xr-x 1 root root 798384 Jan 17 18:00 /opt/ros/humble/lib/turtlesim/turtlesim_node
查找包中可执行文件的简单方法是通过带有
ros2 pkg executables <package_name>
的选项卡
$ ros2 pkg executables turtlesim
turtlesim draw_square
turtlesim mimic
turtlesim turtle_teleop_key
turtlesim turtlesim_node
你拥有两者的原因是因为你可能在 DDS 域中多次重复使用相同的可执行文件,所以
name
或 namespace
可以用来区分它们。