ROS官网初级教程学习总结(5-9)

教程网址:http://wiki.ros.org/cn/ROS/Tutorials
本博客为5-9小节。

理解 ROS节点

图概念概述

  • Nodes:节点,一个节点即为一个可执行文件。节点可以发布或接收一个话题,也可以提供或使用某种服务。
  • Messages:消息,消息是一种ROS数据类型,用于订阅或发布到一个话题。
  • Topics:话题,节点可以发布消息到话题,也可以订阅话题以接收消息。
  • Master:节点管理器,ROS名称服务 (比如帮助节点找到彼此)。
  • rosout: ROS中相当于stdout/stderr。
  • roscore: 主机+ rosout + 参数服务器。

客户端库

ROS客户端库允许使用不同编程语言编写的节点之间互相通信。
- rospy = python 客户端库
- roscpp = c++ 客户端库

roscore

使用rosnode

rosnode 显示当前运行的ROS节点信息。
rosnode list:列出活跃的节点。
rosnode info [结点]:返回一个特定节点的信息。

使用 rosrun

rosrun 允许你使用包名直接运行一个包内的节点(而不需要知道这个包的路径)。
rosrun [package_name] [node_name]

理解ROS话题

使用 rqt_graph

rqt_graph能够创建一个显示当前系统运行情况的动态图形。
$ rosrun rqt_graph rqt_graph

rostopic介绍

rostopic命令工具能让你获取有关ROS话题的信息。
$ rostopic -h
rostopic echo [topic]:显示在某个话题上发布的数据。
rostopic list:列出所有当前订阅和发布的话题。$ rostopic list -h
$ rostopic list -v:在rostopic list中使用verbose选项。

ROS Messages

话题之间的通信是通过在节点之间发送ROS消息实现的。这意味着话题的类型是由发布在它上面的消息类型决定的。
rostopic type [topic]:查看发布在某个话题上的消息类型。
$ rosmsg show turtlesim/Velocity :使用rosmsg命令来查看消息的详细情况
rostopic pub [topic] [msg_type] [args]:把数据发布到当前某个正在广播的话题上。
rostopic hz [topic]:查看数据发布的频率。

使用 rqt_plot

rqt_plot命令可以实时显示一个发布到某个话题上的数据变化图形。
$ rosrun rqt_plot rqt_plot

理解ROS服务和参数

ROS Services

服务(services)是节点之间通讯的另一种方式,服务允许节点发送请求(request) 并获得一个响应(response)。

使用rosservice

rosservice list         输出可用服务的信息
rosservice call [service] [args]        调用带参数的服务
rosservice type  [service]        输出服务类型
rosservice find         依据类型寻找服务find services by service type
rosservice uri          输出服务的ROSRPC uri

使用rosparam

rosparam使得我们能够存储并操作ROS 参数服务器(Parameter Server)上的数据。

rosparam set            设置参数
rosparam get            获取参数
rosparam load [file_name] [namespace]         从文件读取参数
rosparam dump [file_name]          向文件中写入参数
rosparam delete         删除参数
rosparam list           列出参数名

$ rosparam get /:显示参数服务器上的所有内容。

ROS 参数服务器

我们在实现一个机器人的时候,我们一定会遇到需要存储很多参数的情况,当这些参数不断增加的时候我们可能会需要将这些参数存储在文件中,在某些时刻还需要在多个程序间共享这些参数,ROS 为了满足这种需求提供了一个参数服务器,它是一个共享的服务器,所有的ROS节点都可以共享这些参数,任何一个节点都可以对参数服务器上的参数进行增删查改操作。参数服务器可以存储各种类型的数据,并且还可以设置访问的范围是否只有当前的节点可以访问或者全部节点都可以访问。

使用 rqt_console 和 roslaunch

使用rqt_console和rqt_logger_level

rqt_console属于ROS日志框架(logging framework)的一部分,用来显示节点的输出信息。
rqt_logger_level允许我们修改节点运行时输出信息的日志等级(logger levels)(包括Fatal、Error、Warn、Info和Debug)。
$ rosrun rqt_console rqt_console
$ rosrun rqt_logger_level rqt_logger_level

使用roslaunch

roslaunch用来启动定义在launch文件中的多个节点。
$ roslaunch [package] [filename.launch]

Launch 文件解析

<launch>:以launch标签开头以表明这是一个launch文件。
<group ns="turtlesim1">:创建了不同分组并以’命名空间(namespace)’标签来区分。这样可以让我们同时启动两个turtlesim模拟器而不会产生命名冲突。
<node pkg="turtlesim" name="mimic" type="mimic">:启动节点。

使用rosed编辑ROS中的文件

使用 rosed

rosed 可以直接通过package名来获取到待编辑的文件而无需指定该文件的存储路径。rosed默认的编辑器是vim。
$ rosed [package_name] [filename]

已标记关键词 清除标记
相关推荐
<p> <b><span style="background-color:#FFE500;">【超实用课程内容】</span></b> </p> <p> <br /> </p> <p> <br /> </p> <p> 本课程内容包含讲解<span>解读Nginx的基础知识,</span><span>解读Nginx的核心知识、带领学员进行</span>高并发环境下的Nginx性能优化实战,让学生能够快速将所学融合到企业应用中。 </p> <p> <br /> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <b><br /> </b> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <b><span style="background-color:#FFE500;">【课程如何观看?】</span></b> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> PC端:<a href="https://edu.csdn.net/course/detail/26277"><span id="__kindeditor_bookmark_start_21__"></span></a><a href="https://edu.csdn.net/course/detail/27216">https://edu.csdn.net/course/detail/27216</a> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 移动端:CSDN 学院APP(注意不是CSDN APP哦) </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 本课程为录播课,课程永久有效观看时长,大家可以抓紧时间学习后一起讨论哦~ </p> <p style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <br /> </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <strong><span style="background-color:#FFE500;">【学员专享增值服务】</span></strong> </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <b>源码开放</b> </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 课件、课程案例代码完全开放给你,你可以根据所学知识,自行修改、优化 </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 下载方式:电脑登录<a href="https://edu.csdn.net/course/detail/26277"></a><a href="https://edu.csdn.net/course/detail/27216">https://edu.csdn.net/course/detail/27216</a>,播放页面右侧点击课件进行资料打包下载 </p> <p> <br /> </p> <p> <br /> </p> <p> <br /> </p>
<p> <strong><span style="font-size:16px;color:#003399;">会用Python分析金融数据 or 金融行业会用Python</span></strong> </p> <p> <strong><span style="font-size:16px;color:#003399;">职场竞争力更高</span></strong> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdnimg.cn/202012231042221925.png" alt="" /> </p> <p> <br /> </p> <p> <br /> </p> <p> <strong><span style="font-size:16px;color:#003399;">Python金融数据分析入门到实战</span></strong> </p> <p> <strong><span style="font-size:16px;color:#003399;">Get√金融行业数据分析必备技能</span></strong> </p> <p> <img src="https://img-bss.csdnimg.cn/202012231042438069.png" alt="" /> </p> <p> <br /> </p> <p> <br /> </p> <p> <strong><span style="font-size:16px;color:#003399;">以股票量化交易为应用场景</span></strong> </p> <p> <strong><span style="font-size:16px;color:#003399;">完成技术指标实现的全过程</span></strong> </p> <p> <br /> </p> <p> <span style="font-size:14px;">课程选取股票量化交易为应用场景,由股票数据的获取、技术指标的实现,逐步进阶到策略的设计</span><span style="font-size:14px;">和回测,由浅入深、由技术到思维地为同学们讲解Python金融数据分析在股票量化交易中的应用</span><span style="font-size:14px;">。</span> </p> <p> <br /> </p> <p> <span style="font-size:14px;"><br /> </span> </p> <p> <img src="https://img-bss.csdnimg.cn/202012231043183686.png" alt="" /> </p> <p> <br /> </p> <p> <br /> </p> <p> <strong><span style="font-size:16px;color:#003399;">以Python为编程语言</span></strong> </p> <p> <strong><span style="font-size:16px;color:#003399;">解锁3大主流数据分析工具</span></strong> </p> <p> <br /> </p> <p> <span style="font-size:14px;">Python做金融具有先天优势,课程提取了Python数据分析工具NumPy、Pandas及可视化工具</span><span style="font-size:14px;">Matplotlib的关键点详细讲解,帮助同学掌握数据分析的关键技能。</span> </p> <p> <img src="https://img-bss.csdnimg.cn/202012231043472858.png" alt="" /> </p> <p> <strong><span style="font-size:16px;color:#003399;"><br /> </span></strong> </p> <p> <strong><span style="font-size:16px;color:#003399;">2大购课福利</span></strong> </p> <p> <strong><span style="font-size:16px;color:#003399;"><br /> </span></strong> </p> <p> <img src="https://img-bss.csdnimg.cn/202012300628195864.png" alt="" /> </p>
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页