一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

设备管理系统、机器人及计算机可读存储介质的制作方法

2022-03-26 06:53:17 来源:中国专利 TAG:


1.本技术属于机器人技术领域,尤其涉及设备管理系统、机器人及计算机可读存储介质。


背景技术:

2.当前,随着机器人功能越来越强大,单个主板的设计方案在运算能力以及硬件兼容性上都越来越难以满足需求。
3.增加主板虽然能够提高运算能力和硬件兼容性,但多主板必然提高应用管理和操作设备的难度,因此,如何在提高运算能力和硬件兼容性的基础上,降低设备管理的难度,是当前亟需解决的技术问题。


技术实现要素:

4.本技术实施例提供了设备管理系统、机器人及计算机可读存储介质,可以解决机器人在采用多硬件系统的设计方案时设备的管理难度较高的问题。
5.第一方面,本技术实施例提供了一种设备管理系统,应用于包括至少两个硬件系统的机器人,所述设备管理系统包括:设备服务模块、服务代理模块和一个设备服务管理模块,其中,每个硬件系统均挂载有设备,且均包括所述设备服务模块以及所述服务代理模块;
6.所述设备服务模块用于加载与其处于同一硬件系统的设备的服务信息,以及,用于向所述设备服务管理模块注册其加载的所述设备的服务信息;
7.所述服务代理模块用于接收目标应用模块发送的请求,从所述设备服务管理模块获取与所述请求携带的设备标识对应的服务信息,并根据所述请求的解析结果执行对应的操作,其中,所述设备标识用于唯一标识所述设备,所述目标应用模块为与所述服务代理模块对应的应用模块。
8.第二方面,本技术实施例提供了一种机器人,所述机器人包括第一方面所述的设备管理系统。
9.第三方面,本技术实施例提供了一种计算机可读存储介质,计算机可读存储介质包括如第一方面所述的设备管理系统。
10.本技术实施例与现有技术相比存在的有益效果是:
11.由于每个硬件系统包括的设备服务模块均向设备服务管理模块注册其加载的与其处于同一硬件系统的设备的服务信息,因此,该设备服务管理模块能够获取挂载在各个硬件系统的设备的服务信息。并且,由于设备服务管理模块所管理的服务信息包括各个硬件系统的服务信息,因此,当服务代理模块接收到目标应用模块发送的请求后,该服务代理模块能够从设备服务管理模块中获取与请求携带的设备标识对应的服务信息,即,能够从设备服务管理模块获取到任意的硬件系统所包括的服务信息。也即,由于本技术实施例提供的设备管理系统将整个机器人作为一个单一的系统对外提供接口,使得各个硬件系统的
应用开发不必了解其他硬件系统内部的设备细节就能访问或调用其他硬件系统的设备的服务信息,从而降低了多硬件系统下的应用的开发难度,也降低了多硬件系统下的设备的管理难度。此外,由于机器人包括至少两个硬件系统,因此,能够提高该机器人的运算能力和硬件兼容性。
附图说明
12.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
13.图1是本技术一实施例提供的一种设备管理系统的结构示意图;
14.图2是本技术一实施例提供的一种不同硬件系统通过局域网通信的架构示意图;
15.图3是本技术一实施例提供的一种机器人的结构示意图。
具体实施方式
16.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
17.应当理解,当在本技术说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
18.还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
19.另外,在本技术说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
20.在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。
21.实施例一:
22.为了满足机器人系统日益复杂的功能需求,目前的机器人尝试使用多硬件系统(即多主板)的设计方案。但采用多硬件系统的设计方案必然会提高应用管理和设备操作的难度。
23.为了解决上述技术问题,本技术实施例提供了一种应用于包括至少两个硬件系统的机器人的设备管理系统,该设备管理系统包括设备服务模块、服务代理模块和一个设备服务管理模块。其中,每个硬件系统均对应一个设备服务模块,每个服务代理模块均对应一个机器人包括的应用模块,即服务代理模块的数量与应用模块的数量相等。
24.上述的设备服务模块用于管理与该设备服务模块处于同一硬件系统的设备的服务信息,比如,向设备服务管理模块注册其管理的设备的服务信息;上述的服务代理模块用
于与机器人包括的应用模块以及设备服务管理模块通信,比如,在接收到应用模块的请求时,向设备服务管理模块查找设备的服务信息,比如,根据查找到的服务信息调用对应的设备服务等。即,当本技术实施例的设备管理系统应用在机器人后,机器人的应用模块只需与服务代理模块通信,就能获取挂载在各个硬件系统的设备的服务信息,并进行对应设备服务的调用。也即,根据本技术实施例提供的设备管理系统,能够有效降低不同硬件系统的应用管理以及操作挂载在不同硬件系统的设备的难度。
25.下面结合附图对本技术实施例提供的设备管理系统进行描述。
26.图1示出了本技术实施例提供的一种设备管理系统的结构示意图,该设备管理系统应用于具有至少两个硬件系统的机器人。
27.图1中,上述设备管理系统1包括:设备服务模块11(图1中仅示出了一个)、服务代理模块12(图1中仅示出了一个)和一个设备服务管理模块13,其中,每个硬件系统均挂载有设备,且均包括上述设备服务模块11以及上述服务代理模块12。
28.其中,本实施例的“设备”包括麦克风、摄像头、灯具、传感器以及舵机等一种或多种,设备可以挂载在机器人的不同硬件系统中。比如,假设机器人包括两个硬件系统
‑‑‑
安卓(android)主板对应的硬件系统和linux主板对应的硬件系统,麦克风和摄像头可以挂载在android主板对应的硬件系统,灯具和传感器可以挂载在linux主板对应的硬件系统,舵机若有多个,则可以设置部分舵机挂载在android主板对应的硬件系统,再设置剩余的舵机挂载在linux主板对应的硬件系统。
29.本实施例中,每个硬件系统均有一个设备服务模块11,该设备服务模块11用于管理挂载在其所在的硬件系统的各个设备的服务信息,每个硬件系统可以有多个服务代理模块12,服务代理模块12的数量与该硬件系统所包括的应用模块的数量相等,应用模块基于该服务代理模块12获取服务信息,以及,基于该服务代理模块12实现对设备服务(即设备提供的服务)的调用。
30.在本实施例中,设备服务模块11用于加载与其处于同一硬件系统的设备的服务信息,以及,用于向上述设备服务管理模块13注册其加载的上述设备的服务信息。
31.具体地,当机器人启动运行时,各个设备服务模块11内部首先加载各自硬件系统已存在的设备的服务信息,再向设备服务管理模块13注册其加载的服务信息。由于每个硬件系统均设有一个设备服务模块11,因此,当各个硬件系统的设备服务模块11均向设备服务管理模块13注册其加载的服务信息之后,该设备服务管理模块13能够获知挂载在各个硬件系统的设备的服务信息。
32.在本实施例中,服务代理模块12用于接收目标应用模块发送的请求,从上述设备服务管理模块13获取与上述请求携带的设备标识对应的服务信息,并根据上述请求的解析结果执行对应的操作,其中,上述设备标识用于唯一标识上述设备,上述目标应用模块为与上述服务代理模块12对应的应用模块。
33.具体地,机器人包括多个应用模块,每个应用模块均与一个服务代理模块12对应,用户通过该应用模块与机器人通信。例如,假设应用模块a与服务代理模块a对应,应用模块b与服务代理模块b对应,当用户希望调用应用模块a对应的设备服务时,用户在应用模块a发出的请求将发送给服务代理模块a,该服务代理模块a再根据请求携带的设备标识获取对应的服务信息,若请求的解析结果指示需要进行设备服务的调用,则根据获取的服务信息
调用对应的设备服务。即,上述服务代理模块12执行的操作与请求的解析结果有关,当请求的解析结果指示调用设备服务时,则执行的操作为调用设备服务;当请求的解析结果指示查询设备的所有服务信息,则执行的操作为查询设备的所有服务信息,并将查询结果返回给目标应用模块。
34.在本技术实施例中,由于每个硬件系统包括的设备服务模块11均向设备服务管理模块13注册其加载的与其处于同一硬件系统的设备的服务信息,因此,该设备服务管理模块13能够获取挂载在各个硬件系统的设备的服务信息。并且,由于设备服务管理模块13所管理的服务信息包括各个硬件系统的服务信息,因此,当服务代理模块12接收到目标应用模块发送的请求后,该服务代理模块12能够从设备服务管理模块13中获取与请求携带的设备标识对应的服务信息,即,能够从设备服务管理模块13获取到任意的硬件系统所包括的服务信息。也即,由于本技术实施例提供的设备管理系统将整个机器人作为一个单一的系统对外提供接口,使得各个硬件系统的应用开发不必了解其他硬件系统内部的设备细节就能访问或调用其他硬件系统的设备的服务信息,从而降低了多硬件系统下的应用的开发难度,也降低了多硬件系统下的设备的管理难度。此外,由于机器人包括至少两个硬件系统,因此,能够提高该机器人的运算能力和硬件兼容性。
35.在一些实施例中,考虑到挂载在硬件系统的设备可以动态加载或卸载,比如积木类型的机器人,其舵机是可以拆卸的,因此,为了提高注册的服务信息的准确度,则需要及时更新注册在设备服务管理模块13上的服务信息。具体地:
36.在设备加载或卸载后,目标设备服务模块更新在上述设备服务管理模块13注册的上述设备对应的服务信息,上述目标设备服务模块为与加载或卸载的设备处于同一硬件系统的设备服务模块。
37.本实施例中,当设备加载或卸载后,与加载或卸载的设备处于同一硬件系统的设备服务模块12内部将动态更新其加载的与该加载或卸载的设备对应的服务信息,该设备服务模块12还可通知设备服务管理模块13更新已注册的与该加载或卸载的设备对应的服务信息,以保证注册在该设备服务管理模块13的服务信息的准确性。
38.在一些实施例中,若某些客户端希望及时获知设备的状态,则可向机器人开通状态变化信息订阅功能,这样,当设备的状态发生变化时,机器人将向该客户端推送对应的信息。具体地:
39.上述设备服务模块11还用于向订阅了状态变化信息的客户端通知上述加载或卸载的设备的状态。
40.本实施例中,当设备在机器人上加载或卸载时,该设备的状态将发生变化。设备服务模块11查询哪些客户端订阅了状态变化信息,并将加载或卸载的设备的状态发生给查询到的客户端。这样,用户通过客户端能够及时获知哪些设备加载了,哪些设备卸载了,进而有利于用户后续对机器人的决策。
41.在一些实施例中,为了便于通信,上述设备服务模块11、上述服务代理模块12和上述设备服务管理模块13处于同一局域网内,且上述设备服务管理模块的网络地址固定。
42.图2示出了不同硬件系统通过局域网通信的架构示意图,在图2中麦克风挂载在硬件系统a中,灯具和舵机挂载在硬件系统b中,雷达和舵机挂载在硬件系统n中,这些硬件系统通过中间的局域网通信。
43.本实施例中,设备服务模块11、服务代理模块12和设备服务管理模块13通过以太网连接组成一个局域网,且设备服务管理模块13在任意的硬件系统中是全局唯一的,其对应的网络地址在整个机器人中是固定的,这样,该设备服务管理模块13可以直接访问不同的硬件系统,以保证该设备服务管理模块13能够管理挂载在各个硬件系统的设备所对应的服务信息,以及,保证各个硬件系统的服务代理模块12能够通过该固定的网络地址成功与该设备服务管理模块13通信。
44.在一些实施例中,上述设备的服务信息包括设备服务的名称、上述设备所挂载的硬件系统的系统名称、网络地址和设备标识。
45.其中,每个服务信息与一个设备服务对应,一个服务信息包括的设备服务的名称为该服务信息对应的设备服务的名称。
46.本实施例中,上述的网络地址为该服务信息对应的设备服务的网络地址,通过该网络地址能够实现对该设备服务的调用。
47.在一些实施例中,上述服务代理模块12在接收目标应用模块发送的请求,从上述设备服务管理模块13获取与上述请求携带的设备标识对应的服务信息时,具体用于:
48.若接收的上述目标应用发送的请求为首次接收到的请求,则从上述设备服务管理模块13获取挂载在各个硬件系统的所有设备的服务信息并缓存,上述所有设备的服务信息包括上述请求携带的设备标识对应的设备的服务信息。
49.本实施例中,当服务代理模块12首次接收到目标应用模块发送的请求后,从设备服务管理模块13获取的各个硬件系统的所有设备的服务信息,以及,从获取的所有设备的服务信息中提取与接收的请求所携带的设备标识对应的服务信息。此外,该服务代理模块12还用于缓存其所获取的所有设备的服务信息,以提高后续获取服务信息的速度。
50.在一些实施例中,上述服务代理模块12还用于在当前接收到的请求不为首次接收到的请求时,则在缓存中,从所有设备的服务信息中获取与上述请求携带的设备标识对应设备的服务信息。
51.本实施例中,由于在接收到首次请求时缓存了挂载在各个硬件系统的设备的服务信息,因此,在再次接收到请求后,可直接从缓存中查找所希望查找的服务信息。而由于从缓存中搜索的速度更快,因此,有利于提高获取到服务信息的速度。
52.在一些实施例中,服务代理模块12解析接收的请求,若得到的解析结果指示需要向设备服务发起调用,则向调用对应的设备服务,具体地:
53.上述服务代理模块12还用于根据上述服务信息中的网络地址向对应的设备服务发起调用,其中,每个服务信息对应一个设备服务。
54.本实施例中,服务代理模块12接收到请求后,若对请求进行解析后得到的解析结果指示需要调用服务信息所对应的设备服务,则获取设备标识对应的服务信息,并根据获取的服务信息所包括的网络地址,调用对应的设备服务。当设备挂载的硬件系统与服务代理模块12所在的硬件系统不同时,该服务代理模块12实现了跨硬件系统的设备服务的调用。
55.为了更清楚地描述本技术实施例提供的设备管理系统1所包括的设备服务模块11、服务代理模块12和设备服务管理模块13的运行流程,下面以一例子进行描述。
56.1、应用模块通过服务代理模块12发起设备接口调用请求,该设备接口调用请求携
带舵机的标识。
57.2、若该设备接口调用请求为服务代理模块12在机器人启动后首次接收到的请求,则该服务代理模块12向设备服务管理模块13查询机器人系统内所有设备的服务信息,该设备服务管理模块13返回系统内注册的所有设备的服务信息。
58.3、服务代理模块12查询到所有设备的服务信息后,若服务代理模块12判断出对设备接口调用请求进行解析得到的解析结果指示需要发起设备服务调用请求,则根据舵机的标识获取对应的服务信息(假设为目标服务信息),再从目标服务信息中提取对应的网络地址,并根据该网络地址调用对应的设备服务。当然,若判断出解析结果指示需要获取所有舵机信息,而多个硬件系统均挂载有舵机,则根据舵机标识获取对应的服务信息(获取的服务信息分布在该多个硬件系统),再向获取的所有设备服务发送舵机信息获取请求,接收到舵机信息获取请求的设备服务将向服务代理模块12返回对应的舵机信息(比如舵机标识、舵机名称、旋转角度、旋转速度等),该服务代理模块12再合并接收到的所有的舵机信息,得到舵机信息列表,再向应用模块返回该舵机信息列表。
59.需要指出的是,若没有获取到目标服务信息,则向应用模块通知调用失败的信息。
60.需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
61.实施例二:
62.图3为本技术一实施例提供的机器人的结构示意图。如图3所示,该实施例的机器人3包括:至少一个处理器30(图3中仅示出一个处理器)、存储器31以及存储在所述存储器31中并可在所述至少一个处理器30上运行的计算机程序32,所述处理器30执行所述计算机程序32时实现上述实施例一中设备服务模块、服务代理模块和设备服务管理模块的流程步骤。
63.该机器人可包括,但不仅限于,处理器30、存储器31。本领域技术人员可以理解,图3仅仅是机器人3的举例,并不构成对机器人3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
64.所称处理器30可以是中央处理单元(central processing unit,cpu),该处理器30还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
65.所述存储器31在一些实施例中可以是所述机器人3的内部存储单元,例如机器人3的硬盘或内存。所述存储器31在另一些实施例中也可以是所述机器人3的外部存储设备,例如所述机器人3上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器31还可以既包括所述机器人3的内部存储单元也包括外部存储设备。所述存储器31用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器31还可以用于暂时地存储已经输出或者将要输出的数据。
66.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
67.本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述实施例一中设备服务模块、服务代理模块和设备服务管理模块中的流程步骤。
68.本技术实施例提供了一种计算机程序产品,当计算机程序产品在机器人上运行时,使得机器人执行时实现上述实施例一中设备服务模块、服务代理模块和设备服务管理模块中的流程步骤。
69.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
70.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
71.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
72.在本技术所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
73.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显
示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
74.以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献