您的位置:首页 > 其它

ROS学习笔记(2)

2018-03-20 22:16 211 查看
1. 理解ROS节点

图概念概述:

Nodes:节点,一个节点为一个可执行文件,可以通过ROS与其他节点通信

Messages:消息,一种ROS数据类型,可以订阅或发布到一个话题

Topics:话题,节点可以发布消息到话题,也可以订阅话题接收消息

Master:节点管理器,ROS名称服务

rosout:相当于 stdout/stderr

roscore:主机 + rosout + 参数服务器

客户端库:

允许使用不同编程语言编写的节点之间进行通信

● rospy = python 客户端库

● roscpp = c++ 客户端库

使用 rosnode

查看当前正在运行的节点:



查看具体节点信息:



使用rosrun

使用包名直接运行一个包内的节点:

可以直接改变节点名称

改变节点名称后,可以再次通过rosnode list 查看运行的节点列表

并通过rosnode 命令 ping 测试节点

2. 理解ROS话题

任何时候,只需有一个roscore运行,否则会报错。

节点之间通过话题通信,一个节点在一个话题上发布消息,另一个节点订阅该话题以接收消息。

使用rqt_graph创建显示当前系统运行情况的动态图形。

使用rqt_plot 命令可以显示发布到某一话题上的数据变化情况。

使用 rostopic echo 命令行工具,可以查看话题发布的数据

使用 rostopic list 可以查看发布和订阅的话题及其类型的详细信息

发布器与订阅器之间的通信,必须发送和接收相同类型的消息,也就意味着话题类型是由发布在它上面的消息类型决定的。使用 rostopic type 命令可以查看发布在某个话题上的消息类型。

使用 rosmsg 命令查看消息的详细情况

使用 rostopic pub 命令可以发布数据到当前某个正在广播的话题上。

使用 rostopic hz 可以查看数据发布的频率

3. 理解ROS服务和参数

服务允许节点发送一个请求(request)并获得一个响应(response)

rosservice常用命令:

rosservice list —— 输出可用服务的信息

rosservice call —— 调用带参数的服务

rosservice type —— 输出服务类型

rosservice find —— 根据类型寻找服务

rosservice url —— 输出服务的ROSRPC url

可以使用 rosparam 存储和操作ROS参数服务器上的数据。

常用命令:

rosparam set —— 设置参数

rosparam get —— 获取参数

rosparam load —— 从文件读取参数

rosparam dump —— 向文件中写入参数

rosparam delete —— 删除参数

rosparam list —— 列出参数名

4. 使用 rqt_console 和 roslaunch 进行调试

rqt_console 属于ROS日志框架的一部分,用于显示节点的输出信息。

rqt_logger_level 允许修改节点运行时输出信息的日志等级。

使用 roslaunch 启动定义在 launch 文件中的多个节点。

在工作空间下创建 launch文件夹,在文件夹下创建 .launch 后缀的配置文件,然后运行。

可同时运行多个节点和模仿节点。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: