王岩,褚泽帆,符伟杰,唐跃平
(水利部南京水利水文自动化研究所水利部水文水资源监控工程技术研究中心,江苏南京 210012)
移动机器人的控制软件作为系统的管理主体,承担机器运动的精准控制、数据的实时采集和传输、用户指令的有效执行等任务,软件平台的优劣直接关系到整个机器人系统能否正常工作[1]。市面上现有的RTOS 虽然在实时性要求上有所突破,但是由于其任务调度、内存管理等模块本身需要占用一定的内存、定时器等资源,且线程通信复杂不好掌控,使得在设计任务、分配资源时要充分小心,尤其在硬件资源紧张的平台上如何把握实时性和效率平衡的问题更加突出[2]。
针对以上所提出的设计问题,文中设计完成了一套通用的软件控制平台[3]URSP(Universal Robort Software Platform)。URSP 以STM32 小型化移动机器人为载体,充分利用软件分层设计思想,各层将所管理的软硬件内容以模块化方式并列,各模块之间互不交叉,只由最上层应用调配各层模块协同工作。此外,文中提出一套简化、高效的协议方案,最终由用户下达的用户帧指令调度完成各项工作,达到运动的可靠、数据传输的有序以及系统管理的便捷。
URSP 采用分层化管理,从上到下依次划分为协议解析层、功能控制层和硬件驱动层,如图1 所示。每层的主要功能明确,层与层之间通过特定的数据协议进行通信,减少了应用和硬件驱动间的交互冗余。各层的模块采用通用的数据结构进行设计,即使内部的模块有所变化,也不会对其他层造成影响,极大地保证了软件的可扩展性。……