第二章 总体方案设计与论证
2。1 总体方案设计
本课题以开发一个能自主避障并定位的智能小车控制系统为目标。设计拟采用微 控制器(MCU)为系统的主处理器,开发一个可靠、实用的嵌入式系统。系统的主要 硬件主要可分为两类:传感器和电机。
智能小车可分为四大模块: (1)驱动模块; (2)避障模块; (3)定位模块; (4)通信模块。
各个模块之间相互协调工作,实现小车整体最优。其中避障模块为最基础模块, 对避障算法的研究是整个智能小车的核心,最常见的避障算法包括:
(1)可视图法:通过将机器人所处位置和障碍物位置以及目标方位进行连接,将 这些连接起来的线称为弧,如果这些弧的中间没有被阻挡,即这些弧是可视的,则视 这些弧为行进路线,机器人沿此路线行进直到离开障碍物。该法需要处理大量传感器 数据,且传感器精度会对系统产生较大影响[3];
(2)人工势场法:通过虚拟力场的思想,假设小车存在于一个人工力场中,即目 的地对机器人存在着引力,而障碍物则对机器人相应的存在着斥力,结合两者,计算 得出小车需要的加速力,控制小车的行进路线。该法结构较为简单,硬件电路实现较 为容易,但是也存在不可避免的缺陷,比如在障碍物比较密集时难以发现路径,又或 是在狭窄通道中会来回摆动[4];
(3)VHF(Vector Field Histogram)直方图:该法将小车附近的环境划分为一个 个具有二值信息的栅格单元,通过传感器对周围信息的不断扫描,根据扫描结果对每 个栅格的数据进行更新,从而形成一个积累值。积累值越高则表明该处有越大的可能 存在着障碍物,小车根据这些栅格的值自行规划出行进路线。该法小车自主性高避障 也较为准确,但栅格划分的大小直接决定来系统的性能,栅格过大系统精度难免下降, 栅格过小信息储存量过大,且更易受外部环境影响[5]。
以上算法对开发人员要求较高,硬件实施起来也较为复杂,在这里列出仅供了解。
开发人员可以参考其原理,在以后深入的研发中可以实施。本系统的避障算法综合软 硬件开发难度,实际效果和开发成本等考虑,采用了较为简单易行的避障算法,具体 可见软件设计一章中避障子程序的设计,在这里不多做赘述。
系统整体框图如图 2-1 所示。
2。2 模块方案选择论证
2。2。1 主控芯片
图 2-1 系统整体框图
方案一:采用 51 单片机
51 单片机是史上最成功的 8 位微控制器(MCU),从 Intel 的 8004 型第一代微控 制器,到现在已经衍生出成千上万种不同类型的 51 单片机。51 单片机基本上可以满 足智能移动机器人开发的需要。51 单片机体积小,功耗低,控制能力强,扩展外设能力 强,使用便捷,拥有一套完整的按位操作系统,开发难度较低。
51 单片机运行速度相对较慢,I/O 口驱动能力弱,片内资源相对较少,抗干扰能 力也不是很强。
方案二:采用 ARM 微处理器
ARM 微处理器内嵌新型的 32 位 ARM 核处理器,相较于 51 单片机,其在指令系统, 总线结构,芯片运行效率都有较大的提升,且 ARM 微处理器内部集成大量外设,可以 简化外部电路设计,同时功能也大为丰富且更为可靠。大多数 ARM 微处理器都集成了 DMA(Direct Memory Access,直接内存存取)控制器,通过 DMA 传输数据时不需要 CPU
的参与,在传输大量数据时,可使 CPU 效率大大提高。
ARM 微处理器开发难度较大,在低端应用时 ARM 微处理器性价比较低。