立即注册 找回密码

微雪课堂

搜索
微雪课堂 机器人操作系统(ROS) 查看内容

ROS基础系列教程1:认识ROS

2020-9-12 20:03| 发布者: waveshare_yf| 查看: 7060| 评论: 0|原作者: waveshare|来自: waveshare

摘要: 我有七情六欲,却无血肉之躯。 ——郭敬明微电影《AI》 小伙伴们大家好,欢迎大家阅读我们微雪电子的ROS基础系列教程!相信大家一定是机器人的死粉吧,那么大家来思考一下,机器人是什么呢?什么样的才叫是机器人? ...

我有七情六欲,却无血肉之躯。 ——郭敬明微电影《AI》

  • 小伙伴们大家好,欢迎大家阅读我们微雪电子的ROS基础系列教程!相信大家一定是机器人的死粉吧,那么大家来思考一下,机器人是什么呢?什么样的才叫是机器人?
  • 在动漫或者电影的元素中,你见到的机器人可能是这样的。




  • 是不是觉得很炫酷,幻想自己有一天也可以操控着机器人来一场拯救世界的行动。咳咳,在这里还是要无情的打破大家的幻想,现在整个地球都是和平的,至于外星人入侵,想想就可以了,哈哈哈。而且,最最最最重要的是,这玩意只是动漫或者电影的,只是个样子货,中看不中用!!!
  • OK,言归正传。那么真正的机器人是怎么样的呢?在我们的生活中,很多的地方都有机器人在劳苦工作的身影,它们的存在,在一定的程度上面释放了人类的生产力,机器不知疲倦,可以昼夜不停的进行工作,甚至就算是重复性的工作它们也不会觉得疲倦和厌烦。下面我们来看我们现实生活当中的机器人。



用于协作生产的机械臂机器人




用于仓储物流的AGV机器人

  • 是不瞬间觉得弱爆了,者玩意也有资格被称为机器人吗??不要郁闷,不要着急,生活还是要继续滴。
  • 机器人本身的含有,是一款类人的机器,拥有人类的行为方式,思想感知等能力。我们可以让机器人去从事一些具有污染性、危险性、甚至狭小空间等相人类无法进行工作的空间下。同时机器人拥有不知疲倦的属性,可以昼夜不停的进行工作。
  • 我们这次的教程是要引导大家学习并设计出一款机器人,无论是AGV小车,又或者是机械臂,更甚至是无人机(UAV)、无人船(USV)、无人潜艇(ROV)等等等等。
  • 那么制作机器人都需要什么?首先,我们先来了解一下目前市面的主流的机器人有哪些。
  • “无人驾驶”类的机器人。这一类机器人目前的应用十分广泛,快递的无人驾驶物流车、仓储区的货物运输和配送等等,这一类机器人也叫做AGV小车。
  • 机械臂类的机器人,主要应用是在自动化生产领域。这一类机器人主要是执行,通过末端的执行机构(机械爪、吸盘、焊头等等)。




  • 还有就是特殊类机器人,这是一个总称。比如惯导管道检测小车、无人机/无人船/无人潜艇、协作迎宾机器人等等。
  • 机器人的设计与制造是一个融合性的学科,需要机械、电子、嵌入式、软件开发、网络、人工智能等多个专业相互协同才能进行的开发。大多数同学可能只具备其中的一两项技能,无法独立设计完成机器人。
  • 那么现在我告诉你,有一个软件可以帮助你解决这些问题,你会不会很兴奋呢?

    • 不懂电路板设计?没关系,这个软件支持的电路板数不胜数!
    • 不懂机械设计?没关系,这个软件自带的模型绝对够你玩!
    • 不懂网络通讯?没关系,这个软件自带通讯,只要你思路清晰就好!
    • 不懂人工智能?没关系,这个软件对于人工智能算法都是做好的!
    • 我没钱买设备,怎么玩机器人?

    • 这个问题是真的问到点上了,不过我告诉你,这也没有关系!因为这个软件的仿真系统十分强大,完完全全够你来验证和实施自己的设计!

    • 这就是ROS。(PS:不是路由系统的那个ROS!!!)
  • ROS(Robot Operating System,开源机器人操作系统)是一个机器人软件平台,它能为异质计算机集群提供类似操作系统的功能。ROS可以说是世界上主流的机器人开发软件,强大的功能包,强大的开发工具,强大的开发者社区,无一不是在给开发者们助力。




ROS RVIZ无人驾驶导航



ROS Gazebo机械臂物理仿真



ROS虚拟现实联动

  • 在ROS的开发当中,我们不必要去深究这个功能是是怎么来实现的,我们要知道怎么去使用这个功能。在机器人的开发当中,很多步骤和很多功能是重复着的,我们需要的就是按照一个固定的格式,去调用、去对接,把这个功能在我们的机器人里面跑起来。别人已经给你造好了轮子,你直接使用就可以的。可以说,ROS是我们开发机器人的神兵利器。
  • 那么该怎么样去学习ROS呢?学习ROS要掌握哪些能力呢?
  • 其实ROS的学习并不是很困难。在我看来,学习ROS的难点,一是ROS的各个节点之间的关系一定要思路清晰,二是你要熟悉ROS,ROS的小工具啊、功能、社区资源啊,数不胜数,在熟练的情况下,可以节省大部分的开发时间。ROS系统是在Linux系统下运行的,目前主流的是Ubuntu 18.04+ Melodic的一个组合,在我们接下来的教程当中,也是基于这样的系统,在虚拟机、树莓派、Jetson Nano等平台进行ROS的开发和学习。
  • 学习ROS,基础的Linux系统操作是必须的,同时需要有Python或者C++的编程能力(两个都有得更好),最后就是你需要有一定得英文阅读能力,当然这一点不是很重要,我在开发得问题就是有道翻译或者直接CSDN。
  • 我们此次得教程设计会将C++版本得程序和Python版本的程序同步更新,力求让大家掌握ROS的C++和Python双开发。代码可在Github进行下载,也可以跟着我们的进度逐步手打(建议手打,可以锻炼调试技能)。
  • 相信大家很大一部分人学习的不是ROS,而是机器人,大家对机器人充满着激情和热爱。工欲善其事,必先利其器,ROS就是我们来学习和制造机器人的神兵利器,大家且行且珍惜。
  • 可能也有一部分是工作的原因来学习ROS的,那么我先在这里明确一点。我们的这一套教程属于是ROS应用的层的教程,不会太多的涉及人工智能相关领域。对于ROS的开发,本科专科阶段基本都是处于应用层次,卡哇伊灵活的使用ROS搭建产品,但是无法从算法的层次去掌握ROS;而ROS的深层次开发,则是在研究生以上的阶段。这一差别的原因主要在于数学知识的掌握,高等数学、线性代数、概率统计、离散数学,这四类数学是基础,有自学能力的同学可以去研究一下。
  • 学习ROS赚钱吗?可能会赚钱也可能不赚钱,但是不学习那就注定了不赚钱。到了大家的这一层次,相信更多的人是为了研发的喜悦,看到自己的机器人落地的感动。赚钱与否,这是大家在工作的一个话题,我们技术性的介绍不过多阐述,有兴趣的同学可以去BOSS直聘啊、智联啊等等,查阅下ROS开发的薪资和需要get的技能。
  • 在此,希望大家在ROS的学习上百尺竿头,更进一步。借用古月老师的一句话,“怕什么真理无穷,进一寸有进一寸的欢喜”。

113

顶一下

刚表态过的朋友 (113 人)

最新评论

微雪官网|产品资料|手机版|小黑屋|微雪课堂. ( 粤ICP备05067009号 )

GMT+8, 2024-3-28 20:42 , Processed in 0.018006 second(s), 16 queries .

返回顶部