图2.5太阳能割草机器人的管理框架
位置确定系统的作用是获取割草机的位置并将位置坐标传送给处理器;避障系统获得障碍物的距离,并传送给处理器;处理器将这些数据揉合,并将揉合的数据放入数据库处理存储;规划系统根据数据库处理的结果对割草机进行行为规划;行为控制系统用规划好的结果指导割草机做出相应的动作。 2.6本章小结
本章对太阳能割草机器人的基本结构进行了设计,根据设计要求选择了割草机各个部分,设计出割草机机体内部各部件的分布,设计出了太阳能割草机器人控制结构以及数据处理结构。
第三章 太阳能割草机器人控制系统的硬件构成
太阳能割草机器人的控制硬件主要包括以下几个模块:中心控制系统(CPU与外设),传感器系统,电机控制系统,位置确定系统。各系统的关系如图3.1所示。
11
图3.1控制系统关系图
3.1太阳能割草机的主控制器的介绍
系统主控制器采用三星公司生产的32位RISC处理器S3C2410[331o S3C2410为一款性价比非常高的CPU,它的内核基于ARM920T,带有MMU (Memory Management Unit)功能,其主频达到203MHz,同时它还采用了AMBA(Advanced Microcontroller BusArchitecture)的新型总线结构,实现了MMU, AMBABUS, Harvard的高速缓冲体系结构,同时支持Thumb 16位压缩指令集,从而可以满足以较小存储空间存储指令的需求,获得32位的系统性能。芯片不但价格适中,而且提供了丰富的片上资源。S3C2410X在包含ARM920T核的同时,增加了丰富的外围资源,如图下图所示。S3C2410X主要片内外围模块包括:
.1个LCD控制器,支持STN和TFT液晶显示屏; .外部存储器管理((SDRAM控制器和芯片选择逻辑); .3个通道的DART;
.4个通道的DMA,支持存储器和I/O口之间的传输,以碎发模式
12
提高传输率;
.4个具有PWM功能的16位定时/计数器和1个16位内部定时器,支持外部时钟源;
.8通道的10位ADC,最高速率可达500kB/s, 10位分辨率; .触摸屏接口; . IIS总线接口;
.2个USB主机接口,1个USB设备接口; .2个SPI接口;
.SD卡接口和MMC卡接口; .16位看门狗定时器;
.117位通用I/0口和24位外部中断源; .8通道10位AD控制器; .电源管理。 3.2 CPU核心电路的设计
CPU电路是整个系统硬件的基础和控制核心,由于S3C2410本身对RAM要求很大,但是S3C2410只有16K cache,这还远远不够系统的运行,因此必须扩展SDRAM作为数据暂存空间。S3C2410本身没有FLASH,因此还必须外接FLASH用于启动代码的存储,程序数据的存储。核心电路主要由CPU, SDRAM, Flash、电源电路、外部晶振、LCD和复位电路等部分组成,如图3.2所示
13
电源SDRAM复位FLASHS3C2410USBLCD串行接口键盘其它外设 图3.2核心电路连接图
3.3传感器的系统模块设计-- CMPS03电子罗盘的应用
电子罗盘是机器人导航必须的方位传感器。在本系统中采用CMPS03电子罗盘。这种电子罗盘模块是专门为机器人而制造,目的为了给机器人提供合适的方向导航信号。电子罗盘可以方便的通过IZC总线或串行口连接到控制器上。输出信号为一数值,其用来指示当前传感器和地球磁场之间的偏角。如图5.20所示为CMPS03电子罗盘的实物照片。电子罗盘需要在5V电压15mA的标准电流下工作,分辨率为0.10。可以通过两种方法获取模块的测量结果:一种是通过对引脚4的PWM脉冲的正脉冲宽度的测量来判断角度的大小。在这种模式下,PWM脉冲的正脉冲宽度代表角度的大小。正脉冲宽度在lms (0℃)和36. 99ms (359.9℃)之间变化,也就是说,每0.lms代表1度,
14
并有lms的补偿(在lms时角度为零)。在PWM模式下,引脚2,3必须通过电阻接+5V电压。另一种是通过2,3引脚的I2C接口直接获取角度读数。
图3.3 CMPS03实物图
第四章 太阳能割草机器人的软件设计
4.1嵌入式数据库的应用
数据采集与数据的存储分析在本系统中具有很重要的位置,它关系到机器人的实时性与高效性。太阳能割草机器人在开始需要建立电子边界地图,本系统中地图的边界是以连续点的形式标注,因此需要使机器人能以更优化的方式管理数据;在运动过程中,割草机还需要迅速的判断出是否到达边界。在本系统中,为实现全区覆盖的遗漏率
15