CN111195919A - 一种机器人示教平台及其架构方法 - Google Patents

一种机器人示教平台及其架构方法 Download PDF

Info

Publication number
CN111195919A
CN111195919A CN201911280999.9A CN201911280999A CN111195919A CN 111195919 A CN111195919 A CN 111195919A CN 201911280999 A CN201911280999 A CN 201911280999A CN 111195919 A CN111195919 A CN 111195919A
Authority
CN
China
Prior art keywords
linux
operating
android
background
file
Prior art date
Application number
CN201911280999.9A
Other languages
English (en)
Inventor
范东平
龚劭秋
Original Assignee
实时侠智能控制技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 实时侠智能控制技术有限公司 filed Critical 实时侠智能控制技术有限公司
Priority to CN201911280999.9A priority Critical patent/CN111195919A/zh
Publication of CN111195919A publication Critical patent/CN111195919A/zh

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0081Programme-controlled manipulators with master teach-in means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1658Programme controls characterised by programming, planning systems for manipulators characterised by programming language

Abstract

一种机器人示教平台及其架构方法,该平台包括双系统启动单元、人机交互接口、数据处理单元和通讯模块;其使Android和Linux两个操作系统共享一个CPU和一个内存资源,且共用一个文件系统,但各自独立位于不同的目录下;在操作系统内核启动后,一边继续正常引导Android操作系统启动,同时在后台使用chroot修改文件根目录指向Linux操作系统的根目录,并以此根目录为基础,在后台启动Linux操作系统相关进程,即在同一所述文件系统中隔离Linux文件系统和Android文件系统,以支持人机交互接口和数据处理单元之间通过前后台通讯方式进行数据交换。因此,本发明不仅保留了Android操作系统优秀的交互体验,又有Linux操作系统(Ubuntu)强大的后台功能,特别适用于对工业机器人体积有苛刻要求的场合。

Description

一种机器人示教平台及其架构方法

技术领域

本发明涉及人工智能技术领域,尤其涉及一种机器人示教平台及其架构方法。

背景技术

随着各种高新技术的不断发展,机器人作为一种新的技术以一种巧妙的方式渗透进了我们的生活。我们的身边也出现了越来越多的机器人产品,机器人示教平台是进行机器人的手动操纵、程序编写、参数配置以及监控用的手持装置,也是最常打交道的机器人控制装置。机器人示教平台中最核心的部件是人机交互接口和数据处理单元。例如:在工业机器人领域,机器人配置示教、程序管理和监控等功能往往有较高的人机交互体验要求,Android操作系统平台是比较适合的选择。

Android操作系统作为目前最流行的人机交互平台,提供了优秀的图形用户界面(Graphical User Interface,简称GUI,又称图形用户接口)的交互体验,被作为终端广泛使用在各种场合。然而,Android操作系统为保证前台人机交互程序的流畅性,其后台能力被刻意设计的比较弱。在前端资源不足的情况下,后台程序可能被系统冻结、暂停或终止执行,以回收后台占用的资源满足前台程序运行。

Linux系统操作系统是以强大的后台处理功能著称的,当然Linux系统操作系统也有自己的GUI子系统,如果仅使用Linux系统操作系统,前台人机交互和后台服务均跑在Linux系统操作系统上,也是可行的。然而,Linux系统操作系统强项在于后台服务,人机交互体验等前台功能比较弱,与Android系统操作系统的人机交互体验差距蛮大(如图1所示)。

目前,为了保证后台程序稳定运行,大部分场景中,后台程序需部署到一台独立的具有Linux系统操作系统电脑中。此时,Android系统操作系统只部署前台程序,前台程序通过网络连接到Linux系统操作系统的后台程序中去获取数据,两者结合来提供完整的服务。这样,就需要两套独立的计算设备才能提供完整的计算服务(如图2)。

也就是说,上述做法将需要搭建一台Linux服务器来给Android系统操作系统提供后台服务。但某些工业机器人的使用场景空间是非常狭小的,对机器人控制器大小有苛刻要求的,多一个服务器势必将挤占更多的空间;再加上很多工业机器人是独立部署的,并没有接入网络。因此,上述的构建方案直接导致空间浪费和成本提高的问题。

发明内容

为克服上述缺陷,本发明的技术方案如下:

一种机器人示教平台,其包括:

双系统启动单元,用于使Android和Linux两个操作系统共享一个CPU和一个内存资源,且共用一个文件系统,但各自独立位于不同的目录下;在操作系统内核启动后,一边继续正常引导Android操作系统启动,同时在后台使用chroot修改文件根目录指向Linux操作系统的根目录,并以此根目录为基础,在后台启动Linux操作系统相关进程,以在同一所述文件系统中隔离Linux文件系统和Android文件系统;

人机交互接口,与所述双系统启动单元相连,其用Android操作系统进行前台人机交互程序;

数据处理单元,与所述双系统启动单元相连,其用Linux操作系统进行后台处理程序;

通讯模块,与所述人机交互接口和数据处理单元相连,用于所述人机交互接口和数据处理单元之间通过前后台通讯方式进行数据交换。

进一步地,所述前后台通讯方式为网络通讯方式或本地进程间通讯方式。

进一步地,所述本地进程间通讯为pipe、信号量、消息队列或共享内存等IPC通讯模式。

进一步地,在所述本地进程间通讯的共享内存模式中,所述CPU和内存资源由Linux内核直接调度,当Android程序和Linux程序需要所述CPU或内存资源时,均向所述Linux内核申请,所述Linux内存动态调配闲置的资源给需要的程序。

进一步地,所述双系统启动单元在启动Linux操作系统时执行GUI子系统禁用代码。

进一步地,所述的机器人示教平台还包括虚拟远程终端,所述Linux操作系统下安装有SSH或Telnet服务,当管理Linux操作系统后台程序时,通过网络使用SSH或Telnet服务的方式登录Linux操作系统,虚拟远程终端进行Linux环境配置和/或监控后台程序的开发或运行。

进一步地,所述虚拟远程终端进行Linux环境配置和/或监控后台程序的开发采用Python、Golang、JavaScript、Java或C++语言。

为克服上述缺陷,本发明又一技术方案如下:

一种机器人示教平台的构架方法,其包括:

步骤S1:将Android和Linux两个操作系统共享一个CPU和一个内存资源,且共用一个文件系统,但各自独立位于不同的目录下;

步骤S2:所述Android和Linux两个操作系统共用一个在操作系统内核启动后,一边继续正常引导Android操作系统启动,同时在后台使用chroot修改文件根目录指向Linux操作系统的根目录,并以此根目录为基础,在后台启动Linux操作系统相关进程,以在同一所述文件系统中隔离Linux文件系统和Android文件系统;

步骤S3:采用Android操作系统进行前台人机交互程序,用Linux操作系统进行后台处理程序,所述人机交互接口和数据处理单元之间通过前后台通讯方式进行数据交换,当管理Linux操作系统后台程序时,通过网络使用SSH或Telnet服务的方式登录Linux操作系统,虚拟远程终端进行Linux环境配置和/或监控后台程序的开发或运行;其中,所述前后台通讯方式为网络通讯方式或本地进程间通讯方式。

从上述技术方案可以看出,本发明的,其还具有如下有益效果:本发明的技术方案的思路旨在减少硬件资源的浪费,并减少设备体积,充分利用一套计算设备,同时运行Android操作系统和Linux操作系统,其既保留了Android操作系统优秀的交互体验,又有又有Linux操作系统(Ubuntu)强大的后台功能,以提供完美的服务,特别适用于对工业机器人体积有苛刻要求的场合。

附图说明

图1示出为现有技术中采用Linux系统操作系统的架构示意图

图2示出为现有技术中采用一台Linux服务器来给Android系统操作系统提供后台服务的架构示意图

图3示出了根据本发明机器人示教平台一较佳实施例的架构示意图

图4示出了根据本发明机器人示教平台一较佳实施例的架构流程示意图

图5示出了根据本发明虚拟终端的架构示意图

图6示出了根据本发明一个实施例中Android进程和Linux进程同时共存于内存空间的示意图

具体实施方式

本发明涉及一种Android和Linux双操作系统同时运行的机器人示教平台。在本发明的实施例的技术方案中,其结合Android操作系统的人机交互系统和Linux操作系统的后台服务各自的强大功能,且摒弃传统方式将Android操作系统和Linux操作系统分别部署到两套计算系统中的方案。

下面结合附图3-6,对本发明的具体实施方式作进一步的详细说明。

请参阅图3,图3示出了根据本发明机器人示教平台一较佳实施例的架构示意图。该机器人示教平台包括双系统启动单元、人机交互接口、数据处理单元和通讯模块。

在本发明的实施例中,双系统启动单元用于使Android和Linux两个操作系统共享一个CPU和一个内存资源,且共用一个文件系统,但各自独立位于不同的目录下;在操作系统内核启动后,一边继续正常引导Android操作系统启动,同时在后台使用chroot修改文件根目录指向Linux操作系统的根目录,并以此根目录为基础,在后台启动Linux操作系统相关进程,以在同一所述文件系统中隔离Linux文件系统和Android文件系统。

具体地,Android和Linux两个操作系统共用一个Bootloader启动引导和Kernel操作系统内核。因Android的kernel本质上是一个Linux Kernel。所以Android启动后,Android程序和Linux后台程序可以并行执行同一个系统中,共享内存和CPU资源。为保证执行环境互不影响,可以通过运行用chroot机制将后台Linux服务进程将系统的工作根目录切换成与Android系统隔离的Linux系统的根目录(如图3所示)。

在本发明的实施例中,用Android操作系统进行前台人机交互程序的人机交互接口与双系统启动单元相连,用Linux操作系统进行后台处理程序的数据处理单元与双系统启动单元相连。通讯模块与人机交互接口和数据处理单元相连,所述人机交互接口和数据处理单元之间通过前后台通讯方式进行数据交换。

Android系统作为与人交互的系统,会初始化显示相关设备framebuffer,和键盘等输入输出设备,并独占输入输出资源。请再参阅图3,Linux系统则主要使用CPU,内存,磁盘存储等资源提供后台计算服务。不占用显示及输入设备,不与人进行交互。

具体地,相比于前后台分布在不同计算系统的部署方式,在本发明实施中的前后台通讯方式有更多选择、效率更高且响应及实时性更好。例如,可以为网络通讯方式或本地进程间通讯方式。本地进程间通讯可以为管道(包括无名管道和命名管道)、消息队列、信号量、共享内存、Socket、Streams等。其中,Socket和Streams可以支持本发明在同一主机上两个隔离的进程IPC。管道pipe和共享内存等方式均可以通过同一内存通信,在此不再赘述。

在默认情况下,Android操作系统的GUI子系统正常启动,显示设备和键盘输入设备将被Android操作系统及Android程序占用。Linux操作系统的GUI子系统被禁用,不会被启动,Linux操作系统及其程序无权访问显示设备和键盘设备。这也就解决了输入输出设备争用问题。Linux程序自动启动后,在后台运行,默认不使用键盘,鼠标设备。

请参阅图5,图5示出了根据本发明虚拟终端的架构示意图。如图所示,由于物理键盘和显示器被Android操作系统占用,需在Linux操作系统下安装SSH或Telnet服务。当需要管理Linux后台程序时,可通过网络使用SSH或Telnet服务的方式登录Linux操作系统,虚拟出一套远程终端,该远程终端将带有额外的显示器和键盘。这样,在此远程终端就可进行Linux操作系统环境配置,监控后台程序等操作。

具体地,在Linux操作系统下通过移植Ubuntu环境,支持shell服务,并移植Python等运行环境。Android操作系统平台不支持shell服务和Python这些语言进行开发。本发明就是利用了Linux操作系统可以运行Python等语言进行后台开发的,其开发成本更低,且可维护性更好。

请参阅图6,图6示出了根据本发明一个实施例中Android进程和Linux进程同时共存于内存空间的示意图。如图所示,由于CPU和内存是完全共享的,由Linux内核直接调度,当Android程序和Linux程序需要CPU或内存资源时,均向Linux内核申请。Linux内核会动态调配闲置的内存资源给需要的程序。Android进程和Linux进程可同时共存于内存空间。

请参阅图4,图4示出了根据本发明机器人示教平台一较佳实施例的架构流程示意图。一种机器人示教平台的构架方法,其特征在于,包括:

步骤S1:将Android和Linux两个操作系统共享一个CPU和一个内存资源,且共用一个文件系统,但各自独立位于不同的目录下;

步骤S2:所述Android和Linux两个操作系统共用一个在操作系统内核启动后,一边继续正常引导Android操作系统启动,同时在后台使用chroot修改文件根目录指向Linux操作系统的根目录,并以此根目录为基础,在后台启动Linux操作系统相关进程,以在同一所述文件系统中隔离Linux文件系统和Android文件系统;

步骤S3:采用Android操作系统进行前台人机交互程序,用Linux操作系统进行后台处理程序,所述人机交互接口和数据处理单元之间通过前后台通讯方式进行数据交换,当管理Linux操作系统后台程序时,通过网络使用SSH或Telnet服务的方式登录Linux操作系统,虚拟远程终端进行Linux环境配置和/或监控后台程序的开发和运行;其中,所述前后台通讯方式为网络通讯方式或本地进程间通讯方式。

以上所述的仅为本发明的优选实施例,所述实施例并非用以限制本发明的专利保护范围,因此凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明的保护范围内。

Claims (8)

1.一种机器人示教平台,其特征在于,包括:
双系统启动单元,用于使Android和Linux两个操作系统共享一个CPU和一个内存资源,且共用一个文件系统,但各自独立位于不同的目录下;在操作系统内核启动后,一边继续正常引导Android操作系统启动,同时在后台使用chroot修改文件根目录指向Linux操作系统的根目录,并以此根目录为基础,在后台启动Linux操作系统相关进程,以在同一所述文件系统中隔离Linux文件系统和Android文件系统;
人机交互接口,与所述双系统启动单元相连,其用Android操作系统进行前台人机交互程序;
数据处理单元,与所述双系统启动单元相连,其用Linux操作系统进行后台处理程序;
通讯模块,与所述人机交互接口和数据处理单元相连,用于所述人机交互接口和数据处理单元之间通过前后台通讯方式进行数据交换。
2.根据权利要求1所述的机器人示教平台,其特征在于,所述前后台通讯方式为网络通讯方式或本地进程间通讯方式。
3.根据权利要求2所述的机器人示教平台,其特征在于,所述本地进程间通讯方式为IPC通讯模式,所述IPC通讯模式包括管道、命名管道、消息队列、信号量和共享内存。
4.根据权利要求3所述的机器人示教平台,其特征在于,在所述本地进程间通讯的内存共享模式中,所述CPU和内存资源由同一个Linux内核直接调度,当Android程序和Linux程序需要所述CPU或内存资源时,均向所述Linux内核申请,所述Linux内存动态调配闲置的资源给需要的程序。
5.根据权利要求1所述的机器人示教平台,其特征在于,所述双系统启动单元在启动Linux操作系统时,禁用GUI子系统。
6.根据权利要求1、2、3、4或5所述的机器人示教平台,其特征在于,还包括虚拟远程终端,所述Linux操作系统下安装有SSH或Telnet服务,当管理Linux操作系统后台程序时,通过网络使用SSH或Telnet服务的方式登录Linux操作系统,虚拟远程终端进行Linux环境配置和/或监控管理后台程序。
7.根据权利要求5所述的机器人示教平台,其特征在于,所述虚拟远程终端进行Linux环境配置和/或监控后台程序的开发采用Python、Javascript、Golang、Java或C/C++语言。
8.一种机器人示教平台的构架方法,其特征在于,包括:
步骤S1:将Android和Linux两个操作系统共享一个CPU和一个内存资源,且共用一个文件系统,但各自独立位于不同的目录下;
步骤S2:所述Android和Linux两个操作系统共用一个在操作系统内核启动后,一边继续正常引导Android操作系统启动,同时在后台使用chroot修改文件根目录指向Linux操作系统的根目录,并以此根目录为基础,在后台启动Linux操作系统相关进程,以在同一所述文件系统中隔离Linux文件系统和Android文件系统;
步骤S3:采用Android操作系统进行前台人机交互程序,用Linux操作系统进行后台处理程序,所述人机交互接口和数据处理单元之间通过前后台通讯方式进行数据交换,当管理Linux操作系统后台程序时,通过网络使用SSH或Telnet服务的方式登录Linux操作系统,虚拟远程终端进行Linux环境配置和/或监控后台程序的开发或运行;其中,所述前后台通讯方式为网络通讯方式或本地进程间通讯方式。
CN201911280999.9A 2019-12-13 2019-12-13 一种机器人示教平台及其架构方法 CN111195919A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911280999.9A CN111195919A (zh) 2019-12-13 2019-12-13 一种机器人示教平台及其架构方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911280999.9A CN111195919A (zh) 2019-12-13 2019-12-13 一种机器人示教平台及其架构方法

Publications (1)

Publication Number Publication Date
CN111195919A true CN111195919A (zh) 2020-05-26

Family

ID=70741779

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911280999.9A CN111195919A (zh) 2019-12-13 2019-12-13 一种机器人示教平台及其架构方法

Country Status (1)

Country Link
CN (1) CN111195919A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120042159A1 (en) * 2010-08-11 2012-02-16 Wei-Hung Liu Application method for integrating heterogeneous operating systems based on the same system kernel
CN104268017A (zh) * 2014-09-19 2015-01-07 福建升腾资讯有限公司 一种同时运行Android/Linux操作系统的方法
CN104360900A (zh) * 2014-11-03 2015-02-18 上海迈微软件科技有限公司 用于运行多操作系统的方法以及相应的系统和移动设备
CN105260250A (zh) * 2015-09-10 2016-01-20 烽火通信科技股份有限公司 一种Linux系统与Android系统的双系统通信装置
CN108062237A (zh) * 2017-11-23 2018-05-22 上海博泰悦臻电子设备制造有限公司 Linux系统和Android系统的兼容方法及系统、存储介质及车载终端
CN109542524A (zh) * 2018-11-22 2019-03-29 铭软件股份有限公司 一种Linux与安卓相互快速切换方法
CN110515667A (zh) * 2019-08-26 2019-11-29 武汉蓝星科技股份有限公司 一种基于linux内核的终端双系统显示切换方法及终端双系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120042159A1 (en) * 2010-08-11 2012-02-16 Wei-Hung Liu Application method for integrating heterogeneous operating systems based on the same system kernel
CN104268017A (zh) * 2014-09-19 2015-01-07 福建升腾资讯有限公司 一种同时运行Android/Linux操作系统的方法
CN104360900A (zh) * 2014-11-03 2015-02-18 上海迈微软件科技有限公司 用于运行多操作系统的方法以及相应的系统和移动设备
CN105260250A (zh) * 2015-09-10 2016-01-20 烽火通信科技股份有限公司 一种Linux系统与Android系统的双系统通信装置
CN108062237A (zh) * 2017-11-23 2018-05-22 上海博泰悦臻电子设备制造有限公司 Linux系统和Android系统的兼容方法及系统、存储介质及车载终端
CN109542524A (zh) * 2018-11-22 2019-03-29 铭软件股份有限公司 一种Linux与安卓相互快速切换方法
CN110515667A (zh) * 2019-08-26 2019-11-29 武汉蓝星科技股份有限公司 一种基于linux内核的终端双系统显示切换方法及终端双系统

Similar Documents

Publication Publication Date Title
Varghese et al. Challenges and opportunities in edge computing
US20190089574A1 (en) Computer Cluster Arrangement for Processing a Computation Task and Method for Operation Thereof
US9571332B2 (en) Methods and apparatuses for remote application provisioning automation over virtualized IT infrastructure
US10003672B2 (en) Apparatus, systems and methods for deployment of interactive desktop applications on distributed infrastructures
US9448822B2 (en) System and method for managing a virtual machine environment
US9244817B2 (en) Remote debugging in a cloud computing environment
US8924564B2 (en) Migration of client-side virtual machine system resources
US10095645B2 (en) Presenting multiple endpoints from an enhanced PCI express endpoint device
US8924959B2 (en) Switching hardware devices in virtual machine systems using resource converting relationships
US9009701B2 (en) Method for controlling a virtual machine and a virtual machine system
US9967136B2 (en) System and method for policy-based smart placement for network function virtualization
CN101268445B (zh) 用于向多核环境中的应用程序提供实时线程服务的方法、装置
US8473692B2 (en) Operating system image management
CN103282875B (zh) 多操作系统
CN101765225B (zh) 一种虚拟化的集群管理方法和集群节点
US9612846B2 (en) Out-of-band (OOB) real-time inventory and configuration of original equipment manufacturer (OEM) devices using advanced configuration and power interface (ACPI) and unified extensible firmware interface (UEFI) services
US7814295B2 (en) Moving processing operations from one MIMD booted SIMD partition to another to enlarge a SIMD partition
RU2429530C2 (ru) Управление состоянием распределенных аппаратных средств в виртуальных машинах
US9389877B2 (en) Multi-environment operating system
JP2015204614A (ja) オブジェクト指向のネットワーク仮想化
US10768960B2 (en) Method for affinity binding of interrupt of virtual network interface card, and computer device
US9154451B2 (en) Systems and methods for sharing devices in a virtualization environment
KR20140043167A (ko) 멀티-환경 운영 체제
US8725875B2 (en) Native cloud computing via network segmentation
KR101952795B1 (ko) 자원 프로세싱 방법, 운영체제, 및 장치

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
CB02 Change of applicant information

Address after: 200233 room 1102, building 2, No. 188, Yizhou Road, Xuhui District, Shanghai

Applicant after: Real-time Chivalrous Intelligent Control Technology Co., Ltd.

Address before: Eleventh Floor, Building No. 188, Yizhou Road, Xuhui District, Shanghai, 2003

Applicant before: Real-time Chivalrous Intelligent Control Technology Co., Ltd.

CB02 Change of applicant information
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20201207

Address after: 201203 Shanghai City, Pudong New Area free trade zone fanchun Road No. 400 Building 1 layer 3

Applicant after: Shanghai jiebote robot Co., Ltd

Address before: 200233 room 1102, building 2, No. 188, Yizhou Road, Xuhui District, Shanghai

Applicant before: Real-time Chivalrous Intelligent Control Technology Co.,Ltd.

TA01 Transfer of patent application right