上一篇文章介绍了ROS wiki的大体结构,回顾戳→ROS wiki系列|ROS wiki初探
接下来的内容就是分模块介绍啦,首先是重头戏Documentation中的ROS部分,上一篇文章讲到这部分主要是关于ROS的介绍、安装、入门、教程、ROS社区的参与、ROS使用支持等
接下来的内容建议大家对照ROS wiki同步翻阅
相信不少新手在刚开始接触ROS时都会带有这样的疑问:ROS是什么?它与其他的机器人操作平台又有什么区别呢?这些在introduction这部分中也进行了阐述
ROS是一个用于机器人的开源元操作系统。它提供了您期望从操作系统获得的服务,包括硬件抽象、低级设备控制、常用功能的实现、进程之间的消息传递和包管理。它还提供了用于在多台计算机上获取、构建、编写和运行代码的工具和库。ROS在某些方面类似于“机器人框架”,如Player、YARP、Orocos、CARMEN、Orca、MOOS和Microsoft Robotics Studio。
ROS运行时“graph”是一个点对点的进程网络(可能分布在不同的机器上),这些进程使用ROS通信基础设施松散耦合。ROS实现了几种不同风格的通信,包括服务上的同步RPC风格通信、主题上的异步数据流以及参数服务器上的数据存储。这些在概念概述中有更详细的解释。
很多人问,“ROS和X有什么不同?”X是另一个机器人软件平台。这是一个很难回答的问题,因为ROS的目标不是成为一个具有最多特性的框架。相反,ROS的主要目标是支持机器人研究和开发中的代码重用。ROS是一个分布式进程框架(又名节点),它允许可执行文件在运行时被单独设计和松散耦合。这些进程可以被分组成包和栈,它们可以很容易地共享和分发。ROS还支持一个联合的代码存储库系统,该系统支持分布式协作。这种设计,从文件系统级别到社区级别,支持关于开发和实现的独立决策,但所有这些都可以与ROS基础设施工具结合在一起。
ROS目前只运行在基于unix的平台上。ROS软件主要在Ubuntu和Mac OS X系统上进行测试,尽管ROS社区一直在为Fedora、Gentoo、Arch Linux和其他Linux平台提供支持。
虽然ROS移植到Microsoft Windows是可能的,但它还没有得到充分的探索。
核心ROS系统以及有用的工具和库定期作为ROS发行版发布。这个发行版类似于Linux发行版,它提供了一组兼容的软件供其他人使用和构建。
由于ROS是开源的,我们希望您能考虑为ROS或与ROS兼容的库做出贡献。请参阅我们的贡献部分,了解更多关于如何参与ROS社区的信息。
Install页面中可以根据自己的需要选择对应的ROS版本和操作平台进行下载,这里以Ubuntu环境下ROS1 Melodic版本的安装为例。
先选择ROS版本:
再选择操作平台:
一般来说按照下面的步骤来操作后都是可以正常安装上ROS环境的~
ROS wiki中的入门指引页面,建议新手从这里起步,先对一些比较基础的东西做好了解
碰到问题不要慌,ROS wiki中也已经料到你会碰到很多问题了,这里有三个解决方式:
1.wiki右上角搜索框
2.提了几百次的ROS Answer页面(请大家刻在DNA里)
3.Documentation-ROS-Support(后面讲)
想获取源码?https://github.com/ros这里都是开源的官方ROS源码
还想看看有没有啥功能包正合你意?上一篇文章里的software-packages走一波
不得不说ROS wiki的入门部分做的很好,充分考虑到了我等小白的使用学习需求!
tutorials这个页面就是ROS的教程大全啦,在开始之前,ROS wiki还为linux新手提供了一个linux命令行工具快速入门的教程页面:here it is!
tutorials中分为六部分,第一部分是比较主要的一些官方教程,第二部分是ROS源码编写标准,第三、四部分是一些库的教程,第五部分是外部ROS学习资源,有一些是课程网站之类的,第六部分是在机器人上实际使用ROS相关的教程。后面在我们讲运用ROS wiki的教程进行源码学习时会进行详细讲解~
这里列举了一百种参与ROS的方式(不是 没有一百种那么多 嘻嘻
某一天你成为ROS大神之时,就是你翻开这部分wiki的时候了!
(因为我只是个菜狗我就不展开讲这里了 呜呜)
反正这里就是各种教程教你怎么参与ROS,包括编辑wiki、创建属于自己的功能包等大神行为
希望看到这篇文章的小伙伴都能早日修炼为大神(双手合十)
ROS的学习使用过程中,我们总是会碰到一些难题,那么官方是怎么提供使用支持的呢?
官方:有问题当然是先去Q&A那里问问啦~
此话在理,我在这里附加一句:有问题当然是先百度一下有没有解决方法啦~
作为一种开源系统,ROS它好就好在大家可以尽情的讨论摸索其中的奥义,并且每个人使用ROS所开发的内容都是千奇百怪的,没准你就在网上发现哪个小伙伴在做跟你一样的探索,没准他还碰上了跟你一样的问题,甚至没准他还解决了这个问题(感天动地啊这种时候),所以真的在学习过程中,多学习一下别人的学习成果,相信你也可以从中收获到自己想要的东西!
如果想要了解ROS相关的最新新闻,戳这,选General,其实说白了就是之前提过的News
看到这里的警告了吗,对了,它是在提醒你论坛和Q&A的使用是不一样的!!!
请不要在 discourse.ros.org 上发布问题。问题应发布到ROS Answers。
ROS Discourse用于新闻和一般兴趣讨论。ROS Answers提供了一个可以通过标签过滤的论坛,以确保相关人员可以找到和/或回答问题,并且不会让每个人都因数百个帖子而超载。
When something fails,don’t cry,看下这里,或许你可以试试下面的方法来debug
先试试1,里面提供了108种排查问题的方法,要是不行咱再搁2里的Q&A问问,咱还是要相信困难总比办法多 ,不是(划掉),办法总比困难多!
还不行的话,我们就只能搁ROS社区里多问问了,Suggestions for reporting issues/requesting features、Guidelines for asking a question 这两部分就是提问守则啦,发布问题或讨论前务必要阅读一下守则哦!遵守社区公约,营造良好开发氛围~
ROS的质量中心,简单来说就是告诉你这里是有人在进行维护并保证页面质量的,如果有质量方面的建议,可以戳这提出。
搞定,下一篇我们来讲Getting Started里的一些基本概念