首页> 中国专利> 机器人之中电子罗盘的标定方法、装置及机器人

机器人之中电子罗盘的标定方法、装置及机器人

摘要

本公开关于一种机器人之中电子罗盘的标定方法、装置及机器人,其中,方法包括:控制机器人按照规划路径运动;采集运动过程之中电子罗盘采集的标定数据;以及根据标定数据按照预设标定算法对电子罗盘进行标定。该方法无需人工参与,即可实现电子罗盘的全自动在线标定,不仅提高了机器人的感知能力,而且降低了人工成本,改善了用户的使用体验。

著录项

  • 公开/公告号CN114791284A

    专利类型发明专利

  • 公开/公告日2022-07-26

    原文格式PDF

  • 申请/专利权人 北京小米移动软件有限公司;

    申请/专利号CN202110103542.1

  • 发明设计人 徐海望;

    申请日2021-01-26

  • 分类号G01C17/38;

  • 代理机构北京法胜知识产权代理有限公司;

  • 代理人白雪静

  • 地址 100085 北京市海淀区西二旗中路33号院6号楼8层018号

  • 入库时间 2023-06-19 16:06:26

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-07-26

    公开

    发明专利申请公布

说明书

技术领域

本公开涉及机器人技术领域,尤其涉及一种机器人之中电子罗盘的标定方法、装置及机器人,以及电子设备、存储介质及计算机程序产品。

背景技术

目前,基于MEMS(Micro-Electro-Mechanical Systems,微机电系统)的电子罗盘由于其尺寸小,价格低廉和灵敏度高,被广泛应用于移动电话、移动机器人和微型无人机等消费类电子设备中。但电子罗盘的稳定性一直受到环境中其他电磁设备产生的可变电磁场影响,比如在微型无人机的应用中,由于多个电机同时转动,会产生一定的变化电磁场,这会对电子罗盘的工作状态产生较大影响,使其无法准确测量地球磁场。在电子罗盘的应用中,如果地磁被干扰严重至漂移后,便需要重新进行标定,校准数据,才能再次投入使用,这便需要人类的参与,才能完成离线标定。

相关技术中,对于机器人之中的电子罗盘的标定,通常也是通过人工参与的方式进行离线标定。然而,人工标定的方式不仅使机器人的感知能力大打折扣,而且人工成本较高,从而影响用户体验。

发明内容

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

本公开提出了如下技术方案:

本公开第一方面实施例提出了一种机器人之中电子罗盘的标定方法,包括:控制所述机器人按照规划路径运动;

采集运动过程之中所述电子罗盘采集的标定数据;以及

根据所述标定数据按照预设标定算法对所述电子罗盘进行标定。

另外,根据本公开实施例的机器人之中电子罗盘的标定方法还可以具有如下附加的技术特征:

根据本公开的一个实施例,机器人之中电子罗盘的标定方法,还包括:获取机器人之中电子罗盘的当前检测值;根据所述当前检测值判断所述电子罗盘是否需要标定,其中,在确定所述电子罗盘需要标定之后,控制所述机器人按照所述规划路径运动。

根据本公开的一个实施例,在所述机器人工作时长达到第一预设条件,或者,所述机器人行走里程达到第二预设条件,则判定需要进行标定。

根据本公开的一个实施例,所述根据所述当前检测值判断所述电子罗盘是否需要标定,包括:获取参考传感器的参考检测值;根据所述参考传感器的参考检测值和所述电子罗盘的当前检测值判断所述电子罗盘是否需要标定。

根据本公开的一个实施例,所述参考传感器为多个,所述根据所述参考传感器的参考检测值和所述电子罗盘的当前检测值判断所述电子罗盘是否需要标定,包括:根据所述多个参考检测值和所述当前检测值生成代替旋转矩阵;根据所述代替旋转矩阵生成变动阈值;获取所述当前检测值和所述变动阈值之间的差值,并获取所述差值对应的权重;根据所述差值和所述对应的权重更新累积值;如果所述累积值大于或等于预设阈值,则判断所述电子罗盘需要标定;如果所述累积值小于所述预设阈值,则判断所述电子罗盘不需要标定。

根据本公开的一个实施例,在所述控制所述机器人按照规划路径运动之前,还包括:采集所述机器人的周边环境图像;根据所述周边环境图像生成所述机器人的可活动空间;判断所述可活动空间是否满足预设曲线运动所需的运动空间;如果满足,则进一步控制所述机器人按照所述预设曲线运动;如果不满足,则暂停按照所述预设曲线运动,直至所述可活动空间满足所述所需运动空间。

根据本公开的一个实施例,所述控制所述机器人按照规划路径运动,包括:控制所述机器人还原至站立状态;根据预设曲线生成所述规划路径;控制所述机器人沿着所述规划路径重复所述预设曲线运动。

根据本公开的一个实施例,所述控制所述机器人沿着所述规划路径重复所述预设曲线运动,包括:对所述预设曲线进行采样以生成每次曲线运动的四元数组合;按照每次曲线运动的所述四元数组合循环控制所述机器人进行运动。

根据本公开的一个实施例,机器人之中电子罗盘的标定方法,还包括:在每次曲线运动时随机生成所述机器人的起始高度。

根据本公开的一个实施例,在所述控制所述机器人按照规划路径运动之前,还包括:给用户发送提示信息,以提示用户是否进行标定;接收用户的标定指令,其中,所述标定指令用于指示进行所述机器人之中电子罗盘的标定;根据所述标定指令判定进行标定。

根据本公开的一个实施例,所述标定指令中携带所述用户指示的规划路径。

本公开第二方面实施例提出了一种机器人之中电子罗盘的标定装置,包括:第一控制模块,被配置为执行控制所述机器人按照规划路径运动;第一采集模块,被配置为执行采集运动过程之中所述电子罗盘采集的标定数据;第一标定模块,被配置为执行根据所述标定数据按照预设标定算法对所述电子罗盘进行标定。

另外,根据本公开上述实施例的机器人之中电子罗盘的标定装置还可以具有如下附加的技术特征:

根据本公开的一个实施例,机器人之中电子罗盘的标定装置,还包括:第一获取模块,被配置为执行获取机器人之中电子罗盘的当前检测值;第一判断模块,被配置为执行根据所述当前检测值判断所述电子罗盘是否需要标定,其中,在确定所述电子罗盘需要标定之后,控制所述机器人按照所述规划路径运动。

根据本公开的一个实施例,机器人之中电子罗盘的标定装置,还包括:第二判断模块,被配置为执行在所述机器人工作时长达到第一预设条件,或者,所述机器人行走里程达到第二预设条件,则判定需要进行标定。

根据本公开的一个实施例,所述第一判断模块,包括:第一获取单元,被配置为执行获取参考传感器的参考检测值;第一判断单元,被配置为执行根据所述参考传感器的参考检测值和所述电子罗盘的当前检测值判断所述电子罗盘是否需要标定。

根据本公开的一个实施例,所述参考传感器为多个,所述第一判断单元,包括:第一生成子单元,被配置为执行根据所述多个参考检测值和所述当前检测值生成代替旋转矩阵;第二生成子单元,被配置为执行根据所述代替旋转矩阵生成变动阈值;第一获取子单元,被配置为执行获取所述当前检测值和所述变动阈值之间的差值,并获取所述差值对应的权重;第一更新子单元,被配置为执行根据所述差值和所述对应的权重更新累积值;第一判断子单元,被配置为执行如果所述累积值大于或等于预设阈值,则判断所述电子罗盘需要标定;第二判断子单元,被配置为执行如果所述累积值小于所述预设阈值,则判断所述电子罗盘不需要标定。

根据本公开的一个实施例,机器人之中电子罗盘的标定装置,还包括:第一采集模块,被配置为执行采集所述机器人的周边环境图像;第一生成模块,被配置为执行根据所述周边环境图像生成所述机器人的可活动空间;第三判断模块,被配置为执行判断所述可活动空间是否满足预设曲线运动所需的运动空间;第二控制模块,被配置为执行如果满足,则进一步控制所述机器人按照所述预设曲线运动;第三控制模块,被配置为执行如果不满足,则暂停按照所述预设曲线运动,直至所述可活动空间满足所述所需运动空间。

根据本公开的一个实施例,所述第一控制模块,包括:第一控制单元,被配置为执行控制所述机器人还原至站立状态;第一生成单元,被配置为执行根据预设曲线生成所述规划路径;第二控制单元,被配置为执行控制所述机器人沿着所述规划路径重复所述预设曲线运动。

根据本公开的一个实施例,所述第一控制模块,包括:第一控制单元,被配置为执行控制所述机器人还原至站立状态;第一生成单元,被配置为执行根据预设曲线生成所述规划路径;第二控制单元,被配置为执行控制所述机器人沿着所述规划路径重复所述预设曲线运动。

根据本公开的一个实施例,所述第二控制单元,包括:第三生成子单元,被配置为执行对所述预设曲线进行采样以生成每次曲线运动的四元数组合;第一控制子单元,被配置为执行按照每次曲线运动的所述四元数组合循环控制所述机器人进行运动。

根据本公开的一个实施例,所述第二控制单元,还包括:第四生成子单元,被配置为执行在每次曲线运动时随机生成所述机器人的起始高度。

根据本公开的一个实施例,机器人之中电子罗盘的标定装置,还包括:第一发送模块,被配置为执行给用户发送提示信息,以提示用户是否进行标定;第一接收模块,被配置为执行接收用户的标定指令,其中,所述标定指令用于指示进行所述机器人之中电子罗盘的标定;第四判断模块,被配置为执行根据所述标定指令判定进行标定。

根据本公开的一个实施例,所述标定指令中携带所述用户指示的规划路径。

本公开第三方面实施例提出了一种机器人,包括:本公开第二方面实施例提出的机器人之中电子罗盘的标定装置。

另外,根据本公开上述实施例的机器人之中电子罗盘的标定装置还可以具有如下附加的技术特征:

根据本公开的一个实施例,机器人,还包括:头部;躯干本体;与所述躯干本体相连的腿部,以及和所述腿部相连的足部。

本公开第四方面实施例提出了一种电子设备,包括:处理器;用于存储所述处理器的可执行指令的存储器;其中,所述处理器被配置为调用并执行所述存储器存储的可执行指令,以实现本公开第一方面实施例提出的机器人之中电子罗盘的标定方法。

本公开第五方面实施例提出了一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本公开第一方面实施例提出的机器人之中电子罗盘的标定方法。

本公开第六方面实施例提出了一种计算机程序产品,该计算机程序由电子设备的处理器执行时,使得电子设备能够执行本公开第一方面实施例提出的机器人之中电子罗盘的标定方法。

本公开实施例的技术方案,控制机器人按照规划路径运动,并采集运动过程之中电子罗盘采集的标定数据,以根据标定数据对电子罗盘进行标定,从而实现电子罗盘的在线自主标定。由此,本公开提供的机器人之中电子罗盘的标定方法,无需人工参与,即可实现电子罗盘的全自动在线标定,不仅提高了机器人的感知能力,而且降低了人工成本,改善了用户的使用体验。

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

附图说明

图1是根据本公开实施例的机器人之中电子罗盘的标定方法的流程图;

图2是根据本公开一个实施例的判断电子罗盘是否需要标定的流程图;

图3是根据本公开一个实施例的根据当前检测值判断电子罗盘是否需要标定的流程图;

图4是根据本公开一个实施例的根据当前检测值和参考检测值判断电子罗盘是否需要标定的流程图;

图5是根据本公开一个实施例的确定可活动空间以控制机器人按照预设曲线运动的流程图;

图6是根据本公开一个实施例的控制机器人按照规划路径运动的流程示意图;

图7是根据本公开一个实施例的控制机器人沿着规划路径重复预设曲线运动的流程示意图;

图8是根据本公开实施例的机器人之中电子罗盘的标定装置的结构框图;

图9是根据本公开实施例的机器人的结构示意图;

图10是根据本公开实施例的电子设备的结构示意图。

具体实施方式

下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本公开,而不能理解为对本公开的限制。

下面参考附图描述本公开实施例的机器人之中电子罗盘的标定方法、装置及机器人。

需要说明的是,本公开实施例的机器人可以是多自由度足式机器人,例如两足机器人、四足机器人、三足机器人,本公开实施例对此并不限制。多自由度足式机器人至少有12个电机,其磁场干扰甚于微型无人机,如果不具备自动在线标定的功能,机器人的感知能力会大打折扣。

图1是根据本公开实施例的机器人之中电子罗盘的标定方法的流程图,执行主体可以为电子设备,具体的,电子设备可以是但不限于计算机、移动终端,移动终端可以是但不限于个人电脑、智能手机、IPAD等。

如图1所示,该机器人之中电子罗盘的标定方法包括以下步骤S101至S103。

S101,控制机器人按照规划路径运动。

S102,采集运动过程之中电子罗盘采集的标定数据。

其中,规划路径可以理解为有利于电子罗盘采集多个方向(相对于机器人而言)或者多个运动路线上的数据的路径,也可以理解为包含机器人的多种可能行走路径的所有路径,例如类似于呈“8”字形的路径、呈“S”型的路径等。

本公开实施例,可将机器人按照规划路径运动过程中,电子罗盘采集的数据称为标定数据。

具体地,控制机器人按照规划路径运动的过程中,可实时或者周期性的获取电子罗盘采集的标定数据。

S103,根据标定数据按照预设标定算法对电子罗盘进行标定。

具体地,在采集到电子罗盘运动过程中的标定数据之后,根据标定数据按照预设标定算法对电子罗盘进行标定。

其中,预设标定算法可以为椭球相似算法。即根据标定数据按照椭球相似算法对电子罗盘进行标定。

例如,控制机器人按照规划路径(比如,类似于呈“8”字形的规划路径)运动,采集运动过程中电子罗盘采集的标定数据:多个姿态角度值,之后,根据多个姿态角度值对电子罗盘进行标定,从而完成电子罗盘的在线自主标定。

本公开实施例的机器人之中电子罗盘的标定方法,控制机器人按照规划路径运动,并采集运动过程之中电子罗盘采集的标定数据,以根据标定数据对电子罗盘进行标定,从而实现电子罗盘的在线自主标定。由此,无需人工参与,即可实现电子罗盘的全自动在线标定,不仅提高了机器人的感知能力,而且降低了人工成本,改善了用户的使用体验。

本公开实施例中的机器人可以实现电子罗盘的自适应标定,即自主实现对其电子罗盘的标定。

在本公开的一个实施例中,还可以根据机器人的工作状态判断是否启动电子罗盘的标定,上述工作状态可以是工作时长或者行走里程。其中,行走里程可以是机器人在当前行走或运动事件的连续行走里程。

可选的,当机器人的工作时长满足第一预设条件时,判定启动电子罗盘的标定。其中,工作时长可以是机器人连续工作的时长,第一预设条件可以是设定的时长阈值,其可以是用户或者机器人的出厂厂家设置的,例如可以是1小时、2小时等。

具体地,在机器人开始工作时,可开始计时,以在机器人的工作过程中实现实时计时,在计时时间达到第一预设条件时,判定出机器人之中的电子罗盘需要标定;或者,获取机器人的行走里程,在行走里程达到预设里程时,判定出机器人之中的电子罗盘需要标定。于是控制机器人按照规划路径运动,并采集运动过程之中电子罗盘采集的标定数据,根据标定数据对电子罗盘进行标定。

例如,在机器人工作时间达到1小时,或者,机器人行走里程达到1千米时,则判定需要进行标定。于是控制机器人按照规划路径运动,并采集运动过程之中电子罗盘采集的标定数据,根据标定数据对电子罗盘进行标定。

可选地,在机器人的行走里程达到第二预设条件时,判定电子罗盘需要进行标定。其中,行走里程可以是机器人在当前行走或运动事件的连续行走里程,第二预设条件可以是设定的里程阈值,其可以是用户或者机器人的出厂厂家设置的,例如可以是50米、1千米等。

具体地,在机器人开始工作时,可获取机器人的连续行走里程,在连续行走里程达到第二预设条件时,判定出机器人之中的电子罗盘需要标定。于是控制机器人按照规划路径运动,并采集运动过程之中电子罗盘采集的标定数据,根据标定数据对电子罗盘进行标定。

例如,在机机器人行走里程达到1千米时,则判定其电子罗盘需要进行标定。于是控制机器人按照规划路径运动,并采集运动过程之中电子罗盘采集的标定数据,根据标定数据对电子罗盘进行标定。

由此,可通过机器人之中电子罗盘的当前检测值判断电子罗盘是否需要标定,也可根据机器人的工作时间或者行走里程判断电子罗盘是否需要标定,可以提高标定的可靠性。

需要说明的是,本公开实施例也可以根据机器人之中电子罗盘的当前检测值判断电子罗盘是否需要标定,在需要标定的情况下,控制机器人按照规划路径运动。

即在本公开的一个实施例中,如图2所示,机器人之中电子罗盘的标定方法,还可包括以下步骤S201及S202。

S201,获取机器人之中电子罗盘的当前检测值。

本公开实施例,可将电子罗盘采集的当前数据称为当前检测值,例如可以是磁偏角、航向角或者姿态角。

具体地,在机器人工作过程中,可通过其中的电子罗盘实时采集当前检测值,并获取该当前检测值。

S202,根据当前检测值判断电子罗盘是否需要标定,其中,在确定电子罗盘需要标定之后,控制机器人按照所述规划路径运动。

具体地,在获取到当前检测值之后,可根据当前检测值判断电子罗盘当前的工作状态,并根据当前的工作状态,判断电子罗盘是否需要标定,在确定电子罗盘需要标定(例如,电子罗盘产生漂移)之后,可执行上述步骤S101至S103。

可以理解的是,如果电子罗盘不需要标定,则停止当前流程或者返回执行上述步骤S201。

如果机器人之中的电子罗盘需要标定,则控制机器人按照规划路径运动,并采集运动过程之中电子罗盘采集的标定数据,根据标定数据对电子罗盘进行标定。例如,如果根据机器人之中电子罗盘的当前姿态角度值,判断出当前电子罗盘的在工作状态处于不健康状态(漂移状态),那么判定出电子罗盘需要标定,于是控制机器人按照规划路径(比如,类似于呈“8”字形的规划路径)运动,采集运动过程中电子罗盘采集的标定数据:多个姿态角度值,之后,根据多个姿态角度值对电子罗盘进行标定,从而完成电子罗盘的在线自主标定。

可以理解的是,在上述步骤S202中根据当前检测值判断电子罗盘是否需要标定时,为了提高判断的可靠性,可根据电子罗盘的历史检测值和当前检测值判断电子罗盘是否需要标定,也可设置参考检测值(厂家或者用户设置),以将当前检测值与参考检测值进行比对后判断电子罗盘是否需要标定,或者,还可通过参考传感器采集参考检测值,以根据参考检测值和电子罗盘的当前检测值判断电子罗盘是否需要标定。

即在本公开的一个实施例中,如图3所示,上述步骤S202,可包括以下步骤S301及S302:

S301,获取参考传感器的参考检测值。

本公开实施例,可在机器人中设置一个或者多个参考传感器(例如位置传感器、姿态传感器等),可将参考传感器采集的当前检测值称为参考检测值。

具体地,在获取到电子罗盘的当前检测值之后,获取参考传感器采集的参考检测值。

S302,根据参考传感器的参考检测值和电子罗盘的当前检测值判断电子罗盘是否需要标定。

具体地,在获取到电子罗盘的当前检测值和参考传感器的参考检测值之后,可将当前检测值和参考检测值进行分析比对,以根据分析比对结果分析电子罗盘的工作状态是否健康,如果电子罗盘的工作状态不健康,则判断出电子罗盘需要标定,之后,执行上述步骤S101至S103,实现对电子罗盘的标定;如果电子罗盘的工作状态健康,则判断出电子罗盘不需要标定,停止当前流程或者返回执行上述步骤S201。

由此,根据参考检测值和电子罗盘的当前检测值判断电子罗盘是否需要标定,提高了判断的可靠性和准确性,进一步提高标定的可靠性。

需要说明的是,在执行上述步骤S302时,如果参考传感器为一个,即参考检测值为一个,则可确定当前检测值与参考检测值之间的差值,以根据差值判断电子罗盘是否需要标定,即如果差值较小,那么可确定电子罗盘不需要标定,如果差值较大,那么可确定电子罗盘需要标定;如果参考传感器为多个,即对应的参考检测值也为多个,则根据图4所示的步骤执行上述步骤S302。

即在本公开的一个实施例中,参考传感器为多个时,如图4所示,上述步骤S302(根据参考传感器的参考检测值和电子罗盘的当前检测值判断电子罗盘是否需要标定)可包括以下步骤S401至S406:

S401,根据多个参考检测值和当前检测值生成代替旋转矩阵。

S402,根据代替旋转矩阵生成变动阈值。

S403,获取当前检测值和变动阈值之间的差值,并获取差值对应的权重。

需要说明的是,变动阈值和权重可以是指在机器人的不同运动状态设置的不同阈值和权值,如站立时,阈值较低权值较高,激烈运动时阈值较高权值较低。

当前检测值和变动阈值之间的差值可以是一个向量和标量(权值)之间的乘积。

S404,根据差值和对应的权重更新累积值。

S405,如果累积值大于或等于预设阈值,则判断电子罗盘需要标定。

S406,如果累积值小于预设阈值,则判断电子罗盘不需要标定。

需要说明的是,在机器人的感知系统设计中,通常会考虑传感器的冗余设计,即本公开实施例中的多个参考传感器可以是多种相同感知能力但性能不同的传感器。

在本公开实施例中,多个参考检测值可包含但不限于基于视觉(Visual)的位姿估计值Q

由于只用于对电子罗盘的工作状态进行分析,故参考检测值可以是机器人的当前姿态数据,即机器人在SO3空间上的姿态轨迹R∈SO3,其中,SO3是一个由行列式为1的3×3的正交矩阵组成的集合,R是指旋转矩阵(将本体坐标系转化为惯性坐标系的旋转矩阵)。

具体地,在获取到电子罗盘的当前检测值和多个参考检测值之后,可以使用四元数替代代替旋转矩阵R,故可以将上述四种姿态写为集合{Q

由此,根据多个参考检测值和当前检测值判断电子罗盘是否需要标定,进一步提高了判断的准确性。

需要说明的是,在上述步骤S103中,在电子罗盘需要标定并发起标定需要后,需判定机体是否处于安全区域。如果位于安全区域,则可进行自动的标定步骤,如果不在安全区域,需要发起请求使机器人寻找并移动到安全区域再执行自动标定的步骤。

即在本公开的一个实施例中,如图5所示,在上述步骤S101中,在控制机器人按照规划路径运动之前,还可包括以下步骤S501至S505:

S501,采集机器人的周边环境图像。

具体地,在发起标定请求后,可通过摄像头采集机器人的周边环境图像,周边环境图像中可包含机器人周边的物体和/或人类,例如周边的树木、动物、房屋等。

S502,根据周边环境图像生成机器人的可活动空间。

其中,可活动空间可以是指机器人当前可以活动的周边空间,例如机器人旁边的没有任何阻碍物的空地上。

具体地,在采集到周边环境图像之后,可根据周边环境图像中的物体位置确定机器人的可活动空间,以确保机器人绕开障碍物活动或者在无障碍物的空间中运动。

例如,如果周边环境图像中显示,距离机器人1米之外的某个空间是没有任何阻碍物的,那么可将距离机器人1米之外的某个空间确定为机器人的可活动空间。

S503,判断可活动空间是否满足预设曲线运动所需的运动空间。

其中,预设曲线可以为双纽线。双纽线的直角坐标系方程为:

(x

其中,x和y表示直角坐标系的x轴和y轴,a为机器人站立原位置能够往前够的最远距离和往后移的最远距离中的最小值的绝对值。可将x和y进行参数化为:

其中,t和θ均是指角度。

具体地,可判断可活动空间是否可以覆盖机器人基于预设曲线进行运动的轨迹,如果是,则说明可活动空间满足预设曲线运动所需的运动空间;如果否,则说明可活动空间不满足预设曲线运动所需的运动空间。

S504,如果满足,则进一步控制机器人按照预设曲线运动。

如果可活动空间满足预设曲线运动所需的运动空间,则控制机器人按照预设曲线运动。

例如,如果可活动空间为A1、预设曲线运动所需的运动空间为A2,如果A1覆盖了A2(A1≥A2),那么A1满足A2,于是控制机器人按照双纽线运动,即在可活动空间上形成双纽线轨迹。

S505,如果不满足,则暂停按照预设曲线运动,直至可活动空间满足所需运动空间。

如果可活动空间不满足预设曲线运动所需的运动空间,则暂停按照预设曲线运行,直至可活动空间满足所需运动空间。其中,在可活动空间的障碍物为静止不动的物体时,可控制机器人运动,以使可活动空间满足所需运动空间;在可活动空间的障碍物为活体、且该活体处于运动状态时,可待活体运动一段时间后继续判断可活动空间是否满足预设曲线运动所需的运动空间。

例如,如果可活动空间为A1、预设曲线运动所需的运动空间为A2,如果A1没有完全覆盖A2(A1<A2),那么A1不满足A2,于是暂停按照双纽线运行,同时,可控制机器人运动,以使可活动空间满足所需运动空间。

由此,在判断出电子罗盘需要标定之后,在控制机器人按照规划路径运动之前,根据机器人的周边环境图像确定出满足预设曲线运动所需的运动空间的可活动空间,以控制机器人按照预设曲线运动,从而可保证曲线运动的可靠性。

前述描述了如何判断电子罗盘是否需要标定,及在电子罗盘需要标定时,执行步骤S401至S405,之后即可控制机器人按照规划路径运动,并采集运动过程之中电子罗盘采集的标定数据。下面描述如何按照规划路径进行运动。

在本公开的一个实施例中,如图6所示,上述步骤S101中的控制机器人按照规划路径运动,可包括以下步骤S601至S603:

S601,控制机器人还原至站立状态。

需要说明的是,机器人的当前可能处于运动状态,例如向前运动状态、向后运动状态等,也可能处于其他可能的状态,例如弯曲状态等,为了方便从归零点开始生成规划路径,本公开实施例中可控制机器人还原至站立状态,即控制机器人站立原地,将腿足姿态还原至站立的初始化状态,并将本体的坐标系与世界坐标系的旋转角度均调整为0,即通过腿的站立角度来改变身高。

S602,根据预设曲线生成规划路径。

其中,预设曲线可以为双纽线。双纽线可以是根据参数a确定的,参数a是指机器人往前够的最大距离与往后够的最大距离间的较小值的绝对值(可能会因为参考系的缘故产生负值,所以需要加个绝对值)。

例如,机器人能够往前够的最大距离为1.3米、能够往后够的最大距离为-1.2米(其中,负号表示在参考系中的方向),可见1.3米的绝对值大于-1.2米的绝对值,于是可将1.2确定为参数a,从而根据参数a确定出双纽线为:

(x

其中,x和y表示直角坐标系的x轴和y轴。

在控制机器人站立原地之后,确定出上述双纽线(5)后,即可在基于该双纽线在机器人的可活动空间中生成呈“双纽线”的规划路径。

S603,控制机器人沿着规划路径重复预设曲线运动。

在生成规划路径之后,可控制机器人在可活动空间沿着规划路径重复预设曲线运动。在运动的过程中,可实时获取电子罗盘采集的标定数据。

本公开实施例还可将当前的站立高度调整至(H

进一步地,如图7所示,上述步骤S603,可包括以下步骤S701及S702:

S701,对预设曲线进行采样以生成每次曲线运动的四元数组合。

S702,按照每次曲线运动的四元数组合循环控制机器人进行运动。

更进一步地,上述步骤S603还可包括:在每次曲线运动时随机生成机器人的起始高度。

具体而言,基于预设曲线(双纽线),进行四元数的采样,以生成多个曲线运动对应的离散的四元数集合。然后按照每次曲线运动的四元数集合循环控制机器人进行运动,在机器人每次进行曲线运动时,可随机生成(例如使用系统随机数为种子身成一个正整数然后对其做2的余数计算)前后两个最大值(是指机器人往前够的最大距离及往后够的最大距离)时的高度(比如到达最前方的时候是最高,那么到达最后方的时候就取最低),还可按照离散的四元数集合设置离散的机身高度,可将四元数值和高度数据作为期望的姿态和高度,基于期望的姿态和高度对机器人进行控制,同时,可开启标定的程序对电子罗盘进行标定。标定程序发起完成标记时,或标定持续时间过久(可根据实际工况设置),即关闭姿态自动生成和标定程序,并返回结果。

也就是说,基于类似于阿拉伯数字“8”的曲线和随机的高度进行连续的数据采集用于电子罗盘的标定,在多自由度足式机器人上,这也是一种仿生的行为,使其富有仿生的意味,过程更加自然,提高的用户体验。

需要说明的是,本公开实施例中,在机器人判定需要标定时,可提示用户是否可以进行标定(客户端提示、语音提示),在用户给出进行标定的指令后,可根据用户指令就地按照规划路径运动,或者在用户指定的区域内按照规划路径运动。

即在本公开的一个实施例中,在上述步骤S101中的控制所述机器人按照规划路径运动之前,还可包括:给用户发送提示信息,以提示用户是否进行标定;接收用户的标定指令,其中,标定指令用于指示进行所述机器人之中电子罗盘的标定;根据标定指令判定进行标定。

进一步地,标定指令中可以携带用户指示的规划路径。

具体而言,在机器人判定出需要进行电子罗盘的标定时,可给用户发送提示信息,以提示用户是否进行标定,用户在接收到提示信息后,可作出是否进行标定的判断,如果是,则给机器人发送标定指令,进而机器人接收到该标定指令之后,便控制所述机器人按照规划路径运动,以进行电子罗盘的标定。当标定指令中携带用户指示的规划路径时,可控制机器人根据用户指示的规划路径进行运动。

由此,根据用户的指令进行标定,可以避免随意标定,同时增加了标定的互动性,提高了用户体验度。

综上所述,本公开实施例利用自动化的在线标定,从自动化的角度解决了机器人标定需要人员参与和无法适应不同工况的问题,可以在不同工况的情况下自动切换状态进行传感器的标定。一方面可以在检测到电子罗盘因工作环境的复杂电磁场变化产生漂移的基础之上,对电子罗盘进行重新标定,另一方面,在基于机器人(尤其是多自由度的足式机器人)上,通过较为自然和完善的动作使之自动化。使电子罗盘可以在长期运行中保持一种较为稳定和良好的工作状态,也提高了整个感知系统的稳定性。

本公开实施例还提出了一种机器人之中电子罗盘的标定装置,图8是根据本公开实施例的机器人之中电子罗盘的标定装置的结构框图。

如图8所示,该机器人之中电子罗盘的标定装置100包括:第一控制模块110、第一采集模块120及第一标定模块130。

其中,第一控制模块110,被配置为执行控制机器人按照规划路径运动;第一采集模块120,被配置为执行采集运动过程之中电子罗盘采集的标定数据;第一标定模块130,被配置为执行根据标定数据按照预设标定算法对电子罗盘进行标定。

在本公开的一个实施例中,机器人之中电子罗盘的标定装置100,还可包括:第一获取模块及第一判断模块。

其中,第一获取模块,被配置为执行获取机器人之中电子罗盘的当前检测值;第一判断模块,被配置为执行根据当前检测值判断电子罗盘是否需要标定,其中,在确定电子罗盘需要标定之后,控制机器人按照规划路径运动。

在本公开的一个实施例中,机器人之中电子罗盘的标定装置100,还可包括:第二判断模块,被配置为执行在机器人工作时长达到第一预设条件,或者,机器人行走里程达到第二预设条件,则判定需要进行标定。

在本公开的一个实施例中,第一判断模块,可包括:第一获取单元,被配置为执行获取参考传感器的参考检测值;第一判断单元,被配置为执行根据参考传感器的参考检测值和电子罗盘的当前检测值判断电子罗盘是否需要标定。

在本公开的一个实施例中,参考传感器为多个,第一判断单元,可包括:第一生成子单元,被配置为执行根据多个参考检测值和当前检测值生成代替旋转矩阵;第二生成子单元,被配置为执行根据代替旋转矩阵生成变动阈值;第一获取子单元,被配置为执行获取当前检测值和变动阈值之间的差值,并获取差值对应的权重;第一更新子单元,被配置为执行根据差值和对应的权重更新累积值;第一判断子单元,被配置为执行如果累积值大于或等于预设阈值,则判断电子罗盘需要标定;第二判断子单元,被配置为执行如果累积值小于预设阈值,则判断电子罗盘不需要标定。

在本公开的一个实施例中,机器人之中电子罗盘的标定装置100,还可包括:第二采集模块,被配置为执行采集机器人的周边环境图像;第一生成模块,被配置为执行根据周边环境图像生成机器人的可活动空间;第三断模块,被配置为执行判断可活动空间是否满足预设曲线运动所需的运动空间;第二控制模块,被配置为执行如果满足,则进一步控制机器人按照预设曲线运动;第三控制模块,被配置为执行如果不满足,则暂停按照预设曲线运动,直至可活动空间满足所需运动空间。

在本公开的一个实施例中,第一控制模块110,可包括:第一控制单元,被配置为执行控制机器人还原至站立状态;第一生成单元,被配置为执行根据预设曲线生成规划路径;第二控制单元,被配置为执行控制机器人沿着规划路径重复预设曲线运动。

在本公开的一个实施例中,第二控制单元,可包括:第三生成子单元,被配置为执行对预设曲线进行采样以生成每次曲线运动的四元数组合;第一控制子单元,被配置为执行按照每次曲线运动的四元数组合循环控制机器人进行运动。

在本公开的一个实施例中,第二控制单元,还可包括:第四生成子单元,被配置为执行在每次曲线运动时随机生成机器人的起始高度。

在本公开的一个实施例中,机器人之中电子罗盘的标定装置100,还可包括:第一发送模块,被配置为执行给用户发送提示信息,以提示用户是否进行标定;第一接收模块,被配置为执行接收用户的标定指令,其中,标定指令用于指示进行所述机器人之中电子罗盘的标定;第四判断模块,被配置为执行根据标定指令判定进行标定。

在本公开的一个实施例中,标定指令中携带所述用户指示的规划路径。

需要说明的是,该机器人之中电子罗盘的标定装置的具体实施方式可参见上述机器人之中电子罗盘的标定方法的具体实施方式,为避免冗余,此处不再详细赘述。

本公开实施例的机器人之中电子罗盘的标定装置,无需人工参与,即可实现电子罗盘的全自动在线标定,不仅提高了机器人的感知能力,而且降低了人工成本,改善了用户的使用体验。

本公开实施例还提出了一种机器人。

如图9所示,该机器人1000包括本公开实施例所提出的机器人之中电子罗盘的标定装置100。

在本公开的一个实施例中,该机器人还可包括头部、躯干本体、与躯干本体相连的腿部、以及和腿部相连的足部。

本公开实施例机器人,通过其中电子罗盘的标定装置,无需人工参与,即可实现电子罗盘的全自动在线标定,不仅提高了机器人的感知能力,而且降低了人工成本,改善了用户的使用体验。

图10是根据本公开实施例的电子设备的结构框图。

如图10所示,该电子设备200包括:存储器210和处理器220,连接不同组件(包括存储器210和处理器220)的总线230。

其中,存储器210用于存储处理器220的可执行指令;处理器201被配置为调用并执行存储器202存储的可执行指令,以实现本公开上述实施例提出的机器人之中电子罗盘的标定方法。

总线230表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。

电子设备200典型地包括多种电子设备可读介质。这些介质可以是任何能够被电子设备200访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

存储器210还可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)240和/或高速缓存存储器250。电子设备200可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统260可以用于读写不可移动的、非易失性磁介质(图9未显示,通常称为“硬盘驱动器”)。尽管图9中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线230相连。存储器210可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各实施例的功能。

具有一组(至少一个)程序模块270的程序/实用工具280,可以存储在例如存储器210中,这样的程序模块270包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块270通常执行本公开所描述的实施例中的功能和/或方法。

电子设备200也可以与一个或多个外部设备290(例如键盘、指向设备、显示器291等)通信,还可与一个或者多个使得用户能与该电子设备200交互的设备通信,和/或与使得该电子设备200能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口292进行。并且,电子设备200还可以通过网络适配器293与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器293通过总线230与电子设备200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

处理器220通过运行存储在存储器210中的程序,从而执行各种功能应用以及数据处理。

需要说明的是,本公开实施例的电子设备的实施过程参见前述对本公开实施例的数据处理的解释说明,此处不再赘述。

本公开实施例的电子设备,在处理器调用并执行存储器存储的可执行指令时,无需人工参与,即可实现电子罗盘的全自动在线标定,不仅提高了机器人的感知能力,而且降低了人工成本,改善了用户的使用体验。

为了实现上述实施例,本公开实施例还提出了一种非临时性计算机可读存储介质,该存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如前所述的机器人之中电子罗盘的标定方法。

为了实现上述实施例,本公开实施例还提供一种计算机程序产品,该计算机程序由电子设备的处理器执行时,使得电子设备能够执行如前所述的机器人之中电子罗盘的标定方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号