看完这个还能不知道ROS是啥?!
-
- 第1讲 课程介绍
- 第2讲 Linux系统介绍及安装
- 第3讲 Linux系统基础操作
- 第4讲 C++&Python极简基础
- 第5讲 安装ROS系统
- 第6讲 ROS是什么
- 第7讲 ROS的核心概念
- 第8讲:ROS命令行工具
- 第9讲 创建工作空间与功能包
- 第10讲 发布者Publisher的编程实现
- 第11讲 订阅者Subscriber的编程实现
- 第12讲 话题消息的定义和使用
- 第13讲 客户端Client的编程实现
- 第14讲 服务端Server的编程实现
- 第15讲 服务数据的定义与使用
- 第16讲 参数的使用与编程方法
- 第17讲 ROS中的坐标系管理系统
- 第18讲 tf坐标系广播与监听的编程实现
- 第19讲 launch启动文件的使用方法
- 第20讲 常用可视化工具的使用
- 第21讲 课程总结与进阶攻略
- 结语
- 怕什么真理无穷,进一寸有进一寸的欢喜
第1讲 课程介绍
ROS:Robot Operating System,机器人操作系统
通信机制+开发工具+应用功能+生态系统
Powering the world’s robots——机器人领域的普遍标准
- 基础概述
- 核心概念
- 编程基础
- 常用组件
- 进阶展望
使用Google浏览器可以找到很多问题
第2讲 Linux系统介绍及安装
1991年,芬兰赫尔辛基的大学生Linus Torvalds编写
企鹅logo:敢作敢为,热爱生活
第3讲 Linux系统基础操作
软件源
软件更新中可以设置软件源,校园网用edu的源,家里的话可以用阿里云
命令行
可扩展性和灵活性更好
根目录是“/”文件夹,里边有home,usr等文件夹
软件安装一般在usr文件夹
home文件夹中有以用户名字为名称的文件夹,进去之后是自己的文档资料,或者叫“主目录”
pwd:查看当前终端所在路径
cd:切换路径
cd /home:到达/home目录下
cd …:回到上一级
mkdir:创建文件夹命令
touch:创建文件命令
mv:剪切命令
cp:拷贝命令
rm:删除命令,-r表示递归删除
sudo:表示指令以最高权限执行
sudo apt-get update:更新系统软件源列表
[指令] --help:帮助指令,看到指令使用方法
第4讲 C++&Python极简基础
g++是c++的编译器:sudo apt-get install g++
安装Python解析器:sudo apt-get insta;; python
编译&运行.cpp文件:g++ [.cpp] -o [可执行文件] + ./[可执行文件]
解析.py文件:python [.py]
可以使用Tab键进行命令的补全
第5讲 安装ROS系统
看一遍授课视频,结合官方的安装流程,就基本上问题不大。官网安装教程如下:
官方安装教程.
遇到了一个小问题,解决办法如下:
ubuntu18.04安装ROS时出现错误ERROR: cannot download default sources list from解决办法.
最终实现小乌龟跑动:
第6讲 ROS是什么
2007年诞生,2010年,ROS正式进入公众视野(正式发布)。
核心目标:提高机器人研发中的软件复用率
- 通信机制:松耦合分布式通信
- 开发工具:命令行&编译器、TF坐标变换、QT工具箱、Rviz、Gazebo
- 应用功能:Navigation、SLAM、Movelt
- 生态系统:发行版、软件源、ROS wiki、邮件列表、ROS Answers、Blog博客
第7讲 ROS的核心概念
节点与节点管理器
节点(Node):执行单元
- 可执行文件
- 可以是不同的语言,可分布式运行在不同的主机
- 节点名称必须唯一
节点管理器(ROS Master):控制中心
- 为节点提供命名和注册
- 跟踪和记录话题/服务通信,辅助节点相互查找、建立连接
- 提供参数服务器(Parameter Server),节点使用此服务器存储和检索运行时的参数(全局参数笔记本)
话题通信
话题(Topic):异步通信机制
- 节点间传输数据的重要总线
- 使用发布/订阅模型,数据由发布者传输到订阅者,同一话题的订阅者或发布者可以不唯一
消息(Message):话题数据
- 具有一定的类型和数据结构,包括ROS提供的标准类型和用户自定义类型
- 使用变成语言无关的.msg文件定义,编译过程生成对应的代码文件
服务通信
服务(Service):同步通信机制
- 使用客户端/服务器(C/S)模型,客户端发送请求数据,服务器完成处理后返回应答数据(请求&应答)
- 使用编程语言无关的.srv文件定义请求和应答数据结构,编译过程中生成对应的代码文件
参数
参数(Parameter):全局共享字典
- 可通过网络访问的共享、多变量词典
- 节点使用此服务器来存储和检索运行时的参数
- 适合存储静态、非二进制的配置参数,不适合存储动态配置的数据
文件系统
功能包(Package):ROS软件中的基本单元,包含节点源码、配置文件、数据定义
功能包清单(Package manifest):记录功能包的基本信息,包含作者信息、许可信息、依赖选项、编译标志
元功能包(Meta Packages):组织多个用于同一目的的功能包
第8讲:ROS命令行工具
小海龟运行解析:
rqt_graph:显示系统计算图的命令
通过图可以看到系统全貌,各节点关系