亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種機(jī)器人控制系統(tǒng)軟件框架

        2021-07-02 04:39:46許志瑜
        科海故事博覽 2021年4期
        關(guān)鍵詞:程序開發(fā)日志應(yīng)用程序

        許志瑜

        (合肥科大智能機(jī)器人技術(shù)有限公司南京分公司,江蘇 南京 210000)

        1 前言

        近年來,機(jī)器人控制系統(tǒng)要求越來越復(fù)雜,為了簡化應(yīng)用程序開發(fā)過程,提高應(yīng)用程序開發(fā)效率,提出一種應(yīng)用程序開發(fā)框架DAREE,將控制系統(tǒng)中的業(yè)務(wù)進(jìn)行管理和拆分,將系統(tǒng)資源進(jìn)行統(tǒng)一規(guī)劃。

        2 DAREE

        DAREE(Distributiion Automation Runtime Execute Environment)為Applet 的運(yùn)行提供一套基本的運(yùn)行環(huán)境,并向應(yīng)用程序提供一系列服務(wù)類庫[1],該類庫實(shí)現(xiàn)了對(duì)操作系統(tǒng)服務(wù)的封裝。同時(shí)該框架實(shí)現(xiàn)了一套設(shè)備抽象層,提高應(yīng)用程序的可移植性(見圖2)。

        圖2 DAREE 系統(tǒng)架構(gòu)圖

        DAREE 建立在Linux 操作系統(tǒng)之上,以下是概要性描述:

        (1)DAREE 基于嵌入式Linux,分成內(nèi)核空間和用戶空間;

        (2)最底層是硬件層,控制系統(tǒng)中的一些外圍的器件;

        (3)內(nèi)核空間為設(shè)備驅(qū)動(dòng)層;

        (4)用戶空間分為三層,PAL、SAL、Applet,基于組件的設(shè)計(jì)思想;

        (5)PAL 是 Platform Access Layer 的縮寫,是移植層,操作系統(tǒng)相關(guān);

        (6)SAL 是Shared Access Layer 的縮寫,包含一系列的類庫;

        (7)應(yīng)用程序?qū)?,不同的業(yè)務(wù)只需要開發(fā)不同的Applet;

        (8)3rd 表示是第三方開發(fā)的組件;

        (9)用C 語言進(jìn)行設(shè)計(jì)[2],增強(qiáng)平臺(tái)兼容性。

        2.1 組件對(duì)象

        組件對(duì)象分為靜態(tài)和動(dòng)態(tài)兩種方式,靜態(tài)組件的代碼和框架一起參與編譯,動(dòng)態(tài)組件的代碼獨(dú)立編譯。兩種組件使用上并不區(qū)分,動(dòng)態(tài)組件的存在是為了將組件的開發(fā)和Applet 進(jìn)行解耦,提高組件對(duì)象的靈活性和功能擴(kuò)展性[3]。

        2.2 Applet

        Applet 是DAREE 上開發(fā)應(yīng)用程序的最小單位,是一個(gè)業(yè)務(wù)邏輯的功能集合。Applet 有Stop、Starting、Run、Closing、Terminating 這五種狀態(tài)。見下圖:

        圖1 Applet 狀態(tài)遷移圖

        (1)一個(gè)Applet 開始于StartApplet,將Applet 處于Stop狀態(tài),并開始創(chuàng)建Applet;

        (2)創(chuàng)建動(dòng)作完成后,Applet 處于Starting 狀態(tài),并收到EVT_APP_START 事件;

        (3)Applet 處理完EVT_APP_START 后,進(jìn)入Run 狀態(tài),直到用戶調(diào)用CloseApplet;

        (4)Applet進(jìn)入Closing狀態(tài),收到EVT_APP_STOP事件;

        (5)最后Applet 會(huì)進(jìn)入Terminating 狀態(tài),完成Applet和內(nèi)部資源的釋放,結(jié)束Applet。

        2.3 消息隊(duì)列

        該應(yīng)用程序框架采用基于消息驅(qū)動(dòng)的方式運(yùn)行,Applet通過消息接口類,可以快速實(shí)現(xiàn)消息隊(duì)列功能。用戶只需要通過IHandle 接口生產(chǎn)消息,并通過Send 函數(shù)將消息發(fā)送出去,系統(tǒng)通過消息中的信息找到該消息的事件處理函數(shù)進(jìn)行處理。

        2.4 配置管理

        配置管理接口IConfig,用于保存各個(gè)模塊需要保存的配置信息,該框架提供了統(tǒng)一的配置管理接口IConfig,并通過文件的形式進(jìn)行配置信息的保存,系統(tǒng)為各個(gè)模塊分配了統(tǒng)一的標(biāo)簽,模塊通過標(biāo)簽獲得私有的配置信息。

        2.5 定時(shí)器

        定時(shí)器在Applet 開發(fā)過程中是一種常用功能,提供了延遲服務(wù)和異步處理的功能。Timer 的實(shí)現(xiàn)是通過生成Message 并帶上時(shí)間參數(shù),加入到IMessageQueue 隊(duì)列中,實(shí)現(xiàn)了Timer 的延時(shí)處理能力。

        2.6 異步事件

        異步事件Resume 是DAREE 提供的另一個(gè)異步事件處理功能,比如用戶需要讀取一個(gè)大數(shù)據(jù)量文件,可以通過Resume 功能分步進(jìn)行讀取。本框架將Resume 異步事件設(shè)計(jì)在DAREE 的主線程空閑時(shí)進(jìn)行操作,避免對(duì)主業(yè)務(wù)功能的影響。

        2.7 日志管理

        日志管理是“查看我關(guān)心的信息”。本系統(tǒng)日志管理通過日志等級(jí)和過濾字符完成日志管理,通過LOG_V,LOG_D,LOG_I,LOG_W,LOG_E 進(jìn)行日志的等級(jí)輸出,并通過過濾字符串進(jìn)行日志過濾來達(dá)到日志控制的目的。

        2.8 設(shè)備控制接口

        本系統(tǒng)由IPort 接口實(shí)現(xiàn)統(tǒng)一的設(shè)備控制,并為數(shù)據(jù)傳輸提供了一套通用的接口函數(shù),如Read、Write、GetLastError 等等。通過IPort 接口,可以打開一個(gè)設(shè)備,通過Read 接口進(jìn)行設(shè)備的讀取,通過Write 進(jìn)行設(shè)備的寫入操作,實(shí)現(xiàn)對(duì)一個(gè)設(shè)備的控制操作。

        2.9 內(nèi)存管理

        本系統(tǒng)實(shí)現(xiàn)了一套內(nèi)存檢測(cè)機(jī)制,當(dāng)Applet 退出時(shí),判斷Applet 是否有內(nèi)存泄漏現(xiàn)象,如果有則打印出消息,供工程師進(jìn)行檢查。實(shí)現(xiàn)原理是在應(yīng)用程序分配內(nèi)存時(shí),給內(nèi)存打上標(biāo)記,根據(jù)標(biāo)記信息判斷是否有內(nèi)存泄漏。

        3 總結(jié)

        本文提出了一種用于機(jī)器人控制系統(tǒng)中應(yīng)用程序的開發(fā)框架DAREE,該框架以Applet 為單位管理業(yè)務(wù)功能模塊,通過DAREE 提供的系統(tǒng)接口,可以快速實(shí)現(xiàn)消息隊(duì)列、定時(shí)器、異步事件處理、日志管理、內(nèi)存管理等基礎(chǔ)功能。

        猜你喜歡
        程序開發(fā)日志應(yīng)用程序
        一名老黨員的工作日志
        扶貧日志
        心聲歌刊(2020年4期)2020-09-07 06:37:14
        APP應(yīng)用程序開發(fā)模式探究
        電子制作(2019年19期)2019-11-23 08:42:02
        刪除Win10中自帶的應(yīng)用程序
        基于TestStand的自動(dòng)檢測(cè)程序開發(fā)
        游學(xué)日志
        基于嵌入式系統(tǒng)Windows CE的應(yīng)用程序開發(fā)
        基于App inventor 2手機(jī)程序開發(fā)過程的學(xué)習(xí)與實(shí)——以“喵喵定時(shí)器”APP開發(fā)為例
        電子制作(2017年1期)2017-05-17 03:54:08
        一種基于粗集和SVM的Web日志挖掘模型
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        少妇人妻陈艳和黑人教练| 91亚洲精品久久久中文字幕| 亚州无吗一区二区三区| 国产亚洲精品a片久久久| 在线观看国产成人av片| 北岛玲中文字幕人妻系列| 青青草免费观看视频免费| 日本一区二区三区看片| 日韩在线一区二区三区中文字幕 | 一区二区三区人妻av| 国产精品久久久久久久妇| 伊人网综合在线视频| 日韩精品极品免费观看| 亚洲av五月天一区二区| 亚瑟国产精品久久| 综合精品欧美日韩国产在线| av资源吧首页在线观看| 日本激情网站中文字幕| 在线不卡av片免费观看| 国产成人av综合亚洲色欲| 日韩精品综合在线视频| 四虎影在永久在线观看| 人妻献身系列第54部| 中文字幕亚洲人妻系列| av网站免费观看入口| 又紧又大又爽精品一区二区| 国产特级毛片aaaaaa| 另类专区欧美在线亚洲免费| 成年人视频在线播放麻豆| 性人久久久久| 亚洲色欲色欲www在线播放| A阿V天堂免费无码专区| 在线日本国产成人免费精品| 国产又粗又猛又黄又爽无遮挡| 精品三级久久久久久久电影| 亚洲一区二区不卡日韩| 黄片大全视频在线播放| 国产精品无码一区二区三区免费| 免费在线日韩| 国产精品国产av一区二区三区| 激情综合色综合啪啪五月丁香|