展会信息港展会大全

一篇很好的了解机器人入门知识的文章
来源:互联网   发布日期:2011-09-21 21:52:36   浏览:9929次  

导读:研究机器人和研究别的东西不一样,你可以把它当作一个玩具来研究,所以研究机器人应该是一件很愉快的工作,千万别把它当作一件苦差事来对待,不然也别玩了。机器...

你对机器人感兴趣吗?那好,那也是我建立这个网站唯一理由。但是很不幸的是,玩机器人不是一个很容易的爱好,他需要的不仅仅是一些专业知识,比如,机械,电子,计算机,同时还需要你投入极大的热情,精力和Money。如果你对机器人没有很强烈的愿望去了解它,学习它,没有一定的毅力去研究它,那我劝你还是放弃把机器人当作兴趣的爱好吧。当然,如果上面所需的条件你都不缺的话,那我们可以继续下面的内容了。

在开始写这篇文章之前,还有一件事情要声明一下,研究机器人和研究别的东西不一样,你可以把它当作一个玩具来研究,所以研究机器人应该是一件很愉快的工作,千万别把它当作一件苦差事来对待,不然也别玩了。机器人经过几十年的发展,国外网站上已经有n资料可以找了。而国内目前机器人资源目前来说还是一个空白。写这篇文章主要是给国内刚玩机器人的爱好者们一些小小的意见。 机器人到底什么?自从机器人诞生以来就有很多对机器人的定义了,但是正如目前很多学者所指出的一样,很多所谓的机器人看上去像机器人,其实并不是真正的机器人,比如一个无线遥控的有4条会动的腿的狗也能叫机器人吗?当然不能,但是现在很多产品就是这么叫的。但是根据我个人对机器人的理解,一个所谓的机器人必须有2个最主要的功能。一是能和外界交流,第二是能够自动根据交流的信息产生一些反应。这反应可以是事先写好的程序,或者机器人自己产生的程序,一句话就是要有反应。当然,我本来就没什么资格来定义机器人,但是就目前的技术水平和对机器人的理解程度,我觉得最简单的机器人应该有以上2大主要功能。

接下来是玩机器人对基础知识的需求,这里面的知识是任何一个玩机器人的人都必须会的。 简单的说,你必须具备高中物理知识,同时知道电容的作用,电感的作用,二极管的作用以及使用方法,直流电机的工作原理,发光二极管的使用,变压器的使用,如果学过大学模拟电路和数字电路再加上电工原理,那你的电子学理论知识就基本上够了,剩下就是实践了。说实话,机械部分的基础基本上不需要,只要有一点机械常识就可以了,相信玩机器人的朋友们以前玩具一定没少拆,多留心一下里面的机械结构就没什么大问题了。当然如果你要学习如何设计比如2条腿的机器人,或者别的几条腿的,那还需要大学里面一点点的机械原理的内容,不过不用担心,只要不涉及到什么疲劳强度阿,载荷校验的这部分内容,其他部分相信是很容易就明白的。但是如果只是做一个最简单的轮式机器人的话,那这些内容也可以省了。最后是机器人的灵魂了,编程,无论怎么样,要会做一个所谓的机器人,你就必须写程序,这是最最基本的,因为就目前的是市场情况,你可以很容易买到电子和机械套件,但是你绝对没法买到机器人软件,如果能买到,那你如果不会写程序,就没法改进,这个机器人严格意义上就不是你的孩子了,就像父母生了你,但是给你思想,养你的人对你而言更重要。不要怕麻烦,事实上学写简单的程序也不是很难的一件事情,一般来说花个几个星期的晚上看看一些简单的编程,比如C,只要学会一门,再学其它编程语言是很容易的。

所以一定要静下心来,认真学一门,这个时候,支持你的动力就是对机器人的无与伦比的执着了。以上这些知识最好是边学边玩。学了机械就开始设计机器人地盘,学电子的时候就设计机器人电路,学编程就开始写机器人的程序。不然我相信没多少人能支持下来的。当然,你也可以跳开机械部分直接购买成品,这样可以直接使用目前成熟的而且相对比较多的产品。

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

机器人的大脑:

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

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

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

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

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

光传感器:

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

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

红外接近传感器 (Infrared Sensor)

还有一种目前我们也能承受的是摄像头,随着电脑技术的飞速发展,今天获得一个廉价的摄像头已经是非常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的调速方法可以很轻松的调节电机速度。现在也有很多控制芯片带调速功能的。选购时要考虑的参数是电机的输出力矩,电机的功率,电机的最高转速。

RC Servo Motor

赞助本站

人工智能实验室
AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港