运行ROS节点
在任何节点启动之前, 必须有且只有一个roscore实例在运行。
在终端输入:
roscore
它的响应是一页结尾为“启动核心服务”的内容。随后,你可以缩小窗口就不用管它了。
ROS节点无须启动新的roscore, 就可以随意启动和停止。(然而, 如果你关闭了roscore或运行roscore的窗口, 所有节点都会停止运行) 。
a.启动新的发布器节点(从一个新的终端):
rosrun my_minimal_nodes my_minimal_publisher
rosrun的这些参数是程序包名(my minimal nodes) 和可执行文件名(my_minimal_publisher) 。
它遵循如下格式:rosrun package_name executable_name
b.检查运行中的最小发布器节点
输入:
rosnode list //当前有哪些节点在运行
在输入rosrun my_minimal_nodes my_minimal_publisher后。启动该节点的窗口好像被卡住, 没有任何反应。但是my_minimal_publisher仍在运行, 我
们可以调用一些ROS工具看到它。
打开一个新的终端并输入:
rostopic
你可以看到下面的响应:
rostopic is a command-line tool for printing information about ROS Topics. Commands: rostopic bw display bandwidth used by topic rostopic echo print messages to screen rostopic find find topics by type rostopic hz display publishing rate of topic rostopic info print information about active topic rostopic list list active topics rostopic pub publish data to topic rostopic type print topic type Type rostopic<command>-h for more detailed usage, e.g.‘rostopic echo-h‘
我们输入:
rostopic list //查询有几个话题 rostopic hz topic1 //创立topic1的发布器以多少的频率发布它的数据 rostopic bw topic1 //创立topic1的发布器消耗了多少可用通信带宽 rostopic info topic1 //topic1包含了什么类型的信息,创建topic1的发布器包含什么节点 rostopic echo topic1 //输出在topic1上发布的一切
rostopic命令告诉我们很多关于正在运行的系统的状态,即使没有节点收到由最小发布器发送的消息。
输入:
rosnode list //当前有哪些节点在运行