一种机器人控制系统软件框架

来源 :科海故事博览·上旬刊 | 被引量 : 0次 | 上传用户:linxulong07
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要 本文主要介绍了一种用于机器人控制系统中应用程序的开发框架DAREE。应用程序中每个Applet构成一个业务控制单元,每个业务单元由组件对象组成,实现基本的控制业务需求。同时该开发框架提供了一系列的基本功能模块,如消息队列、定時器等基础服务,实现应用程序的快速开发。
  关键词 DAREE Applet 消息队列 定时器
  中图分类号:TP249 文献标识码:A 文章编号:1007-0745(2021)02-0011-02
  1 前言
  近年来,机器人控制系统要求越来越复杂,为了简化应用程序开发过程,提高应用程序开发效率,提出一种应用程序开发框架DAREE,将控制系统中的业务进行管理和拆分,将系统资源进行统一规划。
  2 DAREE
  DAREE(Distributiion Automation Runtime Execute Environment)为Applet的运行提供一套基本的运行环境,并向应用程序提供一系列服务类库[1],该类库实现了对操作系统服务的封装。同时该框架实现了一套设备抽象层,提高应用程序的可移植性(见图2)。
  DAREE建立在Linux操作系统之上,以下是概要性描述:
  (1)DAREE基于嵌入式Linux,分成内核空间和用户空间;
  (2)最底层是硬件层,控制系统中的一些外围的器件;
  (3)内核空间为设备驱动层;
  (4)用户空间分为三层,PAL、SAL、Applet,基于组件的设计思想;
  (5)PAL是 Platform Access Layer的缩写,是移植层,操作系统相关;
  (6)SAL是Shared Access Layer 的缩写,包含一系列的类库;
  (7)应用程序层,不同的业务只需要开发不同的Applet;
  (8)3rd表示是第三方开发的组件;
  (9)用C语言进行设计[2],增强平台兼容性。
  2.1 组件对象
  组件对象分为静态和动态两种方式,静态组件的代码和框架一起参与编译,动态组件的代码独立编译。两种组件使用上并不区分,动态组件的存在是为了将组件的开发和Applet进行解耦,提高组件对象的灵活性和功能扩展性[3]。
  2.2 Applet
  Applet是DAREE上开发应用程序的最小单位,是一个业务逻辑的功能集合。Applet有stop、Starting、Run、Closing、Terminating这五种状态。见下图:
  (1)一个Applet开始于StartApplet,将Applet处于Stop状态,并开始创建Applet;
  (2)创建动作完成后,Applet处于Starting状态,并收到EVT_APP_START事件;
  (3)Applet处理完EVT_APP_START后,进入Run状态,直到用户调用CloseApplet;
  (4)Applet进入Closing状态,收到EVT_APP_STOP事件;
  (5)最后Applet会进入Terminating状态,完成Applet和内部资源的释放,结束Applet。
  2.3 消息队列
  该应用程序框架采用基于消息驱动的方式运行,Applet通过消息接口类,可以快速实现消息队列功能。用户只需要通过IHandle接口生产消息,并通过Send函数将消息发送出去,系统通过消息中的信息找到该消息的事件处理函数进行处理。
  2.4 配置管理
  配置管理接口IConfig,用于保存各个模块需要保存的配置信息,该框架提供了统一的配置管理接口IConfig, 并通过文件的形式进行配置信息的保存,系统为各个模块分配了统一的标签,模块通过标签获得私有的配置信息。
  2.5 定时器
  定时器在Applet开发过程中是一种常用功能,提供了延迟服务和异步处理的功能。Timer的实现是通过生成Message并带上时间参数,加入到IMessageQueue队列中,实现了Timer的延时处理能力。
  2.6 异步事件
  异步事件Resume是DAREE提供的另一个异步事件处理功能,比如用户需要读取一个大数据量文件,可以通过Resume功能分步进行读取。本框架将Resume异步事件设计在DAREE的主线程空闲时进行操作,避免对主业务功能的影响。
  2.7 日志管理
  日志管理是“查看我关心的信息”。本系统日志管理通过日志等级和过滤字符完成日志管理,通过LOG_V,LOG_D,LOG_I,LOG_W,LOG_E进行日志的等级输出,并通过过滤字符串进行日志过滤来达到日志控制的目的。
  2.8 设备控制接口
  本系统由IPort接口实现统一的设备控制,并为数据传输提供了一套通用的接口函数,如Read、Write、GetLastError 等等。通过IPort接口,可以打开一个设备,通过read接口进行设备的读取,通过write进行设备的写入操作,实现对一个设备的控制操作。
  2.9 内存管理
  本系统实现了一套内存检测机制,当Applet退出时,判断Applet是否有内存泄漏现象,如果有则打印出消息,供工程师进行检查。实现原理是在应用程序分配内存时,给内存打上标记,根据标记信息判断是否有内存泄漏。
  3 总结
  本文提出了一种用于机器人控制系统中应用程序的开发框架DAREE,该框架以Applet为单位管理业务功能模块,通过DAREE提供的系统接口,可以快速实现消息队列、定时器、异步事件处理、日志管理、内存管理等基础功能。
  参考文献:
  [1] Stanley B. Lippman,Josée Lajoie,Barbara E. Moo著. C Primer(中文版 第5版)[M].北京:电子工业出版社, 2013.
  [2] Stanley,B.,Lippman,侯捷译.深度探索C 对象模型[M].北京:电子工业出版社,2012.
  [3] 埃里克·伽玛(Erich Gamma).设计模式:可复用面向对象软件的基础[M].北京:机械工业出版社,2019.
  (合肥科大智能机器人技术有限公司南京分公司,江苏 南京 210000)
其他文献
摘 要 就目前而言,学生各项能力的针对性培养,是素质教育时代背景下教育部门提出的新的教学任务和教育目标,其中“合作能力”是学生成长过程中走向社会、适应社会的重要基础保证。就目前来看,提高对学生合作意识培养的重视度,是当前学生教育工作者的教育核心发展方向,为此本文主要立足小学科学课堂,基于合作能力培养意义对其培养策略进行了深入剖析。  关键词 合作能意识 小学科学 培养策略  作为小学科学教学体系的
1. 研究中考命题思路,以课标为导向  首先应认真钻研新课标,在集体备课中反复多次地组织学习,吃透精神,以教材为出发点,制定总复习计划;其次,研究分析近几年的中考英语试题,列出考查的知识点及其频率,从中领会中考命题的思路和意图,据此推测明年的中考命题走向,进而确定总复习的策略和着重点。  2. 过好基础知识复习关  首先依据《课程标准》对各册课本、各个单元的单词进行筛选,确定中考重点词汇、短语、句
摘要 当今时代我们的互联网发展得非常迅速。互联网上有很多的信息、很多的游戏,家人们也很担心,害怕游戏会影响孩子们的学习成绩,但是事实证明,有节制的游戏是有益于孩子们的脑力发展的,是可以让脑子变得灵活的。在小学领域,孩子正在处于一个爱玩活泼的年龄,我们以前都是让孩子们在教室里学习,在教室里玩游戏那就是不务正业的表现。我们进行人性化教育,需要实践。本文针对小学低阶段教学里巧妙应用游戏这一观点进行深入分
Ⅰ. 听力技能(三部分,共20小题,计20分)(略)  Ⅱ. 知识运用 (两部分,共20小题,计20分)  第一节 单项填空 从A、B、C三个选项中选出最佳答案填空。(共10小题,计10分)  ( )21. I usually go to school on ______ foot.  A. aB. theC. /  ( )22. —How often do you see your gr
【2015中考英语语篇及作文专项强化训练(一)参考答案】  1~5 CADCC 6~10 ADBBB  11~15 ABDDD 16~20 BDCAC  21~25 DBDCB 26~30 DCBBC  31. speaking 32. holding  33. would 34. raised  35. dropped 36. up  37. learned 38. what  39. neve
摘 要 对现代社会来说,电是支撑社会运行和人类生产的重要能源,与人们的工作和生活密不可分,将电能安全高效地输送给千家万户对国家和人民来说都具有非常重要的意义。配电网是将电能从输电网或地区发电厂分配给用户的关键电力网,随着社会的用电需求不断增加,配电网的施工要求也更加严格,一旦配网工程项目施工中出现异常情况,不仅会延长项目工期,并且会引发不同的风险问题,影响配网的施工质量。基于此,本文对配网工程项目
摘 要 随着城市发展水平的提高,用于景观项目建设的种植技术变得越来越多样化。淡季种植技术是景观项目的关键方面,并且种植实践的质量会影响景观建设的水平。因此,本文通过结合淡季种植的基本概念,分析淡季种植在景观建设中的概念和优势,简要说明淡季种植在景观建设中的要点。这样,不仅可以提高淡季种植的幼苗成活率,还有助于进一步改善当地的园林景观。  关键词 园林绿化 淡季栽培 花园建设  中图分类号:S688
编者按: “在人类的天性中,最深层的本性就是渴望得到别人的重视。”请让我们重视我们的朋友,让友谊围绕着你、我、他。因此,希望大家能把这本书找来翻一翻,对照一下自身的所作所为,问一问自己:人性的弱点我都克服了吗?  As early as the middle of the 20th century, the economic and society was in bad situation, an
Lion and Mouse 狮子和老鼠  When a lion was asleep, a little mouse began running up and down beside him. This soon wakened the lion. He was very angry, and caught the mouse in his paws (爪子).  “Forgive me, p
Notes:  1. diverge v. 分开,叉开  2. undergrowth n. 灌木丛  3. grassy adj. 长满草的  4. tread v. 踩;行走  Two roads diverged in a yellow wood,  And sorry I could not travel both,  And be one traveler, long I sto