ros节点
概念
节点实际上只不过是ROS软件包中的一个可执行文件。ROS节点使用ROS客户端库与其他节点通信。节点可以发布或订阅话题,也可以提供或使用服务。
roscore
roscore是你在运行所有ROS程序前首先要运行的命令。
roscore
# 如果roscore不能初始化并提示缺少权限,可能是因为~/.ros目录属于root用户(只有root用户才能访问),可以用以下命令递归地更改该目录的所有权:
sudo chown -R <your_username> ~/.ros
rosnode
rosnode显示当前正在运行的ROS节点信息。rosnode list命令会列出这些活动的节点:
rosnode list
而rosnode info命令返回的是某个指定节点的信息。
rosnode info /rosout
# rosout这个节点用于收集和记录节点的调试输出,所以它总是在运行的。
rosrun
rosrun可以让你用包名直接运行软件包内的节点(而不需要知道包的路径)。
rosrun [package_name] [node_name]
rosrun turtlesim turtlesim_node
在一个新终端中:
rosnode list
输出为
/rosout
/turtlesim
ROS有一个强大的功能,就是可以通过命令行重新分配名称。
关闭turtlesim窗口以停止节点(或回到rosrun turtlesim的终端并按Ctrl+C)。重新运行它,但是这一次使用重映射参数来改变节点名称:
rosrun turtlesim turtlesim_node __name:=my_turtle
新窗口
rosnode list
输出为
/rosout
/my_turtle
使用另外一个rosnode指令,ping,来测试它是否正常:
rosnode ping my_turtle
本文来自博客园,作者:不想要名字,转载请注明原文链接:https://www.cnblogs.com/xuwithbean/articles/17809095.html