專利名稱::用于執(zhí)行機(jī)器人應(yīng)用程序的終端裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明揭示了具有用于執(zhí)行機(jī)器人應(yīng)用程序(Androidapplications,機(jī)器人應(yīng)用程序)的終端裝置。特別地,本發(fā)明揭示了一種終端裝置,其為了在通過另外的RTOS(Real-TimeOperatingSystem,實(shí)時(shí)操作系統(tǒng))工作的終端上執(zhí)行機(jī)器人應(yīng)用程序,將機(jī)器人框架優(yōu)化到低性能設(shè)備(low-performancedevice),并通過移植層實(shí)現(xiàn)與終端裝置的RTOS之間的連接,并對達(dá)爾維克(dalvik)虛擬機(jī)進(jìn)行再構(gòu)成,使其能在RTOS的單任務(wù)中執(zhí)行。
背景技術(shù):
:谷歌機(jī)器人平臺是谷歌(google)公司主導(dǎo)的OHA(OpenHandsetAlliance)中公開的軟件棧,意味著包含Linux內(nèi)核、虛擬機(jī)(VMvirtualmachine)、框架(framework)、應(yīng)用程序(application)全部的軟件包。谷歌機(jī)器人平臺主要僅適用于分辨率為800X480的WVGA(wideVGA)級的大畫面顯示器和提供觸摸屏輸入的高規(guī)格的智能手機(jī)終端。為了執(zhí)行谷歌機(jī)器人的應(yīng)用程序,需要在終端裝置上適用機(jī)器人整體軟件棧。機(jī)器人軟件棧包含Linux內(nèi)核,并包含多種服務(wù)(系統(tǒng)進(jìn)程等)作為基本條件,因此適合于高性能(high-performance)的智能手機(jī)。因此,低規(guī)格的功能手機(jī)(featurephone)只能以其他的平臺工作,而不能以機(jī)器人平臺工作。在這樣的功能手機(jī)上不能執(zhí)行機(jī)器人的應(yīng)用程序。
發(fā)明內(nèi)容本發(fā)明的目的在于,提供一種以在以沒有設(shè)置谷歌機(jī)器人平臺的RTOS工作的低規(guī)格終端裝置上,也能執(zhí)行機(jī)器人應(yīng)用程序的技術(shù)。即,根據(jù)本發(fā)明,能夠在不具備Linux內(nèi)核的終端裝置的RTOS上或在由芯片制造者提供給RTOS的平臺上執(zhí)行機(jī)器人應(yīng)用程序,由此在低規(guī)格的功能手機(jī)中也能執(zhí)行機(jī)器人應(yīng)用程序。本發(fā)明的終端裝置包括應(yīng)用程序?qū)幽K10,其包含機(jī)器人應(yīng)用程序;RTOS層模塊30,其包含與終端處理器連接的操作系統(tǒng);以及中間件模塊20,其用于連接RTOS層模塊和機(jī)器人應(yīng)用程序。中間件模塊20包括類庫層模塊21,其包含具有執(zhí)行機(jī)器人應(yīng)用程序所需的類庫的應(yīng)用程序框架模塊和提供JavaAPI的核心類庫模塊;移植層模塊23,其包含文件系統(tǒng)、存儲器分配模塊、網(wǎng)絡(luò)模塊、基礎(chǔ)庫、定時(shí)器、設(shè)備控制模塊中的一個(gè)以上的硬件管理模塊,以提供用于管理終端的硬件的功能;以及本地庫層模塊22,其包括具備平臺獨(dú)立型模塊的虛擬機(jī)和在構(gòu)建所述應(yīng)用程序框架模塊的庫時(shí)成為基礎(chǔ)的本地庫,該虛擬機(jī)通過所述類庫和所述JavaAPI啟動所述機(jī)器人應(yīng)用程序,該平臺獨(dú)立型模塊由線程管理模塊、動態(tài)庫管理模塊、外部函數(shù)接口、同步模塊、以及存儲器管理模塊構(gòu)成,并與所述移植層模塊23連動而使所述機(jī)器人應(yīng)用程序通過不是機(jī)器人Linux的RTOS層模塊執(zhí)行。本發(fā)明的終端裝置中,虛擬機(jī)為達(dá)爾維克(Dalvik)虛擬機(jī),通過移植層模塊按照RTOS的單任務(wù)來工作。本發(fā)明的終端裝置中,移植層模塊23包含文件系統(tǒng)、存儲器分配模塊、網(wǎng)絡(luò)模塊、基礎(chǔ)庫、定時(shí)器、設(shè)備控制模塊中的一個(gè)以上的硬件管理模塊,并與終端裝置的硬件接觸,進(jìn)行管理、控制。本發(fā)明的終端裝置中,本地庫層模塊22具備與移植層模塊的硬件管理模塊連動而工作的一個(gè)以上的本地庫。本發(fā)明的終端裝置中,應(yīng)用程序框架模塊包含電話服務(wù)、位置服務(wù)、藍(lán)牙服務(wù)、WIFI服務(wù)、USB服務(wù)、傳感器服務(wù)中的一個(gè)以上的服務(wù)的模塊,并根據(jù)機(jī)器人應(yīng)用程序的執(zhí)行,按照后臺執(zhí)行相應(yīng)服務(wù)。根據(jù)本發(fā)明,可以在以其他操作系統(tǒng)(OS)工作的終端裝置中也能執(zhí)行谷歌機(jī)器人應(yīng)用程序,因此具有可以提高機(jī)器人應(yīng)用程序的價(jià)值(value)的效果。另外,根據(jù)本發(fā)明,由于使機(jī)器人平臺輕量化,從而具有通過低規(guī)格的一般功能手機(jī)也能提供機(jī)器人應(yīng)用程序服務(wù)的優(yōu)點(diǎn)。圖1是概略地示出本發(fā)明的用于執(zhí)行機(jī)器人應(yīng)用程序的終端裝置100的整體結(jié)構(gòu)的框圖。圖2是詳細(xì)示出中間件模塊20的結(jié)構(gòu)的圖。圖3是放大表示圖2的類庫層模塊21和本地庫層模塊22的左側(cè)結(jié)構(gòu)的框圖。圖4是放大表示圖2中的類庫層模塊21和本地庫層模塊22的右側(cè)結(jié)構(gòu)的框圖。圖5示出了代替圖2所示的RTOS而使用作為本地平臺的一個(gè)實(shí)施例的WISE平臺的結(jié)構(gòu)的框圖。圖6示出了圖3的虛擬機(jī)的另一實(shí)施例的框圖。具體實(shí)施例方式以下,參照附圖詳細(xì)說明本發(fā)明的實(shí)施例。圖1是概略地示出本發(fā)明的用于執(zhí)行機(jī)器人的應(yīng)用程序的基于虛擬機(jī)的層結(jié)構(gòu)的終端裝置100的整體結(jié)構(gòu)的框圖。終端裝置100包含應(yīng)用程序?qū)幽K10、中間件模塊20、RTOS層模塊30、終端處理器40、終端硬件50。此時(shí),終端裝置100—般是指手機(jī)、MP3等的移動裝置,但除此之外,還可以包含通過終端處理器40而基于RTOS工作的一般的終端裝置。應(yīng)用程序?qū)幽K10中的應(yīng)用程序是通過具有移植層和虛擬機(jī)的中間件來執(zhí)行的機(jī)器人應(yīng)用程序。中間件模塊20位于RTOS層模塊30和應(yīng)用程序?qū)幽K10之間,從而連接應(yīng)用程序?qū)幽K10所具備的機(jī)器人應(yīng)用程序。此時(shí),中間件模塊20具備虛擬機(jī)和庫,以可以執(zhí)行機(jī)器人應(yīng)用程序,同時(shí)還具有移植層,以可以與RTOS層連接。對于中間件模塊20的具體的細(xì)節(jié)事項(xiàng),將在后面參照圖2至圖6進(jìn)行詳細(xì)說明。終端處理器40是中央處理器,當(dāng)是移動終端時(shí),可以處理多樣的多媒體和通信功能,并且可以使用輕量化(light-weight)的移動專用處理器。5終端硬件50包含構(gòu)成終端裝置的畫面輸出部、音頻輸出部、用戶輸入部等。圖2是詳細(xì)示出中間件模塊20的圖。中間件模塊20按照各層分為類庫層21、本地庫層22、移植層23。各層越趨近下側(cè)越接近物理層。移植層23與RTOS層模塊30緊密連接,類庫層21與應(yīng)用程序?qū)幽K10緊密連接。類庫層模塊21包含應(yīng)用程序框架模塊21-2和核心類庫模塊21_1。應(yīng)用程序框架模塊21-2提供執(zhí)行機(jī)器人應(yīng)用程序所需的類庫,核心類庫模塊21-1提供JavaAPI。在具體例中,應(yīng)用程序框架模塊21-2在谷歌機(jī)器人平臺上對應(yīng)用程序框架層進(jìn)行修正來使用或進(jìn)行再使用。谷歌機(jī)器人應(yīng)用程序框架層上具備執(zhí)行機(jī)器人應(yīng)用程序所需的類庫和服務(wù)等。此時(shí),對于與應(yīng)用程序的兼容無關(guān)的一部分服務(wù),因此為了輕量化可以刪除。核心類庫模塊21-1在谷歌機(jī)器人平臺上對屬于機(jī)器人的運(yùn)行時(shí)間的核心庫進(jìn)行再使用。機(jī)器人的核心庫中具備用于以Java語言進(jìn)行編程的基本的JavaAPI。本地庫層模塊22包含虛擬機(jī)22-1,而虛擬機(jī)22_1通過應(yīng)用程序框架模塊21_2所具備的類庫和核心類庫模塊21-1所具備的JavaAPI,啟動位于應(yīng)用程序?qū)幽K10的機(jī)器人應(yīng)用程序。并且,本地庫層模塊22具備本地庫22-2,該本地庫22-2成為構(gòu)建應(yīng)用程序框架模塊21-2的庫的基礎(chǔ)。作為具體例,虛擬機(jī)22-1對谷歌機(jī)器人平臺的達(dá)爾維克(Dalvik)虛擬機(jī)進(jìn)行修正來使用。即、從現(xiàn)有的達(dá)爾維克虛擬機(jī)刪除依賴于Linux的模塊,增加其他平臺不提供的功能,并以按照單任務(wù)也能執(zhí)行的結(jié)構(gòu)再構(gòu)成虛擬機(jī)來使用。本地庫22-2再使用位于機(jī)器人平臺的應(yīng)用程序框架層下方的庫。此時(shí),本地庫22-2—般使用以開放源碼(opensource)為基礎(chǔ)的軟件,并根據(jù)需要進(jìn)行修正、移植來配置在本地庫層模塊22上。移植層模塊23連接本地庫層模塊22與RTOS層模塊30,并提供通過RTOS層模塊30管理終端的硬件的功能。即、移植層模塊23是對依賴于操作系統(tǒng)的代碼進(jìn)行整理,以能夠容易地移植到其他的操作系統(tǒng)的層,并且包括文件系統(tǒng)、存儲器分配、網(wǎng)絡(luò)、基礎(chǔ)庫(stdio.stdlib.math等)、定時(shí)器、設(shè)備控制(顯示器、媒體、輸入裝置、3D等)、其他實(shí)用工具等的硬件管理模塊。并且,移植層模塊23通過硬件管理模塊接近終端裝置100的硬件而進(jìn)行管理及控制。例如,移植層模塊23中具備Kernel(DLL,pthread,etc),System(file、memory>socket、stdio、stdlib、string、math、time),Device(framebuffer>media>input、3D、etc),Utils(log、debug、etc)等。圖2示出了作為操作系統(tǒng)而使用未設(shè)置谷歌機(jī)器人的RTOS的例子,圖5示出了設(shè)置了由芯片制造者提供給RTOS的平臺(例WISE平臺)的例子。通常的低規(guī)格的智能手機(jī)具有圖5所示的結(jié)構(gòu)。圖3是放大表示圖2的類庫層模塊21和本地庫層模塊22的左側(cè)結(jié)構(gòu)的框圖。虛擬機(jī)22-1是修正達(dá)爾維克虛擬機(jī)而得到的。達(dá)爾維克虛擬機(jī)是谷歌機(jī)器人平臺提供的虛擬機(jī),使其與Java虛擬機(jī)相比在更小的存儲器環(huán)境下工作。虛擬機(jī)22-1包括線程管理模塊(Pthread)、動態(tài)庫管理模塊(sharedobject、DLL)、外部函數(shù)接口(FFIforeignfunctioninterface)、同步模塊、存儲器管理模塊。包含在虛擬機(jī)22-1的模塊是不受平臺種類的影響的所謂“平臺獨(dú)立型”模塊。虛擬機(jī)22-1通過移植層模塊23與RTOS層模塊30連動地工作。并且,虛擬機(jī)22_1是對現(xiàn)有的達(dá)爾維克虛擬機(jī)進(jìn)行修正而構(gòu)成的,以相應(yīng)于終端裝置100來實(shí)現(xiàn)存儲器管理。除此以外,對于虛擬機(jī)22-1,優(yōu)選對現(xiàn)有的達(dá)爾維克虛擬機(jī)進(jìn)行修正,使其在不支持多任務(wù)而以單任務(wù)工作的終端裝置100中也能工作,從而能夠以單任務(wù)工作。即、虛擬機(jī)22-1通過移植層模塊23與RTOS層模塊30連動地以單任務(wù)工作。核心類庫21-1提供用于以Java語言編程的基本的JavaAPI。本地庫22-2成為構(gòu)建上位層的庫的基礎(chǔ),并以符合除Linux外的其他平臺的方式被移植。例如,以符合RTOS的方式被移植,或以符合由芯片制造者提供給RTOS的平臺(例WISE平臺)的方式被移植。圖6示出了本地庫層模塊22的另一實(shí)施例,尤其為達(dá)爾維克虛擬機(jī)的另一實(shí)施例。虛擬機(jī)22-1’包括共享對象或DLL這類動態(tài)庫管理模塊、外部函數(shù)接口、同步模塊等。圖4是放大表示圖2中的類庫層模塊21和本地庫層模塊22的右側(cè)結(jié)構(gòu)的框圖。接著圖3,本地庫層模塊22中具備與移植層模塊23的硬件管理模塊連動地工作的多樣的本地庫22-2。應(yīng)用程序框架模塊21-2中包括電話服務(wù)、位置服務(wù)、藍(lán)牙服務(wù)、WIFI服務(wù)、USB服務(wù)、傳感器服務(wù)等的多樣的服務(wù)的模塊。此時(shí),服務(wù)模塊提供的服務(wù)在整個(gè)系統(tǒng)內(nèi)起到如服務(wù)器或后臺程序的作用,并根據(jù)機(jī)器人應(yīng)用程序的執(zhí)行,以后臺執(zhí)行相應(yīng)服務(wù)。各服務(wù)模塊是根據(jù)需要而修正,并為了輕量化而刪除沒必要的服務(wù)模塊。即、優(yōu)選從PAF(PortableAndroidPlatform,便攜式機(jī)器人平臺)中刪除主機(jī)平臺提供的模塊。權(quán)利要求1.一種用于執(zhí)行機(jī)器人應(yīng)用程序的終端裝置,其包括應(yīng)用程序?qū)幽K(10),其包括機(jī)器人應(yīng)用程序;RTOS層模塊(30),其包括與終端處理器連接的操作系統(tǒng);以及中間件模塊(20),其用于連接所述RTOS層模塊和所述機(jī)器人應(yīng)用程序,所述中間件模塊00)包括類庫層模塊(21),其包括具有執(zhí)行所述機(jī)器人應(yīng)用程序所需的類庫的應(yīng)用程序框架模塊;以及提供JavaAPI的核心類庫模塊;移植層模塊(23),其包括文件系統(tǒng)、存儲器分配模塊、網(wǎng)絡(luò)模塊、基礎(chǔ)庫、定時(shí)器、設(shè)備控制模塊中的一個(gè)以上的硬件管理模塊,提供通過所述RTOS層模塊管理終端的硬件的功能;以及本地庫層模塊(22),其包括具備平臺獨(dú)立型模塊的虛擬機(jī)和在構(gòu)建所述應(yīng)用程序框架模塊的庫時(shí)成為基礎(chǔ)的本地庫,該虛擬機(jī)通過所述類庫和所述JavaAPI啟動所述機(jī)器人應(yīng)用程序,該平臺獨(dú)立型模塊由線程管理模塊、動態(tài)庫管理模塊、外部函數(shù)接口、同步模塊、以及存儲器管理模塊構(gòu)成,并與所述移植層模塊連動而使所述機(jī)器人應(yīng)用程序通過不是機(jī)器人Linux的RTOS層模塊執(zhí)行。2.—種終端裝置,其包括應(yīng)用程序?qū)幽K(10),其包括機(jī)器人應(yīng)用程序;本地平臺層模塊(30’),其與終端處理器連接;以及中間件模塊(20),其連接所述本地平臺層模塊和所述應(yīng)用程序?qū)幽K,并包括類庫層模塊(21)、本地庫層模塊(22)、以及移植層模塊03),所述中間件模塊00)包括類庫層模塊(21),其包括具有執(zhí)行所述機(jī)器人應(yīng)用程序所需的類庫的應(yīng)用程序框架模塊;以及提供JavaAPI的核心類庫模塊;移植層模塊(23),其連接所述本地庫層模塊0和所述本地平臺層模塊(30’),并包括文件系統(tǒng)、存儲器分配模塊、網(wǎng)絡(luò)模塊、基礎(chǔ)庫、定時(shí)器、設(shè)備控制模塊中的一個(gè)以上的硬件管理模塊,且所述硬件管理模塊提供應(yīng)用依賴于操作系統(tǒng)的代碼來管理終端的硬件的Linux標(biāo)準(zhǔn)API;以及本地庫層模塊(22),其包括虛擬機(jī)和在構(gòu)建所述應(yīng)用程序框架模塊的庫時(shí)成為基礎(chǔ)的本地庫,該虛擬機(jī)在通過所述類庫和所述JavaAPI啟動所述機(jī)器人應(yīng)用程序時(shí),通過從所述移植層模塊提供的所述Linux標(biāo)準(zhǔn)API來使用硬件資源,利用平臺獨(dú)立型模塊,通過不是Linux的本地平臺層模塊執(zhí)行所述機(jī)器人應(yīng)用程序,該平臺獨(dú)立型模塊由線程管理模塊、動態(tài)庫管理模塊、外部函數(shù)接口、同步模塊、以及存儲器管理模塊構(gòu)成。3.根據(jù)權(quán)利要求1或2所述的終端裝置,其特征在于,所述虛擬機(jī)為達(dá)爾維克虛擬機(jī)。4.根據(jù)權(quán)利要求3所述的終端裝置,其特征在于,所述虛擬機(jī)通過所述移植層模塊以單任務(wù)方式進(jìn)行工作。5.根據(jù)權(quán)利要求4所述的終端裝置,其特征在于,所述移植層模塊包括文件系統(tǒng)、存儲器分配模塊、網(wǎng)絡(luò)模塊、基礎(chǔ)庫、定時(shí)器、設(shè)備控制模塊中的一個(gè)以上的硬件管理模塊,從而與所述終端裝置的相應(yīng)硬件接觸來進(jìn)行管理及控制。6.根據(jù)權(quán)利要求5所述的終端裝置,其特征在于,所述本地庫層模塊0具備與所述移植層模塊的硬件管理模塊連動而進(jìn)行工作的一個(gè)以上的本地庫。7.根據(jù)權(quán)利要求6所述的終端裝置,其特征在于,所述應(yīng)用程序框架模塊包括電話服務(wù)、位置服務(wù)、藍(lán)牙服務(wù)、WIFI服務(wù)、USB服務(wù)、傳感器服務(wù)中的一個(gè)以上的服務(wù)的模塊,從而根據(jù)所述機(jī)器人應(yīng)用程序的執(zhí)行,以后臺方式執(zhí)行相應(yīng)服務(wù)。全文摘要本發(fā)明提供用于執(zhí)行機(jī)器人應(yīng)用程序的終端裝置。特別地,本發(fā)明揭示了一種終端裝置,其為了在用RTOS工作的終端上執(zhí)行機(jī)器人應(yīng)用程序,將機(jī)器人的框架優(yōu)化為低規(guī)格設(shè)備,并通過移植層實(shí)現(xiàn)與終端裝置的RTOS之間的連接,并對達(dá)爾維克(dalvik)虛擬機(jī)進(jìn)行再構(gòu)成,以使其能在RTOS的單任務(wù)中執(zhí)行。根據(jù)本發(fā)明,可以在以其他操作系統(tǒng)(OS)工作的終端裝置中也能執(zhí)行谷歌機(jī)器人應(yīng)用程序,因此具有可以提高機(jī)器人應(yīng)用程序的價(jià)值(value)的效果。另外,由于使機(jī)器人平臺輕量化,從而具有通過低規(guī)格的一般功能手機(jī)也能提供機(jī)器人應(yīng)用程序服務(wù)的優(yōu)點(diǎn)。文檔編號G06F9/44GK102087592SQ20101057720公開日2011年6月8日申請日期2010年12月7日優(yōu)先權(quán)日2009年12月8日發(fā)明者林桐永,柳赫坤,申光澈,郭玟澈申請人:J.移動公司