CN113391568B - 适配用于机器人的多个底盘的中间件及控制方法 - Google Patents
适配用于机器人的多个底盘的中间件及控制方法 Download PDFInfo
- Publication number
- CN113391568B CN113391568B CN202110713022.2A CN202110713022A CN113391568B CN 113391568 B CN113391568 B CN 113391568B CN 202110713022 A CN202110713022 A CN 202110713022A CN 113391568 B CN113391568 B CN 113391568B
- Authority
- CN
- China
- Prior art keywords
- service layer
- layer
- chassis
- service
- capability
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
本申请提出了一种适配用于机器人的多个底盘的中间件及控制用于机器人的底盘的方法,该中间件包括:封装了所述多个底盘的第一能力的第一服务层,所述第一服务层具有与上层业务层以及下层底盘能力层进行通信的接口,所述第一服务层调用所述下层底盘能力层向所述上层业务层提供第一服务,其中,所述第一服务层对所述上层业务层的输出是第一标准输出。本申请中,不同机器人底盘能力上的差异性对上层业务层被屏蔽掉,业务层能够便捷地使用不同的机器人底盘,开发和维护工作量大大减少。
Description
技术领域
本申请涉及机器人控制领域,尤其涉及一种适配用于机器人的多个底盘的中间件及控制用于机器人的底盘的方法。
背景技术
机器人产品在快速迭代中,会出现各种形态、各种功能的机器人。不同的机器人底盘能力上也存在各种各样的差异,机器人的软件需要进行适配。
现有技术中,针对不同的机器人底盘,机器人的软件需要单独定制开发以实现适配,造成了开发和维护工作量大且复杂。
发明内容
本申请要解决的技术问题是针对不同的机器人底盘,机器人的软件需要单独定制开发导致的开发和维护工作量大且复杂的问题。
为此,本申请第一方面提出一种适配用于机器人的多个底盘的中间件。
本申请第二方面还提出一种控制用于机器人的底盘的方法。
本申请第三方面提出一种适配用于机器人的多个底盘的能力封装方法。
本申请第四方面提出一种机器人。
本申请第五方面提出一种计算机可读存储介质。
本申请第一方面提出一种适配用于机器人的多个底盘的中间件,所述中间件包括:封装了所述多个底盘的第一能力的第一服务层,所述第一服务层具有与上层业务层以及下层底盘能力层进行通信的接口,所述第一服务层调用所述下层底盘能力层向所述上层业务层提供第一服务,其中,所述第一服务层对所述上层业务层的输出是第一标准输出。
根据本申请的一个实施例,所述中间件还包括:封装了所述多个底盘的第二能力的第二服务层,所述第二服务层具有与所述上层业务层进行通信的接口,所述第二服务层向所述上层业务层提供第二服务且不需要调用所述下层底盘能力层,其中,所述第二服务层对所述上层业务层的输出是第二标准输出。
根据本申请的一个实施例,所述下层底盘能力层包括:底盘能力抽象层,命令处理层、协议层和底盘硬件层。
根据本申请的一个实施例,所述第一能力包括建图能力、运动能力、导航能力、定位能力和硬件控制能力中的至少一种。
根据本申请的一个实施例,所述第二能力包括与数据相关的能力,所述数据包括点位信息、地图信息、描述信息和配置信息中的至少一种。
本申请第二方面还提出一种控制用于机器人的底盘的方法,包括:业务层读取与应用指令对应的服务信息;中间件调用与所述服务信息对应的第一服务,所述中间件包括:封装了所述多个底盘的第一能力的第一服务层,所述第一服务层具有与上层业务层以及下层底盘能力层进行通信的接口,所述第一服务层调用所述下层底盘能力层向所述上层业务层提供第一服务,其中,所述第一服务层对所述上层业务层的输出是第一标准输出。
根据本申请的一个实施例,所述方法还包括:所述中间件调用与所述服务信息对应的第二服务,所述中间件还包括:封装了所述多个底盘的第二能力的第二服务层,所述第二服务层具有与所述上层业务层进行通信的接口,所述第二服务层向所述上层业务层提供第二服务且不需要调用所述下层底盘能力层,其中,所述第二服务层对所述上层业务层的输出是第二标准输出。
本申请第三方面提出一种适配用于机器人的多个底盘的能力封装方法,包括:将所述多个底盘的第一能力封装为第一服务层,所述第一服务层具有与上层业务层以及下层底盘能力层进行通信的接口,所述第一服务层调用所述下层底盘能力层向所述上层业务层提供第一服务,其中,所述第一服务层对所述上层业务层的输出是第一标准输出。
根据本申请的一个实施例,所述方法还包括:将所述多个底盘的第二能力封装为第二服务层,所述第二服务层具有与所述上层业务层进行通信的接口,所述第二服务层向所述上层业务层提供第二服务且不需要调用所述下层底盘能力层,其中,所述第二服务层对所述上层业务层的输出是第二标准输出。
本申请第四方面提出了一种机器人,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时,实现如上述第二方面提出的所述的控制用于机器人的底盘的方法。
本申请第五方面提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第二方面提出的所述的控制用于机器人的底盘的方法。
根据本申请的上述方案,通过中间件对业务层提供标准输出,不同机器人底盘能力上的差异性对上层业务层被屏蔽掉,业务层能够便捷地使用不同的机器人底盘,针对不同的机器人底盘,开发和维护工作量大大减少。
此外,即使底盘的硬件进行了修改,也不需要从业务层自上而下对程序进行修改,从而极大地降低了业务层开发和维护的成本,有助于实现便捷的软件业务开发迭代。
应当理解,本申请所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请一实施例的适配用于机器人的多个底盘的中间件的结构示意图;
图2为本申请一实施例的适配用于机器人的多个底盘的系统的结构实现图;
图3为本申请一实施例的控制用于机器人的底盘的方法的流程示意图;
图4为本申请一实施例的适配用于机器人的多个底盘的能力封装方法的流程示意图;
图5为本申请一实施例的机器人的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参照附图描述本申请实施例的适配用于机器人的多个底盘的中间件、控制方法、机器人和存储介质。
图1为本申请一实施例的适配用于机器人的多个底盘的中间件的结构示意图。
如图1所示,适配用于机器人的多个底盘的中间件10,可以包括第一服务层101和第二服务层102。中间件10位于上层业务层20以及下层底盘能力层30之间。其中,下层底盘能力层30包括底盘能力抽象层、命令处理层、协议层以及底盘硬件层。
本申请实施例中,第一服务层101具有进行通信的接口,该接口可以实现第一服务层101分别与上层业务层20以及下层底盘能力层30之间的信息交互。第一服务层101从下层底盘能力层30获取第一能力,并基于第一能力向上层业务层20提供第一服务。其中,第一服务基于第一标准输出。
需要说明的是,中间件10提供的第一服务均基于第一标准输出,可以理解为,第一服务层101在进行第一服务的输出之前,需要将不同底盘的不同格式的第一能力按照第一标准进行调整,进而可以实现多个底盘的第一能力的标准化。
实现中,机器人的底盘上存在必须调用下层底盘能力层而实现的部分功能,可以理解为这部分功能实现依赖底盘,即为本申请实施例中封装于第一服务层101的第一能力,其中,第一能力可以包括建图能力、运动能力、导航能力、定位能力以及硬件控制能力中的至少一种。
其中,建图能力即建立机器人工作区域的地图信息的能力,可以包括获取坡度信息的能力、获取障碍物位置信息的能力等等。
其中,运动能力可以包括自主运动能力、遥控运动能力等等。自主运动能力即底盘基于地图信息自主进行运动的能力,遥控运动能力即底盘通过接收遥控指令进行运动的能力。
其中,导航能力可以包括避障能力、速度控制能力、方向控制能力等等。
其中,定位能力可以包括激光定位能力、视觉加持定位能力、辅助点位定位能力等等。
其中,硬件控制能力即控制底盘硬件的能力,使得实现上述建图能力、运动能力、导航能力以及定位能力等等。
本申请实施例中,第二服务层102具有进行通信的接口,该接口可以实现第二服务层102与上层业务层20之间的信息交互。第二服务层102不需要调用下层底盘能力层30即可获取第二能力,并基于第二能力向上层业务层20提供第二服务。其中,第二服务基于第二标准输出。
需要说明的是,中间件10提供的第二服务均基于第二标准输出,可以理解为,第二服务层102在进行第二服务的输出之前,需要将不同底盘的不同格式的第二能力按照第二标准进行调整,进而可以实现多个底盘的第二能力的标准化。
实现中,机器人的底盘上存在可以不调用下层底盘能力层而实现的部分功能,可以理解为这部分功能实现不依赖底盘,即为本申请实施例中封装于第二服务层102的第二能力,例如,与数据相关的能力,具体如数据获取能力等等,其中,数据可以包括点位信息、地图信息、描述信息和配置信息中的至少一种。
其中,点位信息即具体位置的二维和方向信息。
其中,地图信息即机器人工作区域的地图信息,可以包括机器人工作区域的坡度信息、障碍物位置信息、像素信息、地图的文件格式信息以及地图的文件数量信息等等。
其中,描述信息可以包括多个底盘的描述信息、数据通信的描述信息等等。
其中,配置信息即多个底盘的软硬件配置信息,可以包括底盘形态信息、传感器信息以及通信模块信息等等。
进一步地,底盘形态信息可以包括轮式底盘信息、履带式底盘信息等等。
进一步地,传感器信息可以包括底盘所配置的传感器的数量、种类以及传感器的具体参数信息等等。传感器可以包括激光传感器、视觉传感器等等。
进一步地,通信模块信息可以包括底盘所配置的通信模块的数量、种类以及通信模块的具体参数信息等等。通信模块可以包括支持LORAWAN标准协议的基于LPWAN的远距离无线通信模块(lora通信模块)等等。
本申请提出的适配用于机器人的多个底盘的中间件,第一服务层调用下层底盘能力层获取第一能力,生成第一服务,并以第一标准格式输出至上层业务层。相应地,第二服务层不调用下层底盘能力层即可获取第二能力,生成第二服务,并以第二标准格式输出至上层业务层。
本申请中,通过中间件对业务层提供标准输出,不同机器人底盘能力上的差异性对上层业务层被屏蔽掉,业务层能够便捷地使用不同的机器人底盘,针对不同的机器人底盘,开发和维护工作量大大减少。此外,即使底盘的硬件进行了修改,也不需要从业务层自上而下对程序进行修改,从而极大地降低了业务层开发和维护的成本,有助于实现便捷的软件业务开发迭代。
需要特别说明的是,上述实施例提出的适配用于机器人的多个底盘的中间件同样适用于其他硬件设备,比如可以实现对于机器人的不同的机械臂进行兼容和控制的中间件。
为了更好的理解上述实施例,可结合图2,图2为本申请一实施例的适配用于机器人的多个底盘的系统的结构实现图,如图2所示:
适配用于机器人的多个底盘的系统,由上至下至少包括通信接口、对外应用程序接口(command processor API)、硬件兼容层、底盘能力抽象层(IChassisClient)、命令处理层、协议层以及底盘硬件层。
其中,通信接口可以是进程间通信机制(binder)接口。通过通信接口可以实现与业务层的信息交互,进而实现相关的能力的调用。
其中,硬件兼容层包括前述中间件,即硬件兼容层具体包括第一服务层(ChassisRelyApi)和第二服务层(ChassisNoRelyApi)。
进一步的,第一服务层可以向上层业务层提供第一服务,即需要调用下层、依赖底盘的服务。
进一步的,第二服务层可以向上层业务层提供第二服务,即不需要调用下层、不依赖底盘的服务。例如数据相关的服务,实际实施时,数据存储于存储区,第二服务层可以调用存储区,向上层业务层提供数据相关的服务。
进一步的,第一服务层和第二服务层分别包括通用API模块和差异性API模块。
其中,底盘能力抽象层包括多个底盘客户端。当然,底盘能力抽象层也可以获取存储区存储的数据。
其中,命令处理层包括命令处理模块(command)以及回执响应模块(cmdresponse)。
针对不同的机器人底盘,可以建立命令解析响应通道,以实现对底盘能力的调用。
相应地,不同的底盘在通信方式上同样存在一定的差异,比如使用全双工通信协议(WebSocket)、套接字通信协议(Socket)等方式进行数据通信,或者基于数据描述语言(ProtocolBuffers)的格式、文件流等方式进行数据的中间传输。
因此,在本申请实施例中,设定了统一的输出标准,即为上述实施例中提出的输出第一服务的第一标准格式以及输出第二服务的第二标准格式。
为了实现上述中间件的各项功能,本申请提出了一种控制用于机器人的底盘的方法。需要特别说明的是,由于本申请实施例提出的控制用于机器人的底盘的方法与上述几种实施例提出的适配用于机器人的多个底盘的中间件相对应,因此,上述适配用于机器人的多个底盘的中间件也适用于本申请实施例提出的控制用于机器人的底盘的方法,在下述实施例中不再详细描述。
如图3所示,图3为本申请一实施例的控制用于机器人的底盘的方法的流程示意图,该方法包括:
S301,业务层读取与应用指令对应的服务信息。
业务层在获取到应用指令后,读取与应用指令对应的服务信息,并在获取服务信息后,调用服务信息对应的软件以及硬件,进而完成应用所布置的任务的执行。
S302,中间件调用与服务信息对应的第一服务,中间件包括:封装了多个底盘的第一能力的第一服务层,第一服务层具有与上层业务层以及下层底盘能力层进行通信的接口,第一服务层调用下层底盘能力层向上层业务层提供第一服务,其中,第一服务层对上层业务层的输出是第一标准输出。
S303,中间件调用与服务信息对应的第二服务,中间件还包括:封装了多个底盘的第二能力的第二服务层,第二服务层具有与上层业务层进行通信的接口,第二服务层向上层业务层提供第二服务且不需要调用下层底盘能力层,其中,第二服务层对上层业务层的输出是第二标准输出。
需要说明的是,上述步骤302和步骤303没有必然的先后执行顺序,可以先执行步骤302,也可以先执行步骤303,也可以同时执行步骤302和步骤303。
读取机器人的应用所需的服务信息后,即可确定机器人的待执行任务,上述实施例所提出的中间件会基于待执行的任务所需的各项参数,调取该任务实现所需的各项底盘能力。
需要特别说明的是,上述实施例提出的控制用于机器人的底盘的方法同样适用于控制其他硬件设备,比如可以实现对于多种形态的机器人的不同的机械臂进行兼容的控制方法,再比如可以实现对于多种形态的机器人的不同的硬件和/或软件进行兼容的控制方法,或者其他可以控制类似功能的硬件和/或软件的控制方法。
为了实现中间件中对于能力的封装,本申请实施例还提出一种适配用于机器人的多个底盘的能力封装方法,如图4所示,图4为本申请一实施例的适配用于机器人的多个底盘的能力封装方法,该方法执行主体为适配用于机器人的多个底盘的中间件,该方法包括:
S401,将多个底盘的不依赖于底盘的第一能力封装为第一服务层,第一服务层具有与上层业务层以及下层底盘能力层进行通信的接口,第一服务层从下层底盘能力层获取第一能力,基于第一能力向上层业务层提供第一服务,其中,第一服务层对上层业务层的输出是第一标准输出。
S402,将多个底盘的依赖于底盘的第二能力封装为第二服务层,第二服务层具有与上层业务层以及下层底盘能力层进行通信的接口,第二服务层从下层底盘能力层获取第二能力,基于第二能力向上层业务层提供第二服务,其中,第二服务层对上层业务层的输出是第二标准输出。
为达到上述实施例,本申请还提出了一种机器人和一种计算机可读存储介质。
图5示出了可以用来实施本申请的实施例的示例机器人的示意性框图。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图5所示,机器人包括存储器51、处理器52及存储在存储51上并可在处理器52上运行的计算机程序,处理器52执行程序指令时,实现上述实施例提出的控制用于机器人的底盘的方法。
本申请实施例提出的一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器52执行时,实现上述实施例提出的控制用于机器人的底盘的方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本身的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网格浏览器的用户计算机,用户可以通过该图形用户界面或者该网格浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网格)来将系统的部件相互连接。通信网格的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网格。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网格进行交互。通过在相应的计算机上运行并且彼此具有客户端服务器关系的计算机程序来产生客户端和服务器的关系。服务端可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务(“VirtualPrivate Server”,或简称“VPS”)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合区块链的服务器。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (8)
1.一种适配用于机器人的多个底盘的中间件,其特征在于,所述中间件包括:
封装了所述多个底盘的第一能力的第一服务层,所述第一服务层具有与上层业务层以及下层底盘能力层进行通信的接口,所述第一服务层调用所述下层底盘能力层向所述上层业务层提供第一服务,其中,所述第一服务层对所述上层业务层的输出是第一标准输出;
所述中间件还包括:
封装了所述多个底盘的第二能力的第二服务层,所述第二服务层具有与所述上层业务层进行通信的接口,所述第二服务层向所述上层业务层提供第二服务且不需要调用所述下层底盘能力层,其中,所述第二服务层对所述上层业务层的输出是第二标准输出。
2.根据权利要求1所述的中间件,其特征在于,所述下层底盘能力层包括:底盘能力抽象层、命令处理层、协议层和底盘硬件层。
3.根据权利要求1或2所述的中间件,其特征在于,所述第一能力包括建图能力、运动能力、导航能力、定位能力和硬件控制能力中的至少一种。
4.根据权利要求1或2所述的中间件,其特征在于,所述第二能力包括与数据相关的能力,所述数据包括点位信息、地图信息、描述信息和配置信息中的至少一种。
5.一种控制用于机器人的底盘的方法,其特征在于,所述方法包括:
业务层读取与应用指令对应的服务信息;
中间件调用与所述服务信息对应的第一服务,所述中间件包括:
封装了多个底盘的第一能力的第一服务层,所述第一服务层具有与上层业务层以及下层底盘能力层进行通信的接口,所述第一服务层调用所述下层底盘能力层向所述上层业务层提供第一服务,其中,所述第一服务层对所述上层业务层的输出是第一标准输出;
所述方法还包括:
所述中间件调用与所述服务信息对应的第二服务,所述中间件还包括:
封装了所述多个底盘的第二能力的第二服务层,所述第二服务层具有与所述上层业务层进行通信的接口,所述第二服务层向所述上层业务层提供第二服务且不需要调用所述下层底盘能力层,其中,所述第二服务层对所述上层业务层的输出是第二标准输出。
6.一种适配用于机器人的多个底盘的能力封装方法,其特征在于,所述方法包括:
将所述多个底盘的第一能力封装为第一服务层,所述第一服务层具有与上层业务层以及下层底盘能力层进行通信的接口,所述第一服务层调用所述下层底盘能力层向所述上层业务层提供第一服务,其中,所述第一服务层对所述上层业务层的输出是第一标准输出;
所述方法还包括:
将所述多个底盘的第二能力封装为第二服务层,所述第二服务层具有与所述上层业务层进行通信的接口,所述第二服务层向所述上层业务层提供第二服务且不需要调用所述下层底盘能力层,其中,所述第二服务层对所述上层业务层的输出是第二标准输出。
7.一种机器人,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时,实现如权利要求5或6所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求5或6所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110713022.2A CN113391568B (zh) | 2021-06-25 | 2021-06-25 | 适配用于机器人的多个底盘的中间件及控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110713022.2A CN113391568B (zh) | 2021-06-25 | 2021-06-25 | 适配用于机器人的多个底盘的中间件及控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113391568A CN113391568A (zh) | 2021-09-14 |
CN113391568B true CN113391568B (zh) | 2023-04-07 |
Family
ID=77623959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110713022.2A Active CN113391568B (zh) | 2021-06-25 | 2021-06-25 | 适配用于机器人的多个底盘的中间件及控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113391568B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107635019A (zh) * | 2017-11-06 | 2018-01-26 | 湖南红手指信息技术有限公司 | 一种远程云控制平台及其控制方法 |
WO2018039337A1 (en) * | 2016-08-23 | 2018-03-01 | Canvas Technology, Inc. | Autonomous cart for manufacturing and warehouse applications |
CN110086853A (zh) * | 2019-03-28 | 2019-08-02 | 浙江明度智控科技有限公司 | 一种工业物联网信息可视化方法、服务器和存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9014848B2 (en) * | 2010-05-20 | 2015-04-21 | Irobot Corporation | Mobile robot system |
US8525853B1 (en) * | 2012-01-18 | 2013-09-03 | Google Inc. | Methods and systems for generating a layered display of a device |
US9298484B2 (en) * | 2013-03-14 | 2016-03-29 | International Business Machines Corporation | Encapsulation of an application for virtualization |
WO2017115385A2 (en) * | 2015-12-28 | 2017-07-06 | Govindarajan Niranjan Chandrika | System and method for operating and controlling a hyper configurable humanoid robot to perform multiple applications in various work environments |
US10539956B2 (en) * | 2016-08-02 | 2020-01-21 | Penguin Automated Systems Inc. | Subsurface robotic mapping system and method |
US10493624B1 (en) * | 2016-12-23 | 2019-12-03 | X Development Llc | Mobile robot |
US10860390B2 (en) * | 2017-06-28 | 2020-12-08 | Intel Corporation | Microservices architecture |
CN111791232B (zh) * | 2020-06-03 | 2021-02-05 | 中南民族大学 | 一种基于时间硬同步的机器人底盘控制系统及方法 |
-
2021
- 2021-06-25 CN CN202110713022.2A patent/CN113391568B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018039337A1 (en) * | 2016-08-23 | 2018-03-01 | Canvas Technology, Inc. | Autonomous cart for manufacturing and warehouse applications |
CN107635019A (zh) * | 2017-11-06 | 2018-01-26 | 湖南红手指信息技术有限公司 | 一种远程云控制平台及其控制方法 |
CN110086853A (zh) * | 2019-03-28 | 2019-08-02 | 浙江明度智控科技有限公司 | 一种工业物联网信息可视化方法、服务器和存储介质 |
Non-Patent Citations (2)
Title |
---|
Jeeva B..Design and Development of Automated Intelligent Robot Using OpenCV.2018 International Conference on Design Innovations for 3Cs Compute Communicate Control .2018,全文. * |
韩雪 ; 李有为 ; 张忠 ; 张朋 ; .基于ROS的全向巡检机器人底盘ARM控制器设计.机械工程师.2019,(第02期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN113391568A (zh) | 2021-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109764877B (zh) | 一种机器人跨楼层导航方法、装置及机器人 | |
US20100082733A1 (en) | Extensible remote programmatic access to user interface | |
US11363192B2 (en) | Method, and apparatus for clock synchronization, device, storage medium and vehicle | |
CN105190587A (zh) | 利用长期轮询有助于远程桌面会话的方法及系统 | |
CN108362310B (zh) | 地磁精确度的确定方法、装置、存储介质及终端 | |
US11669346B2 (en) | System and method for displaying customized user guides in a virtual client application | |
CN112102417B (zh) | 确定世界坐标的方法和装置 | |
CN110807161A (zh) | 一种页面骨架渲染方法、装置、设备及介质 | |
CN113391568B (zh) | 适配用于机器人的多个底盘的中间件及控制方法 | |
US20230199262A1 (en) | Information display method and device, and terminal and storage medium | |
CN113759348B (zh) | 一种雷达标定方法、装置、设备及存储介质 | |
CN115979262B (zh) | 飞行器的定位方法、装置、设备及存储介质 | |
CN114020364B (zh) | 传感器设备适配的方法、装置、电子设备和存储介质 | |
US9531791B2 (en) | Control module for a signal transmitter for a remote-client display of a sequence of medical images | |
CN108604115B (zh) | 用于机架中的节点的分布式操作系统功能 | |
CN113485629B (zh) | 触控事件的处理方法及装置、存储介质、电子设备 | |
CN112073505B (zh) | 在云服务器上进行卸载的方法、控制装置、存储介质 | |
CN114285114A (zh) | 一种充电控制方法、装置、电子设备和存储介质 | |
CN114834453A (zh) | 数据处理方法、装置、车辆、设备和存储介质 | |
CN113970754A (zh) | 一种自主可行驶设备的定位方法和装置 | |
KR100956640B1 (ko) | 리소스 자율 공유 인터페이스 장치 및 방법 | |
CN114954654B (zh) | 车辆的方向盘零偏补偿角的计算方法、控制方法及装置 | |
CN114343483B (zh) | 可移动对象的控制方法、装置、设备以及存储介质 | |
US20240184723A1 (en) | Method and system for obtaining optimal number of dma channels | |
CN116148883B (zh) | 基于稀疏深度图像的slam方法、装置、终端设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |