• 01- ROS初识


    目录

    一、为什么要使用Ros

     二、什么是Ros

    2.1 框架

    2.2 工具

    2.3 功能

    2.4 社区

    三、 ROS发展史(10年)


    一、为什么要使用Ros

    过去工程量庞大,如果某环节出现问题,不利于发现和解决

    由于早期电脑没有操作系统,工程师面对的直接是硬件,如一个个电子管:

     自从有了操作系统和产业分工,每个厂商都按照操作系统规定的模型来提供驱动,这样用户和开发人员不用关心底层硬件:

     同样的道理,现在的机器人领域同样在走这条路。机器人零部件厂商(机械臂、底盘、激光雷达、摄像头)都在一个通用的机器人软件平台上进行开发,用户买回来可以直接使用,这样是最好的。因此机器人领域出现一个平台是Ros。

    Ros已经发展了10年了, 已经成为了机器人领域主流的操作系统,相当于80、90年代的windows,Mac。有了Ros,机器人的开发和使用就变得简单和高效。

     二、什么是Ros

    Robot Operating System 机器人操作系统

    ROS 是运行在Linux上的中间件/类操作系统,它连接了真正的操作系统和你写的程序,提供了类似于操作系统的功能(硬件抽象、底层设备控制、常用函数的实现、进程间消息传递、包管理),ROS是一个软件工具集。

    2.1 框架

    框架:就是ROS规定了一套规范。

    很多时候我们说的ROS,就是它的通信框架

    ROS采用的是分布式架构,可以运行多个进程,每个进程又可以单独设计,然后放在一起组合起来。

    ROS里面的进程,通常我们说是节点(Node)。

     robot控制,laster激光雷达采集,map建图,localization定位,planner路径规划这些都是Node。ROS提供了这个框架来管理这些Node,提供他们之间相互通信的桥梁。有了这样一套程序组织,我们运行这几个Node,机器人就可以实现自主导航的功能。

    为什么要用这种分布式架构呢?

    分布式架构的好处就是扩展性好,软件复用率高。如果想加入一个新的传感器,只需将新的传感器按照ROS规定的通信方式来传输数据。

    软件复用(SoftWare Reuse)是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。软件复用是提高软件生产力和质量的一种重要技术。

    2.2 工具

    ROS提供了许多基础仿真工具,如Gazebo,Rviz、rqt 等, 开发人员面对的是可视化的界面

    Gazebo:

    Rviz

    2.3 功能

    ROS 提供各种功能包(控制,规划,视觉,建图)

    比如:你想做一个人脸识别的算法,让机器人识别人脸。你就不需要做路径规划,建图定位,控制的算法,直接使用ROS的软件包加上自己的人脸识别算法,专注于做自己最擅长的事情

    软件包的途径:ROS官方网站   ROS WIKI  GitHub

    2.4 社区

    ROS广义上是一个庞大的社区或生态系统,很多程序都是以软件包形式管理类似一个apt-get软件包管理工具,安装和使用都非常方便。

    三、 ROS发展史(10年)

    10几个版本,每个Ros版本都依赖一个Ubuntu版本(最佳适配版本),

    如ROS Indigo2014最佳适配版本是14.04,ROS Kinetic 2016最佳适配版本是16.04。

    cn/ROS/Installation - ROS Wikiros安装地址:http://wiki.ros.org/cn/ROS/Installation

  • 相关阅读:
    055-第三代软件开发-控制台输出彩虹日志
    如何避免由 Web 字体引起的布局偏移
    2022年国赛建模B题思路与程序
    C#_预处理指令
    鼓楼夜市管理wpf+sqlserver
    CTFHub | 过滤空格
    consul服务注册与发现、服务配置与刷新
    shell脚本常用命令(三)
    Redis学习总结(三)
    【软考软件评测师】基于规则说明的测试技术上篇
  • 原文地址:https://blog.csdn.net/peng_258/article/details/126920412