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

参数标定方法、装置、系统、存储介质及控制终端

文献发布时间:2023-06-19 19:28:50


参数标定方法、装置、系统、存储介质及控制终端

技术领域

本申请涉及机器人技术领域,特别的涉及一种参数标定方法、装置、系统、存储介质及控制终端。

背景技术

随着科技的快速发展,机器人开始逐步出现在人们的视野中,例如依靠滚轮移动的轮式机器人或是依靠机械臂移动的足式机器人等,且面对市场对机器人日益增大的需求,人们对于机器人的性能要求也越来越高。

对于目前的轮式机器人而言,通常利用滚轮控制机器人原地旋转得到旋转轨迹点,并根据轮距比值校正该机器人的旋转轨迹点,以实现对机器人的参数标定。而针对目前足式机器人的机械移动结构,上述轮式机器人的参数标定方法无法适用于足式机器人,基于此无法实现对足式机器人的参数标定。

发明内容

本申请实施例提供了一种参数标定方法、装置、系统、存储介质及控制终端,可用于对足式机器人的腿部进行参数标定。

第一方面,本申请实施例提供了一种参数标定方法,方法应用于足式机器人,足式机器人至少包括多条腿部,每条腿部包括多个关节,方法包括:

获取与足式机器人的目标腿部对应的M个第一位置数据,目标腿部为多条腿部中的任意一条腿部;M为正整数;

获取与第一位置数据对应的第二位置数据,第二位置数据基于目标腿部的关节转动数据以及初始腿部参数得到;

根据第一位置数据以及与第一位置数据对应的第二位置数据得到目标腿部的标定腿部参数。

第二方面,本申请实施例提供了一种参数标定装置,装置应用于足式机器人,足式机器人至少包括多条腿部,每条腿部包括多个关节,装置包括:

第一获取模块,用于获取与足式机器人的目标腿部对应的M个第一位置数据,目标腿部为多条腿部中的任意一条腿部;M为正整数;

第二获取模块,用于获取与第一位置数据对应的第二位置数据,第二位置数据基于目标腿部的关节转动数据以及初始腿部参数得到;

第一处理模块,用于根据第一位置数据以及与第一位置数据对应的第二位置数据得到目标腿部的标定腿部参数。

第三方面,本申请实施例提供了一种控制终端,包括处理器以及存储器;

处理器与存储器相连;

存储器,用于存储可执行程序代码;

处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行本申请实施例第一方面或第一方面的任意一种实现方式提供的参数标定方法。

第四方面,本申请实施例提供了一种参数标定系统,系统应用于足式机器人,足式机器人至少包括多条腿部,每条腿部包括多个关节,系统包括:

激光雷达,用于获取与足式机器人的目标腿部对应的M个第一位置数据,目标腿部为多条腿部中的任意一条腿部;M为正整数;

足式机器人,用于获取与第一位置数据对应的第二位置数据,第二位置数据基于目标腿部的关节转动数据以及初始腿部参数得到;

控制终端,用于根据第一位置数据以及与第一位置数据对应的第二位置数据得到目标腿部的标定腿部参数。

第五方面,本申请实施例提供了一种计算机存储介质,计算机存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,可实现本申请实施例第一方面或第一方面的任意一种实现方式提供的参数标定方法。

在本申请实施例中,可获取与足式机器人的目标腿部对应的M个第一位置数据,获取与第一位置数据对应的第二位置数据,第二位置数据基于目标腿部的关节转动数据以及初始腿部参数得到,并根据第一位置数据以及与第一位置数据对应的第二位置数据得到目标腿部的标定腿部参数。通过获取足式机器人目标腿部的位置数据,有效得到该目标腿部的标定参数,以实现对足式机器人的参数标定;同时在获取目标腿部的位置数据的过程中采用与地面无接触方式,避免因接触摩擦带来的降低参数精度问题,进而保障了参数的准确性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种参数标定系统的架构示意图;

图2为本申请实施例提供的又一种参数标定系统的架构示意图;

图3为本申请实施例提供的一种参数标定方法的整体流程示意图;

图4为本申请实施例提供的一种坐标系旋转角度示意图;

图5为本申请实施例提供的又一种参数标定方法的整体流程示意图;

图6为本申请实施例提供的一种足式机器人简化结构的坐标系示意图;

图7为本申请实施例提供的又一种参数标定方法的整体流程示意图;

图8为本申请实施例提供的一种足式机器人运动轨迹示意图;

图9为本申请实施例提供的又一种参数标定方法的整体流程示意图;

图10为本申请实施例提供的一种参数标定装置的结构示意图;

图11为本申请实施例提供的一种控制终端的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。

请参参阅图1,图1示出了本申请实施例提供的一种参数标定系统的架构示意图。

如图1所示,该参数标定系统100至少可以包括第一采集单元101、第二采集单元102以及处理单元103,其中:

第一采集单元101可用于获取与足式机器人的目标腿部对应的第一位置数据,该第一位置数据可包括一个或多个。其中,足式机器人的目标腿部可为足式机器人包括的多条腿部中任意一条腿部,例如四足机器人的目标腿部可以但不局限于为左前腿部、左后腿部、右前腿部或右后腿部。可以理解的是,第一位置数据可为对应于足式机器人的目标腿部在足式机器人坐标系下的位置坐标,由于目标腿部在第一采集单元101扫描过程中会扫描出多个点的位置数据,作为优选的可将目标腿部的标记点对应的位置坐标作为第一位置数据,该标记点可以但不局限于为目标腿部足部末端、足部底部或足部前端。此处当第一位置数据包括多个时,第一采集单元101可根据足式机器人的目标腿部的移动轨迹在预设时段内获取多个第一位置数据,每个第一位置数据可分别对应为一个时间戳,例如第一采集单元101可在预设时段1秒内获取10个第一位置数据,每个第一位置数据对应的时间戳可0.1秒。

需要说明的是,第一采集单元101可从采集到的目标腿部对应的所有第一位置数据中筛选出与标记点对应的第一位置数据。具体的,以第一采集单元101为激光雷达为例,可在足式机器人的目标腿部的标记点处粘贴用于增强或减弱激光发射强度的贴纸,以便于第一采集单元101快速识别并筛选出与标记点的反射强度对应的位置坐标。作为优选的,可在足式机器人的目标腿部的标记点处粘贴高强度激光反光片,以增强第一采集单元101采集到的对应于标记点的激光反射强度。且需要注意的是,此处激光雷达的激光扫描区域可与足式机器人的目标腿部的可到达移动区域相匹配,也即是说激光雷达的扫描区域可覆盖足式机器人的目标腿部的移动区域,且可以理解的激光雷达的扫描区域还可覆盖足式机器人的其他任意一条腿部的移动区域。

特别注意的是,在以第一采集单元101为激光雷达为例时,激光雷达需固定在足式机器人的预设位置,避免在采集第一位置数据的过程中不会发生晃动,影响第一位置数据的准确度。可以理解的是,预设位置可以但不局限于在足式机器人的正前方或正后方等。

上述提到的第一采集单元可以但不局限于为激光雷达或双目相机,其中激光雷达可包括单线激光雷达或多线激光雷达。可以理解的,单线激光雷达获取的第一位置数据可表示为(x,y),x可对应为基于激光雷达作为原点建立的二维直角坐标系中x轴对应的数值,y可对应为基于激光雷达作为原点建立的二维直角坐标系中y轴对应的数值。多线激光雷达获取的第一位置数据可表示为(x,y,z),x可对应为基于激光雷达作为原点建立的三维直角坐标系中x轴对应的数值,y可对应为基于激光雷达作为原点建立的三维直角坐标系中y轴对应的数值,z可对应为基于激光雷达作为原点建立的三维直角坐标系中z轴对应的数值。

此处单线激光雷达和多线激光雷达获取的点云数据均包含各个点的激光反射强度信息以及各自对应的位置坐标,可根据各个点的激光反射强度信息确定目标腿部的标记点对应的位置坐标。

当激光雷达采用单线激光雷达时,可根据单线激光雷达的放置方向相应移动足式机器人的目标腿部,以便于该单线激光雷达更便捷的采集第一位置数据。可能的,在单线激光雷达横置固定在足式机器人的正前方时,可按照从左向右或者从右向左的方向移动足式机器人的目标腿部,且优选的可使目标腿部的移动轨迹为直线。可能的,在单线激光雷达竖置固定在足式机器人的正前方时,可按照从上向下或者从下向上的方向移动足式机器人的目标腿部,且优选的可使目标腿部的移动轨迹为直线。

当激光雷达采用多线激光雷达时,可根据多线激光雷达的放置位置按照预设路径移动足式机器人的目标腿部,以便于该多线激光雷达在预设路径下快速采集第一位置数据。

可以理解的是,当第一采集单元101为双目相机时,也可通过双目相机采集的深度数据确定与目标腿部对应的第一位置数据,此处不过多赘述。可以理解的是,双目相机也可固定放置在足式机器人的预设位置处,避免在采集第一位置数据的过程中不会发生晃动,影响第一位置数据的准确度。当然,本实施例可以但不局限于通过双目相机获取第一位置数据,不限定于此。

第二采集单元102可用于获取与第一位置数据对应的第二位置数据,该第二位置数据可由与第一位置数据对应的足式机器人的目标腿部的关节转动数据以及初始腿部参数得到。其中,目标腿部的关节转动数据可根据控制目标腿部关节的电机数量确定,例如当目标腿部的关节包括髋关节、膝关节以及踝关节时,可对应有用于控制髋关节的电机、用于控制膝关节的电机以及用于控制踝关节的电机,此处目标腿部的关节转动数据可包括上述三个电机的转动角度。可以理解的是,足式机器人在每一条腿部均可设置有与目标腿部相同数量的电机,例如上述足式机器人的其余腿部均可设置有用于控制髋关节的电机、用于控制膝关节的电机以及用于控制踝关节的电机,也即整个足式机器人的腿部可一共由十二个电机控制。其中,目标腿部的初始腿部参数可以但不局限于包括目标腿部的大腿长度(髋关节到膝关节的关节距离)以及目标腿部的小腿长度(膝关节到踝关节的关节距离)的任意至少一种长度。

需要注意的是,第二采集单元102获取到的与第一位置数据对应的第二位置数据可由足式机器人的电机编码器或是由足式机器人的电机编码器以及惯性传感器融合采集得到,且当第一位置数据为多个时,每个第一位置数据可与每个第二位置数据为对应关系,例如但不局限于每个第一位置数据与每个第二位置数据的时间戳一致。

处理单元103可用于接收第一采集单元101获取的与足式机器人的目标腿部对应的第一位置数据,以及接收第二采集单元102获取的与第一位置数据对应的第二位置数据,并可根据第一位置数据以及与第一位置数据对应的第二位置数据得到足式机器人的目标腿部的标定腿部参数。其中,该目标腿部的标定腿部参数可为对应于目标腿部的初始腿部参数,例如当目标腿部的初始腿部参数为目标腿部的初始大腿长度以及初始小腿长度时,目标腿部的标定腿部参数也对应为标定大腿长度以及标定小腿长度,且在当目标腿部的标定大腿长度不等于初始大腿长度和/或目标腿部的标定小腿长度不等于初始小腿长度时,可将目标腿部的初始大腿长度调整为标定大腿长度和/或目标腿部的初始小腿长度调整为标定小腿长度。

可以理解的是,当确定目标腿部的标定腿部参数之后,还可根据该标定腿部参数确定足式机器人其余腿部的标定腿部参数,例如但不局限于可将该目标腿部的标定腿部参数作为其余腿部的标定腿部参数。

此处以该参数标定系统应用于足式机器人为例,请参阅图2示出的本申请实施例提供的又一种参数标定系统的架构示意图。

如图2所示,该参数标定系统200至少可以包括激光雷达201、足式机器人202以及控制终端203,其中:

激光雷达201可横置固定于足式机器人202的预设位置,例如但不局限于在足式机器人202的正前方或正后方,以获取足式机器人的目标腿部对应的一个或多个第一位置数据。其中,当激光雷达201为单线激光雷达时,第一位置数据对应的位置坐标可表示为(x,y),x可对应为基于激光雷达作为原点建立的二维直角坐标系中x轴对应的数值,y可对应为基于激光雷达作为原点建立的二维直角坐标系中y轴对应的数值。当激光雷达202为多线激光雷达时,第一位置对应的位置坐标可表示为(x,y,z),x可对应为基于激光雷达作为原点建立的三维直角坐标系中x轴对应的数值,y可对应为基于激光雷达作为原点建立的三维直角坐标系中y轴对应的数值,z可对应为基于激光雷达作为原点建立的三维直角坐标系中z轴对应的数值。

进一步的,激光雷达201可在获取的第一位置数据中确定目标腿部的标记点对应的位置坐标,该目标腿部的标记点可与目标腿部的其他点的激光反射强度不同,例如但不局限于目标腿部的标记点对应的激光反射强度大于目标腿部的其他点对应的激光反射强度。此处单线激光雷达和多线激光雷达获取的点云数据均包含各个点的激光反射强度信息以及各自对应的位置坐标,可根据各个点的激光反射强度信息确定目标腿部的标记点对应的位置坐标。

可以理解的是,当激光雷达201获取多个第一位置数据时,可在足式机器人的预设移动路径内获取在预设时段内的多帧点云数据,每帧点云数据可对应有时间戳,并在每帧点云数据中确定目标腿部的标记点对应的位置坐标。

足式机器人202的每条腿部可设置有一个或多个用于控制各个关节的电机,并设置有用于获取每条腿部对应的电机转动数据的电机编码器或电机编码器加惯性传感器。以电机编码器为例,当控制终端203控制足式机器人202的目标腿部按照预设移动路径移动时,可由足式机器人202的电机编码器获取目标腿部的所有电机对应的转动角度,并结合目标腿部的初始腿部参数得到第二位置数据。其中,目标腿部的初始腿部参数可根据目标腿部的关节类型确定,例如但不局限于包括目标腿部的大腿长度(髋关节到膝关节的关节距离)或目标腿部的小腿长度(膝关节到踝关节的关节距离)。当然,目标腿部的初始腿部参数还可根据目标腿部的关节数量确定,例如当关节数量为N时,目标腿部的初始腿部参数可包括N-1个腿部长度。

可以理解的是,在足式机器人202的目标腿部可设置有标记点,并在该标记点处粘贴用于增强或减弱激光发射强度的贴纸,以便于第一采集单元101快速识别并筛选出与标记点的反射强度对应的第一位置数据。

控制终端203可分别与激光雷达201以及足式机器人202连接,分别用于接收激光雷达发送的与足式机器人的目标腿部对应的第一位置数据,以及接收足式机器人202发送的与第一位置数据对应的第二位置数据,并可根据第一位置数据以及与第一位置数据对应的第二位置数据得到足式机器人的目标腿部的标定腿部参数。可以理解的是,控制终端203还可直接获取足式机器人202发送的目标腿部的电机转动数据,并根据该电机转动数据与预设目标腿部的初始腿部参数得到第二位置数据,本申请不限定于此。

进一步的,控制终端203在确定目标腿部的标定腿部参数之后,还可根据该标定腿部参数确定足式机器人其余腿部的标定腿部参数,例如但不局限于可将该目标腿部的标定腿部参数作为其余腿部的标定腿部参数,进而可使操作人员根据控制终端203得到的标定腿部参数将足式机器人的每条腿部的腿部长度进行调整。

接下来,本申请将以确定足式机器人的标定腿部参数的控制终端作为执行主体,对参数标定方法作进一步解释说明。

请参阅图3,图3示出了本申请实施例提供的一种参数标定方法的整体流程示意图。

如图3所示,该参数标定方法具体包括以下步骤:

步骤301、获取与足式机器人的目标腿部对应的M个第一位置数据。

本申请中足式机器人可至少包括多条腿部,每条腿部可包括有多个关节。以足式机器人为常见的四足机器人为例,四足机器人可包括有四条腿部,分别为左前腿、左后腿、右前腿以及右后腿,在每条腿部可设置有三个关节,其关节类型可包括髋关节、膝关节以及踝关节,且对应于每条腿部的每个关节均由一个电机控制转动。

具体地,控制终端获取的与足式机器人腿部对应的第一位置数据可由用于扫描足式机器人的目标腿部的扫描设备采集,该扫描设备可以但不局限于为激光雷达或双目相机等设备。此处以扫描设备为激光雷达为例,控制终端可获取由激光雷达扫描足式机器人的目标腿部的点云数据,并在获取的点云数据中确定第一位置数据。

此处M为正整数,具体可分为M等于1以及M大于1。可能的,当M等于1时,控制终端可获取由上述扫描设备采集到的处于某一时刻的对应于目标腿部的点云数据,并根据该某一时刻的点云数据确定相应的第一位置数据。

可能的,当M大于1时,控制终端可获取由上述扫描设备采集到的在某一时段内多个时刻的对应于目标腿部的点云数据,并根据每个时刻的点云数据确定各自相应的第一位置数据。

可以理解的是,上述提到的目标腿部可为足式机器人的多条腿部中的任意一条腿部,例如以足式机器人为四足机器人为例,目标腿部可为四足机器人的左前腿、左后腿、右前腿以及右后腿中任意一条腿部,且该目标腿部可由控制终端默认设定或由操作人员设定,并在控制终端的控制下进行移动。

步骤302、获取与第一位置数据对应的第二位置数据。

具体地,控制终端还可获取由足式机器人发送的与第一位置数据对应的第二位置数据,该第二位置数据可先由足式机器人的电机编码器或电机编码器以及惯性传感器采集目标腿部与第一位置数据对应的关节转动数据,并由控制终端结合该关节转动数据以及目标腿部的初始腿部参数得到。其中,关节转动数据可为控制目标腿部的一个或多个电机的转动角度,目标腿部的初始腿部参数可根据目标腿部的关节类型确定,例如但不局限于包括目标腿部的大腿长度(髋关节到膝关节的关节距离)或目标腿部的小腿长度(膝关节到踝关节的关节距离)。当然,目标腿部的初始腿部参数还可根据目标腿部的关节数量确定,例如当关节数量为N时,目标腿部的初始腿部参数可包括N-1个腿部长度。

步骤303、根据第一位置数据以及与第一位置数据对应的第二位置数据得到目标腿部的标定腿部参数。

具体地,控制终端在获取到第一位置数据以及与该第一位置数据对应的第二位置数据之后,还可根据该第一位置数据以及第二位置数据得到目标腿部的标定腿部参数。此处以步骤302中提到的目标腿部的初始腿部参数包括初始大腿长度以及初始小腿长度为例,控制终端得到的目标腿部的标定腿部参数可为标定大腿长度以及标定小腿长度。可以理解的是,控制终端在得到标定大腿长度以及标定小腿长度之后还可显示给操作人员,以便于操作人员的后续操作。

在本申请实施例中,通过获取足式机器人目标腿部的位置数据,有效得到该目标腿部的标定参数,以实现对足式机器人的参数标定;同时在获取目标腿部的位置数据的过程中采用与地面无接触方式,避免因接触摩擦带来的降低参数精度问题,进而保障了参数的准确性。

作为本申请的一个实施例,M=1;

获取与足式机器人的目标腿部对应的M个第一位置数据,包括:

获取一帧与目标腿部的标记点对应的点云数据,目标腿部的标记点对应的反射强度满足第一预设条件;

获取与第一位置数据对应的第二位置数据,包括:

获取与点云数据对应的第二位置数据。

具体地,在当M等于1时,以上述提到的扫描设备为激光雷达为例,控制终端可仅需获取一帧与目标腿部对应的点云数据,并在该点云数据中确定与目标腿部的标记点所对应的点云数据,该与目标腿部的标记点所对应的点云数据可包括该标记点的位置坐标。其中,目标腿部的标记点可为目标腿部的任意一处位置,例如但不局限于目标腿部的任意一个关节对应位置、目标腿部的足部末端或足部顶端等。

本申请此处以目标腿部的标记点为目标腿部的足部末端为例,为更好的在激光雷达扫描的目标腿部的点云数据中确定该目标腿部的足部末端的点云数据,可以但不局限于通过物理方式改变该目标腿部的足部末端的激光反射强度,以使该目标腿部的足部末端的激光反射强度满足第一预设条件。可以理解的是,第一预设条件可为目标腿部的足部末端的激光反射强度大于激光雷达采集的与目标腿部对应的点云数据中其他所有位置的激光反射强度,或是目标腿部的足部末端的激光反射强度小于激光雷达采集的与目标腿部对应的点云数据中其他所有位置的激光反射强度。作为优选的,可在该目标腿部的足部末端粘贴高强度激光反射片,以使激光雷达采集到的与目标腿部对应的点云数据中足部末端对应的激光反射强度最大,便于控制终端在获取到激光雷达采集到的与目标腿部对应的点云数据之后可将对应激光反射强度最大的位置坐标作为目标腿部的足部末端的位置坐标。

进一步的,控制终端在获取一帧与目标腿部的标记点对应的点云数据之后,还可获取与该点云数据对应的第二位置数据。其中,控制终端可先获取由足式机器人的电机编码器或电机编码器以及惯性传感器采集的对应于该点云数据的电机转动数据。此处当激光雷达为单线激光雷达时,每个电机转动数据具体可表示为(roll,pitch),roll可表示当前位置围绕x轴旋转的角度(也可称为俯仰角),pitch可表示当前位置围绕y轴旋转的角度(也可称为偏航角)。当激光雷达为多线激光雷达时,每个电机转动数据具体可表示为(roll,pitch,yaw),roll可表示当前位置围绕x轴旋转的角度(也可称为俯仰角),pitch可表示当前位置围绕y轴旋转的角度(也可称为偏航角),yaw可表示当前位置围绕z轴旋转的角度(也可称为翻滚角)。

需要说明的是,此处每个电机的电机转动数据所对应的坐标系均不同,每个电机的坐标系可通过旋转矩阵以及偏移矩阵转换得到。

控制终端在接收到扫描设备采集的第一位置数据之后,还可对该第一位置数据进行转换。此处以扫描设备为多线激光雷达为例,多线激光雷达采集到的点云数据中点的坐标均可表示为(x,y,z),x可对应为基于激光雷达作为原点建立的三维直角坐标系中x轴对应的数值,y可对应为基于激光雷达作为原点建立的三维直角坐标系中y轴对应的数值,z可对应为基于激光雷达作为原点建立的三维直角坐标系中z轴对应的数值。也即是说,控制终端接收到由多线激光雷达采集的点云数据是基于雷达坐标系生成,为更便捷的得到标定腿部参数,控制终端可将该点云数据转换为基于足式机器人坐标系的位置坐标。

具体地,以控制终端在上述多线激光雷达采集到的点云数据中确定与目标腿部的标记点所对应的点云数据为(x,y,z)为例,可基于如下公式(4-1)得到该位置在足式机器人坐标系下的坐标(X,Y,Z):

其中,R为旋转矩阵,T为激光雷达坐标系的原点在足式机器人坐标系中对应的坐标所表示的平移矩阵。

此处由于该位置在激光雷达坐标系下生成的坐标受x轴、y轴以及z轴三个方向上的分量共同控制,因此旋转矩阵R可通过如下公式(4-2)-(4-5)得到:

R=r1×r2×r3 (4-2)

其中,公式(4-3)中的α可为激光雷达坐标系对应的y轴与z轴所在平面与足式机器人坐标系对应的Y轴与Z轴所在平面的夹角,具体可参阅图4示出的本申请实施例提供的一种坐标系旋转角度示意图中a所对应的旋转角度示意图。公式(4-4)中的β可为激光雷达坐标系对应的x轴与z轴所在平面与足式机器人坐标系对应的X轴与Z轴所在平面的夹角,具体可参阅图4示出的本申请实施例提供的一种坐标系旋转角度示意图中b所对应的旋转角度示意图。公式(4-5)中的γ可为激光雷达坐标系对应的y轴与x轴所在平面与足式机器人坐标系对应的Y轴与X轴所在平面的夹角,具体可参阅图4示出的本申请实施例提供的一种坐标系旋转角度示意图中c所对应的旋转角度示意图。

需要说明的是,在本实施例中激光雷达相对于足式机器人的位置固定,上述提到的α、β以及γ均为固定值。

可以理解的是,上述提到的激光雷达坐标系与足式机器人坐标系之间的转换可基于编辑代码实现,例如但不局限于python代码,此处不过多赘述。

在本实施例中,为更好的保障标定数据的精度,可在获取的与目标腿部对应的点云数据中确定激光发射强度满足第一预设条件的标记点的点云数据,进而可根据该标记点的点云数据以及与该点云数据对应的第二位置数据得到目标腿部的标定腿部参数,以根据标记点的数据提高标定腿部参数的计算精确性。

作为本申请的又一个实施例,请参阅图5示出的本申请实施例提供的又一种参数标定方法的整体流程示意图。

如图5所示,该参数标定方法具体包括以下步骤:

步骤501、获取一帧与目标腿部的标记点对应的点云数据。

具体地,步骤501可参阅步骤301以及上述实施例,此处不过多赘述。

步骤502、获取目标腿部的标记点对应的关节转动数据。

具体地,以扫描设备为上述提到的激光雷达为例,控制终端在获取一帧由激光雷达采集的与目标腿部对应的点云数据之后,可在该与目标腿部对应的点云数据中根据激光反射强度确定与标记点对应的点云数据。此处为便于精确计算,可优选的将目标腿部的足部末端作为目标腿部的标记点。可以理解的是,在本实施例中目标腿部的足部末端的位置坐标在足式机器人中可看作与目标腿部的踝关节对应的位置坐标相同(也可理解为在足式机器人的腿部机械结构中踝关节相当于足部末端)。

在确定目标腿部的标记点之后,控制终端可基于足式机器人的电机编码器或电机编码器以及惯性传感器获取与目标腿部的标记点对应的关节转动数据。此处以目标腿部的标记点为上述提到的目标腿部的足部末端为例,该目标腿部的足部末端对应的关节转动数据包括目标腿部各个控制关节的电机的转动角度,例如当目标腿部包括髋关节、膝关节以及踝关节时,根据上述提到的将目标腿部的足部末端的位置坐标在足式机器人中可看作与目标腿部的踝关节对应的位置坐标相同,可仅需通过足式机器人的电机编码器或电机编码器以及惯性传感器获取用于控制髋关节的电机转动角度以及用于控制膝关节的电机转动角度。

步骤503、根据关节转动数据以及目标腿部的初始腿部参数计算得到第二位置数据。

具体地,控制终端在获取由足式机器人采集的目标腿部的标记点对应的关节转动数据之后,可根据目标腿部的初始腿部参数以及该关节转动数据得到与标记点对应的第二位置数据。此处以足式机器人为每条腿部包括髋关节、膝关节以及踝关节的四足机器人,且目标腿部的标记点为目标腿部的足部末端为例,可参阅图6示出的本申请实施例提供的一种足式机器人简化结构的坐标系示意图。

如图6所示,在该示意图中选取足式机器人的右前腿部作为目标腿部,右前腿部的足部末端作为标记点,在足式机器人的质心位置建立足式机器人坐标系(坐标系原点用A表示),在右前腿部的髋关节处定义髋关节坐标系(坐标系原点用B表示),在右前腿部的膝关节处定义膝关节坐标系(坐标系原点用C表示),在右前腿部的足部末端(也即是踝关节处)定义踝关节坐标系(坐标原点用D表示)。其中,足式机器人坐标系的X轴方向可为水平向右,Y轴方向可为垂直向上,Z轴方向垂直指向纸外(图中未示出)。髋关节坐标系的X轴方向可为沿大腿由髋关节指向膝关节,Z轴方向垂直指向纸外(图中未示出),Y轴方向根据右手法则确定(如图所示)。膝关节坐标系的X轴方向沿小腿由膝关节指向足部末端(也即是踝关节),Z轴方向垂直指向纸外(图中未示出),Y轴方向根据右手法则确定(如图所示)。踝关节坐标系可由膝关节坐标沿小腿平移小腿长度至足部末端(也即是踝关节)得到。

进一步的,可得到髋关节坐标系相对于足式机器人坐标系的变化矩阵如下:

示中

可为髋关节坐标系原点在足式机器人坐标系下对应x轴的坐标,/>

示中

变换矩阵

旋转变换为绕x、y、z轴进行旋转,其分别可表示为:

绕髋关节坐标系的x轴旋转为:

绕髋关节坐标系的y轴旋转为:

绕髋关节坐标系的z轴旋转为:

整体依次绕x、y、z轴分别旋转γ、β、α,其旋转矩阵A=A1×A2×A3×A4,也即:

可以理解的是,图6中足式机器人沿x、y、z轴移动到髋关节坐标系距离分别为a、b、c,髋关节坐标系沿x、y、z轴移动到膝关节坐标系的距离分别为L1、0、0,膝关节坐标系沿x、y、z轴移动到踝关节坐标系的距离分别为L2、0、0。其中,右前腿部的初始腿部参数可包括大腿长度L1以及小腿长度L2,用于控制髋关节的电机采集到髋关节的转动角度可为θ1,用于控制膝关节的电机采集到膝关节的转动角度可为θ2。

基于上述,踝关节坐标系相对于足式机器人坐标的变换矩阵可由相邻坐标系变换矩阵相乘得出,可表示为:

可由上式(6-1)至(6-4)计算出各个变换矩阵如下:

式中C1表示cosθ1,S1表示sinθ1,C2表示cosθ2,S2表示sinθ2。

进而根据公式(6-7)得到变换矩阵

其中C12为cos(θ1+θ2),S12为sin(θ1+θ2)。

进一步的,控制终端可根据公式(6-11)带入初始腿部参数以及关节转动数据得到足部末端的第二位置数据。可以理解的是,该第二位置数据为基于足式机器人坐标系得到,便于与同样基于足式机器人坐标系生成的第一位置数据进行计算,避免数据的不同步。

步骤504、计算目标腿部的标记点对应的点云数据和与点云数据对应的第二位置数据的距离误差,并根据距离误差的结果得到目标腿部的标定腿部参数。

具体地,控制终端在得到目标腿部的标记点对应的点云数据以及与点云数据对应的第二位置数据之后,可对点云数据对应的位置坐标以及第二位置数据对应的位置坐标进行距离计算,得到两个位置坐标的距离误差,并进一步的可根据该两个位置坐标的距离误差得到目标腿部的标定腿部参数。

其中,以上述点云数据对应的位置坐标可表示为(x1,y1,z1),第二位置数据对应的位置坐标可表示为(x2,y2,z2)为例,距离误差的计算公式Δ可以但不局限于为:

在本申请实施例中,可获取基于同一坐标系得到的点云数据以及第二位置数据,避免数据之间的不同步性所带来的误差,进而通过坐标距离误差的计算方式得到与目标腿部的标定腿部参数,在保证数据精确性的同时还可提高计算效率,以满足用户的标定体验。

作为本申请的又一个实施例,根据距离误差的结果得到目标腿部的标定腿部参数,包括:

若距离误差的结果满足第二预设条件,将目标腿部的初始腿部参数作为目标腿部的标定腿部参数;

若距离误差的结果不满足第二预设条件,对距离误差进行最小二乘循环计算,直至计算后的距离误差满足第二预设条件;

将与满足第二预设条件的距离误差对应的腿部参数作为目标腿部的标定腿部参数。

具体地,控制终端在计算出点云数据对应的位置坐标以及第二位置数据对应的位置坐标的距离误差之后,可判断该距离误差是否满足第二预设条件,若检测到该距离误差满足第二预设条件,则表明目标腿部的初始腿部参数达到标定腿部参数误差要求,可将该目标腿部的初始腿部参数作为目标腿部的标定腿部参数。此处以目标腿部的初始腿部参数包括初始大腿长度以及初始小腿长度为例,当检测到该距离误差满足第二预设条件时,控制终端可对目标腿部的初始大腿长度以及初始小腿长度进行显示,便于操作人员进行其他标定操作。

若检测到该距离误差不满足第二预设条件,则表明目标腿部的初始腿部参数未达到标定腿部参数误差要求,可对该距离误差进行最小二乘循环计算,不断调整距离误差中对应的初始腿部参数,直至重新计算出的距离误差满足第二预设条件。可以理解的是,此处在对距离误差进行最小二乘循环计算之前,可将距离误差的表达式调整为将初始腿部参数作为未知参数的表达式,便于将不断调整的初始腿部参数带入至距离误差的表达式以计算出相应的距离误差,可提高数据的计算效率。作为优选的,本实施例中控制终端可将上述距离误差输入至训练好的误差模型,输出标定腿部参数,其中该误差模型可执行最小二乘循环算法,并由已知是否满足第二预设条件的样本距离误差以及样本腿部参数训练得到。

需要注意的是,上述提到的第二预设条件可为预设区间,可能的,当检测到距离误差对应的数值属于预设区间时,可表明距离误差满足该第二预设条件。可能的,当检测到距离误差对应的数值不属于预设区间时,可表明距离误差不满足该第二预设条件,进而可对该距离误差进行最小二乘循环计算,不断调整距离误差中对应的初始腿部参数,直至重新计算出的距离误差对应的数值属于预设区间。

在本申请实施例中,可通过判断距离误差是否满足第二预设条件来确定标定腿部参数,其中在不满足该第二预设条件时还可通过最小二乘循环计算得到满足该第二预设条件所对应的标定腿部参数,基于算法计算可进一步保障标定腿部参数的准确性和有效性,以满足用户的标定体验。

作为本申请的又一个实施例,请参阅图7示出的本申请实施例提供的又一种参数标定方法的整体流程示意图。

如图7所示,该参数标定方法具体包括以下步骤:

步骤701、在足式机器人按照预设路径移动的过程中获取M帧与目标腿部的标记点对应的点云数据,每帧点云数据对应一个时间戳。

具体地,M大于等于2,以上述提到的扫描设备为激光雷达为例,控制终端可获取多帧与目标腿部对应的点云数据,并在每帧点云数据中确定与目标腿部的标记点所对应的点云数据,该与目标腿部的标记点所对应的点云数据可包括该标记点的位置坐标。其中,目标腿部的标记点可为目标腿部的任意一处位置,例如但不局限于目标腿部的任意一个关节对应位置、目标腿部的足部末端或足部顶端等。可以理解的是,作为优先的M可大于等于10,以使得到的标定腿部参数更具适用性和可靠性。

本申请此处以目标腿部的标记点为目标腿部的足部末端为例,为更好的在激光雷达扫描的目标腿部的点云数据中确定该目标腿部的足部末端的点云数据,可以但不局限于通过物理方式改变该目标腿部的足部末端的激光反射强度,以使该目标腿部的足部末端的激光反射强度满足第一预设条件。可以理解的是,第一预设条件可为目标腿部的足部末端的激光反射强度大于激光雷达采集的与目标腿部对应的点云数据中其他所有位置的激光反射强度,或是目标腿部的足部末端的激光反射强度小于激光雷达采集的与目标腿部对应的点云数据中其他所有位置的激光反射强度。作为优选的,可在该目标腿部的足部末端粘贴高强度激光反射片,以使激光雷达采集到的与目标腿部对应的点云数据中足部末端对应的激光反射强度最大,便于控制终端在获取到激光雷达采集到的与目标腿部对应的点云数据之后可将对应激光反射强度最大的位置坐标作为目标腿部的足部末端的位置坐标。

需要注意的是,控制终端可基于激光雷达扫描的方向按照预设路径控制目标腿部进行移动。可能的,当激光雷达为单线激光雷达时,控制终端可控制目标腿部按照单线激光雷达的扫描方向进行直线运动,以使目标腿部的标记点对应的运动轨迹为直线。此处可参阅图8示出的本申请实施例提供的一种足式机器人运动轨迹示意图。如图8所示,在单线激光雷达的扫描方向为从左向右或是从右向左时,控制终端可控制足式机器人的目标腿部在单线激光雷达扫描方向上做直线运动,例如图8a所示的直线运动轨迹、图8b所示的直线运动轨迹以及图8c所示的直线运动轨迹。其中,图8a所示的直线运动轨迹与单线激光雷达的扫描方向平行,图8b所示的直线运动轨迹与单线激光雷达的扫描方向的夹角可为锐角,图8c所示的直线运动轨迹与单线激光雷达的扫描方向的夹角可为钝角(本实施例不限定于此)。以图8a所示的直线运动轨迹为例,单线激光雷达可在足式机器人的目标腿部按照该直线运动轨迹的运动过程中采集6帧与目标腿部对应的点云数据,每帧点云数据可分别对应目标腿部在直线运动轨迹中的a1、a2、a3、a4、a5以及a6处。可以理解的是,每帧点云数据可分别对应一个时间戳,例如a1处采集的点云数据对应的时间戳为0.1秒,a2处采集的点云数据对应的时间戳为0.2秒,a3处采集的点云数据对应的时间戳为0.3秒,a4处采集的点云数据对应的时间戳为0.4秒,a5处采集的点云数据对应的时间戳为0.5秒,a6处采集的点云数据对应的时间戳为0.6秒,也即是说每帧点云数据的采集间隔一致,此方式可使采集的每帧点云数据具有规律性,有利于提高连续数据计算过程中的准确性。

可能的,当激光雷达为多线激光雷达时,控制终端可控制目标腿部按照预设计算的期望轨迹进行运动,以使目标腿部的标记点对应的运动轨迹为期望曲线,进而可保障计算数据的可控性,具体过程此处不过多赘述。

还需要说明的是,控制终端在控制足式机器人的目标腿部按照预设路径移动时,需使目标腿部的移动范围处于激光雷达的可扫描范围内,以确保采集的第一位置数据的有效性。

步骤702、获取目标腿部的标记点与每帧点云数据的时间戳一致的关节转动数据。

具体地,步骤702可参阅上述步骤502,此处不过多赘述。

步骤703、根据每个关节转动数据以及目标腿部的初始腿部参数计算得到与每帧点云数据对应的第二位置数据。

具体地,步骤703可参阅上述步骤503,此处不过多赘述。

步骤704、计算每帧目标腿部的标记点对应的点云数据和与点云数据对应的第二位置数据的距离误差,并根据每个距离误差的结果得到目标腿部的标定腿部参数。

具体地,步骤704可参阅上述步骤504,此处不过多赘述。

作为本申请的又一个实施例,根据每个距离误差的结果得到目标腿部的标定腿部参数,包括:

若每个距离误差的结果均满足第二预设条件,将目标腿部的初始腿部参数作为目标腿部的标定腿部参数;

若存在距离误差的结果不满足第二预设条件,对每个距离误差进行最小二乘循环计算,直至每个计算后的距离误差均满足预设阈值条件;

将与满足第二预设条件的距离误差对应的腿部参数作为目标腿部的标定腿部参数。

具体地,控制终端在计算出每帧点云数据对应的位置坐标以及第二位置数据对应的位置坐标的距离误差之后,可判断每个距离误差是否均满足第二预设条件,若检测到每个距离误差均满足第二预设条件,则表明目标腿部的初始腿部参数达到标定腿部参数误差要求,可将该目标腿部的初始腿部参数作为目标腿部的标定腿部参数。此处以目标腿部的初始腿部参数包括初始大腿长度以及初始小腿长度为例,当检测到每个距离误差均满足第二预设条件时,控制终端可对目标腿部的初始大腿长度以及初始小腿长度进行显示,便于操作人员进行其他标定操作。

若检测到存在至少一个距离误差不满足第二预设条件,则表明目标腿部的初始腿部参数未达到标定腿部参数误差要求,可对每个距离误差进行最小二乘循环计算,不断调整距离误差中对应的初始腿部参数,直至重新计算出的每个距离误差均满足第二预设条件。可以理解的是,此处在对每个距离误差进行最小二乘循环计算之前,可将每个距离误差的表达式调整为将初始腿部参数作为未知参数的表达式,便于将不断调整的初始腿部参数带入至每个距离误差的表达式以计算出相应的距离误差,可提高数据的计算效率。作为优选的,本实施例中控制终端可将上述每个距离误差均输入至训练好的误差模型,输出标定腿部参数,其中该误差模型可执行最小二乘循环算法,并由已知是否满足第二预设条件的样本距离误差以及样本腿部参数训练得到。

需要注意的是,上述提到的第二预设条件可为预设区间,可能的,当检测到每个距离误差对应的数值均属于预设区间时,可表明每个距离误差均满足该第二预设条件。可能的,当检测到存在至少一个距离误差对应的数值不属于预设区间时,可表明距离误差不满足该第二预设条件,进而可对每个距离误差进行最小二乘循环计算,不断调整距离误差中对应的初始腿部参数,直至重新计算出的每个距离误差对应的数值均属于预设区间。

作为本申请的又一个实施例,根据第一位置数据以及与第一位置数据对应的第二位置数据得到目标腿部的标定腿部参数之后,还包括:

将目标腿部的初始腿部参数更新为标定腿部参数。

具体地,控制终端在得到目标腿部的标定腿部参数之后,可将目标腿部的初始腿部参数进行更新,并将更新的标定腿部参数展示给操作人员。可能的,若得到的标定腿部参数为初始腿部参数,则可不对初始腿部参数进行更新,并在展示该初始腿部参数的过程中可生成用于表征腿部参数正常的提示信息。可能的,若得到的标定腿部参数不为初始腿部参数,则可将初始腿部参数更新为标定腿部参数,并在展示该标定腿部参数的过程中可生成用于表征腿部参数已更新的提示信息,以便于操作人员快速了解目标腿部的腿部参数,给操作人员带来更多便利性。

作为本申请的又一个实施例,请参阅图9示出的本申请实施例提供的又一种参数标定方法的整体流程示意图。

如图9所示,该参数标定方法至少包括以下步骤:

步骤901、在足式机器人按照预设路径移动的过程中获取与目标腿部的标记点对应的点云数据。

步骤902、获取目标腿部的标记点与点云数据的时间戳一致的关节转动数据。

步骤903、根据关节转动数据以及目标腿部的初始腿部参数计算得到与点云数据对应的第二位置数据。

步骤904、计算目标腿部的标记点对应的点云数据和与点云数据对应的第二位置数据的距离误差。

步骤905、判断距离误差的结果满足第二预设条件,若是则进入步骤906,若否则进入步骤907。

步骤906、确定标定腿部参数,并将目标腿部的初始腿部参数更新为标定腿部参数。

步骤907、对距离误差进行最小二乘循环计算,并返回至步骤905。

具体地,控制终端可在控制足式机器人按照预设路径移动的过程中获取由激光雷达采集的与目标腿部对应的点云数据,并从该点云数据中确定与目标腿部的标记点对应的点云数据,此处激光雷达采集的点云数据可对应有时间戳,以便于控制终端获取由足式机器人的电机编码器采集的目标腿部的标记点与点云数据的时间戳一致的关节转动数据。进一步的,控制终端在获取关节转动数据之后,可根据关节转动数据以及目标腿部的初始腿部参数计算得到与点云数据对应的第二位置数据,并计算目标腿部的标记点对应的点云数据和与点云数据对应的第二位置数据的距离误差。可以理解的是,在计算目标腿部的标记点对应的点云数据和与点云数据对应的第二位置数据的距离误差之前,还可将点云数据转换为基于足式机器人坐标系生成的位置坐标。进一步的,控制终端可判断计算出的距离误差是否满足第二预设条件,当检测到满足第二预设条件时,可将满足第二预设条件的距离误差所对应的腿部参数作为标定腿部参数,并将目标腿部的初始腿部参数更新为标定腿部参数。

当检测到不满足第二预设条件时,可对距离误差进行最小二乘循环计算,并继续判断重新计算得到的距离误差是否满足第二预设条件,直至重新计算得到的距离误差满足第二预设条件。可以理解的是,当重新计算得到的距离误差满足第二预设条件时,可将该重新计算得到的距离误差所对应的腿部参数作为标定腿部参数,并将目标腿部的初始腿部参数更新为标定腿部参数。

请参阅图10,图10示出了本申请实施例提供的一种参数标定装置的结构示意图。

如图10所示,该参数标定装置1000应用于足式机器人,足式机器人至少包括多条腿部,每条腿部包括多个关节,至少可以包括第一获取模块1001、第二获取模块1002以及第一处理模块1003,其中:

第一获取模块1001,用于获取与足式机器人的目标腿部对应的M个第一位置数据,目标腿部为多条腿部中的任意一条腿部;M为正整数;

第二获取模块1002,用于获取与第一位置数据对应的第二位置数据,第二位置数据基于目标腿部的关节转动数据以及初始腿部参数得到;

第一处理模块1003,用于根据第一位置数据以及与第一位置数据对应的第二位置数据得到目标腿部的标定腿部参数。

在一些可能的实施例中,M=1;

第一获取模块1001,具体用于获取一帧与目标腿部的标记点对应的点云数据,目标腿部的标记点对应的反射强度满足第一预设条件;

第二获取模块1002,具体用于获取与点云数据对应的第二位置数据。

在一些可能的实施例中,第二获取模块1002包括:

第一处理单元,用于获取目标腿部的标记点对应的关节转动数据;

第二处理单元,用于根据关节转动数据以及目标腿部的初始腿部参数计算得到第二位置数据。

在一些可能的实施例中,第一处理模块1003具体用于:

计算目标腿部的标记点对应的点云数据和与点云数据对应的第二位置数据的距离误差,并根据距离误差的结果得到目标腿部的标定腿部参数。

在一些可能的实施例中,第一处理模块1003具体用于:

若距离误差的结果满足第二预设条件,将目标腿部的初始腿部参数作为目标腿部的标定腿部参数;

若距离误差的结果不满足第二预设条件,对距离误差进行最小二乘循环计算,直至计算后的距离误差满足第二预设条件;

将与满足第二预设条件的距离误差对应的腿部参数作为目标腿部的标定腿部参数。

在一些可能的实施例中,M大于或等于2;

第一获取模块1001,具体用于获取M帧与目标腿部的标记点对应的点云数据,目标腿部的标记点对应的反射强度满足第一预设条件;

第二获取模块1002,具体用于获取与M帧点云数据各自对应的第二位置数据。

在一些可能的实施例中,每个第二位置数据对应一个时间戳;足式机器人按照预设路径移动;

第一获取模块1001,具体用于在足式机器人按照预设路径移动的过程中获取M帧与目标腿部的标记点对应的点云数据,每帧点云数据对应一个时间戳;

第二获取模块1002,具体用于获取与每帧点云数据的时间戳一致的第二位置数据。

在一些可能的实施例中,第二获取模块1002包括:

第三处理单元,用于获取目标腿部的标记点与每帧点云数据的时间戳一致的关节转动数据;

第四处理单元,用于根据每个关节转动数据以及目标腿部的初始腿部参数计算得到与每帧点云数据对应的第二位置数据。

在一些可能的实施例中,第一处理模块1003具体用于:

计算每帧目标腿部的标记点对应的点云数据和与点云数据对应的第二位置数据的距离误差,并根据每个距离误差的结果得到目标腿部的标定腿部参数。

在一些可能的实施例中,第一处理模块1003具体用于:

若每个距离误差的结果均满足第二预设条件,将目标腿部的初始腿部参数作为目标腿部的标定腿部参数;

若存在距离误差的结果不满足第二预设条件,对每个距离误差进行最小二乘循环计算,直至每个计算后的距离误差均满足预设阈值条件;

将与满足第二预设条件的距离误差对应的腿部参数作为目标腿部的标定腿部参数。

在一些可能的实施例中,该参数标定装置1000还包括:

第二处理模块,用于在根据第一位置数据以及与第一位置数据对应的第二位置数据得到目标腿部的标定腿部参数之后,将目标腿部的初始腿部参数更新为标定腿部参数。

请参阅图11,图11示出了本申请实施例提供的一种控制终端的结构示意图。

如图11所示,该控制终端1100应用于足式机器人,所述足式机器人至少包括多条腿部,每条所述腿部包括多个关节,可以包括:至少一个处理器1101、至少一个网络接口1104、用户接口1103、存储器1105以及至少一个通信总线1102。

其中,通信总线1102可用于实现上述各个组件的连接通信。

其中,用户接口1103可以包括按键,可选用户接口还可以包括标准的有线接口、无线接口。

其中,网络接口1104可以但不局限于包括蓝牙模块、NFC模块、Wi-Fi模块等。

其中,处理器1101可以包括一个或者多个处理核心。处理器1101利用各种接口和线路连接整个电子设备1100内的各个部分,通过运行或执行存储在存储器1105内的指令、程序、代码集或指令集,以及调用存储在存储器1105内的数据,执行路由设备1100的各种功能和处理数据。可选的,处理器1101可以采用DSP、FPGA、PLA中的至少一种硬件形式来实现。处理器1101可集成CPU、GPU和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1101中,单独通过一块芯片进行实现。

其中,存储器1105可以包括RAM,也可以包括ROM。可选的,该存储器1105包括非瞬时性计算机可读介质。存储器1105可用于存储指令、程序、代码、代码集或指令集。存储器1105可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器1105可选的还可以是至少一个位于远离前述处理器1101的存储装置。如图11所示,作为一种计算机存储介质的存储器1105中可以包括操作系统、网络通信模块、用户接口模块以及参数标定应用程序。

具体地,处理器1101可以用于调用存储器1105中存储的参数标定应用程序,并具体执行以下操作:

获取与所述足式机器人的目标腿部对应的M个第一位置数据,所述目标腿部为所述多条腿部中的任意一条腿部;所述M为正整数;

获取与所述第一位置数据对应的第二位置数据,所述第二位置数据基于所述目标腿部的关节转动数据以及初始腿部参数得到;

根据所述第一位置数据以及与所述第一位置数据对应的第二位置数据得到所述目标腿部的标定腿部参数。

在一些可能的实施例中,M=1;

处理器1101在获取与所述足式机器人的目标腿部对应的M个第一位置数据时,具体执行:

获取一帧与所述目标腿部的标记点对应的点云数据,所述目标腿部的标记点对应的反射强度满足第一预设条件;

处理器1101在获取与所述第一位置数据对应的第二位置数据时,具体执行:

获取与所述点云数据对应的第二位置数据。

在一些可能的实施例中,处理器1101在获取与所述点云数据对应的第二位置数据时,具体执行:

获取所述目标腿部的标记点对应的关节转动数据;

根据所述关节转动数据以及所述目标腿部的初始腿部参数计算得到第二位置数据。

在一些可能的实施例中,处理器1101在根据所述第一位置数据以及与所述第一位置数据对应的第二位置数据得到所述目标腿部的标定腿部参数时,具体执行:

计算所述目标腿部的标记点对应的点云数据和与所述点云数据对应的第二位置数据的距离误差,并根据所述距离误差的结果得到所述目标腿部的标定腿部参数。

在一些可能的实施例中,处理器1101在根据所述距离误差的结果得到所述目标腿部的标定腿部参数时,具体执行:

若所述距离误差的结果满足第二预设条件,将所述目标腿部的初始腿部参数作为所述目标腿部的标定腿部参数;

若所述距离误差的结果不满足所述第二预设条件,对所述距离误差进行最小二乘循环计算,直至计算后的距离误差满足所述第二预设条件;

将与满足所述第二预设条件的距离误差对应的腿部参数作为所述目标腿部的标定腿部参数。

在一些可能的实施例中,M大于或等于2;

处理器1101在获取与所述足式机器人的目标腿部对应的M个第一位置数据时,具体执行:

获取M帧与所述目标腿部的标记点对应的点云数据,所述目标腿部的标记点对应的反射强度满足第一预设条件;

处理器1101在获取与所述第一位置数据对应的第二位置数据时,具体执行:

获取与M帧所述点云数据各自对应的第二位置数据。

在一些可能的实施例中,每个所述第二位置数据对应一个时间戳;所述足式机器人按照预设路径移动;

处理器1101在获取M帧与所述目标腿部的标记点对应的点云数据时,具体执行:

在所述足式机器人按照所述预设路径移动的过程中获取M帧与所述目标腿部的标记点对应的点云数据,每帧所述点云数据对应一个时间戳;

处理器1101在获取与M帧所述点云数据各自对应的第二位置数据时,具体执行:

获取与每帧所述点云数据的时间戳一致的第二位置数据。

在一些可能的实施例中,处理器1101在获取与每帧所述点云数据的时间戳一致的第二位置数据时,具体执行:

获取所述目标腿部的标记点与每帧所述点云数据的时间戳一致的关节转动数据;

根据每个所述关节转动数据以及所述目标腿部的初始腿部参数计算得到与每帧所述点云数据对应的第二位置数据。

在一些可能的实施例中,处理器1101在根据所述第一位置数据以及与所述第一位置数据对应的第二位置数据得到所述目标腿部的标定腿部参数时,具体执行:

计算每帧所述目标腿部的标记点对应的点云数据和与所述点云数据对应的第二位置数据的距离误差,并根据每个所述距离误差的结果得到所述目标腿部的标定腿部参数。

在一些可能的实施例中,处理器1101在根据每个所述距离误差的结果得到所述目标腿部的标定腿部参数时,具体执行:

若每个所述距离误差的结果均满足第二预设条件,将所述目标腿部的初始腿部参数作为所述目标腿部的标定腿部参数;

若存在所述距离误差的结果不满足所述第二预设条件,对每个所述距离误差进行最小二乘循环计算,直至每个计算后的距离误差均满足预设阈值条件;

将与满足所述第二预设条件的距离误差对应的腿部参数作为所述目标腿部的标定腿部参数。

在一些可能的实施例中,处理器1101在根据所述第一位置数据以及与所述第一位置数据对应的第二位置数据得到所述目标腿部的标定腿部参数之后,还用于执行:

将所述目标腿部的初始腿部参数更新为所述标定腿部参数。

本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机或处理器上运行时,使得计算机或处理器执行上述图3或图5或图7或图9所示实施例中的一个或多个步骤。上述电子设备的各组成模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在所述计算机可读取存储介质中。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital SubscriberLine,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字多功能光盘(Digital VersatileDisc,DVD))、或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可存储程序代码的介质。在不冲突的情况下,本实施例和实施方案中的技术特征可以任意组合。

以上所述的实施例仅仅是本申请的优选实施例方式进行描述,并非对本申请的范围进行限定,在不脱离本申请的设计精神的前提下,本领域普通技术人员对本申请的技术方案作出的各种变形及改进,均应落入本申请的权利要求书确定的保护范围内。

技术分类

06120115922540