原创 [转帖]机器人入门2—给刚接触机器人的朋友们

2007-7-27 20:46 2007 11 11 分类: 汽车电子

下面介绍一下一个机器人玩具应该有的物理组成部分:



机器人的大脑:



    它可以有很多叫法,可以叫做微控制器,微处理器,处理器或者计算器等,不过这都不要紧,通常微处理器是指一块芯片,而其它的是一整套控制器,包括微处理器和一些别的元件。任何一个机
器人大脑就必须要有这块芯片,不然就称不上机器人了。如果你是初学的,或者刚开始玩机器人的话,那最好买一套控制器玩,千万别之间玩微处理器哦,除非你电 子系毕业的,而且专业是芯片设计,那你可以直接开始玩微处理器(呵呵,开个玩笑,只不过微处理器对初学者而言比较困难,还是由简入繁吧)。在选择微控制器
的时候,主要要考虑:处理器的速度,RomRam的大小,I/O端口类型和数量,编程语言以及功耗。




893cebd6-e91e-4e15-b787-c0d1b67ba89d.jpg



图: 机器人



 edbdca68-fdb5-4b9d-85db-0d94301efe38.jpg



图: 控制器



 5339779e-2f77-4103-8ec6-9b0fd119a223.jpg



  图:Sharp红外传感器 



9a44805d-93aa-4749-b23f-acac5d5c9848.jpg



图:伺服电机



 5b441d04-e05c-4e19-998a-024ae6802860.jpg



图:步进电机




    在选购微控制器时候,最先考虑的一个是速度,主要的一个指标就是运行速度MHz,这个计算机的评价指标是一样的,越高的MHz意味着越快的执行速度 和你付出越多的钱。这第二个存储容量的指标是决定你的控制器可以实现的功能的多少和复杂程度,越多的存储空间可以让你存储更多的程序代码,从而实现更多,
更复杂的功能。I/O接口的种类和接口数量(pin numbers)是指接口数量,目前而言有2种接口种类,Analog(模拟)Digital(数字)接口,这个接口种类决定你控制器可以控制硬件的类 型,如果你的电动机控制卡是数字接口的,那你的控制器也必须要有数字输出接口,如果你的传感器是模拟接口的话,那你的控制器也必须要有模拟输入接口。接口
数量就是指同时能够连接设备的多少了。



    编程语言是一个控制器能够接受的语言类型,一般有C语言,汇编语言或者basic语言,这些通常能被高级一点的控制器直接执行,因为在高级控制器里
面内置了编译器能够直接把一些高级语言翻译成机器码,但是现在差不多每种控制器都支持C语言,如果你会C语言的话,那个编程的问题就很小了,如果你不会,而又不想学,那你就要花点时间找一个相应的编译器能够将你写的高级语言编译成你所选择控制器的执行代码。所以,建议想玩机器人的人们都学一点C,毕竟这个是目前被绝大多数编译器或者控制器所接受的语言哦。



    最后一个要考虑的是,如何考虑功耗的问题,由于机器人不太好拖一根长长的电源线在屁股上,所以,除了考虑执行电机的功耗以外,另外一个耗电大户就是
控制器了。在考虑这个参数的时候,主要考虑你的电源供应是什么,机器人预计的运行时间是多少。不过这个问题目前对我们而言不是很大,除非你做那种很小的机 器人,不然现在控制器的功耗都不是很大,所以,稍微大一点的机器人都会有足够的电源供应的。



传感器,是机器人和现实世界之间的纽带。但就目前传感器技术而言,我们现在所能选用的传感器或者说负担的起的传感器可不多。根据传感器的的工作特
征,可以分为,光学传感器,顾名思义就是对光产生反应的的传感器,比如红外传感器,声传感器,比如microphone,力传感器,比如压敏传感器,位置
传感器,比如陀螺仪。



光传感器:



    光传感器的范围很广,有最简单的光敏电阻,就是光强度的大小改变电阻的阻值从而实现对光强度的感知,也有目前最复杂的摄像头Camera。然而在我 们机器人中,用的最多的是Infra-red 红外传感器,其中的红外接近传感器是机器人在运动过程中必不可少的传感器,通过它,目前我们可以获得机器人的在移动过程中与前面障碍物之间的距离,当然这
距离非常短。不过,对于我们的机器人来说,这也是目前唯一的可承受的选择。



    还有一种目前比较有用的红外传感器是叫红外探测器,它不同于上面的红外接近传感器,它没有红外发射器,只有一个红外接受单元,由被测物体发出红外信
号。一般用来做热感应用,比如人走近或者动物走进这样的传感器时,它就会产生信号。在生产安全领域用的比较多。对于我们吗,最多就是有人走进的时候能够作 为一种感知手段来让机器人获得:哇,有个发红外线的家伙冲我走过来了这样的信息 。



    还有一种目前我们也能承受的是摄像头,随着电脑技术的飞速发展,今天获得一个廉价的摄像头已经是非常easy的事情了,一个普通摄像头目前在市场上 售价也就RMB200多点。但是对我们而言,与之相配套的,能应用于机器人的识别软件和硬件还相对比较少和昂贵,目前成熟的市场产品有美国卡耐基-梅隆大 学开发的CMU-Camera套装,但是要100美金,差不多850RMB,相对而言价格还是高了一点。但是如果我们不用他们的套装,自己开发的话,其它
硬件投入相对少了,但是你要对计算机编程相当精通,而且难度相对很大。一个比较简单的图像识别的软件少说也得一个计算机专业毕业的本科生4-5个月的工作 时间才能写出来。更别说其它功能多一点的软件。不过随着现在对图像研究的在全世界范围如火如荼的展开,相信未来2年以后就会有很多产品可供选择了。



力传感器:



力传感器是用来检测碰撞或者接触信号的,比如机械手的应用,当你放一个东西到机械手的时候,机械手自动抓住它,它就需要力传感器检测东西抓的紧不
紧。典型的力传感器是微动开关和压敏传感器。微动开关其实就是一个小开关,通过调节开关上的杠杆长短,能够调节触动开关的力的大小。用来做碰撞检测这是最 好不过了。但是这种传感器必须事先确定好力的阀值,也就是说只能实现硬件控制。而压敏传感器是能根据受力大小,自动调节输出电压或者电流,从而可以实现软
件控制。



声觉传感器:



    哈哈,这个部分我想都不用介绍了,目前最多的也就是麦克风了。几块钱一个,满世界都是。但是目前对我们而言唯一的问题是如何处理声音信号。当前没有
一个比较好的声音解决方案,国外目前有几个产品,但是都没法识别中文,都是英文的 。不知道超声波传感器属不属于这个范畴,超声波传感器和红外接近传感器很像,也属于距离探测传感器,但是它能提供比红外传感器更远的探测范围,而且还能提
供一个范围的探测而不是一条线的探测。也是目前我们用的最多的距离传感器之一了。



位置和姿态传感器:



机器人在移动或者动作的时候必须时时刻刻知道自己的姿态动作,否则就会产生控制中的一个开环问题,没有反馈。位置传感器和姿态传感器就是这个用的。
常用的有光电编码器,由于机器人的执行机构一般是电机驱动,通过计算电机转的圈数,可以得出电机带动部件的大致位置,编码器就是这样一种传感器,它一般和 电机轴或者转动部件直接连接,电机或者转动部件转了多少圈或者角度能够通过编码器读出,控制软件再根据读出数据进行位置估计。还有一种是陀螺仪,这是利用
陀螺原理制作的传感器,主要可以测得移动机器人的移动加速度,转过的角度等信息。相关原理要参考大学物理的相关内容了。难度稍微大一点。而且目前价格也比 较贵。罗盘对我们而言是陀螺仪的替代品,它利用了罗盘的原理,来测得机器人的角度,价格也比陀螺仪要便宜得多。大概150RMB左右一个。.最后一个要介 绍的是GPS定位仪了,对于室外的移动机器人来说,这个是必须的定位手段了。它通过卫星来定位你的机器人,听上去很高科技,所以价格也很高咯。一个GPS 定位模块目前售价大约是1500RMB左右。



传感器小结:



    当然,以上所说的只是传感器中的一部分,还有很多传感器没谈,比如现在比较流行的激光范围探测器,这个传感器能提供50m的探测范围,而红外接近传 感器只能提供50cm,超声波传感器能提供10m以内。随着探测距离的提高,价格也是以几何级数的提高,这么一个激光传感器通常需要2W
RMB
,绝对不是我们做能负担得起的,而且目前还没有小型化,一个最轻的也要2kg左右。这些传感器由于这样或者那样的原因,是目前我们所不能选用的。



驱动器:



        驱动器就是驱动机器人的动的部件。最常用的是电机了。当然还有液压,气动等别的驱动方式,但是由于控制负责,价格高等原因,并不太适合我们用。一个 机器人最主要的控制量就是控制机器人的移动,无论是自身的移动还是手臂等关节的移动,所以机器人驱动器中最根本和本质的问题就是控制电机,控制电机转的圈
数,就可以控制机器人移动的距离和方向,机械手臂的弯曲的程度或者移动的距离等。所以,第一个要解决的问题就是如何让电机能根据自己的意图转动。一般来 说,有专门的控制卡和控制芯片来进行控制的。有了这些控制卡和芯片,我们所要做的就是把微控制器和这些连接起来,然后就可以用程序来控制电机了。第二个问
题是控制电机的速度,在机器人上的实际表现就是机器人或者手臂的实际运动速度了,机器人走的快慢全靠电机的转速,这样,我们就要求控制卡对电机有速度控 制。电机目前常用的有2种,步进电机(stepper motor)和直流电机(DC motor).



直流电机



        这是最最普通的电机了,我们小时候的电动玩具全部用的直流电机,直流电机最大的问题是你没法精确控制电机转的圈数,也就前面所说的位置控制。你必须 加上一个编码盘,来进行反馈,来获得实际转的圈数。这时的直流电机就变成了伺服电机(Servo Motor)。但是直流电机的速度控制相对就比较简单,用一种叫PWM的调速方法可以很轻松的调节电机速度。现在也有很多控制芯片带调速功能的。选购时要
考虑的参数是电机的输出力矩,电机的功率,电机的最高转速。



步进电机



        步进电机看名字就知道了,它是一步一步前进的。也就是说,它可以一个角度一个角度旋转,不象直流电机,你可以很轻松的调节步进电机的位置,如果你发 一个转10圈的指令,步进电机就不会转11圈,但是如果是直流电机,由于惯性作用,它可能转11圈半。至于为什么会有这样的差别,建议还是去看看相关电机 的原理。步进电机的调速是通过控制电机的频率来获得的。一般控制信号频率越高,电机转的越快,频率越低,转的越慢。选购时要考虑的参数是电机的输出力矩,
电机的功率,每个脉冲电机的最小转角。



        一般情况下,电机都没法直接带动轮子或者手臂,因为力矩不够大,所以我们需要加上一个减速箱来增加电机的输出力矩,但是代价是电机速度的减小,比如 一个1250的齿轮箱,会让你电机的输出力矩增大250倍,但是速度只有原来的1/250了。首先计算出机器人所需要的力矩大小,然后根据力矩去选择电
机。



        现在应该对机器人3大硬件部分有个大致的了解了吧。




PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
11
关闭 站长推荐上一条 /3 下一条