arm智能小车设计方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要
随着汽车工业的迅速发展,关于汽车的研究也就越来越受人们的关注,而汽车的智能化已成为科技发展的新方向。
本设计就是在这样的背景下提出来的。
此次设计的简易智能小车是基于arm11控制及传感器技术的,实现的功能是小汽车可自动识别目标(比如一个小球),,利用电两个电机的差动调节, 控制电动小汽车的自动避障、寻光及自动停车。
通过摄像头采集视野范围图像并对图像处理进行目标识别,并由arm系统来控制智能车的行驶状态。
.
1
1.1智能小车的意义和作用
自第一台工业机器人诞生以来,机器人的发展已经遍及机械,电子,冶金,交通,宇航,国防等领域.近年来机器人的智能水平不断提高,并且迅速地改变着人们的生活方式.人们在不断探讨,改造,认识自然的过程中,由此发展起来的智能小车引起了众多学者的广泛关注和极大的兴趣。
智能小车,也就是轮式机器人,最适合在那些人类无法工作的环境中工作,该技术可以应用于无人驾驶机动车,无人生产线,仓库,服务机器人,航空航天等领域。
作为20世纪自动化领域的重大成就,机器人已经和人类社会的生产、生活密不可分。
因此为了使智能小车工作在最佳状态,进一步研究及完善其速度和方向的控制是非常有必要的。
智能小车要实现自动寻迹功能和避障功能就必须要感知导引线和障碍物,感知导引线相当给机器人一个视觉功能.避障控制系统是基于自动导引小车(avg—auto-guide vehicle)系统,基于它的智能小车实现自动识别路线,判断并自动避开障碍,选择正确的行进路线.使用传感器感知路线和障碍并作出判断和相应的执行动作.
该智能小车可以作为机器人的典型代表.它可以分为三大组成部分:传感器检测部分,执行部分,cpu.机器人要实现自动避障功能,还可以扩展循迹等功能,感知导引线和障碍物.可以实现小车自动识别路线,选择正确的行进路线,并检测到障碍物自动躲避.考虑使用价廉物美的红外反射式传感器来充当.智能小车的执行部分,是由直流电机来充当的,主要控制小车的行进方向和速度.单片机驱动直流电机一般有两种方案:第一,勿需占用单片机资源,直接选择有pwm功能的单片机,这样可以实现精确调速;第二,可以由软件模拟pwm输出调制,需要占用单片机资源,难以精确调速,但单片机型号的选择余地较大.考虑到实际情况, cpu使用AT89c52单片机,配合软件编程实现.
1.2智能小车的现状
现智能小车发展很快,从智能玩具到其它各行业都有实质成果.其基本可实现循迹,避障,检测贴片,寻光入库,避崖等基本功能,现在大学电子设计大赛智能小车又在向声控系统发展.比较出名的飞思卡尔智能小车更是走在前列。
2方案设计与论证
根据题目的要求,确定如下方案:首先设计出小车的基本模形以及传动方案,并在车上加装摄像头,并将采集图像数据传送至arm系统进行处理,然后由arm根据所检测的各种数据实现对电动车的智能控制。
这种方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。
2.1 模块方案比较及论证
根据设计要求,我们的目标识别小车主要由六个模块构成:车体框架、电源及稳压模块、主控模块、探测模块、电机驱动模块组成。
2.2 车体设计
在设计车体框架时,我们有两套起始方案,自己设计画出小车的模型和直接购买玩具电动车改装。
方案一:用现有的小车改装
电动小车价格低廉,有完整的驱动、传动和控制单元,其中传动装置是我们所需的。
但玩具电动车采用普通直流电机驱动,带负载能力差,调速方面对程序要求较高。
同时,玩具电动车转向依靠前轮电机带动前轮转向完成,精度低,又由于本次毕业设计只是理上研究,和巩固已学过的相关知识,如果购买小车会自带程序和一些图及参数,容易产生惰性。
所以购买小车做实物的价值不大,因些我们放弃这一方案。
方案二:自己设计制作车架自己设计小车底盘,用两个直流减速电机作为主动轮,利用两电机的转速差完成直行、左转、右转、左后转、右后转、倒车等动作。
减速电机扭矩大,转速较慢,易于控制和调速。
而且自己制作小车框架,可以根据电路板及传感器安装需求设计空间,使得车体美观紧凑。
通过pro/e设计相关的的小车模型,以便更直观的看到小车的运动原理和传动方案,所以综上我们选择方案二。
如图2-2所示。
图2-2 小车模型设计
2.3 电源及稳压模块
方案一:采用交流电经直流稳压处理后供电
采用交流电提供直流稳压电源,电流驱动能力及电压稳定性最好,且负载对电源影响也最小。
由于需要电线对小车供电,极大影响了壁障小车行动的灵活性及地形的适应能力。
而且壁障小车极易把拖在地上的电线识别为障碍物,人为增加了不必要的障碍。
故我们放弃了这一方案。
方案二:采用蓄电池供电
蓄电池具有较强的电流驱动能力和较好的电压稳定性能,且成本低廉。
可采用蓄电池经7812芯片稳压后给电机供电,再经过降压接7805芯片给单片机及其他逻辑单元供电。
但蓄电池体积相对庞大,且重量过大,造成电机负载过大,不适合我们采用的小车车架(玩具电动车车架)。
故我们放弃了这一方案。
方案三:采用干电池组进行供电
采用四节干电池降压至5V后给单片机及其他逻辑单元供电,另取六节干电池为电机及光电开关供电。
这样电机启动及制动时的短暂电压干扰不会影响到逻辑单元和单片机的工作。
干电池用电池盒封装,体积和重量较小,同时玩具车底座可以安装四节干电池,正好可为单片机及其他逻辑单元供电。
在稳压方面,起始时考虑使用7805芯片对6V的电池电压进行降压稳压。
但考虑到这样使得7805芯片消耗大量能量,降低电池寿命;同时,由于at89c52、光电开关、小车电机对于供电电压要求并不苛刻,故我们将6V电池电压接一个二极管降压后直接给单片机及其他逻辑单元供电。
而电机和光电开关的电源不做稳压处理。
这样只需在小车遥控上加两个调速按钮,根据电池电量选择合适功率即可,甚至于可直接在软件里设置自动换挡。
综合考虑,我们采用方案三。
图2-3 电源模块设计
2.4 主控模块
飞凌OK6410开发板采用“核心板+底板”结构,板对板之间选用高质量进口连接器,坚固耐用,镀金工艺可保证其常年运行不氧化。
为保证用户自行设计的产品品质,采用6410核心板的用户可以免费得到四组底板插座。
核心板尺寸仅5CM*6CM(业内最小!),引出脚多达320个;带有CVBS输出(内部有16Mbit独立视频缓存)。
软件支持Linux、 WinCE、Android、uC/OS-II (独家提供)等主流操作系统。
该产品在-20℃到80℃范围的高低温运行测试中运行良好,并通过脉冲群以及浪涌干扰测试。
2.5探测模块
利用小车安装位置较高的摄像头,通过linux系统驱动调用摄像头并采集图像数据。
由arm对采集的图像数据进行处理,判断目标的位置,控制小车向目标移动。
2.6 电机选择及驱动模块
本系统为智能小车,对于智能小车来说,其驱动轮的驱动电机的选择就显得十分重要。
由于本实验要实现对路径控制定位和速度测量不是要求太高,精度也不是太高,所以我们综合考虑了一下两种方案。
方案1:采用步进电机作为该系统的驱动电机。
由于其转过的角度可以精确的定位,可以实现小车前进路程和位置的精确定位。
虽然采用步进电机有诸多优点,步进电机的输出力矩较低,随转速的升高而下降,且在较高转速时会急剧下降,其转速较低,不适用于小车等有一定速度要求的系统,经综合比较考虑,我们放弃了此方案。
方案2:采用直流电机。
直流减速电机转动力矩大,体积小,重量轻,装配简单,使用方便。
遥控车马达/小直流电机电机 RF-500TB-ZD供电电压:直流DC3-9V,转速2400r/m是自制玩具车等模型理想选择。
能够较好的满足系统的要求,因此我们选择了此方案。
电机驱动模块
方案一:使用分立原件搭建电机驱动电路
使用分立原件搭建电机驱动电路造价低廉,在大规模生产中使用广泛。
但分立原件H桥电路工作性能不够稳定,较易出现硬件上的故障,故我们放弃了这一方
案。
方案二:使用L298N芯片驱动电机
L298N是一个具有高电压大电流的全桥驱动芯片,它相应频率高,一片L298N可以分别控制两个直流电机,而且还带有控制使能端。
用该芯片作为电机驱动,操作方便,稳定性好,性能优良。
输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的IO口提供信号,而且带有使能端,方便PWM调速,电路简单,性能稳定,使用比较方便。
L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,正好符合我们小车两个二电机的驱动要求。
综合考虑,我们采用L298N芯片驱动小车电机。
控制示意图如图2-6所示。
图2-6 电机驱动框图
2.7 直流调速设计
Ⅰ、基于晶闸管作为主电路的调速系统
晶闸管的调速系统是采用分离元件设计的调速系统占用的空间大,控制角难于调整,且模拟器件的固有缺陷如:温漂、零漂电压等,导致电机的调速无法达到满意的结果。
晶闸管的单向导电性,它不允许电流反向,给系统的可逆运行造
成困难,性能较差,自动化控制程度差,调速过程较为复杂,不利于工业生产和
小功率电路中采用。
另一问题是当晶闸管导通角很小时,系统的功率因素很低,
并产生较大的谐波电流,从而引起电网电压波动殃及同电网中的用电设备,造成“电
力公害”。
Ⅱ、基于PWM为主控电路的调速系统
与传统的直流调速技术相比较,PWM(脉宽调制技术)直流调速系统具有较大的优越性:主电路线路简单,需要的功率元件少;开关频率高,电流容易连续,
谐波少,电机损耗和发热都较小;低速性能好,稳速精度高,因而调速范围宽;
系统频带宽,快速响应性能好,动态抗干扰能力强;主电路元件工作在开关状态,
导通损耗小,装置效率高。
PWM信号的产生通常有两种方法:一种是软件的方法;另一种是硬件的方法。
基于NE555,SG3525等一系列的脉宽调速系统:此种方式采用NE555作
为控制电路的核心,用于产生控制信号。
NE555产生的信号要通过功率放大才能
驱动后级电路[8]。
NE555、SG3525构成的控制电路较为复杂,且智能化、自动
化水平较低,在工业生产中不利于推广和应用。
基于单片机类由软件来实现PWM:在PWM调速系统中占空比D是
U不变的情况下,电枢端电压的平均值取决于占空比D 一个重要参数在电源电压d
的大小,改变D的值可以改变电枢端电压的平均值从而达到调速的目的。
改变占
空比D的值有三种方法:
A、定宽调频法:保持1t不变,只改变t,这样使周期(或频率)也随之改变。
B、调宽调频法:保持t不变,只改变1t,这样使周期(或频率)也随之改变。
C、定频调宽法:保持周期T(或频率)不变,同时改变1t和t
前两种方法在调速时改变了控制脉冲的周期(或频率),当控制脉冲的频率与系
统的固有频率接近时,将会引起振荡,因此常采用定频调宽法来改变占空比从而
改变直流电动机电枢两端电压。
利用单片机的定时计数器外加软件延时等方式来
实现脉宽的自由调整,此种方式可简化硬件电路,操作性强等优点。
总之,PWM既经济、节约空间、抗噪性能强,是一种值得广大工程师在许
多设计应用中使用的有效技术。
且用软件实现非常容易。
2.7.1小车差速运动模型的建立
本设计中,采用的四轮结构,驱动系统采用两轮差速驱动方式,后两个为从动
轮,只起到支撑平衡作用,在建模中可以忽略。
假定左右两个驱动轮与地面之间没
有滑动,也没有侧移,只是做纯粹的滚动,则机器人满足钢体运动规律[14]。
图2-7
所示{XW,YW,O}为世界坐标系,{X,Y,O}为移动坐标系,PX为机器
人前进方向。
Y W
X W O
y x
图2-7 小坐标系
移动机器人运动学主要处理控制参数和系统在状态空间的运动两者之间的关系,它包括正运动学和逆运动学两个方面。
正运动学解决如何根据移动机器人的速度来计算它的位姿或运动轨迹,当机器人的位姿(x ,y ,)时,差动轮式机器人的
正运动学就是利用这连个差动轮的速度(r v ,l v )来计算其位姿,通用公式计算如
下
01()[()()]cos[()]2t r l x t v t v t t dt θ=+⎰ (2-1) 01()[()()]sin[()]2
t r l y t v t v t t dt θ=+⎰ (2-2) 01()[()()]t r l t v t v t dt l θ=
-⎰ (2-3) 其中,r v 和l v 分别为左右轮的驱动速度,l 是两个驱动轮之间的距离,r 为移
动机器人的驱动轮半径;移动机器人逆运动学解决如何控制轮子的速度以达到移动机器人所需的运动轨迹或位姿,即在已知位姿(x ,y ,θ)时,如果根据以上公式,
求出两轮差动速度(r v ,l v )。
由于差动轮式驱动属于非完整性约束问题,故移动
机器人逆运动学只有在特殊条件下求解,其解往往不唯一,根据系统的需求,本文对移动机器人的运动学分析按两种情况分别进行。
直线运动
当差动轮式移动机器人左右两轮的速度大小相等且方向相同时,机器人的运动轨迹为直线,所图2-8所示。
Y
Y
图2-8 直线运动原理图
设t=0时,机器人移动坐标系{X0,Y0,P0}与世界坐标系{XW,YW,O }重合,经过时间t后机器人运动到新的移动坐标系{Xt ,Yt ,Pt },当机器人左右两轮的
速度大小相等且方向相同(即r v =l v )时由公式(2-3)有:
1()[()()]0t r l t v t v t dt l θ=-=⎰ 将其代入公式(2-1)(2-2)得:
x(t)= r v ×t (2-4)
y(t)=0 (2-5)
由
0和(2-4) (2-5)式可知:机器人左右两轮的速度大小相等而方向相同时机器人的运动轨迹为直线。
、
圆弧运动
当差动轮式机器人左右两轮的运动方向相同速度大小保持不变且差速度固定不变时,机器人的运动轨迹为圆弧。
设t=0时,机器人移动坐标系{X0,Y0,P0}与世界坐标系{XW,YW,O }重合,经过时间t后机器人运动到新的移动坐标系{Xt ,Yt ,Pt },如图:
Y
Y 0
2-9圆弧运动原理图
当机器人左右两轮的速度差恒定,且方向保持不变时,由公式(2-3)有:
01()[()()]t r l v t V t V t dt t l l
θ∆=-=⨯⎰ (2-6) 将()v t t l θ∆=
⨯和r l v v v =+∆代入公式(6-1) 有: (2-7)
求定积分得:
2()()sin()2l v t v l v x t t v l
+∆∆=⨯⨯⨯∆ (2-8) 将()v t t l θ∆=
⨯和r l v v v =+∆代入公式(2-2) 有: 2()()[1sin()]2l v t v l v y t t v l
+∆∆=⨯⨯-⨯∆ (2-9) 由公式(2-9)有:
2sin()()2()l v v t x t l v t t l
∆∆⨯=⨯⨯+∆ (2-10) 由公式(2-10)有:
2cos()1()2()l v v t y t l v t t l
∆∆⨯=-⨯⨯+∆ (2-11) 22cos (
)sin ()1v v t t l l ∆∆⨯+⨯= 2222[()][1()]12()2()l l v v x t y t v t v l v t t l
∆∆⨯⨯+-⨯⨯=+∆+∆ (2-12) 由上可知,机器人的运动轨迹为一圆弧,将上式转化为圆的标准方程:
2222()2()1()[()][]22l l v t v v t l x t y t v v
+∆+-⨯=⨯∆∆ 由式(2-11)、(2-12)可知,当机器人左右两轮的运动方向相同、速度大小保持不变且速度固定不变时,机器人的运动轨迹为圆弧。
圆心在世界坐标系YW 的轴上。
其圆心坐标为: (0,(2())2l v t v l v +∆∆), 圆弧半径为:(2())2l
v t v l v +∆∆
当机器人右轮速度大于左轮速度时,机器人的运动轨迹在世界坐标系的一、二
01()(2)cos()2t l v x t v t t dt l ∆=+∆⨯⎰
象限;当机器人右轮速度小于左轮速度时,机器人的运动轨迹在世界坐标系的三、四象限。
运动轨迹如图:
Y W
Y Y
Y 0
a : 0r l v v v ∆=-〈
b : 0r l v v v ∆=-〉
2-10圆弧运动
4.5 运动控制参数的确定
在本设计中,机器人的驱动轮和从动轮的半径都为40mm ,两驱动轮之间的中心距为100mm 。
由于LPC2106的PWM 输出的占空比与L293输出驱动的电机转速成近似的线性关系,故可以根据给定的速度要求,拟合出占空比的近似值,反过来,对于给定的占空比,同样可以得到相应的速度近似值。
设拟合方程为: 2dutyfactor av bv c 其中:
dutyfactor 表示占空比
v 表示小车直线的速度
在这个方程中,有三个未知数a 、b 、c,在试验的条件下,分别取三组
(v ,dutyfactor ),则可以确定三个未知数的值。
要求直线运动时, 把两路PWM 输出的占空比赋予相同的值,即可得到与之对应速度的直行效果。
要求圆弧运动时,从初始时刻给定机器人的车轮转速,将机器人的起始坐标设在{0,0}处,机器人做圆弧运动时,其圆心坐标为(0,
(2())2l v t v l v +∆∆), 圆弧半径为:(2())2l v t v l R v +∆=
∆ 按照机器人逆运动学原理,假设要使机器人按半径为R 的圆弧运动,则根据R 可以计算出机器人左右轮所需的速度和速度差。
为此,取R=50cm 进行分析。
从(2())502l v t v l R v
+∆==∆cm 可知,机器人所以的速度和速度差可以有多个解。
标书模版V1.0
页脚内容10 下面讨论10(/)l
v cm s 的情形。
当10(/)l v cm s 时:两驱动轮间距离为100cm ,则由
(2())502l v t v l v +∆=∆,可得v =)/(02.2s cm ,因而右轮的速度12.02(/)r v cm s 。
根据拟合方程,可以得到对应的驱动右轮的PWM 占空比。
说明:对于给定的R ,其速度和差速度解可以有多个,所以在左转弯时,假定10(/)r v cm s ,右转时则10(/)l v cm s ,就有对应的唯一差速度解。
由于速度和和PWM 的脉冲宽度成正比,所以可以在编程中用脉冲宽度来调节,见仿真。