目录
摘要…… I
Abstract II
基于图像识别的智能寻迹控制系统设计 I
Design of Intelligent tracking Control system based on Image recognition II
目录 III
第1章 绪论 1
1.1 课题背景 1
1.1 国内外文献综述 1
1.2 论文研究内容 2
第2章 基于图像识别的智能寻迹控制系统方案论证与分析 4
2.1 基于图像识别的智能寻迹控制系统构架方案论证 4
2.2 电机选择方案论证 4
2.3 电机驱动方案论证 5
2.4 供电电源方案论证 6
2.5 寻迹检测方案论证 6
2.6 避障方案论证 7
2.7 无线遥控方案论证 7
2.8 控制方案论证 7
2.9 本章小结 8
第3章 基于图像识别的智能寻迹控制系统硬件设计 9
3.1 硬件原理图 9
3.2 控制电路设计 9
3.2.1 STC89C52单片机硬件结构 9
3.2.2 最小系统的设计 10
3.2.3 下载端口设计 12
3.3 电源模块设计 14
3.4 电机驱动模块设计 14
3.5 寻迹模块设计 17
3.6 避障模块设计 18
3.7 遥控模块设计 20
3.8 本章小结 20
第4章 基于图像识别的智能寻迹控制系统软件设计 22
4.1 软件设计环境简介 22
4.1.1 Keil开发环境介绍 22
4.1.2 STC_ISP程序下载说明 24
4.2 寻迹程序设计 25
4.3 避障程序设计 26
4.4 遥控程序设计 27
4.5 主程序设计 29
4.6 本章小结 30
结论 31
致谢 32
参考文献 33
附录:部分原理程序 35
附录:部分硬件原理图 39
1.2论文研究内容
本课题主要开发一个基于路径处理的的基于图像识别的智能寻迹控制系统,通过该系统,我们可以给基于图像识别的智能寻迹控制系统给定一条轨迹,使其按预定路径行始。基于图像识别的智能寻迹控制系统可以独自运行,也可人工及时操控调整,使其按正确的轨迹运行。本文主要有以下内容:
1.智能寻迹相关领域的研究现状,本文首要介绍了与智能寻迹相关的机器人、基于图像识别的智能寻迹控制系统辆的发展历史、国内外研究现状。
2.智能寻迹硬件系统的设计。详细介绍智能寻迹硬件电路的设计与实现。智能寻迹选择STC89C52单片机最小系统作为核心控制单元,完成电源模块、传感器模块、直流电机驱动模块、路径识别模块、等功能模块的设计。
3.障基本原理。采用光电红外对管来识别路径,红外发射管与红外一体接收头来识别障碍。
4.控制原理。采用红外识别,遥控器解码技术,来控制基于图像识别的智能寻迹控制系统的行进方向,从而达到人工操控的目地。
5.行实车试验,对基于图像识别的智能寻迹控制系统进行调试。
第2章基于图像识别的智能寻迹控制系统方案论证与分析
本章主要介绍方案的选择与分析,主要包括单片机模块、电源模块、电机驱动模块、黑线检测模块以及液晶显示模块的方案选择与分析。
2.1基于图像识别的智能寻迹控制系统构架方案论证
基于图像识别的智能寻迹控制系统行走机构的方案分析与选择:
方案一:履带式行走机构:运行平稳、可靠,走直线效果很好;但结构相对复杂、移动速度较慢,转弯过程的控制性能较差。
方案二:腿式行走机构:可以走出多种复杂的路线,但结构复杂、运动中的平衡性和稳定性差、移动速度较慢。
方案三:两轮式行走机构:结构简单、运动平稳、移动速度快、转弯性能好,且易于控制,适用于小功率的行走驱动。
方案四:四轮式行走机构:结构简单、运动平稳、移动速度快、易于控制。
通过以上四种方案的优缺点,方案三与方案四可具有较大的可行性,但四轮式行走机构需要四个电机,控制算法相对复杂,且需要很大的驱动电流,对硬件要求较高,而两轮式能满足此设计要求,且结构简单,算法方便,要求驱动电流小,硬件结构简单。本设计以对称结构,简单方便为主,固综上考虑,采用方案三的设计思想。
2.2电机选择方案论证
电动机选择方案与分析:
方案一:采用步进电机:步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角,这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。所以,若采用步进电机作为该系统的驱动电机,由于其转动的角度可以精确定位,可以实现基于图像识别的智能寻迹控制系统前进距离和位置的精确定位。
方案二:采用直流电机:采用直流减速电机,直流减速电机转动力矩大,体积小,重量轻,装配简单,使用方便,过载能力强,能承受频繁的冲击负载,可实现无级快速启动、制动和反转;能满足各种不同的特殊运行要求。很方便的就可以实现通过单片机对直流减速电机前进、后退、停止等操作。
通过以上两种方案的比较,两种方案均具有较大的可行性,但步进电机并不能象普通的直流电机、交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。步进电机的输出力矩较低,随转速的升高而下降,且在较高的转速时会急剧下降,其转速较低时不适于基于图像识别的智能寻迹控制系统等对速度有一定要求的系统。在价格方面,直流电机低于步进电机,易于购买,且对硬件要简单,完全可以实现此设计的要求,固综上考虑,此次设计采用直流电机作为动力源。
寻迹程序:
void xunji()
{
switch(P1)
{
case 0xe4: PWM(10);ahead();break; //00 1 00
case 0xf0: //10 0 00
case 0xe8: //01 0 00
case 0xf8: //11 0 00
case 0xec: while(!(P1==0xe4)&&!(P1==0xff)) //01 1 00
{turn(0,10);}
break;
case 0xfc: //11 1 00
case 0xfe: while(!(P1==0xe0)&&!(P1==0xff)) //11 1 10
{
PWM(10);
ahead();
}
while(!(P1==0xe4)&&!(P1==0xff))
{
turn(0,10);
}
break;
case 0xe2: //00 0 10
case 0xe1: //00 0 01
case 0xe3: //00 0 11
case 0xe6: while(!(P1==0xe4)&&!(P1==0xff)) //00 1 10
{turn(10,0);}
break;
case 0xe7: //00 1 11
case 0xef: while(!(P1==0xe0)&&!(P1==0xff)) //01 1 11
{
PWM(10);
ahead();
}
while(!(P1==0xe4)&&!(P1==0xff))
{
turn(10,0);
}
break;
case 0xff: PWM(10);back();while(1){stop();}break; //11 1 11
default:PWM(10);ahead();break;
}