移动机器人入门篇

从零九年开始接触机器人研发,不得不说,有必要写一篇长文了。html

 

我在接触机器人前,接触过单片机,那时候的单片机仍是5一、PIC16这种,当时就特别好奇:机器人一个关节须要几颗这样的芯片?这个问题我记得最清楚,由于作了机器人,发现根本不用芯片,整个机器人一个芯片就够了。不过随着认知的不断提高,这个问题很难回答。那咱们就开始咱们的机器人之旅。linux

 

机器人解释为机器得到了一些人的特色。电视里常常看到的变形金刚、钢铁侠、铁胆火车侠都具备人的形状,更容易被人理解;算法

 

《特种部队》里出现的机器蜜蜂、《Agents of S.H.I.E.L.D》中的飞行器说是机器人咱们也能够承认,由于这些仿生机器人科技含量很高;编程

 

波士顿动力(www.bostondynamics.com)的大狗系列也能够说是机器人,即使它是机器人狗。安全

 

不过你们必定记得机器人瓦力,这部08年安德鲁斯坦顿编导的《机器人总动员》,在无数科技爱好者内心埋下了机器人的种子。瓦力的特色是移动能力依靠履带,视觉能力靠两颗眼睛,具备两个机器人手臂,大脑发达。这种履带式的移动方式,也被目前的不少机器人采用,不过更适合野外,对于室内或者地面情况比较好的情景中,轮式以其高度的灵活性被普遍应用。这就像汽车里只有挖掘机相似的采用履带,而多数汽车都采用轮子。服务器

 

轮式移动机器人在移动机器人应用中占有很大的比例,最近火的一塌糊涂的申通小黄人(http://tv.fanjian.net/110237.html),表明了移动机器人在智能分拣系统中的应用,机器人的规模你们能够根据我国16年313亿件快递量推算。各大物流公司、电商都在积极布局,挖掘人才以及引入技术(http://www.agvbaike.com/cangchujiqiren/2017-03-28/6523.html)。electron

 

其实这些移动机器人在物流以及电商火以前就存在,只不过名字不一样,好比AGV(https://en.wikipedia.org/wiki/Automated_guided_vehicle),在20世纪就开始服役。如今仓储物流火了,各大AGV公司开始了变形计。编程语言

 

再放眼国内外的机器人竞赛,轮式移动机器人绝对是随处可见。高等院校竞赛中Robocon(http://www.cnrobocon.org/)是亚太区的一项机器人竞赛,由日本发起,目前举办了16届,前面连接是国内赛连接,这项比赛难度高,技术含量高,门槛高,已是一个三高状态,在行业内的承认度也高,每一年为社会输送机器人技术人才数以千计。十几年来,在各个机器人公司的关键岗位,都有Robocon人。参加院校能够是985/211,也能够是高职,下面是16年参赛院校。ide

 

 

下面附上16年比赛视频,2017年比赛会在5月末开始。函数

 

国内决赛东北大学VS成都电子科技大学

http://www.iqiyi.com/w_19ruippw4l.html

 

国际赛东北大学VS日本

https://v.qq.com/x/page/e0322raz6tf.html

 

Robocon技术含量高,不过却在行外不为人知。虽然也在CCTV播放,不过在节目强调价值观与娱乐性的今天,娱乐性强的真人秀备受追捧,跑男一个明星至少要几个摄影师,多台录像机以及手持设备。而咱们比赛场上,科技精英们的做品被表现的却差强人意。

 

另外一项机器人比赛Robomaster(https://www.robomasters.com/zh-CN)这几年很火,这项比赛发起者是06年Robocon队员。这位队员建立了大疆公司,目前年营业额过百亿。这项比赛观赏性比较强,行业内广泛认为技术含量较Robocon低,不过这项比赛我并无太多了解,因此没法过多评价。不过能够肯定的是,这项比赛一样培养了一批优秀的机器人精英。

 

此外,Robotac(http://www.robotac.cn/)是面向高等职业院校的机器人竞赛。

 

中小学比赛FLL、WER、VEX、NOC等等,都是移动机器人项目。不得不提,目前机器人行业中,惟有中小学教育这一块是发展的好。公司旁边就有家作乐高机器人培训的,作的有模有样(公众号:小张老师)。

 

移动机器人多种多样,不过移动部分大同小异,咱们将它叫作移动底盘或者移动单元。

 

移动底盘主要由几部分组成:主控制器、电机(马达),电机驱动器,传感器,轮子,机械底盘组成。

 

主控制器主要负责机器人移动的控制,包括了传感器数据的采集,走行决策以及路径的规划。目前主控芯片尚未大一统,有MCU、MPU、PLC、电脑等,MCU具体有意法半导体的STM32系列、恩智浦LPC系列、Arduino系列(分到这里不太妥)、51系列等。不得不说两家公司,一个是伟大的ARM,一个是意法半导体。

 

ARM公司(http://www.arm.com/)是一家芯片受权公司,本身不生成销售芯片,从之前的ARM7~ARM11,再到ARM CORTEX-A系列和M系列,A系列占领了大部分手机市场,能够说大部分手机内核都手机芯片厂商从ARM拿的受权;M系列也厉害,基本代替了之前的8位、16位单片机,M0系列主打低功耗,干掉TI的MSP430,M三、M4是单片机中的战斗机,高性能。

 

这里意法半导体(http://www.stmicroelectronics.com.cn)的STM32系列就是一个赢家。当年各个芯片厂家都有本身的MCU IP,不过意法半导体率先采用ARM M3/M4,配合大量的市场推广,致使如今几乎不多人知道其余厂商M3/M4 的MCU。对于大学市场,意法半导体作到了让不少同窗可能不知道ARM,却知道STM32。Cortex-M系列确实适合于新兴的机器人、智能家居、物联网、智能穿戴等领域。

 

单片机这块编程主流采用C语言,部分汇编;由于没有MMU以及资源不足,没法运行相似linux等操做系统,不过freertos、usos、mqx等小型OS仍是能够的。编程软件目前多采用IDE,好比Keil、IAR等,不过也有不少人直接使用tool train来开发。

 

单片机外设丰富,包括能够控制LED的IO、控制蜂鸣器的PWM、检测开关状态的IO、读取测距传感器数值的AD、多轴协调控制抗干扰的CAN、串行总线SPI、UART、I2C、用来即时的Timer。总之,多种多样的传感器以及其余设备,均可以使用这个控制器来处理。目前能够根据需求采购不一样型号的MCU,而后本身设计SCH、PCB,手焊或者SMT,不过也能够采购开发板,开发板功能全,个大,学习用很是适合。既然提到了硬件设计,那就提下硬件设计的主流的几个软件:altium designer,cadence,pads,protel等等。

 

PLC咱们能够理解为稳定性特别高的单片机。1968年为了取代汽车中大量的继电器,PLC应运而生,不过到如今咱们把它定义为稳定的单片机也并不过度。PLC在工业中被普遍使用,其编程方式也更加适合于电气工程师,就像Arduino更适合于设计同样,相似咱们这些计算机的老帮子来说,不喜欢!PLC内部的资源并无单片机那样丰富,为了提升稳定性,不能什么都搞一堆,单片机中动辄上百的IO,在这里少的可怜。PLC价格也不菲,如今几百块能买一块很好的开发板,不过差很少的PLC得几千上万。PLC的编程语言包括如下五种:梯形图语言(LD)、指令表语言(IL)、功能模块图语言(FBD)、顺序功能流程图语言(SFC)及结构化文本语言(ST)。梯形图用的多,不过对于我来说,更喜欢ST。若是你的机器人稳定性要求特别高,那么用PLC吧。

 

固然,这几年流行起来的Arduino(http://www.arduino.org/)和树莓派(https://www.raspberrypi.org/)也能够用在机器人中。

 

Arduino是为设计师开发的,也能够认为是给一些创客开发的,不须要多少基础,就能完成一个小发明。Arduino只是定义了电路板的封装接口和软件编程接口,因此芯片能够是任意可以知足这些要求的,这里更正下你们对于Arduino的见解:Arduino性能必定很low,这个不对的。对于Arduino编程来说,真是简单透了,一个setup函数,一个loop函数就搞定了。

 

树莓派就是一个微型电脑,以下图,轻松链接显示器。因此树莓派和Arduino不一样,其目的是像小电脑同样驰骋在须要它的战场上。有人用树莓派搭建了服务器集群,不过我想说树莓派也能够用在机器人控制上。最近很火的SLAM技术,不少人能够经过ROS(www.ros.org)体验SLAM的帅呆,这个ROS就能够运行在树莓派上。目前不少自主定位导航机器人基本采用了ROS。树莓派接口丰富,已经出了三代,树莓派3价格也就几百块,只有掌心大小。

                                                     

 

 

笔记本电脑、工控机也会出如今机器人移动底盘上,不过并很少见。

 

轮子轮式机器人不得不提轮子,有了轮子配合一部分机械件就能够想象出机器人的移动底盘了。这个也容易理解,生活中给一个轮子就是独轮车,两个轮子自行车,三个轮子三轮车,四个轮子轿车….

 

机器人中也有生活这种轮子,咱们叫它普通轮子。

 

 

 

这种轮子主要用在差速控制中,也就是两轮同速走直线,不一样转弯走弧线。下面这个玩具机器人就是采用的这样的轮子,一样申通的机器人也是采用的这样的结构。这个轮子由于有电机(马达)带动,因此咱们叫作驱动轮。

 

 

 

轮子轮毂能够采用金属也能够是塑料材料,轮胎采用橡胶或者聚氨酯材料。聚氨酯轮的寿命和负载能力是橡胶轮的4~5倍。

差速轮详细走行算法能够参考http://mp.weixin.qq.com/s/8jT51bC_hCeTmAM8jdYTVg

 

差速轮没法实现机器人的平移,也就是咱们倒车入库费劲的主要缘由。而下面这个轮子结构,就可让倒车入库简单。

 

 

 

这两种轮子的共同点是轮毂上还有小辊子,第一个叫作全方位轮,另外一个是麦克纳姆轮。全方位轮上面的小辊子和轮子方向成90°,而麦克纳姆轮成45°。全方位轮能够组成三轮、四轮结构,而麦克纳姆轮只能成对出现,至少4个。这种轮子能够组成这样的机器人移动底盘。

 

 

三轮结构灵活,不须要浮动机构,不过相对四轮驱动能力和速度弱一些。具体控制方法参考http://mp.weixin.qq.com/s/2dLgQ_i4nnWEZCmaFIxo0g

 

 

四轮结构须要额外的浮动设计,不一样性能好不少,控制方法参考http://mp.weixin.qq.com/s/mgRoaRcUELwfDqg4JkFcjw

 

 

 

这个像不像一台小轿车?停车很方便,,这种轮子可以作到大负载,如今不少工业叉车采用这种。具体控制方法参考http://mp.weixin.qq.com/s/5V0Ie1KLDlOjtRt_NivWvQ

 

这几个移动底盘均可以实现任意方向的平移以及旋转,若是把它用到《速度与激情》里,漂移会编程什么样?

 

轮子还没完,轮式机器人中,地面经过与轮子摩擦给机器人提供牵引力。因此不少时候,驱动力不足就是小马拉大车,不过驱动力十足而摩擦力不够,也是件头疼的事情。另外,因为控制缘由,让驱动轮不打滑很难作到,只是打滑多少的问题。

 

电机(马达)电机这东西有意思,你能够叫它电机,也能够叫它马达。不过常常叫他电机的人会瞧不起叫它马达的人,其实不必。马达是motor的音译,而电机是对motor原理上的翻译。在机器人中,电机很常见,马达也很常见。就在咱们的移动底盘中,它又要登场了。咱们要抛却单驱、双驱、四驱这些概念,由于在咱们这里,咱们要全驱,也就是有轮子就要有电机。因此上面的底盘用到几个电机你们数数就知道。

 

这里咱们只考虑直流供电的电机,由于目前大部分机器人是这样的,使用的电池供电。直流电机中分为有刷电机和无刷电机。

 

有刷电机换向是经过碳刷或者稀有金属刷等完成的,这种机械换向的方式控制简单,不过寿命短、噪音大、耗电多。相对无刷,缺点真是一大把,因此无刷也是趋势,目前来看有刷控制太简单了,整个产业链还并无被无刷替代。

 

直流有刷电机能够简单到玩具车里的普通直流马达,也能够复杂到精密仪器里的伺服电机。他们从控制方式上的区别是一个开环控制,一个闭环控制;硬件上的区别就是电机的指标:功率密度、扭矩、转速、机械时间常数、电压等等。因此5块钱能买到马达,并不稀奇,上万块买到一个电机也要惊讶。一般来说,玩具包括如今大部分中小学教育机器人、大部分机器人竞赛用的都是普通直流电机,而用做伺服的电机由于比较贵,在大众眼中并很少见。

 

因此直流有刷电机的驱动器也能够简单到只实现一个H桥电路板,亦能够复杂到是一个系统。价格是从几十块到上万块都有。国外贵的典型美国Copley http://www.copleycontrols.com/和以色列ELMO http://www.elmomc.com/

 

 

安川电机 http://www.yaskawa.com.cn/

MAXON电机http://www.maxonmotor.com

 

固然若是对性能有要求却又支付不起伺服电机,能够到一些平台淘二手,有些成色仍是能够的。

 

对于机器人移动底盘,咱们一般比较关心两点:速度和加速度。因此在已知机器人重量后,选择电机不能随便算,要根据机器人速度、加速度需求进行计算电机的扭矩和转速,根据系统的电源电压选择合适的电机。电机选好后,选择驱动器也要仔细,第一要看的就是最大持续电流以及温升。最大持续电流必定要知足上面计算好的电机的须要,为何提温升呢?电机驱动器也是有电子器件组成,一般温升10度,器件寿命会减半,这也就是有名的10度原则。因此驱动器选型这一块,可能不少驱动都能作大这个持续电流,不过温升极可能不同。另外就是驱动器控制响应是否快速,是否精准,这些都是驱动器的基本性能指标。

 

无刷电机采用电子换向,因此不是两个电源线,是三根。驱动器有规律的给三根线电压,来控制电机旋转。没有刷的束缚,效率提升了,寿命提升了,不过这些也提升了软件控制难度,若是容易的话,当初也不会发明有刷,而不是无刷。有了驱动器,主控制器能够忽略电机是有刷的仍是无刷的,由于这个对于主控制器来讲透明。主控制器只须要告诉驱动器让电机如何运动就好了。

 

 

上面断断续续的提了电机驱动器,咱们这里只提伺服驱动器。什么叫作伺服呢?伺服就是主控制器让电机怎么运动,电机和驱动器合伙要保证这个,不让主控大人操心,而且要准确,还要迅速,不能拖拖拉拉。因此对于那些性能贼差的电机咱们就不要作伺服了,对于那些不须要精确控制的好比遥控玩具车,咱们也不要用伺服了。伺服电机必定是电机中的精英,机电时常数小、线性度高、始动电圧低。

 

那么这样的电机确定不须要猪同样的队友,驱动器要稳、准、快。也就是对于速度、位置或者力矩的控制要稳、要准、要快。这也就是咱们常说的驱动器的速度环控制、位置环控制以及力矩环控制。

 

 

主控制器想要控制电机,只须要经过通信接口向驱动器发送命令就能够了,这些命令能够简单到是一个模拟信号,一个pwm数字信号,也能够复杂到CAN信号等。无论是什么,根据驱动器和主控制器的说明,一步一步作就能够了。

 

上面要进行伺服控制,电机都须要带传感器来测量速度和位置。传感器能够增量式数字编码器、霍尔传感器、绝对式数字编码器等。不过增量式数字编码器较为常见。一般安装在电机轴上。

 

那么若是咱们要作一个三轮全方位的移动底盘,须要一个主控制器,三个轮子,三个电机,三个驱动器(也有一个驱动器能够驱动多个电机的,在此不讨论)。不过还缺乏电源,若是要锦上添花,还须要些传感器。不过我火烧眉毛的要上传下咱们还没作好的一个底盘。

 

 

上面多了一个定位系统,少了一个主控。另外,图上欧巴不是我。

 

 

锂电池咱们仍是继续说电池吧。目前机器人电池已经基本都是锂电池了,镍氢、铅酸基本不用了,不过前几年的irobot用的是镍氢电池。

 

锂电池学问也很多,首先安装包装来分有圆柱和软包。话说特斯拉用了7200多个圆柱18650拼成了密密麻麻的电池系统。圆柱里面是液态锂化合物,而软包里是固态锂聚合物。锂电池有燃烧、甚至爆炸的危险,这里咱们认为燃烧要比爆炸温柔。因此不少业内人士说圆柱液态锂电池危险,由于它会爆炸,而软包聚合物电池只会燃烧不会爆炸。这个说法好像一直都被大部分人承认,直到三星事件那些少部分人才找到了有力的理由。

 

 

 

锂电池从多方面具备先天的优点,因此如今锂电池才能在大部分场景替换掉了老大哥们。能量密度高,无记忆效应,寿命长等。不过在介绍不一样的锂电池前,咱们要提下锂电池的两个缺点,第一个大倍率充放电容易膨胀,第二个不耐低温。

 

锂电池有不少指标:内阻、标称电压、容量、充放电截止电压、充放电倍率、循环寿命、能量密度、功率密度等。这些一旦电池材料选好,基本就是根据供应商的差别而不一样了。

 

下面说下不一样材料锂电池区别。

钴酸锂:大规模生产,价格昂贵,容量较低,存在必定的安全性问题;

镍酸锂:成本较低,容量较高,但制备困难,材料性能的一致性和重现性差,存在较为严重的安全问题;

三元镍钴锰酸锂:集成上面有点,可逆容量大,结构稳定,安全性较好,循环性能好,合成容易;

磷酸铁锂:不含贵重元素,原料廉价,资源极大丰富;工做电压适中(3.4V)平台特性好,电压极平稳理,论容量大(170mAh/g);结构稳定,安全性能极佳,高温性能和热稳定性明显优于已知的其它正极材料;循环性能好,无毒。成本、高温性能、安全性方面具备突破。可是能量密度低。

 

咱们关心的电池寿命,标称800次循环,指的是充满后,放电到截止电压算一个循环。

 

标称容量是只1C放电,当达到截止电压时,时间应该达到1小时。

 

锂电池的使用,一般应该是充好电后,静置一段时间再使用。不用时,应该充电储藏,置于充电多少,手册都会给出。

 

据调查,机器人市场,目前采用三元锂和磷酸铁锂居多,软包和圆柱均有。

 

传感器一般咱们采用的传感器多种多样,上面的这些选好后,机器人移动底盘已经能够移动了!不过,也只是可以移动,加个遥控能够手动遥控。要想自动还差一些工序。机器人若是想室内定位,也就是知道本身在哪里,那么得须要定位的传感器,这个时候gps、北斗等室外定位方式确定不行了,这个能够本身研发了,目前市面上室内定位的也就是上面底盘上那个定位系统了,不过那个使咱们开发的,你们也能够本身开发,是基于mems的。

 

臂章呢?简单的就加一圈光电传感器,但是距离2米,这样也行,这些传感器是二值化的,就是有东西就输出高电平,没有东西就低电平;发现哪一个方向有障碍物,那就赶忙躲开。不过这个不许,咱们能够用红外测距传感器测量障碍物的距离,只有距离近时才躲避。这些传感器没法保证无死角,若是障碍物就在扇形盲区,麻烦就大了。那咱们试试激光雷达,能够简单理解为一个可以360度扫描的传感器,扫描距离10米,一秒钟扫描5圈,这回应该够了。因此能够在移动机器人底盘上加个激光雷达来避障。

 

若是把机器人底盘DIY后放在家里,能够添加温湿度传感器来测量温湿度,用一个小的显示屏或者语音播报模块播出来。也能够添加一个煤气检测模块,一旦检测到煤气泄漏,就用蜂鸣器报警。这些传感器均可以链接到主控制器上。移动机器人的好处在于,一旦作好,一切东西均可以作到上面去,编程移动的。再好比放个摄像头,就是一个移动的监控哦~

 

固然也能够安装机械手,不过机械手不是传感器范畴,属于执行器。能够在底盘上添加语音识别模块,而后让机器人帮咱们作些事情。

 

咱们只抛砖引玉,下面是上面未完成底盘的哥哥还有他的女友。

 

 

相关文章
相关标签/搜索