码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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

  • 相关阅读:
    数据分析 | Pandas 200道练习题,每日10道题,学完必成大神(5)
    SpringBoot:使用Spring Batch实现批处理任务
    网络安全(黑客)自学
    Kotlin VS Java区别较量?看了对比我更喜欢Kotlin
    JSP汽车维修服务管理系统myeclipse开发SqlServer数据库bs框架java编程web网页结构
    JavaScript【回顾、面向对象、继承、正则表达式基础、字符串方法、字面量字符和元字符、转义符、字符类】(二十)
    Vue3中的Ref与Reactive:深入理解响应式编程
    回应张逸老师(二)小甜甜和牛夫人?
    服务器配置Java开发环境(五)之安装redis
    V4L2视频驱动框架---meida_device管理模块简述
  • 原文地址:https://blog.csdn.net/peng_258/article/details/126920412
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号