掌桥专利:专业的专利平台
掌桥专利
首页

机器人控制方法、装置、机器人及存储介质

文献发布时间:2023-06-19 18:32:25


机器人控制方法、装置、机器人及存储介质

技术领域

本公开涉及机器人技术领域,尤其涉及一种机器人控制方法、装置、机器人及存储介质。

背景技术

机器人操作系统(Robot Operating System,ROS)是用于编写机器人软件程序的一种具有高度灵活性的软件架构。随着ROS的发展,大量基于ROS的产品进入市场,主要包括各种机器人行业。随着应用场景的扩大,产生了一系列新的需求。第二代ROS(即ROS2)应运而生。ROS2使用更先进的分布式架构,具有更高的可靠性,还能够有效地支持实时性和嵌入式设备。ROS2采用数据分发服务(Data Distribution Service,DDS)技术,数据分发服务DDS适用于实时分布式嵌入式系统。

相关技术中,ROS2的架构设计,针对功能模式的兼容效果不佳,导致不同功能模式之间的切换效率较低,较为耗费机器人的资源。

发明内容

本公开旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本公开的目的在于提出一种机器人控制方法、装置、机器人及存储介质,能够有效地提升机器人操作系统针对功能模式的兼容效果,有效地提升不同功能模式之间的切换效率,较大程度地降低对机器人的资源消耗。

为达到上述目的,本公开第一方面实施例提出的机器人控制方法,包括:检测机器人的当前功能模式;确定与所述当前功能模式相关联,且处于非激活状态的第一节点模块;将所述第一节点模块配置为激活状态,并将第二节点模块配置为非激活状态,所述第二节点模块,是与其它功能模式相关联,且处于激活状态的节点模块,所述当前功能模式和所述其它功能模式不相同。

在本公开的一些实施例中,在所述确定与所述当前功能模式相关联,且处于非激活状态的第一节点模块之后,还包括:

确定与所述当前功能模式相关联,且处于激活状态的第三节点模块;

维持所述第三节点模块处于所述激活状态。

在本公开的一些实施例中,所述确定与所述当前功能模式相关联,且处于非激活状态的第一节点模块,包括:

确定所述当前功能模式的当前功能类型;

确定与所述当前功能类型对应的多个参考节点模块;

如果所述参考节点模块处于所述非激活状态,则将所述参考节点模块作为所述第一节点模块;

其中,所述确定与所述当前功能模式相关联,且处于激活状态的第三节点模块,包括:

如果所述参考节点模块处于所述激活状态,则将所述参考节点模块作为所述第三节点模块。

在本公开的一些实施例中,在所述检测机器人的当前功能模式前,还包括:

针对所述当前功能类型配置对应的所述多个参考节点模块。

在本公开的一些实施例中,还包括:

确定所述当前功能模式对应的模块调用关系,所述模块调用关系指示与所述当前功能模式相关联的不同参考节点模块之间的调用关系,所述参考节点模块是所述第一节点模块或所述第三节点模块;

将所述模块调用关系传输至所述参考节点模块,以使所述参考节点模块根据所述模块调用关系配置自身的调用处理逻辑。

在本公开的一些实施例中,所述将所述模块调用关系传输至所述参考节点模块,包括:

将所述模块调用关系发送至交互装置,以经由所述交互装置将所述模块调用关系传输至所述参考节点模块。

在本公开的一些实施例中,所述检测机器人的当前功能模式,包括:

如果所述节点管理器被配置为所述激活状态,则执行所述检测机器人的当前功能模式的步骤。

在本公开的一些实施例中,还包括:

检测目标持续时间,所述目标持续时间,是所述机器人未调用功能模式持续的时间;

如果所述目标持续时间达到时间阈值,则将所述节点管理器由所述激活状态配置为所述非激活状态。

本公开第一方面实施例提出的机器人控制方法,通过检测机器人的当前功能模式,并确定与当前功能模式相关联,且处于非激活状态的第一节点模块,以及将第一节点模块配置为激活状态,将第二节点模块配置为非激活状态,第二节点模块,是与其它功能模式相关联,且处于激活状态的节点模块,当前功能模式和其它功能模式不相同,能够有效地提升机器人操作系统针对功能模式的兼容效果,有效地提升不同功能模式之间的切换效率,较大程度地降低对机器人的资源消耗。

为达到上述目的,本公开第二方面实施例提出的机器人控制装置,包括:检测模块,用于检测机器人的当前功能模式;第一确定模块,用于确定与所述当前功能模式相关联,且处于非激活状态的第一节点模块;第一配置模块,用于将所述第一节点模块配置为激活状态,并将第二节点模块配置为非激活状态,所述第二节点模块,是与其它功能模式相关联,且处于激活状态的节点模块,所述当前功能模式和所述其它功能模式不相同。

在本公开的一些实施例中,所述装置,还包括:

第二确定模块,用于确定与所述当前功能模式相关联,且处于激活状态的第三节点模块;

维持模块,用于维持所述第三节点模块处于所述激活状态。

在本公开的一些实施例中,所述第一确定模块,具体用于:

确定所述当前功能模式的当前功能类型;

确定与所述当前功能类型对应的多个参考节点模块;

如果所述参考节点模块处于所述非激活状态,则将所述参考节点模块作为所述第一节点模块;

其中,所述第二确定模块,具体用于:

如果所述参考节点模块处于所述激活状态,则将所述参考节点模块作为所述第三节点模块。

在本公开的一些实施例中,所述装置,还包括:

第二配置模块,用于在所述检测机器人的当前功能模式前,针对所述当前功能类型配置对应的所述多个参考节点模块。

在本公开的一些实施例中,所述装置,还包括:

第三确定模块,用于确定所述当前功能模式对应的模块调用关系,所述模块调用关系指示与所述当前功能模式相关联的不同参考节点模块之间的调用关系,所述参考节点模块是所述第一节点模块或所述第三节点模块;

传输模块,用于将所述模块调用关系传输至所述参考节点模块,以使所述参考节点模块根据所述模块调用关系配置自身的调用处理逻辑。

在本公开的一些实施例中,所述传输模块,具体用于:

将所述模块调用关系发送至交互装置,以经由所述交互装置将所述模块调用关系传输至所述参考节点模块。

在本公开的一些实施例中,所述检测模块,具体用于:

如果所述节点管理器被配置为所述激活状态,则执行所述检测机器人的当前功能模式的步骤。

在本公开的一些实施例中,所述检测模块,具体用于:

检测目标持续时间,所述目标持续时间,是所述机器人未调用功能模式持续的时间;

如果所述目标持续时间达到时间阈值,则将所述节点管理器由所述激活状态配置为所述非激活状态。

本公开第二方面实施例提出的机器人控制装置,通过检测机器人的当前功能模式,并确定与当前功能模式相关联,且处于非激活状态的第一节点模块,以及将第一节点模块配置为激活状态,将第二节点模块配置为非激活状态,第二节点模块,是与其它功能模式相关联,且处于激活状态的节点模块,当前功能模式和其它功能模式不相同,能够有效地提升机器人操作系统针对功能模式的兼容效果,有效地提升不同功能模式之间的切换效率,较大程度地降低对机器人的资源消耗。

为达到上述目的,本公开第三方面实施例提出的机器人,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本公开第二方面实施例提出的机器人控制方法。

本公开第三方面实施例提出的机器人,通过检测机器人的当前功能模式,并确定与当前功能模式相关联,且处于非激活状态的第一节点模块,以及将第一节点模块配置为激活状态,将第二节点模块配置为非激活状态,第二节点模块,是与其它功能模式相关联,且处于激活状态的节点模块,当前功能模式和其它功能模式不相同,能够有效地提升机器人操作系统针对功能模式的兼容效果,有效地提升不同功能模式之间的切换效率,较大程度地降低对机器人的资源消耗。

本公开第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开第一方面实施例提出的机器人控制方法。

本公开第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行如本公开第一方面实施例提出的机器人控制方法。

本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。

附图说明

本公开上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1是本公开一实施例提出的机器人控制方法的流程示意图;

图2是本公开实施例中机器人控制装置的架构示意图;

图3是本公开另一实施例提出的机器人控制方法的流程示意图;

图4是本公开另一实施例提出的机器人控制方法的流程示意图;

图5是本公开一实施例提出的建图模式的流程示意图;

图6是本公开一实施例提出的AB点导航模式的流程示意图;

图7是本公开一实施例提出的跟踪模式的流程示意图;

图8是本公开一实施例提出的机器人控制装置的结构示意图;

图9是本公开另一实施例提出的机器人控制装置的结构示意图;

图10为本公开实施例提供的一种机器人的结构示意图。

具体实施方式

下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本公开,而不能理解为对本公开的限制。相反,本公开的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。

图1是本公开一实施例提出的机器人控制方法的流程示意图。

本实施例以机器人控制方法被配置为机器人控制装置中来举例说明。

本实施例中机器人控制方法可以被配置在机器人控制装置中,该机器人控制装置可以设置在节点管理器中。

上述的节点管理器可以具体是硬件和/或软件结构的实体装置,或者也可是虚拟装置,该节点管理器可以具体设置在机器人中,或者,也可以设置在机器人控制设备(可以例如遥控器或者移动终端)中,该节点管理器可以与机器人操作系统进行交互以确定机器人的当前功能模式(具体可以参见下述实施例),该节点管理器可以被用于对机器人操作系统中各个节点模块的生命周期进行管理(具体可以参见下述实施例),本公开实施例对此不作限制。

需要说明的是,本实施例的执行主体,在硬件上可以例如为机器人或者机器人控制设备中的中央处理器(Central Processing Unit,CPU),在软件上可以例如为机器人或者机器人控制设备中的相关的后台服务,对此不作限制。

如图1所示,该机器人控制方法,包括:

S101:检测机器人的当前功能模式。

其中,功能模式可以指示机器人所执行功能相关的信息,通常在不同的功能模式下,机器人能够相应地提供不同的业务功能,功能模式可以具体例如跟踪模式、AB点导航模式、建图模式等等,当机器人处于跟踪模式,指示机器人当前能够提供跟踪服务功能,当机器人处于AB点导航模式,指示机器人当前能够提供由地点A至地点B的导航服务功能,当机器人处于建图模式,指示机器人当前能够提供构建地图服务功能,对此不做限制。

本公开实施例中,可以经由节点管理器实时地检测机器人的功能模式,并将实时地检测得到的功能模式作为当前功能模式,也即是说,该当前功能模式,是机器人在当前时间点上所对应的功能模式。

可选地,一些实施例中,本公开实施例中,可以在节点管理器被配置为激活状态时,执行检测机器人的当前功能模式的步骤,也即是说,当具备相应的控制需求时,可以将节点管理器配置为激活状态,该激活状态表征节点管理器处于非休眠态,能够正常地被调用以执行相应的功能,而后,节点管理器可以实时地检测机器人的当前功能模式,若节点管理器处于非激活态(该非激活态可以理解为其处于休眠状态),则可以不触发执行检测机器人的当前功能模式的步骤,从而可以有效地满足针对机器人的个性化管理需求,有效地拓展了机器人控制方法的应用场景,提升了实用性。

可选地,另一些实施例中,本公开实施例中可以支持在节点管理器被配置为激活状态时,执行检测机器人的当前功能模式的步骤,还可以支持对节点管理器的运行参数进行检测,如果运行参数指示其未处于工作状态(例如,机器人当前未执行任何功能模式,则节点管理器处于空闲状态),可以触发对节点管理器进行休眠调整。

可选地,本公开实施例中,在节点管理器被配置为激活状态时,执行检测机器人的当前功能模式的步骤之后,还可以检测目标持续时间,目标持续时间,是机器人未调用功能模式持续的时间(该时间,也可以理解为节点管理器处于空闲状态的时间),而后将目标持续时间与一个时间阈值进行比对,如果目标持续时间达到时间阈值,则将节点管理器由激活状态配置为非激活状态。

也即是说,上述当机器人未调用功能模式持续的时间达到时间阈值,可以将节点管理器由激活状态配置为非激活状态,从而进一步地减少节点管理器针对机器人的资源占用,并且避免对节点管理器频繁的启动和关闭,而仅针对节点管理器的状态进行相应的调整,实现在减少节点管理器针对机器人的资源占用的同时,提升了节点管理器控制的灵活性和适用性。

本公开实施例中,还可以配置相应的遥控器端,该遥控器端可以具体是硬件和/或软件结构的实体装置,或者也可是虚拟装置,该遥控器端可以具体设置在机器人控制设备(可以例如遥控器或者移动终端)中,对此不做限制。

举例而言,生命周期Lifecycle节点(即本公开实施例中的节点管理器)启动后,首先进行配置,当需要用到节点管理器时,可以将其切换到激活状态(Active状态),当短时间内不再需要使用节点管理器,可以将其切换到非激活状态(Inactive状态),该状态下,可以大大减少节点管理器的资源消耗。再次需要时,同样可以再次将节点管理器的状态切回至激活状态即可,从而有效地避免了反复重启和退出节点管理器,同样避免了占用资源消耗,切换效率较高,同样避免了每次重复启动后的配置configure操作。

S102:确定与当前功能模式相关联,且处于非激活状态的第一节点模块。

可以理解的是,随着机器人所能够提供业务功能的种类日益繁多,且由于在不同的功能模式下,机器人能够相应地提供不同的业务功能,从而当机器人处于不同的功能模式时,其所调用的系统底层的节点模块也会相同或者不相同。

而节点模块,可以是机器人执行相应的业务功能时,所需要调用的一些功能组件模块,节点模块可以具体例如定位器、导航器、跟踪器、控制器、建图器、人脸检测模块、特征识别模块等,各个不同的节点模块对应支持机器人实现相应的子功能,而后,部分节点模块的组合能够支持机器人,结合相应部分子功能以实现业务功能。

举例而言,节点模块:定位器、导航器、控制器、建图器的组合,能够支持机器人实现建图模式,对此不做限制。

如图2所示,图2是本公开实施例中机器人控制装置的架构示意图,包括:遥控器端、节点管理器、交互器、定位器、导航器、跟踪器、控制器等,其中的交互器、定位器、导航器、跟踪器、控制器等,即可以被称为节点模块。其中,遥控器端:为顶层应用软件,可以切换和使用机器人控制装置的所有功能模式;节点管理器:机器人操作系统可以是基于ROS2设计,节点由生命周期节点lifecycle node的方式实现,可以针对其进行生命周期管理。节点管理器,管理着机器人控制装置中所有的节点模块和交互器,针对不同模式,将每个节点模块切换到相应的模式状态,即可以节约资源占用,又可以避免不需要的节点模块带来的运行响应冲突;交互器:节点管理器负责切换节点整体运行状态,而交互器,则负责各个节点模块内部具体功能的调整;定位器、导航器、跟踪器、控制器:为底层不同的节点模块。

上述在检测机器人的当前功能模式之后,可以确定与当前功能模式相关联,且处于非激活状态的第一节点模块,该第一节点模块可以是上述多种节点模块中的一种,该第一节点模块,可以是在前一功能模式时被配置为非激活状态,也可以是在节点管理器初始启动阶段,被配置为非激活状态,对此不做限制。

而与当前功能模式相关联,则是指该第一节点模块能够支持机器人执行与该当前功能模式相对应的业务功能。

S103:将第一节点模块配置为激活状态,并将第二节点模块配置为非激活状态,第二节点模块,是与其它功能模式相关联,且处于激活状态的节点模块,当前功能模式和其它功能模式不相同。

上述在确定与当前功能模式相关联,且处于非激活状态的第一节点模块之后,可以直接将第一节点模块配置为激活状态,而后还可以确定第二节点模块,该第二节点模块和第一节点模块不相同,该第二节点模块可以是与除当前功能模式之外的其它功能模式相关联的节点模块,且为了避免遍历所有的节点模块,可以直接确定出与其它功能模式相关联,且处于激活状态的第二节点模块,并针对第二节点模块执行相应的状态调整操作,有效地提升了机器人控制的效率及时地避免影响占用过多机器人资源。

也即是说,本公开实施例中通过生命周期lifecycle管理的方式,对不同节点模块进行生命周期管理,可以实现针对相关的节点模块状态进行激活状态Activate与非激活状态Inactive之间的快速切换。

举例而言,当检测到机器人的当前功能模式从跟踪模式切换到AB点导航模式时,可以将人物检测相关的算法模块作为第二节点模块,将人物检测相关的算法模块切换至非激活状态Inactive,将与AB点导航模式相关且处于非激活状态的第一节点模块切换至激活状态Activate。

本实施例中,通过检测机器人的当前功能模式,并确定与当前功能模式相关联,且处于非激活状态的第一节点模块,以及将第一节点模块配置为激活状态,将第二节点模块配置为非激活状态,第二节点模块,是与其它功能模式相关联,且处于激活状态的节点模块,当前功能模式和其它功能模式不相同,能够有效地提升机器人操作系统针对功能模式的兼容效果,有效地提升不同功能模式之间的切换效率,较大程度地降低对机器人的资源消耗。

图3是本公开另一实施例提出的机器人控制方法的流程示意图。

如图3所示,该机器人控制方法,包括:

S301:检测机器人的当前功能模式。

S301的描述说明可以具体参见上述实施例,在此不再赘述。

S302:确定与当前功能模式相关联,且处于非激活状态的第一节点模块。

可选地,一些实施例中,当确定第一节点模块时,可以确定当前功能模式的当前功能类型,并确定与当前功能类型对应的多个参考节点模块,如果参考节点模块处于非激活状态,则将参考节点模块作为第一节点模块,从而可以实现快速准确地确定出第一节点模块,保障提升整体机器人控制方法的执行效率,保障机器人控制效果。

也即是说,本公开实施例中,可以预先针对当前功能类型配置对应的多个参考节点模块,即预先针对机器人所能够提供的业务功能进行类型划分,得到多个功能类型(例如,建图类型、身份认证类型、人脸检测类型、导航类型、定位类型、跟踪类型等),而后确定不同功能类型所需要的节点模块,将不同功能类型所需要的节点模块配置为功能类型对应的一个或者多个节点模块,从而在确定第一节点模块时,可以支持首先确定出当前功能模式的功能类型(当前功能模式的功能类型,可以被称为当前功能类型),而后确定与当前功能模式的功能类型匹配的节点模块,作为参考节点模块。

该与当前功能模式的功能类型匹配的参考节点模块的数量可以是一个或者多个,当该一个或者多个参考节点模块被调用时,能够用于辅助机器人实现当前功能模式对应的业务功能。

而后可以对各个参考节点模块的状态进行判定,如果参考节点模块处于非激活状态,则将参考节点模块作为第一节点模块。

当然,也可以采用其它任意可能的方式来确定与当前功能模式相关联,且处于非激活状态的第一节点模块,比如接口调用的方式、模型识别的方式等等,对此不做限制。

S303:确定与当前功能模式相关联,且处于激活状态的第三节点模块。

本实施例中,在确定与当前功能模式相关联,且处于非激活状态的第一节点模块之后,还可以确定与当前功能模式相关联,且处于激活状态的第三节点模块,而后触发后续维持第三节点模块处于激活状态的步骤。

可选地,可以确定当前功能模式的当前功能类型,并确定与当前功能类型对应的多个参考节点模块,如果参考节点模块处于激活状态,则将参考节点模块作为第三节点模块,从而可以实现快速准确地确定出第三节点模块,保障提升整体机器人控制方法的执行效率,保障机器人控制效果。

S304:维持第三节点模块处于激活状态。

S305:将第一节点模块配置为激活状态,并将第二节点模块配置为非激活状态,第二节点模块,是与其它功能模式相关联,且处于激活状态的节点模块,当前功能模式和其它功能模式不相同。

也即是说,本公开实施例中,支持对与当前功能模式相关联,且处于非激活状态的第一节点模块的状态调节,而针对与当前功能模式相关联,且处于激活状态的第三节点模块的状态维持即可,从而可以有效地保障业务功能的完整性,实现整体机器人控制方法的连贯性和合理性。

本实施例中,通过检测机器人的当前功能模式,并确定与当前功能模式相关联,且处于非激活状态的第一节点模块,以及将第一节点模块配置为激活状态,将第二节点模块配置为非激活状态,第二节点模块,是与其它功能模式相关联,且处于激活状态的节点模块,当前功能模式和其它功能模式不相同,能够有效地提升机器人操作系统针对功能模式的兼容效果,有效地提升不同功能模式之间的切换效率,较大程度地降低对机器人的资源消耗。当确定第一节点模块时,可以确定当前功能模式的当前功能类型,并确定与当前功能类型对应的多个参考节点模块,如果参考节点模块处于非激活状态,则将参考节点模块作为第一节点模块,如果参考节点模块处于激活状态,则将参考节点模块作为第三节点模块,从而可以实现快速准确地确定出第一节点模块和第三节点模块,保障提升整体机器人控制方法的执行效率,保障机器人控制效果。支持对与当前功能模式相关联,且处于非激活状态的第一节点模块的状态调节,而针对与当前功能模式相关联,且处于激活状态的第三节点模块的状态维持即可,从而可以有效地保障业务功能的完整性,实现整体机器人控制方法的连贯性和合理性。

图4是本公开另一实施例提出的机器人控制方法的流程示意图。

如图4所示,该机器人控制方法,包括:

S401:检测机器人的当前功能模式。

S402:确定与当前功能模式相关联,且处于非激活状态的第一节点模块。

S403:将第一节点模块配置为激活状态,并将第二节点模块配置为非激活状态,第二节点模块,是与其它功能模式相关联,且处于激活状态的节点模块,当前功能模式和其它功能模式不相同。

S401-S403的描述说明可以具体参见上述实施例,在此不再赘述。

S404:确定当前功能模式对应的模块调用关系,模块调用关系指示与当前功能模式相关联的不同参考节点模块之间的调用关系,参考节点模块是第一节点模块或第三节点模块。

上述在检测到机器人的当前功能模式后,可以确定与当前功能模式对应的模块调用关系,模块调用关系指示与当前功能模式相关联的不同参考节点模块之间的调用关系,参考节点模块是第一节点模块或第三节点模块,而模块调用关系可以具体例如为,多个相关联的不同参考节点模块间的调用次序等,对此不做限制。

也即是说,在检测到机器人的当前功能模式后,可以确定当前功能模式所需的一个或者多个参考节点模块,该多个或者一个参考节点模块之间可以具有相应的调用关系,即机器人在实现相应的功能模式时,可以根据当前功能模式对应的模块调用关系,对需求的参考节点模块进行调用,以实现相应的业务功能。

可以一并结合图5、图6、图7对本实施例做具体解释说明,图5是本公开一实施例提出的建图模式的流程示意图,如图6所示,机器人的当前功能模式被配置为建图模式,建图模式所需的多个参考节点模块可以例如为定位器、建图器、决策器,机器人端和遥控器端可以分别响应于相应的业务指令,根据图5所示的建图模式的流程对上述多个参考节点模块依次调用,以实现相应的建图模式。

图6是本公开一实施例提出的AB点导航模式的流程示意图,如图6所示,机器人的当前功能模式被配置为AB点导航模式,AB点导航模式所需的多个参考节点模块可以例如定位器、导航器、决策器,机器人端和遥控器端可以分别响应于相应的业务指令,根据图6所示的AB点导航模式的流程对上述多个参考节点模块依次调用,以实现相应的AB点导航模式。

图7是本公开一实施例提出的跟踪模式的流程示意图,如图7所示,机器人的当前功能模式被配置为跟踪模式,跟踪模式所需的多个参考节点模块可以例如定位器、跟踪器、导航器、决策器,机器人端和遥控器端可以分别响应于相应的业务指令,根据图7所示的跟踪模式的流程对上述多个参考节点模块依次调用,以实现相应的跟踪模式。

S405:将模块调用关系传输至参考节点模块,以使参考节点模块根据模块调用关系配置自身的调用处理逻辑。

可选地,一些实施例中,将模块调用关系传输至参考节点模块,可以是将模块调用关系发送至交互装置,以经由交互装置将模块调用关系传输至参考节点模块。

其中,参考节点模块的调用处理规则可以被称为调用处理逻辑。

也即是说,本公开实施例中,可以将模块调用关系发送至交互装置(交互装置可以例如为交互器),经由交互装置将模块调用关系传输至参考节点模块,以使参考节点模块根据模块调用关系配置自身的调用处理逻辑。

一些实施例中,交互装置和参考节点模块之间可以通过例如互联网、工业局域网、蓝牙等方式进行数据交互,例如交互装置和参考节点模块之间可以采用工业局域网接口进行数据通信,即交互装置可以通过工业局域网接口将模块调用关系传输至参考节点模块,以使参考节点模块可以根据模块调用关系配置自身的调用处理逻辑,对此不做限制。

本实施例中,通过检测机器人的当前功能模式,并确定与当前功能模式相关联,且处于非激活状态的第一节点模块,以及将第一节点模块配置为激活状态,将第二节点模块配置为非激活状态,第二节点模块,是与其它功能模式相关联,且处于激活状态的节点模块,当前功能模式和其它功能模式不相同,能够有效地提升机器人操作系统针对功能模式的兼容效果,有效地提升不同功能模式之间的切换效率,较大程度地降低对机器人的资源消耗,通过确定当前功能模式对应的模块调用关系,模块调用关系指示与当前功能模式相关联的不同参考节点模块之间的调用关系,参考节点模块是第一节点模块或第三节点模块,并将模块调用关系传输至参考节点模块,以使参考节点模块根据模块调用关系配置自身的调用处理逻辑,由于参考了功能模式对应的模块调用关系对参考节点模块进行调用,能够有效地提升模块调用的效率,从而可以便于实际业务场景中对需求的节点模块进行调用。

图8是本公开一实施例提出的机器人控制装置的结构示意图。

如图8所示,该机器人控制装置可应用于节点管理器,该机器人控制装置80包括:

检测模块801,用于检测机器人的当前功能模式;

第一确定模块802,用于确定与所述当前功能模式相关联,且处于非激活状态的第一节点模块;

第一配置模块803,用于将所述第一节点模块配置为激活状态,并将第二节点模块配置为非激活状态,所述第二节点模块,是与其它功能模式相关联,且处于激活状态的节点模块,所述当前功能模式和所述其它功能模式不相同。

在本公开的一些实施例中,如图9所示,图9是本公开另一实施例提出的机器人控制装置的结构示意图,机器人控制装置80,还包括:

第二确定模块804,用于确定与所述当前功能模式相关联,且处于激活状态的第三节点模块;

维持模块805,用于维持所述第三节点模块处于所述激活状态。

在本公开的一些实施例中,第一确定模块802,具体用于:

确定所述当前功能模式的当前功能类型;

确定与所述当前功能类型对应的多个参考节点模块;

如果所述参考节点模块处于所述非激活状态,则将所述参考节点模块作为所述第一节点模块;

其中,第二确定模块804,具体用于:

如果所述参考节点模块处于所述激活状态,则将所述参考节点模块作为所述第三节点模块。

在本公开的一些实施例中,机器人控制装置80,还包括:

第二配置模块806,用于在所述检测机器人的当前功能模式前,针对所述当前功能类型配置对应的所述多个参考节点模块。

在本公开的一些实施例中,机器人控制装置80,还包括:

第三确定模块807,用于确定所述当前功能模式对应的模块调用关系,所述模块调用关系指示与所述当前功能模式相关联的不同参考节点模块之间的调用关系,所述参考节点模块是所述第一节点模块或所述第三节点模块;

传输模块808,用于将所述模块调用关系传输至所述参考节点模块,以使所述参考节点模块根据所述模块调用关系配置自身的调用处理逻辑。

在本公开的一些实施例中,传输模块808,具体用于:

如果所述节点管理器被配置为所述激活状态,则执行所述检测机器人的当前功能模式的步骤。

在本公开的一些实施例中,检测模块801,具体用于:

检测目标持续时间,所述目标持续时间,是所述机器人未调用功能模式持续的时间;

如果所述目标持续时间达到时间阈值,则将所述节点管理器由所述激活状态配置为所述非激活状态。

需要说明的是,前述对机器人控制方法实施例的解释说明也适用于该实施例的机器人控制装置,此处不再赘述。

本实施例中,通过检测机器人的当前功能模式,并确定与所述当前功能模式相关联,且处于非激活状态的第一节点模块,以及将所述第一节点模块配置为激活状态,将第二节点模块配置为非激活状态,所述第二节点模块,是与其它功能模式相关联,且处于激活状态的节点模块,所述当前功能模式和所述其它功能模式不相同,能够有效地提升机器人操作系统针对功能模式的兼容效果,有效地提升不同功能模式之间的切换效率,较大程度地降低对机器人的资源消耗。

图10为本公开实施例提供的一种机器人的结构示意图。

该机器人包括:

存储器1001、处理器1002及存储在存储器1001上并可在处理器1002上运行的计算机程序。

处理器1002执行程序时实现上述实施例中提供的机器人控制方法。

在一种可能的实现方式中,机器人还包括:

通信接口1003,用于存储器1001和处理器1002之间的通信。

存储器1001,用于存放可在处理器1002上运行的计算机程序。

存储器1001可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。

处理器1002,用于执行程序时实现上述实施例的机器人控制方法。

如果存储器1001、处理器1002和通信接口1003独立实现,则通信接口1003、存储器1001和处理器1002可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(PeripheralComponent,简称为PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

可选的,在具体实现上,如果存储器1001、处理器1002及通信接口1003,集成在一块芯片上实现,则存储器1001、处理器1002及通信接口1003可以通过内部接口完成相互间的通信。

处理器1002可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本公开实施例的一个或多个集成电路。

本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上的机器人控制方法。

需要说明的是,在本公开的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本公开的描述中,除非另有说明,“多个”的含义是两个或两个以上。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施例所属技术领域的技术人员所理解。

应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本公开各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本公开的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本公开的限制,本领域的普通技术人员在本公开的范围内可以对上述实施例进行变化、修改、替换和变型。

技术分类

06120115605291