ros入门–中科院软件所ros学习笔记

视频链接:

中科院软件所-机器人操作系统入门(ROS入门教程)_哔哩哔哩_bilibili

中科院软件所-机器人操作系统入门(ROS入门教程)_哔哩哔哩_bilibili

另外有一个不错的 学习网址:
http://www.autolabor.com.cn/book/ROSTutorials

本文是截图和文字大部分摘抄自网络,如果有侵权请联系及时删除!

看完了古月居的ros教学视频后,又来看看中科院的ros视频视频,在看博客的时候有人把古月居的21讲做成了简单的博客,感觉很赞,所以我也模仿着做。希望对初学者有帮助。大家一起共同进步!

1、机器人相关的背景介绍

这里省略

2、ros起源,版本介绍

ros起源,这里省略

ros是什么:机器人软件系统架构,框架+工具+功能+社区。

框架:分布式+进程管理+进程间通信

ros中的节点(Node)类似进程,在ros中我们一般不说进程,一般说节点这概念,如果有人告诉你我这个机器人跑起来启动7、8个节点,那就是说有七八个进程在运行。

分布式架构好处,扩展性好,软件复用率高,比如更改雷达,只有更改雷达节点就可以了。

ros入门--中科院软件所ros学习笔记

工具:rviz,Gazebo,rqt

ros入门--中科院软件所ros学习笔记

功能:

ros入门--中科院软件所ros学习笔记

社区:

ros入门--中科院软件所ros学习笔记

ros相关的学习网站:

Documentation – ROS Wiki

https://github.com/ros

3、机器人与ros演示

ros入门--中科院软件所ros学习笔记

4、ros安装和配置

主要使用官方提供的网站按步骤安装就可以了:

kinetic/Installation/Ubuntu – ROS Wiki

重德智能开源库(此视频开源库):

https://github.com/DroidAITech

https://github.com/DroidAITech/ROS-Academy-for-Beginners

开发环境使用:roboware studio

5、Catkin工作空间和编译系统

 

ros入门--中科院软件所ros学习笔记

 catkin:ros定制的编译构建系统,对cmake的扩展。

创建工作空间教程:

catkin/Tutorials/create_a_workspace – ROS Wiki

步骤如下:

这里穿插自己的理解

根据自己的理解,ros工作空间就是类似c++的工程项目名称。只是工作空间有一定的格式要求,实践表明catkin_ws这个文件夹的名称可以自己命名,不一定要用catkin_ws,但src这个文件夹一定要有,并且不可自己命名,也有可能可以自己命名,只是我自己没用对方法。有知道的朋友可以在评论区留言。

ros入门--中科院软件所ros学习笔记

ros入门--中科院软件所ros学习笔记

ros入门--中科院软件所ros学习笔记

6、功能包

ros入门--中科院软件所ros学习笔记

ros入门--中科院软件所ros学习笔记

(1)cmake简单介绍

ros入门--中科院软件所ros学习笔记

ros入门--中科院软件所ros学习笔记

如果没有cmake基础的可以去看《cmake实践》 ,好像和《CMake Practice》是同一本书只是不同叫法或者是中英文叫法而已。

(2)package.xml简单介绍

ros入门--中科院软件所ros学习笔记

 

ros入门--中科院软件所ros学习笔记

ros入门--中科院软件所ros学习笔记

 (3)代码文件

一般代码文件可以是脚本(shell、Python)或者C++文件。

ros入门--中科院软件所ros学习笔记

 package结构示意图:

ros入门--中科院软件所ros学习笔记

  package还有有自定义通信格式的文件,包括消息(msg),服务(srv),动作(action)等

ros入门--中科院软件所ros学习笔记

  这时候package结构就像下面这样了

ros入门--中科院软件所ros学习笔记

  package还有launch文件,配置文件(yaml)。launch用于每次可以运行多个可执行文件。

 

ros入门--中科院软件所ros学习笔记

  这时候package结构图如下

ros入门--中科院软件所ros学习笔记

总体框架(视频缺少config文件,我添加上去了) 

ros入门--中科院软件所ros学习笔记

 (4)常用指令

ros入门--中科院软件所ros学习笔记

 7、操作演示,catkin工作空间探索

安装一个比较好用的,查看代码层次的工具:tree

 可以直接使用tree,这时候将列出所有的文件,这里只复制了一部分没有全部复制完。

如果只想看展开一层的文件夹可以用 tree -L 1,这里就不详细列出来,可以用tree –help查看tree的使用方法

来源:斗转星移3

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年6月16日
下一篇 2021年6月16日

相关推荐