随着企业的生产技术水平的不断提高,对自动化技术水平的要求也不断加深,智能车辆以及在此基础上开发出来的产品,已经成为自动化物流运输、柔性生产线等的关键设备。世界上许多国家都在积极地进行着智能车辆的研究和开发。移动机器人是机器人学中的一个重要分支,出现于20 世纪60 年代,当时斯坦福研究院的尼尔斯等人,在1966—1972 年,研制出了取名为Shakey 的自主移动机器人,目的是将AI 技术应用在复杂的环境下,完成机器人系统的自主推理、规划和控制。从此,移动机器人从无到有,数量不断增多,智能车辆作为移动机器人中的一个重要分支也得到广泛的关注。
智能车辆是一个集环境感知、规划决策、多级辅助驾驶等功能于一体的综合系统,它集中运用了计算机、现代传感、信息融合、通信、AI 及自动控制等技术,是典型的高新技术综合体,能够实时显示时间、速度、里程,具有自动寻迹、寻光、避障的功能,并可实现程控行驶速度、准确定位停车、远程传输图像等。目前对智能车辆的研究主要致力于提高汽车的安全性、舒适性,以及提供优良的人车交互界面。近年来,智能车辆已经成为世界车辆工程领域研究的热点和汽车工业增长的新动力,很多发达国家都将其纳入了各自重点发展的智能交通系统当中。
目前,几乎所有的智能小车都可实现循迹、避障等功能。近几年的电子设计大赛的智能小车又在向声控系统发展。
智能小车作为机器人的一个典型代表,它可以分为三个部分,包括主控制器、传感器、驱动器和执行器。首先是作为智能车大脑的主控制器;其次是被称为智能车的眼睛、耳朵和触角等的传感器;在感知世界之后,小车应当做出相应的动作,这时就需要被称为智能车的手和脚的驱动器和执行器。
1.教学用智能车的主控制器
和人类的大脑一样,机器人的大脑——主控制器,是机器人最核心的部件。为机器人编写的各种控制程序和AI 程序都要运行在主控制器中。由机器人的传感器得到的众多的外界环境信息在这里得到汇总,然后控制器中的AI 程序就会对这些信息进行处理,再随之给各种驱动器、执行器发出控制命令。机器人就是以这种方式去执行各种各样的实际任务的。
那么主控制器具体是什么呢?实际上,它就是一种计算机而已。这里的计算机是一个相当宽泛的概念,它们可不仅仅是指我们每天用的个人电脑(PC)。除了PC 外,还有其他形形色色的各种计算机,小到只有指甲盖大小的单片机(MCU),大到要装满几个大房间的超级计算机。而这些计算机中最广泛被用作机器人控制器的还是要数单片机了。可以想一想,如果要制造一台全自动洗衣机——全自动洗衣机也是一种机器人——那么用上一台PC 去作控制器,是不是就有些“杀鸡用牛刀”了呢?这时单片机就可以大展拳脚了。单片机是典型的“麻雀虽小,五脏俱全”。一片小小的单片机中就包括了中央处理器、存储器、定时器、数字输入/输出接口和模拟输入/输出接口等。
(1)Arduino UNO R3 控制器简介
本书学习的智能车用到的主控制器是Arduino 控制器。Arduino 板子种类很多,有可以缝在衣服上的LiLiPad,有为Andriod 设计的Mega,有最基础的型号UNO,还有比较新的Leonardo。教学智能车用到的就是Arduino UNO R3 控制器。
Arduino UNO R3 是Arduino USB 接口系列的最新版本,其主板接口如图16-1 所示。Arduino Uno R3 的AREF 边缘增加了SDA 和SCL 端口。SDA 和SCL 是I2C 总线的信号线,SDA 是双向数据线,SCL 是时钟线。在I2C 总线上传送数据,首先送高位,由主机发出启动信号,SDA 在SCL 高电平期间由高电平跳变为低电平,然后由主机发送一个字节的数据。数据传送完毕,由主机发出停止信号,SDA 在SCL 高电平期间由低电平跃变为高电平。此外,RESET 边上还有两个新的端口:一个端口是IOREF,它能够使扩展板适应主板的电压;另一个空的端口预留给将来扩展的可能。Arduino UNO R3 能够兼容传感器扩展板v5.0 并且能用它额外的端口适应新的扩展板。
图16-1 Arduino UNO R3 控制板
Arduino 可以用于做项目开发的控制核心,也可以与PC 进行直接的USB 连接,完成与计算机间的互动,运行于开源的IDE(Integrated Development Environment,集成开发环境,相当于编辑器+编译器+连接器+其他)开发环境,软件可以在Arduino 官网直接下载(支持Window、Linux 以及Max 系统)。
Arduino UNO R3 控制板的工作电压是5 V,当接上USB 时无须外部供电,也可以采用外部7~12 V DC 输入供电。其可以输出5 V、3.3 V 或者与外部电源输入相同的直流电压。处理器核心是ATmega328,时钟频率是16 MHz。该控制电路板推荐的输入电压是7~12 V,限制的输入电压是6~20 V,支持USB 接口协议及供电(不需外接电源),支持ISP 下载功能;有14 路数字输入、输出口(其中3、5、6、9、10、11 共6 路可作为脉冲宽度调制PWM 输出口),工作电压为5 V,每一路能输出和接入的最大电流为40 mA;6 路模拟输入(A0~A5),每一路具有10 位的分辨率(即输入有1 024 个不同值),默认输入信号范围为0~5 V;有一个电源插座和一个复位按钮。Arduino UNO R3 的引脚如图16-2 所示。
图16-2 Arduino UNO R3 的引脚
(2)传感器扩展板简介
传感器扩展板不仅将Arduino UNO R3 控制器的全部数字与模拟接口以舵机线序形式扩展出来,还特设I2C 接口、32 路舵机控制器接口、蓝牙模块通信接口、SD 卡模块通信接口、APC220 无线射频模块通信接口、RBURF v1.1 超声波传感器接口、12864 液晶串行与并行接口,独立扩出更加易用方便。对于Arduino 初学者来说,不必为烦琐复杂电路连线而头疼,这款传感器扩展板真正意义上地将电路简化,能够很容易地将常用传感器连接起来,一款传感器仅需要一种通用3P 传感器连接线(不分数字连接线与模拟连接线),完成电路连接后,编写相应的Arduino 程序下载到Arduino 控制器中读取传感器数据,或者接收无线模块回传数据,经过运算处理,最终轻松完成互动。
传感器扩展板的实物接口如图16-3 所示。它具有1 个12864 液晶屏幕并行接口,1 个12 864 液晶屏幕串行接口,D0~D13 共14 个数字接口,A0~A5 共6 个模拟接口,1 个串行通信接口,一个IIC 通信接口,3 V 或5 V 的输出电压,拥有APC220 模块、蓝牙模块、SD卡存储模块、超声波传感器模块等的扩展接口。
图16-3 传感器扩展板
传感器扩展板的引脚示意图如图16-4 所示,其具有两个板载指示灯,即电源指示灯和D13 引脚状态指示灯(此指示灯与Arduino UNO 板载的D13 指示灯状态同步)。扩展板将Arduino UNO 控制器的14 个数字引脚均变成3 线制,可以使用3P 传感器连接线直接连接传感器和扩展板,其中:G 对应传感器的电源负,V 对应传感器的电源正,S 对应传感器的信号端。扩展板将Arduino UNO 控制器的6 个模拟引脚均变成3 线制,可以使用3P 传感器连接线直接连接传感器和扩展板,同样G 对应传感器的电源负,V 对应传感器的电源正,S 对应传感器的信号端。此外,扩展板还具有蓝牙模块接口、APC220 无线通信模块接口、串行通信接口、IIC 通信接口、超声波传感器接口、SD 卡扩展模块接口、12864 液晶并行接口、SPI 接口等扩展口;具有复位按键,可实现通过传感器扩展板给Arduino UNO 控制器程序进行复位。数字口供电选择可以通过一个跳线帽对数字口供电进行选择,将跳线帽拔下,数字接口需要通过从外接供电接口进行单独供电,当数字接口接大电流设备(例如舵机)时,这个条线帽是非常管用的。扩展电源接口可以通过排针扩展出1 个3.3 V、1 个5 V 电源接口,2 个GND 接口,电源输入接口Vin,复位接口RESET 等。
2.教学用智能车的传感器
图16-4 传感器扩展板的引脚示意图
如果机器人只能按照编好的程序指令有一是一、有二是二地行动,会不会就显得太“笨”了呢?科学家们早就想办法让机器人具备了更高的智能,让它们能够根据环境的变化做出反应。比如说,现在已经有服务机器人可以根据主人家里的温度变化调节空调、暖气,让主人一直处于舒适的环境中。再比如说,在国外的一些博物馆中已经有导游机器人为人们服务了,它们能不知疲倦地带领你进行参观并且进行讲解。但是在博物馆中,人来人往,导游机器人怎么能够防止自己撞上其他游客呢?这些能力就要靠“传感器”来实现了。传感器就像是我们人类的眼睛、鼻子、耳朵或是动物的触角、声呐,它们可以将环境中的声、光、电、磁、温度、湿度等物理量转化为机器人的大脑——控制器可以处理的电信号,控制器通过读取这些电信号就可以很快知道周围发生了什么,然后其中的智能程序就可以根据周围环境的变化做出实时的响应了。智能车上的传感器主要有下面几种。
(1)红外测障传感器
智能车的红外测障传感器如图16-5 所示,它具有一对红外信号发射器与红外接收器,红外发射器通常是红外发光二极管,可以发射特定频率的红外信号,接收管接收这种频率的红外信号,当红外的检测方向遇到障碍物时,经障碍物反射后,由红外接收电路的光敏接收管接收前方物体的反射光,据此判断前方是否有障碍物。红外信号反射回来被接收管接收,经过处理之后,通过数字接口返回到智能车控制系统,智能车即可利用红外的返回信号来识别周围环境的变化。红外测障传感器是利用被检测物对光束的遮挡或反射,由同步回路选通电路,从而检测物体有无的。它的用途非常多,一般用于躲避周围障碍,或者在无须接触的情况下检测各种物体的存在。检测到的结果:有障碍值为0,无障碍值为1,是一种数字量传感器。
图16-5 智能小车的红外测障传感器
(2)光敏传感器
智能车的光敏传感器如图16-6 所示,它是用来对环境光线的强度进行检测的一种检测器件。它采用光电元件作为检测元件,把被测量的变化转变为信号的变化,然后借助光电元件进一步将光信号转换成电信号。光敏传感器一般由光源、光学通路和光电元件三部分组成。光电检测方法具有精度高、反应快、非接触等优点,而且可测参数多,传感器的结构简单,形式灵活多样,体积小。近年来,随着光电技术的发展,光敏传感器已成为系列产品,其品种及产量日益增加,用户可根据需要选用各种规格产品,在各种轻工自动机上获得广泛的应用。
图16-6 智能小车的光敏传感器
光敏传感器是利用光敏元件将光信号转换为电信号的传感器,它的敏感波长在可见光波长附近,包括红外线波长和紫外线波长。光敏传感器不只局限于对光的探测,还可以作为探测元件组成其他传感器,对许多非电量进行检测,只要将这些非电量转换为光信号的变化即可。光敏传感器的种类繁多,主要有光电管、光电倍增管、光敏电阻、光敏三极管、光电耦合器、太阳能电池、红外线传感器、紫外线传感器、光纤式光电传感器、色彩传感器、CCD和CMOS 图像传感器等。
智能车上的光敏传感器是一种模拟传感器,值的范围为0~1 023,光线强弱的不同会输出不同的值,光线越强数值越小,光线越暗数值越大。具体接线方式:黑线接GND,红线接5 V,第三根线接模拟针脚。
(3)触碰传感器
智能车的触碰传感器如图16-7 所示,触碰传感器是使机器人有感知触碰信息能力的传感器。在机器人需要感应的相应位置上安装有若干个触碰开关(常开),其是一个利用触碰开关是否闭合实现检测触碰功能的电子部件,主要作用是检测外界触碰情况。例如:行进时,用于检测障碍物;走迷宫时,用于检测墙壁,等等。触碰传感器是一种数字传感器,在碰到障碍物时,值为1,否则值为0。接线方法:黑线接GND,红线接5 V,第三根线接模拟针脚。
图16-7 智能小车的触碰传感器
(4)巡线传感器(www.xing528.com)
智能车的巡线传感器如图16-8 所示,巡线传感器以稳定的TTL 输出信号帮助机器人进行白线或者黑线的跟踪,它可以检测白背景中的黑线,也可以检测黑背景中的白线,当检测的是黑色时输出高电平,检测到白色时输出低电平。接线方法:黑线接GND,红线接5 V,第三根线接模拟针脚。
(5)超声波传感器
图16-8 智能小车的巡线传感器
智能车的超声波传感器如图16-9 所示,超声波传感器主要通过发送超声波并接收超声波来对某些参数或事项进行检测。发送超声波由发送器部分完成,主要利用振子的振动产生并向空中辐射超声波;接收超声波由接收器部分完成,主要接收由发送器辐射出的超声波并将其转换为电能输出。除此之外,发送器与接收器的动作都受控制部分控制,如控制发送器发出超声波的脉冲连频率、占空比、探测距离,等等。其整体系统的工作也需提供能量,由电源部分完成。这样,在电源作用及控制部分控制下,通过发送器发送超声波与接收器接收超声波便可完成超声波传感器所需完成的功能。
图16-9 智能小车的超声波传感器
智能车超声波传感器引脚图如图16-10 所示,它有两种工作模式:单线模式(只需要一根线接INPUT)和双线模式(需要一根输入和输出信号线)。在超声波传感器的后面有模式Mode 选择开关,通常选择双线模式使用,所以需要将其打到“2”模式。
由于超声波探测器具有很强的穿透力,碰到物体会反射并具有多普勒效应,因此其在国防、医学、工业等方面有着广泛的应用。在医学方面,主要用于无痛、无害、简便地诊断疾病;在工业方面,主要用于对金属的无损探伤和超声波测厚。此外,利用超声波的这一特性,还可将其用于对集装箱状态的检测、对液位的监测、实现塑料包装检测的闭环控制,等等。智能车能够感应的角度不大于15°,探测距离是1~500 cm,精度为0.5 cm,接线方法如图16-10 所示。
图16-10 超声波传感器的引脚
3.教学用智能车的驱动器和执行器
智能抽水马桶、全自动洗衣机、自动售卖饮料机等,都是没有移动能力的机器人。但是想想看,会跑的机器人也许能更好地帮助人类。因此,人们研制了一大类可以自由运动的机器人,它们被称作移动机器人。而帮助机器人移动的机械和电子设备叫作驱动器。同样,机器人的驱动器也是五花八门的。大多数机器人就像我们日常生活中常见的各种车辆一样,是用轮子或者履带运动的;也有机器人应用仿生学原理,像人或动物一样用两足、四足或六足的方式运动;还有的机器人可以用螺旋桨产生的推力翱翔于天空,可以像蛟龙一样自由地潜入水下。
机器人的结构中用来实际完成特定任务的装置叫作执行器。比如自动售货机中,把货物取出交给顾客的装置就是执行器。还有一些机器人的执行器更加复杂,也看起来更像是人类的手臂。现代工厂中的焊接机器人、喷漆机器人、码垛机器人就都有一只灵活、强壮的手。也许在工厂中做某些技术活儿时,机器人还是不如有经验的人类师傅,但是在做那些高强度、重复性的劳动时,机器人就会全面胜出了,它们可以不知疲倦地工作,又快又好地完成任务。现在最先进的机器人已经可以进行复杂的外科手术了。
智能车上的执行器主要是行走的轮子,而驱动轮子的主要就是电动机。教学用的这款智能车电动机采用的是直流减速电动机,那么该电动机是如何转动的呢?举个例子:你手里拿着一节电池,用导线将电动机和电池两端对接,电动机就转动了;然后如果你把电池极性反过来会怎么样呢?那当然电动机也反着转了。如果我们需要电动机既能正转又能反转,怎么办?难道每次都要把电动机的连线反过来接?当然不是,我们可以通过双H 桥直流电动机驱动板来实现换向。
采用LKV-HM3.0 双H 桥直流电动机驱动板的功能图解如图16-11 所示,它是ST 公司的L298N 典型双H 桥直流电动机驱动芯片,可用于驱动直流电动机或双极性步进电动机,此驱动板体积小、质量轻,具有强大的驱动能力:2 A 的峰值电流和46 V 的峰值电压,外加续流二极管,可防止电动机线圈在断电时的反电动势损坏芯片;芯片在过热时具有自动关断的功能,且安装散热片使芯片温度降低,让驱动性能更加稳定;板子设有2 个电流反馈检测接口、4 个上拉电阻选择端、2 路直流电动机接口和四线两相步进电动机接口、控制电动机方向指示灯、4 个标准固定安装孔。此驱动板适用于智能程控小车、轮式机器人等,可配合各种控制器使用。
红、绿端子分别为左右两边直流减速电动机接线座,注意电动机接线顺序对应关系,方向保持一致,4 个电动机方向指示灯方便程序调试。VMS 端为驱动供电输入+端,输入电压范围为+5~+46 V。当输入电压范围在+5~+7 V 或者+18~+46 V 时需要同时给逻辑部分供电,取下板内取电端跳线帽,+5 V 接线端输入+5 V。当输入电压范围在+7~+18 V时逻辑部分可以板内取电,板内取电端需插上跳线帽,GND 为电源地。4 个上拉电阻选择端,专为I/O 口驱动能力差的单片机而设计,让驱动板适用性更强,正常使用时可以不必取下,如果单片机I/O 口驱动能力强,如AVR 单片机,则可以取下跳线帽,以节约供电。
图16-11 双H 桥直流电动机驱动板的功能图解
图16-12 所示为电动机控制信号输入接口图,图中EA、I1、I2 与EB、I3、I4 分别为控制信号输入接口,其中EA 与EB 分别是左右两路电动机控制接口使能端,高电平有效,可用于PWM 调速。表16-2 所示为接口使用真值表,输入信号不同,则对应电动机状态不同。
图16-12 电动机控制信号输入接口
表16-2 电动机控制接口使用真值表
续表
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。