avr单片机的轮式机器人控制系统设计(附件)【字数:6131】

【摘 要】轮式移动机器人是一种可以通过传感器感知周围环境和自身状态,并利用所得到的信息实现定位、路径规划和自主导航的机器人系统。随着科学技术的发展,移动机器人所具有的优势越来越受到世界各国普遍关注和重视,日益成为各国的竞争核心技术。本论文对轮式机器人进行了大概介绍,硬件部分进行移动机器人的控制系统电路进行了设计,以AVR1280为核心,包含电源模块、通讯模块、数据采集模块,驱动模块和通讯连接的功能;软件部分在硬件系统的基础上进行程序设计。
目录
引言 1
一、轮式机器人的特点及分类 2
二、 轮式机器人控制系统硬件设计 2
(一)轮式机器人控制系统硬件整体构成 2
(二) 核心控制器AVR1280电路设计 2
三、 轮式机器人控制系统的软件设计 3
(一)软件整体设计 3
(二)机器人控制系统初始化和主程序 3
(三)各功能模块的实现 6
总结 19
参考文献 20
谢辞 21
引言
现在已经是智能化的时代,手机导航,支付宝扫一扫付款,网上银行转账等等已经深入人们的生活。当然,最有发展潜力和实力的无愧于智能机器人,现在多用于工厂,它们分类于各个环节,适用于各种功能,遍布于各种领域;而智能机器人的一个基本的本领和必须掌握的技能就是:移动,请大家想一想,什么活动能离开移动,没有移动就没有工作;因此,这个很常用,也很实际,几乎所有工厂都有这种配件,因为这是进行所有工作的必备本事。那么,发展好移动智能机器人就很有必要,为此,我国的科学家们对此进行孜孜不倦的研究和创新,工厂里的机器人也在不断的更新换代,机器人的种类也持续多样化,细分化;我实习的苏州凌耀制药公司有一款轮式移动机器人,它可以在半径40到100厘米的圆周里自由灵活的移动,当机器人离物体约5厘米远时,它能自如的调整运动方向,这款轮式移动机器人稳定性高,能精确的计算和控制路径。如此有前途的机器人代劳了不必要的人力,甚至做到了人力不能的,它更精确,更持久,成功率更高,误差率更低,而且一天24小时不用休息。
一、轮式机器人的特点及分类
轮式移动机器是机器人学中的一个重要分支,由于其具有速度 *好棒文|www.hbsrm.com +Q: ¥351916072$ 
快、稳定性高、设计难度小及技术相对成熟的特点,使得其特别适合于科研探测和工业生产等领域。
移动机器人按功能可以分为:军用轮式机器人、科研轮式机器人、医疗轮式机器人、助残轮式机器人及清洁用轮式机器人等等;
按控制方式可以分为:垂直式结构机器人和混合式机器人等等。
轮式机器人控制系统硬件设计
(一)轮式机器人控制系统硬件整体构成
轮式机器人系统硬件是构成整个机器人系统的硬件基础,要求能在合适软件控制条件完成设定的功能,它的整体构成如图21所示:
图21 轮式机器人控制系统硬件构成
(二) 核心控制器AVR1280电路设计
AVR1280是整个控制系统硬件部分的核心处理器,为了能使其正常上电运行程序(暂不完成其它任务),需要为其设计上电复位、时钟、JTAG和ISP接口等电路。
复位电路的基本要求是:系统上电时能提供复位信号直至系统电源稳定后撤销复位信号,另外还应该提供手动复位功能,以方便调试。复位电路如图22所示:
/
图22 系统复位电路图
硬件电路主要包括了AVR1280的最小系统,电源模块、通讯模块、数据采集模块,驱动模块和通讯连接的功能。
三、 轮式机器人控制系统的软件设计
在机器人硬件控制系统设计完成后,就需要根据硬件的情况和实际功能要求来编写软件使机器人完成既定的任务和功能。以下为整个控制系统软件的开发过程。
(一)软件整体设计
单片机的软件设计有两种方案,一种是采用嵌入式软件的设计方法,就是直接上一个系统,如:μC/OSII、Linux和Windows CE等,另一种是不用操作系统,直接使用汇编或C语言编写。
课题中出于系统的实际特点和要求,采用了C语言直接编写的方式,并采用模块化设计方法来编写实际应用程序。
(二)机器人控制系统初始化和主程序
控制系统初始化是机器人控制系统建立的基础,而主循环程序的建立是其他程序运行的平台,其流程图如图31所示。
这里还需要重点阐述的是信息的采集处理及场上形势的判断和策略生成。图32为这部分的程序流程图。
围绕图32,需要重点探讨以下几个方面的问题:
1.数字量值的确认:考虑到实时性和准确性的要求,我们对每一个数字量连续采3个点,少数服从多数方式来确认该数字量的值。
2.模拟量的确认:出于实时性和准确性的要求,对于模拟量使用了数字滤波中的平均滤波方法。对于这种方法,一般来说需要采集2+2k(k=1、2N,N为正整数),当然,如果k越大,采集到的数据越精确,但是如果采集的次数太多,则会使采集时间延长,影响实时性,所以,根据这两方面的要求,程序中k取值为1。这样对于每一个模拟量,系统需要连续采集4次模拟量数据来确定,对这4个模拟量数据先去掉其最大和最小值、剩下两个算平均。
图31 系统初始化和主循环流程图

图32控制系统信号采集处理子程序流程图
3.对数据的初步处理:主要目的是程序根据采集到的数据,先进行一下综合,得到一个单一传感器可能得不到的结果,如:机器人离擂台中心的准确位置等。这些数据的得出将对后面的形势判断起到决定性的作用。
4.危险状态:危险状态有两种情况,一种是到达了擂台的边缘,一种是在安全半径之外。擂台中心到边缘的距离最大为1.2米,机器人如果位于边缘附近就有掉下擂台的可能,对于比赛来说,这就意味着失败,所以需要机器人对这种状况进行识别。对于擂台边缘的判断,通常是利用红外接近传感器和灰度传感器的综合数据。而安全半径的判断则只能参考灰度传感器所得到的数据了。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/wlw/316.html

好棒文