ROS 入门简介
一、定义介绍
ROS全称Robot Operating System,译为机器人操作系统。基于Linux内核,目前只能在Linux下运行。
顾名思义,ROS是一个系统。它和我们用的普通操作系统类似,ROS将底层的机器人硬件封装起来,也就是说,不同的机器人中包含的各种底层参数,在使用ROS进行开发的人员眼里,都是一样的。这里还要提一下,目前ROS没有一个可视化界面。我们所用的Windows、Linux能直接看到图像界面并操作,是因为它们有一个可视化界面,而ROS没有。我们所谓的操作系统,并不一定是都要有可视化界面才算的,如果有兴趣的可以去看一下最早期的操作系统,只有命令行,并没有绚丽多彩的界面。
ROS是一个多义词,它还可以是一种通讯机制。在ROS开发中,用节点(Node)表示应用程序,一个节点就是一个可执行程序。节点之间就是通过ROS进行通信。ROS通过节点管理器(Master)对各个节点进行管理。至于具体的原理实现等后续再说。
此外,ROS还代表一系列用于机器人开发的工具包、算法、技能、平台、生态等。
ROS的历史。说白了,ROS就是一帮大佬在开发机器人的时候觉得比较好的东西(可以是一些好用的库、软件,也可以是一些思想、协议、标准)汇集在一起后形成的东西。在机器人的开发中,各种各样的机器人没有统一的标准,每次开发一个自己没见过的机器人都需要重新去学习大量的东西,十分的不方便,于是,大佬们借鉴操作系统产生的思想,觉得为什么不可以给机器人也做一套系统来对底层进行封装呢?于是,ROS产生了。经过岁月的打磨,ROS越来越完善,用的人也越来越多了。
二、功能作用
如果你要问我ROS是干什么的,那你只需要知道一句话就够了。ROS是用来做机器人或者机器臂开发的。
机器人开发的历史中,标准化的工作还是没有做到位。不同的机器人,所用的系统、程序等等都不一样,这样导致只要跨平台,开发起来就十分的困难。为了解决这样的问题,ROS诞生了。ROS可以通过封装,使得底层硬件对于开发者来说变得透明,大大降低了跨平台开发的难度。
之所以选择ROS,上面说了那么多其实大家也应该明白了,无非就是,用的人多,普及范围广。ROS所包含的领域、资料、功能、内容、知识等十分丰富,不用它你想去自己编库么?
三、使用方法
这里不介绍如何具体的安装、配置、操作等,只告诉大家如何去学习怎么用。
首先,去官网找指导书、手册等,这个没什么好说的。官网给的永远是最经典的,耐下心来多读几遍,受益匪浅。官网网址:http://wiki.ros.org/ROS/Tutorials/
其次,选好自己的方向,做什么模块就去钻什么模块,不要想着什么模块都做,到最后什么也没精通。先搞懂一个模块,再根据需求去学习其他模块。在学习的过程中一定要多实操,有能力的多看看源码(ROS是开源的)。
然后,ROS是基于Linux内核的,学好Linux会更加有利于你的学习。
再者,ROS大多数使用C++或者Python,这个看个人。
最后,会用只是会用,模块的原理才是你创新、开发的基石,多钻研一下原理大有裨益。
来自:ROS专栏
作者原创文章,文章版权归本文作者所有,未经作者同意请勿以任何方式进行复制、转载等盗版操作,请勿用于商业、违法用途!违者自行承担法律责任!