多机器人侦查系统回显功能的实现.docx
《多机器人侦查系统回显功能的实现.docx》由会员分享,可在线阅读,更多相关《多机器人侦查系统回显功能的实现.docx(37页珍藏版)》请在冰豆网上搜索。
![多机器人侦查系统回显功能的实现.docx](https://file1.bdocx.com/fileroot1/2023-1/10/c0645b7b-90f6-406f-a89d-1956c79798a8/c0645b7b-90f6-406f-a89d-1956c79798a81.gif)
多机器人侦查系统回显功能的实现
多机器人侦查系统回显功能的实现
摘要
机器人技术的发展是一个国家高科技水平和工业自动化程度的重要标志和体现。
机器人技术对科学技术发展和对人类社会进步的巨大推动作用,在21世纪必将得到越来越大的发展,特别是将成熟的单片机技术应用于机器人技术以提高机器人智能性方面的研究一直是一个活跃的研究领域。
本文主要研究液晶显示器的回显功能应用于多机器人侦查系统,该系统由机器人的决策机制(避障、路径规划、目标搜索)、机器人视觉功能、机器人发声功能、机器人回显功能组成,以便完成目在标搜索过程中进行避障,并且由显示功能与发声功能来表示机器人当前的状态。
多机器人侦查系统回显功能由硬件和软件两部分来实现。
硬件主要完成LCD与单片机的连接,软件主要完成机器人状态回显程序、机器人决策与动作回显程序、电机速度回显程序的编写。
LCD显示字符的原理,指令编码中指令数据的高2位已固定是01,只有后面的6位是地址数据,而这6位中的高3位就表示这八个自定义字符,最后的3位就是字模数据的八个地址了,用0或1来实现显示。
其中阐述了多机器人侦查系统液晶显示的原理,回显子系统的结构和机器人回显的各个解释机构。
关键词:
机器人,单片机,液晶显示器
Investigationofmulti-robotsystemtoachievetheechofunction
Abstract
Robottechnologyisacountryofhightechnologyandindustrialautomationanimportantsymbolandembodiment.RobotTechnologyonscientificandtechnologicaldevelopmentandagreathumanroleinpromotingsocialprogress,inthe21stcenturywillbemoreandmoredevelopment,especiallyinthematuresinglechiptechnologyusedinrobottechnologytoimprovetherobot'sintelligenceResearchhasbeenanactiveareaofresearch.
ThispaperstudiesechofunctionLCDdisplayusedinmulti-robotdetectionsystem,whichbytherobot'sdecision-makingmechanism(obstacleavoidance,pathplanning,targetsearch),visualfunctionrobot,robotvoicefunction,therobotbacksignificantfunctionalcomponentstocompletetheprojectinthestandardsearchprocesstoavoidthisobstacle,andbythedisplayandthevoicefunctionstorepresentthecurrentstateoftherobot.
Multi-functionrobotechodetectionsystemhardwareandsoftwarefromthetwotoachieve.MainLCDandmicrocontrollerhardwaretocompletetheconnection,thesoftwarewascompletedfortherobotstateechoprocedures,decisionsandactionsechotherobotprogram,themotorspeedthepreparationofechoprocedures.TheprinciplecharacterLCDdisplay,instructionsencodedintheinstructiondatainthehigh-2hasbeenfixedis01,justbehindthesixistheaddressdata,andthatsixofthehigh-3saysthattheeightcustomcharacters,thelast3eight-bitaddressisthefontdata,andwith0or1toachievethedisplay.Describingthedetectionofmulti-robotsystemliquidcrystaldisplayprinciple,thestructureoftheechosubsystemandrobotbodiestoexplainechoall.
Keywords:
robot,microcontroller,LCDdisplay
目录
摘要I
AbstractII
第1章概述1
1.2机器人发展前景2
1.3液晶显示的关键技术3
第2章多机器人侦查系统介绍5
2.1系统功能5
2.2系统结构5
2.3运行原理5
2.3.1机器人的决策机制7
2.3.2机器人视觉功能8
2.3.3机器人回显功能10
2.3.4机器人发声功能10
第3章多机器人侦查系统液晶显示原理12
3.1机器人系统中液晶显示原理12
3.2回显子系统结构18
3.3机器人-回显20
第4章系统开发及调试24
4.1LCD与单片机硬件的实现24
4.1.2字符型液晶显示器引脚的定义24
4.2LCD模块驱动程序29
4.3机器人回显程序的编写33
4.3.1机器人状态回显程序33
4.3.2机器人决策与动作回显程序38
4.3.3电机速度回显程序38
第5章总结与展望41
参考文献42
致谢44
附录45
第1章概述
1.1LCD的发展历史
自1888年液晶被发现以来迄今已有118年。
在此期间,液晶科学技术涵盖了物理、化学、材料、电子等多学科,其发展波澜万丈,历经高潮与低谷。
液晶科学技术的发展历程,体现了基础科学研究对自然界现象的理解和对应用技术发展的推动,应用技术的发展又丰富了基础研究的细节,两者的良性互动促成了液晶产业发展。
液晶显示器(liquidcrystaldisplay,LCD)的技术1888年奥地利F.Reinitzer在研究胆甾醇苯酸脂(cholesterylbenzoate,C6H5CO2C27H45)时发现在通常的固态-液态间存在着一中间相(mesophase),1889年经德国物理学家O.Lehmann的系统研究,这种中间相尽管显示出液态特征但又具有晶体才具有的光学各向异性,因而命名为液晶(liquidcrystal,LC)。
与液晶理论研究的爆发相呼应,在20世界六十年代末期迎来了液晶科技发展的复兴期。
1968年5月28日,美国RCA公司普林斯顿研究所的Heilmeier等发表了利用液晶动态散射模(dynamicscatteringmode,DSM)的液晶显示器,在对这种显示器施加20~25V电压时,会发生强烈光散射,液晶呈混浊状,可以制成显示文字的平板显示器,这种元件称为DSM元件。
这一成果迅速传遍世界,震惊了整个产业界。
使人们看到了壁挂式电视出现的前景。
受其鼓舞,1969年发现了胆甾相(Cholesteric)液晶的相变效应,1972年的扭曲向列相(twistednematic)液晶显示,1974年的GuestHost液晶显示,1980年的铁电(ferroe-lectric)液晶显示,1984年的超扭曲向列相(supertwistednematic)液晶显示……,由此液晶在显示上的应用获得了迅速而广泛的发展。
LCD首先被用于制造小型、低功耗的电子计算器。
1973年日本夏普公司发布了仅使用一节5号电池即可使用100小时的DSM--LCD的EL--805计算器,围绕使用DSM的LCD展开了被称为电子计算器的开发竞争。
随着LCD在面板尺寸、显示分辨率、色彩、视角以及响应速度等方面技术的不断进步,LCD在计算器、手表、手机、笔记本电脑、台式计算机、电视等获得广泛应用,终于成为当今占压倒优势的平板显示技术。
这里需要指出的是最早发现液晶在平板显示方面应用潜力的美国最终没有成为LCD的霸主,究其原因可以归结为当时美国仍在采用LCD或是LED之间摇摆不定的时候,日本的企业将几乎全部人力物力投入到LCD技术的研究开发,从而使日本在1994年前在LCD的开发生产上占据了绝对统治地位。
1.2机器人发展前景
机器人技术的发展是一个国家高科技水平和工业自动化程度的重要标志和体现。
机器人在当前生产生活中的应用越来越广泛,正在替代人发挥着日益重要的作用。
机器人技术是综合了计算机、控制论、机构学、信息和传感技术、人工智能、仿生学等多学科而形成的高新技术,集成了多学科的发展成果,代表高技术的发展前沿,是当前科技研究的热点方向。
随着计算机、微电子、信息技术的快速进步,机器人技术的开发速度越来越快,智能度越来越高,应用范围也得到了极大的扩展。
在海洋开发、宇宙探测、工农业生产、军事、社会服务、娱乐等各个领域,机器人都有着广阔的发展空间与应用前景。
机器人正朝着智能化和多样化等方向发展。
同时,机器人涉及到的技术也不断扩展,如多传感器信息融合、路径规划、机器人视觉、智能人机接口等,产生了一系列研究课题。
1.3液晶显示的关键技术
液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。
这里采用液晶模块,通过与单片机连接,编程,完成机器人状态等的显示功能。
系统所用的LCD点阵式LCD模块(LiquidCrystalDisplayModule)简称LCM,或者是字符型LCD。
字符型液晶显示模块是一种专门用于显示字母、数字、符号等的点阵式液晶显示模块。
每一个显示的字符(或字母、数字等)是由5*7或5*11点阵组成。
点阵字符位之间有一空点距的间隔,起到字符间距和行距的作用。
使用的LCD显示器可显示两行,每行由16个点阵字符组成,能显示所有ASCII字符,如图下图所示,每个字符由5*7点阵组成。
图1.1实物图
图1.21602LCD尺寸图
1602LCD主要技术参数
显示容量:
16
2个字符
芯片工作电压:
4.5-5.5V
工作电流:
2.0mA(5.0V)
模块最佳工作电压:
5.0V
字符尺寸:
2.95
4.35(W
H)mm
第2章多机器人侦查系统介绍
本文所研究的回显功能应用于多机器人侦查系统,该系统的各组成部分由课题组成员分别研发,本章从整体的角度对多机器人侦查系统进行介绍,将涉及到课题组其他成员的研究内容。
2.1系统功能
1.本文所研制的系统的主要功能是多机器人寻找目标,在寻找目标的过程中避障,并对其状态进行回显和声音报警。
用液晶显示器来显示机器人的状态(1、未发现目标2、遇到障碍3、发现目标4、检测到其他机器人且对方已发现目标),决策的回显(回避障碍、驶向同伴、搜索目标),动作的回显(机器人向前、后和电机速度)
2.2系统结构
总体构成:
以计算机为控制中心,机器人作为感知机构和执行机构。
其中机器人通过光学传感器感知环境,形成视觉,包括两部分:
边缘视觉传感器(检测障碍和同伴),底部视觉传感器(寻找目标)。
我们设计的轮式机器人采用3轮移动结构,采取两后轮独立驱动的方式,这样,机器人可以获得最大限度的灵活性。
轮式机器人所用的三轮移动结构如图所示。
这种移动机构由独立驱动的两个后轮和小角轮构成的辅助轮组成,辅助轮仅起到支撑车体的作用。
2.3运行原理
主控计算机控制,对每台机器人并行执行如下操作:
图2.1主控计算机控制的流程图
2.3.1机器人的决策机制
机器人的决策机制包括:
避障、路径规划和目标搜索
1.避障
机器人未发现目标时,处于漫游状态,这时机器人的主要决策时躲避障碍物。
躲避障碍物有两种情况:
一是躲避静态障碍物,这里指墙;一是躲避动态障碍物,这里指同伴。
机器人在没有找到目标之前,我们得确保机器人能走遍全场,采用的方法就是每次撞墙后,机器人随机旋转角度,这样依概率机器人能跑遍全场。
2.路径规划
⑴全局路径规划是运用的栅格法。
栅格法将机器人工作环境分解成一系列具有二值信息的网格单元。
工作空间中障碍物的位置和大小一致,并且在机器人运动过程中。
占该物的位置和大小不发生变化用尺寸相同的栅格对机器人的二维工作空间进行划分。
栅格的大小以机器人自身的尺寸为准。
若某个栅格范围内不含任何障碍物。
则称此栅格为自由栅格:
反之,称为障碍栅格。
自由空间和障碍物均可表示为栅格块的集成。
栅格的标识方法有两种:
直角坐标法和序号法,多采用四叉树或八又树表示工作环境,并通过优化算法完成路径搜索。
⑵局部路径规划是运用人工势场法。
其思想是将目标点看作吸引点,障碍物看成排斥点,机器人沿吸引点和排斥点产生的合力方向运动。
它构造一个叫做势函数的标量函数,使得机器人的目标位姿对应于其最小值,障碍物区域对应于一些较大的值,在任何其他位置,势函数都是向机器人目标位姿单调递减的。
这样,不论机器人处于自由空间的任何位置,只要有路径存在,它都能通过势能值的负梯度方向找到目标位姿。
对应于障碍物的区域有较大的值可以保证生成路径的无碰性。
该法突出的优点是系统的路径生成与控制直接与环境实现了闭环,结构简单,计算量小,实时性好,便于低层的实时控制,从而大大加强了系统的适应性与进障性能,因而广泛应用于实时避障和平滑轨迹控制方面。
3.目标搜索
机器人依靠底部传感器来检测目标,目标是一块黑色方形物体,紧贴在地面上。
当机器人发现目标时,就停在目标位置,同时改变自己的发光模式,让同伴发现自己来通知它已找到目标。
当一台机器人检测到同伴找到目标的信号后,就向同伴靠拢。
撞到同伴后就停在同伴旁边,说明任务已经完成。
2.3.2机器人视觉功能
图2.2视觉系统的组成
在此设计中,我们仅要求机器人发现并跟踪目标,不需要识别目标。
因此采用最常用的红外线反射传感器来作为机器人的视觉功能,检测机器人前方是否有目标。
该功能的实现采用两个红外线反射传感器。
红外反射式接近开关,它内部有一红外线发射管和一红外线接收管。
发射管发出红外线,如果其正前方没有物体,那么接收管接收不到红外线反馈信号。
当前方出现物体时,红外线信号经过物体被反射了回来,这时接收管接收到信号,向单片机发出高电平信号,以告知单片机其前方出现障碍物。
两个红外线传感器安装在机器人前方的两侧,在机器人工作时,两个传感器始终向外发射红外线探测信号,当其中一个传感器接收到反馈信号时,便向单片机发出高电平信号,告知单片机该方向发现目标,单片机经过判断后,控制电动机向该方向转向。
图2.3用红外光探测障碍物
2.3.3机器人回显功能
显示控制主CPU采用大家都很熟悉的51系列单片机AT89S52控制。
由于MCS-51集成了几乎完善的8位中央处理单元,处理功能强,中央处理单元中集成了方便灵活的专用寄存器,硬件的加、减、乘、除法器和布尔处理机及各种逻辑运算和转移指令,这给应用提供了极大的便利。
MCS-51的指令系统近乎完善,指令系统中包含了全面的数据传送指令、完善的算术和逻辑运算指令、方便的逻辑操作和控制指令、对于编程来说,是相当灵活和方便的。
本功能主要实现了人机交互的视觉平台。
本设计采用1602液晶显示模块,该模块是最常用的英文显示模块,它内部含有英文字库,使用方便,价格便宜。
液晶显示功能是配合语音功能共同使用的附加功能,它的作用就是可以显示当前的状态,以实现机器人的人机交互显示功能。
1602是一种16字×2行的字符型液晶模块。
2.3.4机器人发声功能
图2.4扬声器
蜂鸣器的结构原理
1.压电式蜂鸣器压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。
有的压电式蜂鸣器外壳上还装有发光二极管。
多谐振荡器由晶体管或集成电路构成。
当接通电源后(1.5~15V直流工作电压),多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。
压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。
在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。
2.电磁式蜂鸣器电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。
接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。
振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。
第3章多机器人侦查系统液晶显示原理
3.1机器人系统中液晶显示原理
表3.11602液晶模块内部的控制器的11条控制指令
序号
指令
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
1
清显示
0
0
0
0
0
0
0
0
0
1
2
光标返回
0
0
0
0
0
0
0
0
1
*
3
置输入模式
0
0
0
0
0
0
0
1
I/D
S
4
显示开/关控制
0
0
0
0
0
0
1
D
C
B
5
光标或字符移动
0
0
0
0
0
1
S/C
R/L
*
*
6
置功能
0
0
0
0
1
DL
N
F
*
*
7
置字符发生存储器地址
0
0
0
1
字符发生存储器地址
8
置数据存储器地址
0
0
1
显示数据存储器地址
续表3.1
序号
指令
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
9
读忙标志或地址
0
1
BF
计数器地址
10
写数到CGRAM或DDRAM
1
0
要写的数据内容
11
从CGRAM或DDRAM读数
1
1
读出的数据内容
1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。
指令1:
清显示,指令01H,光标复位到地址00H位置。
指令2:
光标复位,光标返回到地址00H。
指令3:
光标和显示模式设置I/D,光标移动方向,高电平右移,低电平左移S:
屏幕上所有文字是否左移或者右移。
高电平表示有效,低电平则无效。
指令4:
显示开关控制。
D:
控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:
控制光标的开与关,高电平表示有光标,低电平表示无光标B:
控制光标是否闪烁,高电平闪烁,低电平不闪烁。
指令5:
光标或显示移位S/C;高电平时移动显示的文字,低电平时移动光标。
指令6:
功能设置命令DL:
高电平时为4位总线,低电平时为8位总线N:
低电平时为单位显示,高电平时双行显示F:
低电平时显示5
7的点阵字符,高电平时显示5
10的点阵字符。
指令7:
字符发生器RAM地址设置。
指令8:
DDRAM地址设置
指令9:
读忙信号和光标地址BF:
为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
指令10:
写数据。
指令11:
读数据。
从指令编码可以看出指令数据的高2位已固定是01,只有后面的6位是地址数据,而这6位中的高3位就表示这八个自定义字符,最后的3位就是字模数据的八个地址了。
例如第一个自定义字符的字模地址为01000000-01000111八个地址。
我们向这8个字节写入字模数据,让它能显示出“C”
地址:
01000000 数据:
00010000 图示:
○○○■○○○○
01000001 00000110 ○○○○○■■○
01000010 00001001 ○○○○■○○■
01000011 00001000 ○○○○■○○○
01000100 00001000 ○○○○■○○○
01000101 00001001 ○○○○■○○■
01000110 00000110 ○○○○○■■○
01000111 00000000 ○○○○○○○○
初始化过程(复位过程)
◆延时15ms
◆写指令38H(不检测忙信号)(或28H,表示4位数据接口)
◆延时15ms
◆写指令38H(不检测忙信号)
◆延时15ms
◆写指令38H(不检测忙信号)(每次写指令、读/写数据操作之前都均需检测忙信号)
◆写指令38H:
显示模式设置
◆写指令08H:
显示关闭
◆写指令01H:
显示清屏
◆写指令06H:
显示光标移动设置
◆写指令0cH:
显示开及光标设置
数据指针(地址)设置
LCD控制器内部带有80×8位(80字节)的RAM缓冲区
表3.2LCD内部RAM地址映射图
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
10
…
27
40
41
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F
50
…
67
数据地址设置指令码:
80H+地址码(0~27H,40~67)。
液晶显示模块是慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志是否为低电平(即不忙),否则该指令失效。
显示字符时,要先输入显示字符地址,即告诉模块在那里显示字符,DDRAM是显示数据RAM,用来寄存待显示的字符代码,共80个字节。
表3.3地址和屏幕的对应关系
显示位置
1
2
3
4
5
6
7
……
40
DDRAM
地址
第一行
00H
01H
02H
03H
04H
05H
06H
……
27H
第二行
40H
41H
42H
43H
44H
45H
46H
……
67H
在LCD1602屏幕的第一行第一列显示一个"A"字,就要向DDRAM的00H地址写入“A”字的代码(指A的字模代码,0x20~0x7F为标准的ASCII码,通过这个代码,在CGROM中查找到相应的字符显示)就行了。
但具体的写入是要按LCD模块的指令格式来进行的。
那么一行可有40个地址呀,在1602就用前16个就行了。
第二行也一样用前16个地址。
图3.1DDRAM地址与显示位置的对应关系:
在LCD模块