用于执行机器人应用程序的终端装置的制作方法

文档序号:6337929阅读:420来源:国知局

专利名称::用于执行机器人应用程序的终端装置的制作方法
技术领域
:本发明揭示了具有用于执行机器人应用程序(Androidapplications,机器人应用程序)的终端装置。特别地,本发明揭示了一种终端装置,其为了在通过另外的RTOS(Real-TimeOperatingSystem,实时操作系统)工作的终端上执行机器人应用程序,将机器人框架优化到低性能设备(low-performancedevice),并通过移植层实现与终端装置的RTOS之间的连接,并对达尔维克(dalvik)虚拟机进行再构成,使其能在RTOS的单任务中执行。
背景技术
:谷歌机器人平台是谷歌(google)公司主导的OHA(OpenHandsetAlliance)中公开的软件栈,意味着包含Linux内核、虚拟机(VMvirtualmachine)、框架(framework)、应用程序(application)全部的软件包。谷歌机器人平台主要仅适用于分辨率为800X480的WVGA(wideVGA)级的大画面显示器和提供触摸屏输入的高规格的智能手机终端。为了执行谷歌机器人的应用程序,需要在终端装置上适用机器人整体软件栈。机器人软件栈包含Linux内核,并包含多种服务(系统进程等)作为基本条件,因此适合于高性能(high-performance)的智能手机。因此,低规格的功能手机(featurephone)只能以其他的平台工作,而不能以机器人平台工作。在这样的功能手机上不能执行机器人的应用程序。
发明内容本发明的目的在于,提供一种以在以没有设置谷歌机器人平台的RTOS工作的低规格终端装置上,也能执行机器人应用程序的技术。即,根据本发明,能够在不具备Linux内核的终端装置的RTOS上或在由芯片制造者提供给RTOS的平台上执行机器人应用程序,由此在低规格的功能手机中也能执行机器人应用程序。本发明的终端装置包括应用程序层模块10,其包含机器人应用程序;RTOS层模块30,其包含与终端处理器连接的操作系统;以及中间件模块20,其用于连接RTOS层模块和机器人应用程序。中间件模块20包括类库层模块21,其包含具有执行机器人应用程序所需的类库的应用程序框架模块和提供JavaAPI的核心类库模块;移植层模块23,其包含文件系统、存储器分配模块、网络模块、基础库、定时器、设备控制模块中的一个以上的硬件管理模块,以提供用于管理终端的硬件的功能;以及本地库层模块22,其包括具备平台独立型模块的虚拟机和在构建所述应用程序框架模块的库时成为基础的本地库,该虚拟机通过所述类库和所述JavaAPI启动所述机器人应用程序,该平台独立型模块由线程管理模块、动态库管理模块、外部函数接口、同步模块、以及存储器管理模块构成,并与所述移植层模块23连动而使所述机器人应用程序通过不是机器人Linux的RTOS层模块执行。本发明的终端装置中,虚拟机为达尔维克(Dalvik)虚拟机,通过移植层模块按照RTOS的单任务来工作。本发明的终端装置中,移植层模块23包含文件系统、存储器分配模块、网络模块、基础库、定时器、设备控制模块中的一个以上的硬件管理模块,并与终端装置的硬件接触,进行管理、控制。本发明的终端装置中,本地库层模块22具备与移植层模块的硬件管理模块连动而工作的一个以上的本地库。本发明的终端装置中,应用程序框架模块包含电话服务、位置服务、蓝牙服务、WIFI服务、USB服务、传感器服务中的一个以上的服务的模块,并根据机器人应用程序的执行,按照后台执行相应服务。根据本发明,可以在以其他操作系统(OS)工作的终端装置中也能执行谷歌机器人应用程序,因此具有可以提高机器人应用程序的价值(value)的效果。另外,根据本发明,由于使机器人平台轻量化,从而具有通过低规格的一般功能手机也能提供机器人应用程序服务的优点。图1是概略地示出本发明的用于执行机器人应用程序的终端装置100的整体结构的框图。图2是详细示出中间件模块20的结构的图。图3是放大表示图2的类库层模块21和本地库层模块22的左侧结构的框图。图4是放大表示图2中的类库层模块21和本地库层模块22的右侧结构的框图。图5示出了代替图2所示的RTOS而使用作为本地平台的一个实施例的WISE平台的结构的框图。图6示出了图3的虚拟机的另一实施例的框图。具体实施例方式以下,参照附图详细说明本发明的实施例。图1是概略地示出本发明的用于执行机器人的应用程序的基于虚拟机的层结构的终端装置100的整体结构的框图。终端装置100包含应用程序层模块10、中间件模块20、RTOS层模块30、终端处理器40、终端硬件50。此时,终端装置100—般是指手机、MP3等的移动装置,但除此之外,还可以包含通过终端处理器40而基于RTOS工作的一般的终端装置。应用程序层模块10中的应用程序是通过具有移植层和虚拟机的中间件来执行的机器人应用程序。中间件模块20位于RTOS层模块30和应用程序层模块10之间,从而连接应用程序层模块10所具备的机器人应用程序。此时,中间件模块20具备虚拟机和库,以可以执行机器人应用程序,同时还具有移植层,以可以与RTOS层连接。对于中间件模块20的具体的细节事项,将在后面参照图2至图6进行详细说明。终端处理器40是中央处理器,当是移动终端时,可以处理多样的多媒体和通信功能,并且可以使用轻量化(light-weight)的移动专用处理器。5终端硬件50包含构成终端装置的画面输出部、音频输出部、用户输入部等。图2是详细示出中间件模块20的图。中间件模块20按照各层分为类库层21、本地库层22、移植层23。各层越趋近下侧越接近物理层。移植层23与RTOS层模块30紧密连接,类库层21与应用程序层模块10紧密连接。类库层模块21包含应用程序框架模块21-2和核心类库模块21_1。应用程序框架模块21-2提供执行机器人应用程序所需的类库,核心类库模块21-1提供JavaAPI。在具体例中,应用程序框架模块21-2在谷歌机器人平台上对应用程序框架层进行修正来使用或进行再使用。谷歌机器人应用程序框架层上具备执行机器人应用程序所需的类库和服务等。此时,对于与应用程序的兼容无关的一部分服务,因此为了轻量化可以删除。核心类库模块21-1在谷歌机器人平台上对属于机器人的运行时间的核心库进行再使用。机器人的核心库中具备用于以Java语言进行编程的基本的JavaAPI。本地库层模块22包含虚拟机22-1,而虚拟机22_1通过应用程序框架模块21_2所具备的类库和核心类库模块21-1所具备的JavaAPI,启动位于应用程序层模块10的机器人应用程序。并且,本地库层模块22具备本地库22-2,该本地库22-2成为构建应用程序框架模块21-2的库的基础。作为具体例,虚拟机22-1对谷歌机器人平台的达尔维克(Dalvik)虚拟机进行修正来使用。即、从现有的达尔维克虚拟机删除依赖于Linux的模块,增加其他平台不提供的功能,并以按照单任务也能执行的结构再构成虚拟机来使用。本地库22-2再使用位于机器人平台的应用程序框架层下方的库。此时,本地库22-2—般使用以开放源码(opensource)为基础的软件,并根据需要进行修正、移植来配置在本地库层模块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)等。图2示出了作为操作系统而使用未设置谷歌机器人的RTOS的例子,图5示出了设置了由芯片制造者提供给RTOS的平台(例WISE平台)的例子。通常的低规格的智能手机具有图5所示的结构。图3是放大表示图2的类库层模块21和本地库层模块22的左侧结构的框图。虚拟机22-1是修正达尔维克虚拟机而得到的。达尔维克虚拟机是谷歌机器人平台提供的虚拟机,使其与Java虚拟机相比在更小的存储器环境下工作。虚拟机22-1包括线程管理模块(Pthread)、动态库管理模块(sharedobject、DLL)、外部函数接口(FFIforeignfunctioninterface)、同步模块、存储器管理模块。包含在虚拟机22-1的模块是不受平台种类的影响的所谓“平台独立型”模块。虚拟机22-1通过移植层模块23与RTOS层模块30连动地工作。并且,虚拟机22_1是对现有的达尔维克虚拟机进行修正而构成的,以相应于终端装置100来实现存储器管理。除此以外,对于虚拟机22-1,优选对现有的达尔维克虚拟机进行修正,使其在不支持多任务而以单任务工作的终端装置100中也能工作,从而能够以单任务工作。即、虚拟机22-1通过移植层模块23与RTOS层模块30连动地以单任务工作。核心类库21-1提供用于以Java语言编程的基本的JavaAPI。本地库22-2成为构建上位层的库的基础,并以符合除Linux外的其他平台的方式被移植。例如,以符合RTOS的方式被移植,或以符合由芯片制造者提供给RTOS的平台(例WISE平台)的方式被移植。图6示出了本地库层模块22的另一实施例,尤其为达尔维克虚拟机的另一实施例。虚拟机22-1’包括共享对象或DLL这类动态库管理模块、外部函数接口、同步模块等。图4是放大表示图2中的类库层模块21和本地库层模块22的右侧结构的框图。接着图3,本地库层模块22中具备与移植层模块23的硬件管理模块连动地工作的多样的本地库22-2。应用程序框架模块21-2中包括电话服务、位置服务、蓝牙服务、WIFI服务、USB服务、传感器服务等的多样的服务的模块。此时,服务模块提供的服务在整个系统内起到如服务器或后台程序的作用,并根据机器人应用程序的执行,以后台执行相应服务。各服务模块是根据需要而修正,并为了轻量化而删除没必要的服务模块。即、优选从PAF(PortableAndroidPlatform,便携式机器人平台)中删除主机平台提供的模块。权利要求1.一种用于执行机器人应用程序的终端装置,其包括应用程序层模块(10),其包括机器人应用程序;RTOS层模块(30),其包括与终端处理器连接的操作系统;以及中间件模块(20),其用于连接所述RTOS层模块和所述机器人应用程序,所述中间件模块00)包括类库层模块(21),其包括具有执行所述机器人应用程序所需的类库的应用程序框架模块;以及提供JavaAPI的核心类库模块;移植层模块(23),其包括文件系统、存储器分配模块、网络模块、基础库、定时器、设备控制模块中的一个以上的硬件管理模块,提供通过所述RTOS层模块管理终端的硬件的功能;以及本地库层模块(22),其包括具备平台独立型模块的虚拟机和在构建所述应用程序框架模块的库时成为基础的本地库,该虚拟机通过所述类库和所述JavaAPI启动所述机器人应用程序,该平台独立型模块由线程管理模块、动态库管理模块、外部函数接口、同步模块、以及存储器管理模块构成,并与所述移植层模块连动而使所述机器人应用程序通过不是机器人Linux的RTOS层模块执行。2.—种终端装置,其包括应用程序层模块(10),其包括机器人应用程序;本地平台层模块(30’),其与终端处理器连接;以及中间件模块(20),其连接所述本地平台层模块和所述应用程序层模块,并包括类库层模块(21)、本地库层模块(22)、以及移植层模块03),所述中间件模块00)包括类库层模块(21),其包括具有执行所述机器人应用程序所需的类库的应用程序框架模块;以及提供JavaAPI的核心类库模块;移植层模块(23),其连接所述本地库层模块0和所述本地平台层模块(30’),并包括文件系统、存储器分配模块、网络模块、基础库、定时器、设备控制模块中的一个以上的硬件管理模块,且所述硬件管理模块提供应用依赖于操作系统的代码来管理终端的硬件的Linux标准API;以及本地库层模块(22),其包括虚拟机和在构建所述应用程序框架模块的库时成为基础的本地库,该虚拟机在通过所述类库和所述JavaAPI启动所述机器人应用程序时,通过从所述移植层模块提供的所述Linux标准API来使用硬件资源,利用平台独立型模块,通过不是Linux的本地平台层模块执行所述机器人应用程序,该平台独立型模块由线程管理模块、动态库管理模块、外部函数接口、同步模块、以及存储器管理模块构成。3.根据权利要求1或2所述的终端装置,其特征在于,所述虚拟机为达尔维克虚拟机。4.根据权利要求3所述的终端装置,其特征在于,所述虚拟机通过所述移植层模块以单任务方式进行工作。5.根据权利要求4所述的终端装置,其特征在于,所述移植层模块包括文件系统、存储器分配模块、网络模块、基础库、定时器、设备控制模块中的一个以上的硬件管理模块,从而与所述终端装置的相应硬件接触来进行管理及控制。6.根据权利要求5所述的终端装置,其特征在于,所述本地库层模块0具备与所述移植层模块的硬件管理模块连动而进行工作的一个以上的本地库。7.根据权利要求6所述的终端装置,其特征在于,所述应用程序框架模块包括电话服务、位置服务、蓝牙服务、WIFI服务、USB服务、传感器服务中的一个以上的服务的模块,从而根据所述机器人应用程序的执行,以后台方式执行相应服务。全文摘要本发明提供用于执行机器人应用程序的终端装置。特别地,本发明揭示了一种终端装置,其为了在用RTOS工作的终端上执行机器人应用程序,将机器人的框架优化为低规格设备,并通过移植层实现与终端装置的RTOS之间的连接,并对达尔维克(dalvik)虚拟机进行再构成,以使其能在RTOS的单任务中执行。根据本发明,可以在以其他操作系统(OS)工作的终端装置中也能执行谷歌机器人应用程序,因此具有可以提高机器人应用程序的价值(value)的效果。另外,由于使机器人平台轻量化,从而具有通过低规格的一般功能手机也能提供机器人应用程序服务的优点。文档编号G06F9/44GK102087592SQ20101057720公开日2011年6月8日申请日期2010年12月7日优先权日2009年12月8日发明者林桐永,柳赫坤,申光澈,郭玟澈申请人:J.移动公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1