TWI447647B - 用於執行機器人應用程序的終端裝置 - Google Patents
用於執行機器人應用程序的終端裝置 Download PDFInfo
- Publication number
- TWI447647B TWI447647B TW099142565A TW99142565A TWI447647B TW I447647 B TWI447647 B TW I447647B TW 099142565 A TW099142565 A TW 099142565A TW 99142565 A TW99142565 A TW 99142565A TW I447647 B TWI447647 B TW I447647B
- Authority
- TW
- Taiwan
- Prior art keywords
- module
- library
- application
- layer
- layer module
- Prior art date
Links
Landscapes
- Stored Programmes (AREA)
- Telephonic Communication Services (AREA)
- Telephone Function (AREA)
Description
本發明係有關於一種具有用於執行機器人應用程序(Android applications,機器人應用程序)的終端裝置。而其是指一種終端裝置,其為了在通過另外的RTOS(Real-Time Operating System,即時操作系統)工作的終端上執行機器人應用程序,將機器人框架優化到低性能設備(low-performance device),並通過移植層實現與終端裝置的RTOS之間的連接,並對達爾維克(dalvik)虛擬機進行再構成,使其能在RTOS的單任務中執行。
谷歌機器人平臺是谷歌(google)公司主導的OHA(Open Handset Alliance)中公開的軟體棧,意味著包含Linux內核、虛擬機(VM:virtual machine)、框架(framework)、應用程序(application)全部的套裝軟體。
谷歌機器人平臺主要僅適用於解析度為800×480的WVGA(wide VGA)級的大畫面顯示器和提供觸摸屏輸入的
高規格的智慧手機終端。
為了執行谷歌機器人的應用程序,需要在終端裝置上適用機器人整體軟體棧。機器人軟體棧包含Linux內核,並包含多種服務(系統進程等)作為基本條件,因此適合於高性能(high-performance)的智慧手機。
至於低規格的功能手機(feature phone)因為不能執行機器人的應用程序,所以只能以其他的平臺工作,而不能以機器人平臺工作。
本發明的目的在於,提供一種以在以沒有設置谷歌機器人平臺的RTOS工作的低規格終端裝置上,也能執行機器人應用程序的技術。即,根據本發明,能夠在不具備Linux內核的終端裝置的RTOS上或在由晶片製造者提供給RTOS的平臺上執行機器人應用程序,由此在低規格的功能手機中也能執行機器人應用程序。
本發明的終端裝置包括:應用程序層模組,其包含機器人應用程序;RTOS層模組,其包含與終端處理器連接的作業系統;以及中間件模組,其用於連接RTOS層模組和機器人應用程序。中間件模組包括:類庫層模組,其包含具有執行機器人應用程序所需的類庫的應用程序框架模組和提供Java API的核心類庫模組;移植層模組,其包含檔系統、記憶體分配模組、網路模組、基礎庫、計時器、設備控制模組中的一個以上的硬體管理模組,以提供用於管理終端的硬體的功能;以及本地庫層模組,
其包括具備平臺獨立型模組的虛擬機和在構建所述應用程序框架模組的庫時成為基礎的本地庫,該虛擬機通過所述類庫和所述Java API啟動所述機器人應用程序,該平臺獨立型模組由線程管理模組、動態庫管理模組、外部函數介面、同步模組、以及記憶體管理模組構成,並與所述移植層模組連動而使所述機器人應用程序通過不是機器人Linux的RTOS層模組執行。
本發明的終端裝置中,虛擬機為達爾維克(Dalvik)虛擬機,通過移植層模組按照RTOS的單任務來工作。
本發明的終端裝置中,移植層模組包含檔系統、記憶體分配模組、網路模組、基礎庫、計時器、設備控制模組中的一個以上的硬體管理模組,並與終端裝置的硬體接觸,進行管理、控制。
本發明的終端裝置中,本地庫層模組具備與移植層模組的硬體管理模組連動而工作的一個以上的本地庫。
本發明的終端裝置中,應用程序框架模組包含電話服務、位置服務、藍牙服務、WIFI服務、USB服務、感測器服務中的一個以上的服務的模組,並根據機器人應用程序的執行,按照後臺執行相應服務。
根據本發明,可以在以其他作業系統(OS)工作的終端裝置中也能執行谷歌機器人應用程序,因此具有可以提高機器人應用程序的價值(value)的效果。
另外,根據本發明,由於使機器人平臺輕量化,從而具有通過低規格的一般功能手機也能提供機器人應用程序服務的優點。
(100)‧‧‧終端裝置
(10)‧‧‧應用程序層模組
(20)‧‧‧中間件模組
(30)‧‧‧RTOS層模組
(40)‧‧‧終端處理器
(50)‧‧‧終端硬體
(21)‧‧‧類庫層模組
(22)‧‧‧本地庫層模組
(23)‧‧‧移植層模組
(21-1)‧‧‧核心類庫模組
(21-2)‧‧‧應用程序框架模組
(22-1)‧‧‧虛擬機
(22-1’)‧‧‧虛擬機
(22-2)‧‧‧本地庫
第一圖:是概略地示出本發明用於執行機器人應用程序的終端裝置的整體結構的框圖。
第二圖:是詳細示出中間件模組的結構圖。
第三圖:是放大表示第二圖的類庫層模組和本地庫層模組的左側結構的框圖。
第四圖:是放大表示第二圖中的類庫層模組和本地庫層模組的右側結構的框圖。
第五圖:示出了代替第二圖所示的RTOS而使用作為本地平臺的一個實施例的WISE平臺的結構的框圖。
第六圖:示出了第三圖的虛擬機的另一實施例的框圖。
以下,參照附圖詳細說明本發明的實施例。
第一圖是概略地示出本發明用於執行機器人應用程序的基於虛擬機的層結構的終端裝置(100)的整體結構的框圖。
終端裝置(100)包含應用程序層模組(10)、中間件模組(20)、RTOS層模組(30)、終端處理器(40)、終端硬體(50)。其中,終端裝置(100)一般是指手機、MP3等的移動裝置,但除此之外,還可以包含通過終端處理器(40)而基於RTOS工作的一般的終端裝置。
應用程序層模組(10)中的應用程序是通過具有移植層和虛擬機的中間件來執行的機器人應用程序。
中間件模組(20)位於RTOS層模組(30)和應用程序層模組(10)之間,從而連接應用程序層模組(10)所具備的機器人應用程序。其中,中間件模組(20)具備虛擬機和庫,以執行機器人應用程序,同時還具有移植層,以與RTOS層連接。對於中間件模組(20)的具體的細節事項,將在後面參照第二圖至第六圖進行詳細說明。
終端處理器(40)是中央處理器,當是移動終端時,可以處理多樣的多媒體和通信功能,並且可以使用輕量化(light-weight)的移動專用處理器。
終端硬體(50)包含構成終端裝置的畫面輸出部、音頻輸出部、用戶輸入部等。
第二圖是詳細示出中間件模組(20)的圖。
中間件模組(20)按照各層分為類庫層模組(21)、本地庫層模組(22)、移植層模組(23)。各層越趨近下側越接近物理層。移植層模組(23)與RTOS層模組(30)緊密連接,類庫層模組(21)與應用程序層模組(10)緊密連接。
類庫層模組(21)包含應用程序框架模組(21-2)和核心類庫模組(21-1)。應用程序框架模組(21-2)提供執行機器人應用程序所需的類庫,核心類庫模組(21-1)提供Java API。
在具體實施例中,應用程序框架模組(21-2)在谷歌機器人平臺上對應用程序框架層進行修正來使用或進行再使用。谷歌機器人應用程序框架層上具備執行機器人應用程序所需的類庫和服
務等。此時,對於與應用程序的相容無關的一部分服務,因此為了輕量化可以刪除。核心類庫模組(21-1)在谷歌機器人平臺上對屬於機器人的運行時間的核心庫進行再使用。機器人的核心庫中具備用於以Java語言進行編程的基本的Java API。
本地庫層模組(22)包含虛擬機(22-1),而虛擬機(22-1)通過應用程序框架模組(21-2)所具備的類庫和核心類庫模組(21-1)所具備的Java API,啟動位於應用程序層模組(10)的機器人應用程序。並且,本地庫層模組(22)具備本地庫(22-2),該本地庫(22-2)成為構建應用程序框架模組(21-2)的庫的基礎。
作為具體例,虛擬機(22-1)對谷歌機器人平臺的達爾維克(Dalvik)虛擬機進行修正來使用。即從現有的達爾維克虛擬機刪除依賴於Linux的模組,增加其他平臺不提供的功能,並以按照單任務也能執行的結構再構成虛擬機來使用。本地庫(22-2)再使用位於機器人平臺的應用程序框架層下方的庫。此時,本地庫(22-2)一般使用以開放源碼(open source)為基礎的軟體,並根據需要進行修正、移植來配置在本地庫層模組(22)上。
移植層模組(23)連接本地庫層模組(22)與RTOS層模組(30),並提供通過RTOS層模組(30)管理終端的硬體的功能。即移植層模組(23)是對依賴於作業系統的代碼進行整理,以能夠容易地移植到其他的作業系統的層,並且包括檔系統、記憶體分配、網路、基礎庫(stdio、stdlib
、math等)、計時器、設備控制(顯示器、媒體、輸入裝置、3D等)、其他實用工具等的硬體管理模組。並且,移植層模組(23)通過硬體管理模組接近終端裝置(100)的硬體而進行管理及控制。
例如,移植層模組(23)中具備Kernel(DLL,pthread,etc),System(file、memory、socket、stdio、stdlib、string、math、time),Device(framebuffer、media、input、3D、etc),Utils(log、debug、etc)等。
第二圖示出了作為作業系統而使用未設置谷歌機器人的RTOS的例子,第五圖示出了設置了由晶片製造者提供給RTOS的平臺(例:WISE平臺)的例子。通常的低規格的智慧手機具有第五圖所示的結構。
第三圖是放大表示第二圖的類庫層模組(21)和本地庫層模組(22)的左側結構的框圖。
虛擬機(22-1)是修正達爾維克虛擬機而得到的。達爾維克虛擬機是谷歌機器人平臺提供的虛擬機,使其與Java虛擬機相比在更小的記憶體環境下工作。虛擬機(22-1)包括線程管理模組(pthread)、動態庫管理模組(shared object、DLL)、外部函數介面(FFI:foreign function interface)、同步模組、記憶體管理模組。
包含在虛擬機(22-1)的模組是不受平臺種類的影響的所謂“平臺獨立型”模組。虛擬機(22-1)通過移植層模組(23)與RTOS層模組(30)連動地工作。並且,虛擬機(22-1)是對現有的達爾維克虛擬機進行修正而構成的,以相應於終端裝置(100)來實現記憶體管理。
除此以外,對於虛擬機(22-1),優選對現有的達爾維克虛擬機進行修正,使其在不支援多工而以單任務工作的終端裝置(100)中也能工作,從而能夠以單任務工作。即虛擬機(22-1)通過移植層模組(23)與RTOS層模組(30)連動地以單任務工作。
核心類庫模組(21-1)提供用於以Java語言編程的基本的Java API。
本地庫(22-2)成為構建上位層的庫的基礎,並以符合除Linux外的其他平臺的方式被移植。例如,以符合RTOS的方式被移植,或以符合由晶片製造者提供給RTOS的平臺(例:WISE平臺)的方式被移植。
第六圖示出了本地庫層模組(22)的另一實施例,尤其為達爾維克虛擬機的另一實施例。虛擬機(22-1’)包括共用物件或DLL這類動態庫管理模組、外部函數介面、同步模組等。
第四圖是放大表示第二圖中的類庫層模組(21)和本地庫層模組(22)的右側結構的框圖。
接著第三圖,本地庫層模組(22)中具備與移植層模組(23)的硬體管理模組連動地工作的多樣的本地庫(22-2)。
應用程序框架模組(21-2)中包括電話服務、位置服務、藍牙服務、WIFI服務、USB服務、感測器服務等的多樣的服務的模組。此時,服務模組提供的服務在整個系統內起到如伺服器或後臺程序的作用,並根據機器人應用程序的執行,以後臺執行相應服務。
各服務模組是根據需要而修正,並為了輕量化而刪除沒必要的服務模組。即優選從PAF(Portable Android Platform,可擕式機器人平臺)中刪除主機平臺提供的模組。
(100)‧‧‧終端裝置
(10)‧‧‧應用程序層模組
(20)‧‧‧中間件模組
(30)‧‧‧RTOS層模組
(40)‧‧‧終端處理器
(50)‧‧‧終端硬體
Claims (7)
- 一種用於執行機器人應用程序的終端裝置,其包括:應用程序層模組,其包括機器人應用程序;RTOS層模組,其包括與終端處理器連接的作業系統;以及中間件模組,其用於連接所述RTOS層模組和所述機器人應用程序,所述中間件模組包括:類庫層模組,其包括:具有執行所述機器人應用程序所需的類庫的應用程序框架模組;以及提供Java API的核心類庫模組;移植層模組,其包括檔系統、記憶體分配模組、網路模組、基礎庫、計時器、設備控制模組中的一個以上的硬體管理模組,提供通過所述RTOS層模組管理終端的硬體的功能;以及本地庫層模組,其包括具備平臺獨立型模組的虛擬機和在構建所述應用程序框架模組的庫時成為基礎的本地庫,該虛擬機通過所述類庫和所述Java API啟動所述機器人應用程序,該平臺獨立型模組由線程管理模組、動態庫管理模組、外部函數介面、同步模組、以及記憶體管理模組構成,並與所述移植層模組連動而使所述機器人應用程序通過不是機器人Linux的RTOS層模組執行。
- 一種終端裝置,其包括:應用程序層模組,其包括機器人應用程序;本地平臺層模組,其與終端處理器連接;以及 中間件模組,其連接所述本地平臺層模組和所述應用程序層模組,並包括類庫層模組、本地庫層模組、以及移植層模組,所述中間件模組包括:類庫層模組,其包括:具有執行所述機器人應用程序所需的類庫的應用程序框架模組;以及提供Java API的核心類庫模組;移植層模組,其連接所述本地庫層模組和所述本地平臺層模組,並包括檔系統、記憶體分配模組、網路模組、基礎庫、計時器、設備控制模組中的一個以上的硬體管理模組,且所述硬體管理模組提供應用依賴於作業系統的代碼來管理終端的硬體的Linux標準API;以及本地庫層模組,其包括虛擬機和在構建所述應用程序框架模組的庫時成為基礎的本地庫,該虛擬機在通過所述類庫和所述Java API啟動所述機器人應用程序時,通過從所述移植層模組提供的所述Linux標準API來使用硬體資源,利用平臺獨立型模組,通過不是Linux的本地平臺層模組執行所述機器人應用程序,該平臺獨立型模組由線程管理模組、動態庫管理模組、外部函數介面、同步模組、以及記憶體管理模組構成。
- 依據申請專利範圍第1或2項所述的終端裝置,其中,所述虛擬機為達爾維克虛擬機。
- 依據申請專利範圍第3項所述的終端裝置,其中,所述虛擬機通過所述移植層模組以單任務方式進行工作。
- 依據申請專利範圍第4項所述的終端裝置,其中,所述移植層模組包括檔系統、記憶體分配模組、網路模組、基礎庫、計時器、設備控制模組中的一個以上的硬體管理模組,從而與所述終端裝置 的相應硬體接觸來進行管理及控制。
- 依據申請專利範圍第5項所述的終端裝置,其中,所述本地庫層模組具備與所述移植層模組的硬體管理模組連動而進行工作的一個以上的本地庫。
- 依據申請專利範圍第6項所述的終端裝置,其中,所述應用程序框架模組包括電話服務、位置服務、藍牙服務、WIFI服務、USB服務、感測器服務中的一個以上的服務的模組,從而根據所述機器人應用程序的執行,以後臺方式執行相應服務。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090121002A KR100989613B1 (ko) | 2009-12-08 | 2009-12-08 | 비안드로이드 플랫폼에서 안드로이드 어플리케이션을 실행하는 단말장치 |
KR1020100073395A KR101015573B1 (ko) | 2010-07-29 | 2010-07-29 | Rtos 기반의 안드로이드 어플리케이션 실행 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201131474A TW201131474A (en) | 2011-09-16 |
TWI447647B true TWI447647B (zh) | 2014-08-01 |
Family
ID=44099412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW099142565A TWI447647B (zh) | 2009-12-08 | 2010-12-07 | 用於執行機器人應用程序的終端裝置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102087592B (zh) |
TW (1) | TWI447647B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107294951A (zh) * | 2017-05-04 | 2017-10-24 | 宁波伟立机器人科技股份有限公司 | 基于云服务的机器人工业管理系统数据传输方法 |
CN107942753B (zh) * | 2017-12-07 | 2020-08-25 | 惠州市德赛西威汽车电子股份有限公司 | 机器人与终端设备的软件的通讯框架和通讯方法 |
JP6572330B2 (ja) * | 2018-01-26 | 2019-09-04 | 株式会社インテック | ロボットアプリケーション管理装置、システム、方法及びプログラム |
CN110774282B (zh) * | 2019-10-15 | 2022-07-15 | 哈尔滨工程大学 | 一种基于手机蓝牙app软件的球形张拉整体机器人控制系统及控制方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030181193A1 (en) * | 2002-02-15 | 2003-09-25 | Lars Wilhelmsson | Middleware services layer for platform system for mobile terminals |
TW200400765A (en) * | 2002-05-27 | 2004-01-01 | Koninkl Philips Electronics Nv | DVD virtual machine |
US20070240171A1 (en) * | 2006-03-29 | 2007-10-11 | Nokia Corporation | Device, Method, And Computer Program Product For Accessing A Non-Native Application Executing In Virtual Machine Environment |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7738863B2 (en) * | 2005-08-25 | 2010-06-15 | Nokia Corporation | IP datacasting middleware |
-
2010
- 2010-12-07 CN CN201010577207.7A patent/CN102087592B/zh not_active Expired - Fee Related
- 2010-12-07 TW TW099142565A patent/TWI447647B/zh not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030181193A1 (en) * | 2002-02-15 | 2003-09-25 | Lars Wilhelmsson | Middleware services layer for platform system for mobile terminals |
TW200400765A (en) * | 2002-05-27 | 2004-01-01 | Koninkl Philips Electronics Nv | DVD virtual machine |
US20070240171A1 (en) * | 2006-03-29 | 2007-10-11 | Nokia Corporation | Device, Method, And Computer Program Product For Accessing A Non-Native Application Executing In Virtual Machine Environment |
Also Published As
Publication number | Publication date |
---|---|
CN102087592A (zh) | 2011-06-08 |
CN102087592B (zh) | 2014-03-19 |
TW201131474A (en) | 2011-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100989613B1 (ko) | 비안드로이드 플랫폼에서 안드로이드 어플리케이션을 실행하는 단말장치 | |
CN102232304B (zh) | 一种移动通信终端间进行系统升级的方法、系统及终端 | |
KR101015573B1 (ko) | Rtos 기반의 안드로이드 어플리케이션 실행 장치 | |
WO2018161812A1 (zh) | 一种用户界面渲染方法及装置 | |
US11853820B2 (en) | Cross-process communication method, apparatus, and device | |
US9678767B2 (en) | Unified extensible firmware interface (UEFI) driver and protocol | |
US20190095243A1 (en) | Virtual Machine Migration Method and Apparatus, and Virtualization System | |
TWI447647B (zh) | 用於執行機器人應用程序的終端裝置 | |
KR101249735B1 (ko) | 범용 운영체제 상에서 안드로이드 어플리케이션을 실행하기 위한 단말장치 및 방법, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체 | |
CN111651219A (zh) | 一种多模块项目配置文件管理的方法及设备 | |
WO2024011825A1 (zh) | 第三方app中引入小程序的系统、方法、装置及介质 | |
CN111796838A (zh) | Mpp数据库自动部署方法及装置 | |
CN111240766A (zh) | 应用启动方法、装置、电子设备及计算机可读存储介质 | |
CN112835615A (zh) | 软件开发工具包的插件化处理方法、装置及电子设备 | |
CN103530165B (zh) | 一种应用于物联网行业的java解决方案 | |
US9047134B2 (en) | System and method for increasing the capabilities of a mobile device | |
CN104035768A (zh) | Android平台兼容本地代码OpenGL程序的系统及方法 | |
CN106775608B (zh) | 独立系统进程的实现方法和装置 | |
WO2023066246A1 (zh) | 云手机安装应用的方法、系统和客户端云手机 | |
WO2012015083A1 (ko) | Rtos 기반의 안드로이드 어플리케이션 실행 장치 | |
CN113296802B (zh) | 虚拟机热升级方法、主机设备及存储介质 | |
EP2966565A1 (en) | Method for automatically converting android application to tizen installable package | |
CN113950034A (zh) | 蓝牙行为的模拟方法、装置和设备 | |
CN108369526B (zh) | 一种虚拟机的启动方法、装置和智能终端 | |
Johnson et al. | Porting the google android mobile operating system to legacy hardware |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |