ROS日记:ROS开始使用_节点

        目前选定的ROS版本已经安装完毕,该配置的参数和环境完成了配置,Linux和ROS的命令我们也熟悉了一些,必要的概念也做了相应的理解,而工作空间也已经创建,所以是时候开始正式使用ROS了。

这一节主要说明节点的使用。节点指ROS执行任务的进程。

首先,我们要做的是打开一个命令终端:

ctrl+alt+t

输入roscore,roscore是运行其他ROS程序(例如节点)的前提。

我们可以查看一下目前都运行有哪些节点:

rosnode list

没错,目前只有一个节点处于运行状态:

/rosout

这个节点是收集和记录节点调试输出信息用的,所以它总是在运行。你如果好奇这个节点的内部信息,可以使用这个命令显示:

rosnode info /rosout

你可以看到它的发布主题和订阅主题,当然主题的消息类型你也可以看到,就在主题之后的方括号里:

Node [/rosout]
Publications:
 * /rosout_agg [rosgraph_msgs/Log]

Subscriptions:
 * /rosout [unknown type]

Services:
 * /rosout/set_logger_level
 * /rosout/get_loggers

contacting node http://machine_name:54614/ ...
Pid: 5092

它具有的服务也显示在订阅主题“Subscriptions:”位置的下方,有两个服务:

现在,如果你想看看其他节点,就不得不运行它们了,可使用命令:

rosrun

这个命令一次只能运行一个包内节点,运行格式:

rosrun package_name node_name

也就是“rosrun 包名 节点名”,例如,你运行了那个常被用于测试的小乌龟节点:

rosrun turtlesim turtlesim_node

如果输入正确,一切正常,此时会出现一个蓝色背景的小乌龟窗体:

你再使用命令:

rosnode list

会发现此时多了一个节点在运行:

/rosout
/turtlesim

当然ROS特性强大,允许我们修改节点的名称:

rosrun turtlesim turtlesim_node _name:=wugui_turtle

此时再次查看运行的节点:rosnode list,会看到节点名字已经被修改:

/rosout
/wugui_turtle

我们还可以看看它的连通性:

rosnode ping wugui_turtle

到此,节点是怎样运行和如何查看节点信息等知识技能你都get到了,接下来的任务是继续说明主题和服务等其他概念,这些概念都是以节点为基础产生的,节点才是ROS的核心,其他都是为节点服务的。所以节点你已经有所了解,其他概念也只是水到渠成了。

猜你喜欢

转载自blog.csdn.net/jimson_zhu/article/details/81227714