APP下载

智能导游小车的设计与实现*

2018-12-21胡鹏路

机械工程与自动化 2018年6期
关键词:读卡器循迹景点

郭 燕,王 琰,胡鹏路

(1.南京科技职业学院,江苏 南京 210048;2.南京熊猫机电仪技术有限公司,江苏 南京 210007)

0 引言

现代社会智能技术正越来越深刻地影响着我们的生活,智能旅游是指在旅游行业采用最新智能技术进行环境感知和规划决策,以智能手段开展旅游服务,使游客能够便捷地获取舒适的旅游方式[1]。本课题研制开发了一种用于旅游的智能导游小车,该小车由52单片机、QTI传感器、RFID读卡器、语音模块(WT588D)、锂电池电源模块、伺服舵机等部件组成,实现从起始点出发到目的地,按照指定轨迹移动,在规定时间内游历指定景点,并播报相应的景点信息,在游历完所有景点后回到出发地的相应功能。

1 智能导游小车系统总体设计

本课题所开发的智能导游小车是由机械本体、检测元件、驱动系统、控制系统和执行装置组合在一起的组合体,能够完成一系列开环或闭环系统的工作,实现半自动或全自动的系统操作。该系统能够在一系列景点之间按事先设定好的顺序自动循线行走,不需要人为的遥控;同时,该系统结合无线射频技术检测景点信息,采用多功能、可编辑的WT588D语音芯片进行站点信息的语音播报,采用AT89S52单片机控制装置实现可编程控制[2-4],以此实现导游的功能。智能导游小车系统总体结构框图[5-6]如图1所示,其中电源模块为整个系统提供动力来源;QTI光电传感器实现循迹功能;RFID读卡器读取标签卡进行景点识别;语音模块用来编辑与存储语音片段;功放模块实现语音的放大与保真,并采用DAC方式驱动扬声器进行景点语音信息的播报;360°伺服舵机作为执行单元按照指令进行小车前进方向或速度的控制,实现小车的前进、后退等各种巡航动作;ISP下载模块实现程序往单片机的烧录;AT89S52单片机为整个系统的协调与控制提供保障等。

图1 智能导游小车系统总体结构框图

2 系统硬件设计

本系统采用8个循迹传感器连接至单片机P0.0、P0.1、P0.2、P0.3、P0.4、P0.5、P0.6、P0.7等8个端口,用于获取路面信息,进行循线;采用RFID读卡器连接至控制器P2.4、P3.0端口来实现循迹和读取标签卡信息;采用语音模块(WT588D)连接至单片机P2.0、P2.1、P2.2、P2.3实现语音的编辑、存储与调用;采用伺服舵机连接至单片机P1.0、P1.1驱动小车左右轮按照预定的方式动作。智能导游小车控制部分连接示意图见图2。本系统采用软硬件结合的设计方法,实现在规定时间内游历指定景点,并播报相应的景点信息,在游历完所有景点后回到出发地的相应功能。

2.1 循迹功能的实现

本系统采用DM-S53401QTI光电传感器,该传感器采用光电接收管来进行循线。当QTI传感器在一个很暗的表面上时,反射光强度很低;当QTI传感器在一个很亮的表面上时,反射光强度很高,从而导致传感器输出的变化,不同强度的反射光导致传感器输出不同,即探测到不同颜色的物体输出不同的电平信号。

图2 控制部分连接电路示意图

本系统共采用8个QTI传感器,在小车的前、后分别安装4个QTI传感器。安装好后,用套件中附带的3PIN杜邦线将QTI的引脚连接到机器小车的面板上,将QTI传感器的GND连接至控制板上的GND、VCC连接到控制板上的Vdd,然后将SIG连接到单片机的P0口上,在此以前4组传感器为例说明连接方法和循迹策略。

传感器与单片机接口的连接示意图如图3所示,以前端4组QTI传感器为例,将其SIG信号线分别连接至小车平台的相应P0.0、P0.1、P0.2、P0.3位,从而进行路面的检测,以便循线。

图3 传感器与单片机接口连接示意图

2.2 读卡功能的实现

读卡功能模块由RFID读卡器和无源只读标签卡组成,RFID读卡器可低功耗被动读取标签,实现串口通信,能够采用软件来启动或者禁用输入使能端,并且具有双色LED状态显示,每个标签含有一个唯一的标识符,由RFID射频读取卡中信息后,通过串行接口P3.0传输给单片机控制端[7]。

RFID读卡器有4个引脚:VCC、/ENABLE、SOUT、GND。其中,单片机P2.4连接其使能引脚/ENABLE,读卡器的输出信号SOUT与单片机的P3.0引脚相连,实现串口通信。RFID读卡器电路连接方式见表1。

表1 RFID读卡器电路连接方式

3 系统软件设计

3.1 循迹功能的实现

在循迹的过程中,循迹函数由前进循迹void run_online(int steps)、后退循迹void run_online1(int steps)、左转void run_online_a(int steps)、右转void run_online1_a(int steps)组成。前进循线根据前头的4个QTI传感器返回的信息,然后根据run_online()函数执行前进、左转修正、右转修正等动作实现循线;后退循线与前进循迹类似。

循迹部分函数如下:

void run_online(int steps){

while(steps)

{

if((P02_state()&&(!P01_state()))||(P03_state()&&(!P02_state())&&(!P01_state())&&(!P00_state()))) //1100 1000

{

move(1530,1300,1);

}

else

if(((!P02_state())&&P01_state())||((!P03_state())&&(!P02_state())&&(!P01_state())&&P00_state()))

{move(1700,1470,1);}

else if((!P01_state())&&(!P02_state()))

{

move(1500,1500,1);

delay_nms(1000);

move(1700,1300,8);

city_RFID=RFID();

if(city[Travel_itinerary[travel_city]]==city_RFID)

{

voice_broadcast(Travel_itinerary[travel_city]);

travel_city++;

}

break;

}

else

{

move(1700,1300,1);

steps--;

}

}

3.2 语音播报的实现

在语音播报过程中,首先采用move()子函数,RFID通信串口初始化,当读卡器读完一帧数据,即产生串行中断,调用串行中断子函数serial()并进行解码,按照位通信协议读取数据,调取相应语音,同时进行播报。语音播报主要由串口中断读卡函数、RFID通信串口初始化函数以及解码函数组成。语音播报流程如图4所示。

3.3 主函数

本智能导游小车使用的算法是基于数字地图的向量分析法[8],首先用数组M存储相应的景点坐标、景点标签卡信息,数组N存储机器小车的移动路径。机器小车通过循线到达某个景点,并通过RFID读卡器读取该景点的标签卡信息,将标签卡信息与数组M对比找到该景点的坐标B。再通过机器小车移动路径数组N获取上一个景点和下一个景点的信息,对照数组M找到这两个景点的坐标A和C,最后通过这三个景点(上一个景点坐标A、当前景点坐标B、下一个景点坐标C)来获知小车需转动的方向和转动角度,小车获知转动方向和角度后便可旋转至下一个轨道,循线前进。

图4 语音播报流程

软件设计思路是:小车从起始景点出发,先播报起始景点信息,再沿某个方向循线运动,到达下一个景点时小车通过内侧的两个QTI检测到相应的信息,驱动RFID读卡器读取无线射频标签卡信息,将读取到的信息与city[][]数组的对应列数据对比,找到与之相对应的景点后读取该景点的X、Y坐标值;通过景点播报路径数组Travel_itinerary[]获知该景点是否是播报景点,再通过机器小车移动路径数组path[]获取上次经过的景点的X、Y坐标以及下一个将要去的景点的坐标;知道3个景点坐标后便可以计算出需要转动的角度和方向,由于机器小车转动的时候会有一些小误差,因此转动后需要继续搜索黑线,找到黑线后便可循线移动到下一个景点,如此循环执行,直到走完小车移动路径规划的景点,并播报路线规定的所有景点后跳出循环,回到起始区域停下。智能导游机器小车的程序流程见图5。

4 结束语

本课题开发了一种以AT89S52单片机为控制核心的智能导游机器小车,该方案以QTI光电传感器作为路径信息采集工具实现循线;采用语音模块进行语音片段的存储和编辑,功放模块实现语音的放大与保真;结合无线射频技术检测景点信息,进行景点信息的语音播报,实现导游机器小车的智能化行进与景点信息讲解。经过实践证明:该系统运行可靠,具有很好的路面识别与信息播报能力,以及很强的实践性和一定的推广价值。

图5 智能导游小车程序流程

猜你喜欢

读卡器循迹景点
基于DFT算法的电力巡检无人机循迹检测系统设计
与淘汰命运抗争 看懂笔记本的读卡器
浅谈基于机器视觉和姿态检测的循迹智能车
打卡名校景点——那些必去朝圣的大学景点
智能差分循迹小车设计
基于EMV非接通信规范的非接触读卡器设计
多合一读卡器
为二维码识别的献礼之作——评测平治二维码门禁读卡器
英格兰十大怪异景点
没有景点 只是生活