古月居ROS入门21讲学习笔记(核心概念6-8课)

第六课 ROS是什么

ROS=通信机制+开发工具+应用功能+生态系统

通信机制

松耦合分布式通信

开发工具

命令行&编译器
TF坐标变换
QT工具箱
Rviz
Gazebo

应用功能

SLAM
Navigation
Movelt!
关注接口,输入输出就行,其次再关注算法就行。先Google有无类似需求的已有功能

生态系统

发行版
软件源
ROS wiki 资料最完整整理论坛,但是整理的比较松散,建议先Google
邮件列表
ROS Answers
博客www.ros.org/news

第七课 ROS核心概念

通信机制

  • 节点

节点在系统中名字是唯一的

  • 节点管理器

就像节点的“婚姻介绍所”牵线配对

异步通讯——话题

类似于写信

  • 话题

单向通讯,从发布端到订阅端,这个数据传输通道叫话题。同一个话题的订阅者和发布者可以不唯一。

  • 消息

话题的数据类型数据结构。
可以用.msg文件自定义消息文件的接口。
在这里插入图片描述
在这里插入图片描述

同步通讯——服务

类似于打电话,带有反馈。
有客户端,服务端。客户端请求,服务器应答。
在这里插入图片描述
在这里插入图片描述

参数

参数是全局共享字典,可以通过网络访问共享。
要有参数名,参数值,例如:‘foo’的值是‘1’,在图中被发布订阅传输。
建议储存静态的,不变的数据
在这里插入图片描述

文件系统

  1. 功能包:基本单元

  2. 功能包清单

  3. 元功能包:用于同一个目的的多个功能包的集合
    在这里插入图片描述

第八课 ROS命令行工具的使用

常用命令

rostopic
rosservice
rosnode
rosparam
rosmsg
rossrv
后续课程会慢慢讲到

以小海龟为例理解ros机理

  1. 打开一个终端,输入roscore

  2. 新打开一个终端,输入rosrun turtlesim turtlesim_node
    rosrun是运行功能包的指令,rosrun (功能包名)(节点名)

  3. 新打开第三个终端,输入 rosrun turtlesim turtle_teloop_key,就可以用方向键控制小海龟。

  4. 新打开第四个终端,输入rqt_graph,可以看到通讯系统。

1.rosnode

rosnode list:可以看有哪些节点
rosnode info:可以看节点信息。例如rosnode info /turtlesim

2.rostopic

rostopic list:看所有话题
rostopic pub:发布话题例如:rostopic pub -r 10 /turtle1/cmd_vel geometry_msgs/Twist 再按两次Tab键补全线速度和角速度,可以修改。-r是循环重复发布该指令的意思,10 是每一秒发送10遍指令。

3.rosservice

rosservice list :看所有服务
rosservice call:调用服务,例如:rosservice call /spwan

4.rosbag

话题记录:rosbag record -a -o cmd_record. -a是全部都记录,-o是记成压缩包,后面跟压缩包名称。
话题复现:rosbag play cmd_record.bag
做比较麻烦的实验的时候,记录好,然后就可以调整参数来改了,不用重新实验。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值