以STM32F103为核心的智能灭火机器人
统软件设计 系统软件采用C语言编程,主要包括主程序、运动控制程序、灭火程序和回家程序等部分,主要用到的算法有沿墙走算法和趋光走算法。在程序设计中,通过传感器采集信息,按照沿墙走算法控制机器人的行动,当发现火源后按照趋光走算法迅速、准确地靠近火源、灭火并回家。程序运行中应避免机器人碰撞障碍物(墙壁)。主程序控制流程图如图7所示。 机器人运动控制程序采用沿墙走算法,由ADC采样程序、电机开启、电机停止、电机速度和方向控制程序、延时程序等部分构成。通过红外测距传感器采集的信息,全方位地判断障碍物的情况,控制机器人的下一步运动方式,主要有直走、后退、左微调、右微调、左转弯、右转弯等。 机器人灭火程序主要完成火源的寻找、确认以及灭火任务并回家。在机器人检测到房间内有火源时,采用趋光走算法,根据火焰传感器组的状态,调整机器人运动角度,使其直面火源方向前进。当检测到房间内火源周围白线时,停止运动,开启风扇灭火;当检测不到火源时,灭火成功。最后,启动回家模式,该模式采用沿墙走避障算法。 该软件系统具有很大的灵活性,因为各程序是分模块设计的,当比赛规则改变时,只需通过主程序调用不同的模块即可完成新的任务。 3 结果与分析 对本系统进行性能测试,测试中首先对电机进行测试,电机在正常工作电压下,调整软件系统的PWM控制值,可以实现电机的调速、直行前进、后退、左微转、右微转、左转90°和右转90°等功能。然后对机器人在比赛场地进行灭火实验,共进行30次实验,随机地把点燃的蜡烛放在各个房间的指定位置。机器人都能顺利地找到火源,灭火回家且所用时间均在1 min之内,试验中没有出现碰壁现象。此数据表明机器人能平稳地按照靠墙走原则完成任务。整个系统具有很快的响应速度、较高的稳定性和较强的抗干扰能力。
- Linux嵌入式系统开发平台选型探讨(11-09)
- 基于Winodws CE的嵌入式网络监控系统的设计与实现(03-05)
- 嵌入式系统实时性的问题(06-21)
- 嵌入式实时系统中的优先级反转问题(06-10)
- 嵌入式Linux系统中MMC卡驱动管理技术研究(06-10)
- FPGA的DSP性能揭秘(06-16)