智能小车制作入门篇
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
智能小车制作入门篇
最近接触了很多机器人爱好者,很多人都对机器人技术展示出了浓厚的兴趣,也在计划如何动手制作自己的第一个机器人。但是似乎很多的人都摸不到门路,只能是站在大门外满怀兴趣的向内观望,观望了一阵兴趣渐失只好叹口气走开……
很多初学者可能都是看了一些视频或是现场的比赛,勾起了儿时的美好回忆,兴起了自己动手制作机器人的念头,很多人可能并不是嵌入式开发的业内人士,甚至没有听说过单片机、步进电机这些名词,看着别人满地乱跑的各种机器人,颇有无处下手的感觉。有的人一上来就准备做一个可以双足行走的人形机器人,可以平稳行走,可以靠摄像头来读取环境信息,可以语音识别,最好还可以变形…… :—(
我的意见是:新手最好还是老老实实的从小车开始吧。人形机器人可以说是一个系统的大工程,不是一个人玩的起来的,而且资金上的投入也是不可计量的。一个人形机器人的成型产品最少要卖到几千块——要知道,你在开发过程中是不可能没有错误投入的。机器人小车技术上门槛较低,资金投入也少,市场上的各种产品和零配件的支持也较多,虽然简单,但可以实现的功能可一点也不少。
我在这里凭自己的经验介绍一些自己动手制作机器人小车的基础知识,如果你是曾经自己动手做过的高手,那么你可以绕行,我这里介绍的都是为未入门者准备的最基本的理论知识和一些动手经验。
那么现在我们开始,首先是理论部分——小车的控制结构。
[一]小车的整体控制系统
小车是怎么来控制的?为什么小车判断出障碍物后可以自动的绕开?
理论:控制工程——处理自动控制系统各种工程实现问题的综合性工程技术。包括对自动控制系统提出要求(即规定指标)、进行设计、构造、运行、分析、检验等过程。它是在电气工程和机械工程的基础上发展起来的。
闭环控制:闭环控制有反馈环节,通过反馈系统是系统的精确度提高,响应时间缩短,适合于对系统的响应时间,稳定性要求高的系统。
开环控制:开环控制没有反馈环节,系统的稳定性不高,响应时间相对来说很长,精确度不高,使用于对系统稳定性精确度要求不高的简单的系统。
一般稍微复杂一点的机器人小车都是闭环控制,也就是说它有一个反馈机制,会根据自己配备的各种传感器来读取环境信息,并且根据这些环境信息来决定自己下一步的行动,决定好后将行动指令发给执行系统,使机器人做出合适的动作。当然也有的机器人小车是开环控制,我就见过一个机器人小车配了一支笔,将机器人放在纸上,机器人一转,刷的一下在纸上画出一个圈来,当然由于摩擦力和机械误差等原因,画出来的圆圈可能不闭合,也可能不圆。不过人家阿Q都说了:“孙子才画的圆呢……”
有点迷糊?没关系,其实简单一点说就是这样:机器人可以分为三部分——传感器部分、控制器部分、执行器部分。
传感器部分:机器人用来读取各种外部信号的传感器,以及控制机器人行动的各种开关。好比人的眼睛、耳朵等感觉器官。
控制器部分:接收传感器部分传递过来的信号,并根据事前写入的决策系统(软件程序),来决定机器人对外部信号的反应,将控制信号发给执行器部分。好比人的大脑。
执行器部分:驱动机器人做出各种行为,包括发出各种信号(点亮发光二极管、发出声音)的部分,并且可以根据控制器部分的信号调整自己的状态。对机器人小车来说,最基本的就是轮子。这部分就好比人的四肢一样。
好的,现在我们来分析一下机器人小车的避障行为控制:机器人正在行走过程中(人在路上走),忽然接收到装在机器人前部的传感器发来的一个“左前方有障碍物”的信号(人眼发现左前方有一根电线杆),我们事先写在机器人控制芯片中的程序算法要求机器人发现左前方有障碍物就往右边转(人发现左前方有电线杆就应该往右躲——什么,你还要继续往前走?你牛!那我就等着听响了,哦,原来你只是想去看上面的小广告……),控制芯片对机器人的驱动器——或是轮子,或是双足——发出向右转的指令(人大脑发出向右转的指令,通俗点说就是“拐了拐了”),此时机器人的执行器部分应该立
即响应控制器的指令,改变自己的状态,使机器人的前进方向改变,避开障碍物(恭喜你,躲开了电线杆)。
怎么样,是不是有了点机器“人”的意思?
那么这三部分是怎么联系起来的呢?很简单:电!其实机器人小车就是一个电子作品,传感器将外部的光信号、声音信号、温度信号等全部转换为控制部分可以接受的电信号,控制系统发出的指令也是各种电信号,通过执行部分转变为电机输出的扭矩、声音、光信号等等。
下面我来分别介绍一下这三个部分。
[二]传感器部分
传感器是机器人的眼睛,想要小车完成不同的任务就要配备各种不同的传感器。
现在市场上林林总总的传感器数不胜数,一般个人机器人爱好者经常使用的有碰撞检测传感器(碰撞开关)、红外测障传感器、红外测距传感器、光敏电阻、电子温度计、电子指南针等等。
一般机器人用的传感器返回的信号分两种:一种返回值很简单,只有两个状态:“有”或者“没有”;“是”或者“不是”;“0”或者“1”。我一般习惯把这种量称为“状态量”。它所反映的是一种状态,只是简简单单的“是”或“否”。比如“机器人左边有没有障碍物”,“有没有声音信号”等。还有一种返回值返回的是一个已知范围内任意值,比如一只光敏电阻返回的信号就可能是0~5V范围内的任意电压信号。我一般把这种量称为“强度量”。它所反映的是一个有效范围内的强度。比如“机器人左边的障碍物有多远”,“现在的声音信号有多强”等。
“状态量”反映的信息较简单,相应的传感器也较简单,成本较低。而“强度量”反映的信息则较丰富,相应的传感器的成本就会比较高,同时给控制上也带来了更大的灵活性和复杂性。
下面我们来看一些常用的传感器:
碰撞开关:电路常开,碰到障碍物后连通,可以用来检测机器人是否发生碰撞。
光敏电阻:光敏电阻器是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小,入射光弱,电阻增大。光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。可以用来检测光线强度。
红外测障传感器:红外测障传感器利用红外线遇到障碍物会反射的原理,来检测某一方向上是否有障碍物的存在。
红外测距传感器:红外测距传感器利用红外信号遇到障碍物距离的不同反射的强度也不同的原理,进行障碍物远近的检测。红外测距传感器具有一对红外信号发射与接收二极管,发射管发射特定频率的红外信号,接收管接收这种频率的红外信号。