机器人足端摆动路径确定方法、装置和电子设备

文档序号:32157946发布日期:2022-11-12 00:48阅读:74来源:国知局
机器人足端摆动路径确定方法、装置和电子设备

1.本发明涉及人工智能技术领域,尤其涉及一种机器人路径确定方法、装置和电子设备。


背景技术:

2.在机器人自主行走的过程中,由于缺少视觉感知能力,无法检测台阶的高度,因此在爬台阶任务中,机器人运动时摆动腿不可避免的会与台阶发生碰撞。意外碰撞会对机器人的运动状态造成较大的影响,最终导致爬楼梯任务的失败。


技术实现要素:

3.本发明提供一种机器人足端摆动路径确定方法、装置和电子设备,用以解决现有技术中机器人爬楼梯时容易发生碰撞的问题。
4.本发明提供一种机器人足端摆动路径确定方法,包括:
5.在机器人爬台阶的情况下,确定所述机器人移动时摆动腿的起始点;
6.获取所述摆动腿的外摆距离,所述外摆距离为所述摆动腿侧向移动的距离;
7.基于所述起始点以及所述外摆距离确定所述摆动腿移动时的移动轨迹。
8.根据本发明提供的一种实施方式,所述基于所述起始点以及所述外摆距离确定所述摆动腿移动时的移动轨迹,包括:
9.根据所述起始点和预设的机体运动速度确定所述摆动腿的期望落脚点;
10.根据所述起始点、所述期望落脚点、所述外摆距离确定最高点;
11.基于所述起始点、所述期望落脚点、以及所述最高点确定所述移动轨迹。
12.根据本发明提供的一种实施方式,所述根据所述起始点、所述期望落脚点、所述外摆距离确定最高点,包括:
13.确定所述最高点为:
[0014][0015]
其中,(xm,ym,zm)为所述最高点的坐标,(x0,y0,z0)为所述起始点的坐标,δz为所述摆动腿的摆动高度,δy为所述外摆距离,n为0或1。
[0016]
根据本发明提供的一种实施方式,所述摆动腿在左侧时所述n为0,所述摆动腿在右侧时所述n为1。
[0017]
根据本发明提供的一种实施方式,所述移动轨迹是关于的函
[0018]
数,其中:
[0019]
其中,为所述摆动腿移动时的相
位。
[0020]
根据本发明提供的一种实施方式,上述方法还包括:在所述机器人移动时,将所述机器人的水平姿态调整为与台阶斜面平行。
[0021]
本发明还提供一种机器人足端摆动路径确定装置,包括:
[0022]
位置确定模块,用于在机器人爬台阶的情况下,确定所述机器人移动时摆动腿的起始点;
[0023]
距离获取模块,用于获取所述摆动腿的外摆距离,所述外摆距离为所述摆动腿侧向移动的距离;
[0024]
轨迹规划模块,用于基于所述起始点以及所述外摆距离确定所述摆动腿移动时的移动轨迹。
[0025]
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述机器人足端摆动路径确定方法。
[0026]
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述机器人足端摆动路径确定方法。
[0027]
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述机器人足端摆动路径确定方法。
[0028]
本发明实施方式中,在机器人爬台阶时,根据机器人摆动腿的起始点、最高点,以及摆动腿的外摆距离来确定机器人移动时的移动轨迹。外摆距离是摆动腿侧向移动的距离,增加了摆动腿的侧向移动的距离,从而增大了摆动空间,减少了机器人足端与台阶的碰撞。
附图说明
[0029]
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0030]
图1是本发明提供的方法的流程示意图;
[0031]
图2是本发明提供的机器人足端摆动路径确定方法中移动轨迹的示意图之一;
[0032]
图3是本发明提供的机器人足端摆动路径确定方法中机器人姿态的示意图;
[0033]
图4是本发明提供的机器人足端摆动路径确定方法中移动轨迹的示意图之二;
[0034]
图5是本发明提供的机器人足端摆动路径确定装置的结构示意图;
[0035]
图6是本发明提供的电子设备的结构示意图。
具体实施方式
[0036]
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0037]
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
[0038]
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
[0039]
本说明书中,用语“第一”、“第二”、“第三”等仅作为标记使用,不是对其对象的数量或顺序限制。
[0040]
下面结合附图描述本发明的机器人足端摆动路径确定方法、装置和电子设备。
[0041]
本发明实施例首先提供一种机器人足端摆动路径确定方法。示例性的,该机器人足端摆动路径确定方法可以应用于手机、平板电脑、笔记本电脑、增强现实设备、虚拟现实设备、可穿戴智能设备等各种电子设备中,也可以应用于能自主行走的机器人,例如四足机器人等电子设备,本实施方式对此不作特殊限定。
[0042]
如图1所示,该机器人足端摆动路径确定方法可以包括以下步骤:
[0043]
步骤10:在机器人爬台阶的情况下,确定所述机器人移动时摆动腿的起始点。
[0044]
预先可以设置机器人的多种行走模式,例如平地行走、爬台阶等。根据用户的设置机器人可以在多种行走模式中切换,当用户设置机器人的行走模式为爬台阶时,机器人可以切换到爬台阶模式。
[0045]
在爬台阶时,摆动腿指的是机器人中正在移动的腿。以四足机器人为例,通常是其中一条腿移动时,其余三条腿作为支撑腿,来保持机器人身体的平衡。摆动腿的起始点为开始摆动时摆动腿端点所在位置的坐标。
[0046]
根据起始点和预设的机体运动速度可以确定机器人摆动腿的期望落脚点。示例性的,根据机器人摆动腿当前的起始点,通过raibert的算法可以计算对应的期望落脚点。该算法是根据摆动腿抬腿瞬时机器人的侧向速度和前向速度来计算摆动腿的期望落脚点(xd,yd,zd)。具体公式如下:
[0047][0048]
其中,和分别为抬腿瞬时机器人的前向速度和侧向速度,通过机器人的加速度传感器读取移动时的加速度计算得到。t
st
为支撑相的持续时间,可以设定为常数,也可以为上一步的支撑相持续时间,第一步时为预设的初始值。k
vx
和k
vy
分别为前向和侧向的速度差增益系数,和分别为抬腿瞬间机器人的期望运动速度,即机体运动速度。通过该算法计算得到的期望落脚点的坐标会随着机器人实时速度的变化而改变,速度越大步幅越大,速度越小步幅越小,速度为零时则为原地踏步。
[0049]
步骤20:获取所述摆动腿的外摆距离,所述外摆距离为所述摆动腿侧向移动的距离。
[0050]
外摆距离为附加在机器人侧向移动的距离,可以由人工根据经验设置。机器人可以获取预先设置的外摆距离,通过该外摆距离来规划移动轨迹。
[0051]
步骤30:基于所述起始点以及所述外摆距离确定所述摆动腿移动时的移动轨迹。
[0052]
根据起始点和外摆距离可以先确定机器人摆动腿移动时的最高点。示例性的,机器人前进方向为x正方向,垂直向上为z轴正方向,y轴则为满足右手坐标系的方向。在该坐标系下,起始点、期望落脚点与最高点之间的关系如下:
[0053][0054]
其中,(xm,ym,zm)为最高点的坐标,(x0,y0,z0)为起始点的坐标,δz为所述摆动腿的摆动高度,δy为所述外摆距离,n为0或1。
[0055]
最高点的x方向的值即为初始点和期望落脚点的中点,而侧向y方向的值是在起始点和期望落脚点的中点的基础上增加了外摆距离。示例性的,在上述坐标系下,当摆动腿为右侧腿时,n为1,当摆动腿为左侧腿时,n为0。也就是说,当左侧腿摆动时,最高点的y方向增加了摆动距离,当左侧腿摆动时,最高点y负方向上增加了摆动距离。
[0056]
z0为起始点垂直方向的值,初始时为机器人距离地面的高度的负值。δz可以由人工根据机器人的属性确定。
[0057]
根据已知的初始点以及机器人的期望运动速度等已知量可以计算机器人的期望落脚点。再利用上述公式(2)来计算最高点,然后利用初始点、最高点和期望落脚点可以确定对应的轨迹曲线,即摆动腿的移动轨迹。
[0058]
为了增加移动轨迹的灵活性,本实施方式将机器人移动时的摆动过程划分为两个摆动阶段,并为这两个摆动阶段分别确定不同的移动轨迹。需要理解的是,两个摆动阶段的移动轨迹之间需要保持连续性。
[0059]
示例性的,将摆动阶段的相位归一化至0到1之间,则机器人的移动过程可以包括两个摆动阶段,相位在0到0.5之间的阶段以及相位在0.5到1之间的阶段。举例来说,这两个摆动阶段的移动轨迹可以满足:
[0060][0061]
其中,为所述摆动腿移动时的相位。在第一摆动阶段中,移动轨迹是关于的曲线。在该曲线上,摆动腿在接近最高点基础上,缓慢移动,从而保持高度的向前移动,增大摆动幅度。第二摆动阶段中,移动轨迹是关于的曲线。通常碰撞发生在初始点抬起到最高点的范围内,本实施方式通过上述第一阶段的曲线类型,可以增大曲线下的空间,从而减少碰撞的问题。
[0062]
具体的,确定了两个摆动阶段的曲线类型后,移动轨迹可以为:
[0063][0064]
其中,(x
t
,y
t
,z
t
)是相位为时,对应的摆动腿的坐标。其中,f1与f2为关于起始点、最高点、期望落脚点的二次函数。结合上述公式(3)和公式(4)可以计算每个相位对应的坐
标,即移动轨迹。具体的,f1是关于以及这三个点的二次函数,其中,为起始点对应的相位,为最高点时摆动腿的相位,为落脚点时摆动腿的相位。通过这三个点对f1进行求解,可以得到摆动腿y方向上的移动轨迹。同理的,f2则是关于则是关于以及这三个点的二次函数。通过这三个点对该二次函数进行求解,可以确定f2,即z方向上的移动轨迹。
[0065]
确定移动轨迹后,机器人可以按照移动轨迹确定每个相位对应的坐标,从而进行移动。将机器人移动过程中,摆动腿端点的坐标变化如图2所示。曲线20为摆动腿为左侧腿时的摆动轨迹的曲线图。可以看出,曲线20在y方向上增加了一定的距离(即外摆距离),增大了摆动腿摆动的幅度,曲线20内的空间增大,能够更有效地避免与台阶发生碰撞。
[0066]
示例性的,在机器人移动时,可以按照台阶斜面来调整机器人的运动姿态。例如,将机器人的运动姿态调整为与台阶斜面平行的姿态。通常机器人运动时保持水平姿态,如图3中(a)所示,机器人30在爬台阶31时,身体保持水平姿态。身体高度较低的情况下比较稳定。在爬台阶时则将机器人的运动姿态调整为与台阶斜面平行的姿态,如图3中(b)所示。台阶31中的台阶斜面为平面32所示,在机器人运动姿态与台阶的斜面32平行的姿态下,机器人摆动腿可移动的空间增大,能够更加有效地避免碰撞。举例来说,根据台阶的高度可以确定斜面32的与水平方向的角度,从而将机器人的运行姿态调整为该斜面32近似平行。
[0067]
示例性的,以机器人为四足机器人为例。四足机器人用trot步态以0.25米/每秒的期望速度从平地运动到台阶上。通过比例微分控制方法对摆动腿进行轨迹跟踪,可以得到该四足机器人在运动过程中摆动腿的移动轨迹,如图4所示。从图4中的足端的移动轨迹可看出,摆动腿移动过程规律变化,没有发生受到力而位置突变的情况,该四足机器人以稳定的姿态成功爬上多级台阶,完成爬高台阶的任务。
[0068]
进一步的,本实施例还提供一种机器人足端摆动路径确定装置,可用于执行上述机器人足端摆动路径确定方法。下面对本发明提供的机器人足端摆动路径确定装置进行描述,下文描述的机器人足端摆动路径确定装置与上文描述的机器人足端摆动路径确定方法可相互对应参照。
[0069]
如图5所示,该机器人足端摆动路径确定装置50可以包括:位置确定模块51,用于在机器人爬台阶的情况下,确定所述机器人移动时摆动腿的起始点;距离获取模块52,用于获取所述摆动腿的外摆距离,所述外摆距离为所述摆动腿侧向移动的距离;轨迹规划模块53,用于基于所述起始点以及所述外摆距离确定所述摆动腿移动时的移动轨迹。
[0070]
在本发明的一种实施方式中,轨迹规划模块53具体可以包括:落脚点确定模块,用于根据所述起始点和预设的机体的运动速度确定所述摆动腿的期望落脚点;最高点确定模块,用于根据所述起始点、所述期望落脚点、所述外摆距离确定最高点;轨迹确定模块,用于基于所述起始点、所述期望落脚点、以及所述最高点确定所述移动轨迹。
[0071]
在本发明的一种实施方式中,所述最高点确定模块具体被配置为:确定所述最高点为:
[0072]
[0073]
其中,(xm,ym,zm)为所述最高点的坐标,(x0,y0,z0)为所述起始点的坐标,δz为所述摆动腿的摆动高度,δy为所述外摆距离,n为0或1。
[0074]
在本发明的一种实施方式中,所述摆动腿在左侧时所述n为0,所述摆动腿在右侧时所述n为1。
[0075]
在本发明的一种实施方式中,所述移动轨迹是关于的函数,其中:
[0076]
其中,为所述摆动腿移动时的相位。
[0077]
在本发明的一种实施方式中,上述机器人足端摆动路径确定装置50还包括:姿态调整模块,用于在所述机器人移动时,将所述机器人的运动姿态调整为与台阶斜面平行。
[0078]
图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(communications interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行机器人路径确定方法,该方法包括:在机器人爬台阶的情况下,确定所述机器人移动时摆动腿的起始点;获取所述摆动腿的外摆距离,所述外摆距离为所述摆动腿侧向移动的距离;基于所述起始点以及所述外摆距离确定所述摆动腿移动时的移动轨迹。
[0079]
示例性的实施方式中,处理器610可以调用存储器630中的逻辑指令,以执行:根据所述起始点和预设的机体运动速度确定所述摆动腿的期望落脚点;根据所述起始点、所述期望落脚点、所述外摆距离确定最高点;基于所述起始点、所述期望落脚点、以及所述最高点确定所述移动轨迹。
[0080]
示例性的实施方式中,处理器610可以调用存储器630中的逻辑指令,还可以执行:确定所述最高点为:
[0081][0082]
其中,(xm,ym,zm)为所述最高点的坐标,(x0,y0,z0)为所述起始点的坐标,δz为所述摆动腿的摆动高度,δy为所述外摆距离,n为0或1。
[0083]
示例性的实施方式中,处理器610可以调用存储器630中的逻辑指令,还可以执行:所述摆动腿在左侧时所述n为0,所述摆动腿在右侧时所述n为1。
[0084]
示例性的实施方式中,处理器610可以调用存储器630中的逻辑指令,还可以执行:确定所述移动轨迹是关于的函数,其中:
[0085]
其中,为所述摆动腿移动时的相位。
[0086]
示例性的实施方式中,处理器610可以调用存储器630中的逻辑指令,还可以执行:在所述机器人移动时,将所述机器人的运动姿态调整为与台阶斜面平行。
[0087]
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为
独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0088]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的机器人足端摆动路径确定方法,该方法包括:在机器人爬台阶的情况下,确定所述机器人移动时摆动腿的起始点;获取所述摆动腿的外摆距离,所述外摆距离为所述摆动腿侧向移动的距离;基于所述起始点以及所述外摆距离确定所述摆动腿移动时的移动轨迹。
[0089]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的机器人足端摆动路径确定方法,该方法包括:在机器人爬台阶的情况下,确定所述机器人移动时摆动腿的起始点;获取所述摆动腿的外摆距离,所述外摆距离为所述摆动腿侧向移动的距离;基于所述起始点以及所述外摆距离确定所述摆动腿移动时的移动轨迹。
[0090]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0091]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0092]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1