ROS(温故而知新)一 概念

发布时间:2024年01月15日

如下图所示,机器人由硬件和软件集成而来。

硬件:机械结构设计(本体),硬件设计(传感器,电机等),机械加工。

软件

嵌入式软件:算法植入开发板(ARDUINO等),

上层软件:ros(二级/元操作系统,基于ubuntu(等于windows),在PC端操作。

ros:如下图所示,ros是分布式操作系统,可实现多台计算机的分布式计算,比方说一个基于算力较低版的树梅派(相当于一个微型计算机)开发的导航车,算力不足于实施计算,它仅接收(相机)传感器传入的数据,再将数据传入给PC,由PC计算后,传输给树梅派,再由树梅派进行电机等硬件的控制。

ros=通讯+工具+功能+生态

通讯:如上图所示,本质上是一种数据传输,比方说导航时,相机(节点,可分布于不同主机)等得到的数据要传给ROS系统,系统计算之后得到机器人运动的轨迹要再传输给机器人,这个过程就是通讯的过程。

工具:包括仿真和实机,如果没有实机,想学机器人可以利用仿真进行。

功能:开发好的包(导航包,控制包等)

生态:基于ros的各种开发。参考安卓,

松耦合:ros中有很多包(为了实现一个功能而进行的封装,节点),同一个功能,实现方式不同,会有很多功能相同的不同包,这样就给通讯带来了难题,为了让他它们兼容,ros提供了松耦合,就是说,不关注功能包内部的实现,只关注功能包输出的标准化。以硬件雷达为例,不同厂家雷达功能的实现有所不同,那么传递给ros的信息会有不同,但ros不可能要求雷达厂家改变他们如何实现雷达的功能,所以要求雷达最后传入给ros的信息标准化即可。

兼容:ros可以和其他机器人框架相结合,比如OpenRAVE。

语言独立性:ros支持多语言编程,Python,C++皆可,Java也可,ros是一种语言若相关的框架,不同语言编辑的功能包化作节点,并不影响彼此的信息传输,通信下点功夫就行。

最后:用的人够多,资源最多。

参考文献

1.006ROS安装引言_Chapter1-ROS概述与环境搭建_哔哩哔哩_bilibili

文章来源:https://blog.csdn.net/weixin_48878618/article/details/135597409
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。