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

机器人避障方法、装置、计算机可读存储介质及机器人与流程

2022-03-08 22:40:27 来源:中国专利 TAG:


1.本技术属于机器人技术领域,尤其涉及一种机器人避障方法、装置、计算机可读存储介质及机器人。


背景技术:

2.随着机器人应用范围的扩展,机器人所处的工作环境也是多变的,在机器人的工作空间范围内,经常会出现各类静态或者动态的障碍物,如果不做处理,则很可能出现机器人与障碍物相撞,导致机器人本体或者障碍物受到伤害。虽然基于视觉设备动态监测机器人与环境的距离,能够一定程度上对碰撞进行预知,但很难在躲避障碍物的同时保证作业任务的完成。


技术实现要素:

3.有鉴于此,本技术实施例提供了一种机器人避障方法、装置、计算机可读存储介质及机器人,以解决现有的机器人避障方法很难在躲避障碍物的同时保证作业任务的完成的问题。
4.本技术实施例的第一方面提供了一种机器人避障方法,可以包括:
5.根据机器人的工作空间内的障碍物位置,确定障碍物对所述机器人的关节运动范围的影响值;
6.以所述机器人的关节速度为控制目标,以所述机器人的关节角速度为控制输入量,建立所述机器人的状态转移关系;
7.根据所述状态转移关系和所述影响值对所述机器人进行模型预测控制,以在所述机器人的运动过程中避免与障碍物相撞。
8.在第一方面的一种具体实现方式中,所述根据所述状态转移关系和所述影响值对所述机器人进行模型预测控制,可以包括:
9.获取所述机器人的当前状态量,并根据所述当前状态量和所述状态转移关系确定所述机器人在预定时长内的各个控制时间点的预测状态量;
10.获取所述机器人在所述预定时长内的各个控制时间点的期望状态量,并根据所述预测状态量、所述期望状态量和所述影响值对所述机器人的控制输入量进行优化控制,确定所述机器人的当前控制输入量;
11.按照所述当前控制输入量对所述机器人进行控制。
12.在第一方面的一种具体实现方式中,所述根据所述当前状态量和所述状态转移关系确定所述机器人在预定时长内的各个控制时间点的预测状态量,可以包括:
13.根据下式确定所述机器人在预定时长内的各个控制时间点的预测状态量:
[0014][0015]
其中,i为所述预定时长内的各个控制时间点的序号,0≤i≤n,n为所述预定时长
内的控制时间点的总数,f为所述状态转移关系,u(k i)为所述机器人在所述预定时长内的第i个控制时间点的控制输入量,x(k)为所述当前状态量,x(k i)为所述机器人在所述预定时长内的第i个控制时间点的预测状态量。
[0016]
在第一方面的一种具体实现方式中,所述根据所述预测状态量、所述期望状态量和所述影响值对所述机器人的控制输入量进行优化控制,确定所述机器人的当前控制输入量,可以包括:
[0017]
根据所述预测状态量、所述期望状态量和所述影响值构建所述机器人的控制目标函数;
[0018]
以所述控制目标函数最小化为优化目标,对所述控制输入量进行非线性规划求解,得到所述机器人在所述预定时长内的各个控制时间点的控制输入量;
[0019]
将所述预定时长内的第一个控制时间点的控制输入量确定为所述机器人的当前控制输入量。
[0020]
在第一方面的一种具体实现方式中,所述根据所述预测状态量、所述期望状态量和所述影响值构建所述机器人的控制目标函数,可以包括:
[0021]
构建如下所示的控制目标函数:
[0022][0023]
其中,yd(k i)所述机器人在所述预定时长内的第i个控制时间点的期望状态量,j为所述机器人的关节序号,1≤j≤n,n为所述机器人的关节总数,αj为障碍物对所述机器人的第j个关节的运动范围的影响值。
[0024]
在第一方面的一种具体实现方式中,所述根据机器人的工作空间内的障碍物位置,确定障碍物对所述机器人的关节运动范围的影响值,可以包括:
[0025]
获取所述机器人的关节角度上限,并根据所述关节角度上限和所述障碍物位置计算修正后的关节角度上限;
[0026]
获取所述机器人的关节角度下限,并根据所述关节角度下限和所述障碍物位置计算修正后的关节角度下限;
[0027]
根据所述关节角度上限、所述关节角度下限、所述修正后的关节角度上限和所述计算修正后的关节角度下限,计算障碍物对所述机器人的关节运动范围的影响值。
[0028]
在第一方面的一种具体实现方式中,所述根据所述关节角度上限、所述关节角度下限、所述修正后的关节角度上限和所述计算修正后的关节角度下限,计算障碍物对所述机器人的关节运动范围的影响值,可以包括:
[0029]
根据下式计算障碍物对所述机器人的关节运动范围的影响值:
[0030][0031]
其中,j为所述机器人的关节序号,1≤j≤n,n为所述机器人的关节总数,为所述机器人的第j个关节的关节角度上限,为所述机器人的第j个关节的关节角度下限,
为所述机器人的第j个关节的修正后的关节角度上限,为所述机器人的第j个关节的修正后的关节角度下限,αj为障碍物对所述机器人的第j个关节的运动范围的影响值。
[0032]
本技术实施例的第二方面提供了一种机器人避障装置,可以包括:
[0033]
障碍物影响确定模块,用于根据机器人的工作空间内的障碍物位置,确定障碍物对所述机器人的关节运动范围的影响值;
[0034]
状态转移关系建立模块,用于以所述机器人的关节速度为控制目标,以所述机器人的关节角速度为控制输入量,建立所述机器人的状态转移关系;
[0035]
模型预测控制模块,用于根据所述状态转移关系和所述影响值对所述机器人进行模型预测控制,以在所述机器人的运动过程中避免与障碍物相撞。
[0036]
在第二方面的一种具体实现方式中,所述模型预测控制模块具体可以包括:
[0037]
预测状态量确定单元,用于获取所述机器人的当前状态量,并根据所述当前状态量和所述状态转移关系确定所述机器人在预定时长内的各个控制时间点的预测状态量;
[0038]
优化控制单元,用于获取所述机器人在所述预定时长内的各个控制时间点的期望状态量,并根据所述预测状态量、所述期望状态量和所述影响值对所述机器人的控制输入量进行优化控制,确定所述机器人的当前控制输入量;
[0039]
机器人控制单元,用于按照所述当前控制输入量对所述机器人进行控制。
[0040]
在第二方面的一种具体实现方式中,所述预测状态量确定单元具体可以用于根据下式确定所述机器人在预定时长内的各个控制时间点的预测状态量:
[0041][0042]
其中,i为所述预定时长内的各个控制时间点的序号,0≤i≤n,n为所述预定时长内的控制时间点的总数,f为所述状态转移关系,u(k i)为所述机器人在所述预定时长内的第i个控制时间点的控制输入量,x(k)为所述当前状态量,x(k i)为所述机器人在所述预定时长内的第i个控制时间点的预测状态量。
[0043]
在第二方面的一种具体实现方式中,所述优化控制模块具体可以包括:
[0044]
控制目标函数构建单元,用于根据所述预测状态量、所述期望状态量和所述影响值构建所述机器人的控制目标函数;
[0045]
非线性规划求解单元,用于以所述控制目标函数最小化为优化目标,对所述控制输入量进行非线性规划求解,得到所述机器人在所述预定时长内的各个控制时间点的控制输入量;
[0046]
当前控制输入量确定单元,用于将所述预定时长内的第一个控制时间点的控制输入量确定为所述机器人的当前控制输入量。
[0047]
在第二方面的一种具体实现方式中,所述控制目标函数构建单元具体可以用于构建如下所示的控制目标函数:
[0048][0049]
其中,yd(k i)所述机器人在所述预定时长内的第i个控制时间点的期望状态量,j
为所述机器人的关节序号,1≤j≤n,n为所述机器人的关节总数,αj为障碍物对所述机器人的第j个关节的运动范围的影响值。
[0050]
在第二方面的一种具体实现方式中,所述障碍物影响确定模块具体可以包括:
[0051]
关节角度上限修正单元,用于获取所述机器人的关节角度上限,并根据所述关节角度上限和所述障碍物位置计算修正后的关节角度上限;
[0052]
关节角度下限修正单元,用于获取所述机器人的关节角度下限,并根据所述关节角度下限和所述障碍物位置计算修正后的关节角度下限;
[0053]
障碍物影响值计算单元,用于根据所述关节角度上限、所述关节角度下限、所述修正后的关节角度上限和所述计算修正后的关节角度下限,计算障碍物对所述机器人的关节运动范围的影响值。
[0054]
在第二方面的一种具体实现方式中,所述障碍物影响值计算单元具体可以用于根据下式计算障碍物对所述机器人的关节运动范围的影响值:
[0055][0056]
其中,j为所述机器人的关节序号,1≤j≤n,n为所述机器人的关节总数,为所述机器人的第j个关节的关节角度上限,为所述机器人的第j个关节的关节角度下限,为所述机器人的第j个关节的修正后的关节角度上限,为所述机器人的第j个关节的修正后的关节角度下限,αj为障碍物对所述机器人的第j个关节的运动范围的影响值。
[0057]
本技术实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种机器人避障方法的步骤。
[0058]
本技术实施例的第四方面提供了一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种机器人避障方法的步骤。
[0059]
本技术实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在机器人上运行时,使得机器人执行上述任一种机器人避障方法的步骤。
[0060]
本技术实施例与现有技术相比存在的有益效果是:本技术实施例根据机器人的工作空间内的障碍物位置,确定障碍物对所述机器人的关节运动范围的影响值;以所述机器人的关节速度为控制目标,以所述机器人的关节角速度为控制输入量,建立所述机器人的状态转移关系;根据所述状态转移关系和所述影响值对所述机器人进行模型预测控制,以在所述机器人的运动过程中避免与障碍物相撞。在本技术实施例中,充分考虑了障碍物对机器人的关节运动范围的影响,通过模型预测控制在预测机器人未来状态的同时提前进行避障控制,可以在躲避障碍物的同时保证作业任务的完成。
附图说明
[0061]
为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述
中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0062]
图1为本技术实施例中一种机器人避障方法的一个实施例流程图;
[0063]
图2为根据机器人的工作空间内的障碍物位置,确定障碍物对机器人的关节运动范围的影响值的示意流程图;
[0064]
图3为机器人在二维平面中进行运动时,障碍物对机器人的关节角度约束的示意图;
[0065]
图4为机器人在三维空间中进行运动时,障碍物对机器人的关节角度约束的示意图;
[0066]
图5为根据状态转移关系和影响值对机器人进行模型预测控制的示意流程图;
[0067]
图6为本技术实施例中一种机器人避障装置的一个实施例结构图;
[0068]
图7为本技术实施例中一种机器人的示意框图。
具体实施方式
[0069]
为使得本技术的发明目的、特征、优点能够更加的明显和易懂,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本技术一部分实施例,而非全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
[0070]
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0071]
还应当理解,在此本技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本技术。如在本技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0072]
还应当进一步理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0073]
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0074]
另外,在本技术的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0075]
请参阅图1,本技术实施例中一种机器人避障方法的一个实施例可以包括:
[0076]
步骤s101、根据机器人的工作空间内的障碍物位置,确定障碍物对所述机器人的关节运动范围的影响值。
[0077]
一般地,所述机器人包括多个关节,此处将所述机器人的关节序号记为j,1≤j≤n,n为所述机器人的关节总数。以所述机器人的第j个关节(记为当前关节)为例,步骤s101
具体可以包括如图2所示的过程:
[0078]
步骤s1011、获取所述机器人的关节角度上限,并根据所述关节角度上限和所述障碍物位置计算修正后的关节角度上限。
[0079]
一般地,对于所述机器人的当前关节而言,其关节角度上限为已知的固定值。在机器人的工作空间内,障碍物的存在限制了所述机器人的运动,相应的也限制了所述机器人各个关节的运动范围。
[0080]
若所述机器人仅在二维平面中进行运动,则障碍物对所述机器人的关节角度约束如图3所示,其中,o为关节的旋转轴,p为障碍物位置,假设所述机器人其它所有关节锁定在现有位置,仅旋转当前关节,以o为原点,op为半径顺时针画圆,经过角度后所述机器人某一连杆与障碍物相交于点c。
[0081]
类似地,若所述机器人在三维空间中进行运动,则障碍物对所述机器人的关节角度约束如图4所示,其中,o为关节的旋转轴,p为障碍物位置,假设所述机器人其它所有关节锁定在现有位置,仅旋转当前关节,可计算p到旋转轴的垂距为r,以p点为中心,平行于旋转轴o扩展长度为l的线段作为障碍物的膨胀区域,将线段l以o为旋转轴,r为半径沿旋转轴顺时针旋转,经过角度后线段l与所述机器人某一连杆相交于点c。
[0082]
特殊地,如果没有相交点,则表示当前关节转动不会碰到障碍物,也即障碍物不会影响当前关节的运动范围。如果有kn个障碍物,则可以根据上述过程分别得到所述机器人某一连杆与各个障碍物相交时顺时针旋转的角度,分别记为:其中,kn为障碍物的序号,1≤kn≤kn,为所述机器人某一连杆与第kn个障碍物相交时顺时针旋转的角度,则可以根据下式计算修正后的关节角度上限:
[0083][0084]
其中,为所述机器人的第j个关节的关节角度上限,为所述机器人的第j个关节的初始关节角度,min为求最小值函数,为所述机器人的第j个关节的修正后的关节角度上限。
[0085]
步骤s1012、获取所述机器人的关节角度下限,并根据所述关节角度下限和所述障碍物位置计算修正后的关节角度下限。
[0086]
一般地,对于所述机器人的当前关节而言,其关节角度下限为已知的固定值。
[0087]
与步骤s1012中的过程类似,若所述机器人仅在二维平面中进行运动,以o为原点,op为半径逆时针画圆,经过角度后所述机器人某一连杆与障碍物相交于点c。若所述机器人在三维空间中进行运动,将线段l以o为旋转轴,r为半径沿旋转轴逆时针旋转,经过角度后线段l与所述机器人某一连杆相交于点c。
[0088]
特殊地,如果没有相交点,则表示当前关节转动不会碰到障碍物,也即障碍物不会影响当前关节的运动范围。如果有kn个障碍物,则可以根据上述过程分别得到所述机器人某一连杆与各个障碍物相交时逆时针旋转的角度,分别记为:
其中,为所述机器人某一连杆与第kn个障碍物相交时逆时针旋转的角度,则可以根据下式计算修正后的关节角度下限:
[0089][0090]
其中,为所述机器人的第j个关节的关节角度下限,为所述机器人的第j个关节的修正后的关节角度下限。
[0091]
步骤s1013、根据所述关节角度上限、所述关节角度下限、所述修正后的关节角度上限和所述计算修正后的关节角度下限,计算障碍物对所述机器人的关节运动范围的影响值。
[0092]
在本技术实施例中,可以将障碍物对关节运动范围的影响表示为归一化的二次型形式,即可以根据下式计算障碍物对所述机器人的关节运动范围的影响值:
[0093][0094]
其中,αj为障碍物对所述机器人的第j个关节的运动范围的影响值。
[0095]
当不存在障碍物时,上式为αj=0,也即障碍物对关节运动范围无影响。
[0096]
综合考虑障碍物对所有关节运动范围的影响,可以表示如下:
[0097][0098]
容易理解地,在所述机器人的运动过程中,期望障碍物对机器人运动的影响越小越好。
[0099]
步骤s102、以所述机器人的关节速度为控制目标,以所述机器人的关节角速度为控制输入量,建立所述机器人的状态转移关系。
[0100]
模型预测控制(model predictive control,mpc)是从当前时刻根据系统当前的状态以及未来的输入,预测系统后续一段时间内的系统状态,并通过优化未来的控制输入量,使得未来的系统状态能够达到期望值。
[0101]
在本技术实施例中,可以在笛卡尔空间坐标下,采用非线性模型预测控制的方法对所述机器人进行轨迹跟踪控制。以所述机器人的关节速度为控制目标,以所述机器人的关节角速度为控制输入量,可以将所述机器人的运动约束表示为:
[0102][0103]
其中,为所述机器人的关节速度,j(θ)为雅可比矩阵,为所述机器人的关节角速度。
[0104]
写成离散形式可得:
[0105][0106]
令x(k)=[x(k);θ(k)],则可以整理成如下形式:
[0107][0108]
其中,f为关于状态和输入的非线性函数。
[0109]
在本技术实施例中,假设预测所述机器人从当前时刻到预定时长(记为ts)的状态量,预测步数为n,即共有n个控制时间点,则预测步长为t=ts/n。
[0110]
将状态量变化率进行如下处理:
[0111][0112]
则可以得到:
[0113]
x(k 1)=x(k) t
·
f(x(k),u(k))=f(x(k),u(k))
[0114]
其中,f即为所述机器人的状态转移关系。
[0115]
步骤s103、根据所述状态转移关系和所述影响值对所述机器人进行模型预测控制,以在所述机器人的运动过程中避免与障碍物相撞。
[0116]
如图5所示,步骤s103具体可以包括如下过程:
[0117]
步骤s1031、获取所述机器人的当前状态量,并根据所述当前状态量和所述状态转移关系确定所述机器人在预定时长内的各个控制时间点的预测状态量。
[0118]
在本技术实施例中,可以根据下式确定所述机器人在预定时长内的各个控制时间点的预测状态量:
[0119]
x(k 1)=f(x(k),u(k))
[0120]
x(k 2)=f(x(k 1),u(k 1))=f(f(x(k),u(k)),u(k 1))
[0121]
...
[0122][0123]
...
[0124][0125]
其中,i为所述预定时长内的各个控制时间点的序号,0≤i≤n,u(k i)为所述机器人在所述预定时长内的第i个控制时间点的控制输入量,x(k)为所述当前状态量,x(k i)为所述机器人在所述预定时长内的第i个控制时间点的预测状态量。
[0126]
步骤s1032、获取所述机器人在所述预定时长内的各个控制时间点的期望状态量,并根据所述预测状态量、所述期望状态量和所述影响值对所述机器人的控制输入量进行优化控制,确定所述机器人的当前控制输入量。
[0127]
在本技术实施例中,所述期望状态量可以通过对所述机器人的路径规划得到,在此处作为已知量。在不考虑障碍物影响时,为实现对所述期望状态量的跟踪控制,可以根据所述预测状态量和所述期望状态量构建如下所示的所述机器人的控制目标函数:
[0128][0129]
其中,yd(k i)所述机器人在所述预定时长内的第i个控制时间点的期望状态量。
[0130]
以所述控制目标函数最小化为优化目标,可以根据下式对所述控制输入量进行非线性规划求解:
[0131][0132]
s.t.
[0133][0134][0135][0136]
其中,为预设的关节角速度下限,为预设的关节角速度上限。
[0137]
而在考虑障碍物影响时,为实现对所述期望状态量的跟踪控制,可以根据所述预测状态量、所述期望状态量和所述影响值构建如下所示的所述机器人的控制目标函数:
[0138][0139]
以所述控制目标函数最小化为优化目标,可以根据下式对所述控制输入量进行非线性规划求解:
[0140][0141]
s.t.
[0142][0143][0144][0145]
通过以上的非线性规划求解过程,可以得到所述机器人在所述预定时长内的各个控制时间点的控制输入量,将所述预定时长内的第一个控制时间点的控制输入量确定为所述机器人的当前控制输入量。
[0146]
步骤s1033、按照所述当前控制输入量对所述机器人进行控制。
[0147]
即按照所述当前控制输入量来调节所述机器人的关节角速度,而后在每个控制时间点均按照步骤s1031至步骤s1033进行滚动优化求解,即可实现对整个过程的优化控制。
[0148]
综上所述,本技术实施例根据机器人的工作空间内的障碍物位置,确定障碍物对所述机器人的关节运动范围的影响值;以所述机器人的关节速度为控制目标,以所述机器人的关节角速度为控制输入量,建立所述机器人的状态转移关系;根据所述状态转移关系和所述影响值对所述机器人进行模型预测控制,以在所述机器人的运动过程中避免与障碍
物相撞。在本技术实施例中,充分考虑了障碍物对机器人的关节运动范围的影响,通过模型预测控制在预测机器人未来状态的同时提前进行避障控制,可以在躲避障碍物的同时保证作业任务的完成。
[0149]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0150]
对应于上文实施例所述的一种机器人避障方法,图6示出了本技术实施例提供的一种机器人避障装置的一个实施例结构图。
[0151]
本实施例中,一种机器人避障装置可以包括:
[0152]
障碍物影响确定模块601,用于根据机器人的工作空间内的障碍物位置,确定障碍物对所述机器人的关节运动范围的影响值;
[0153]
状态转移关系建立模块602,用于以所述机器人的关节速度为控制目标,以所述机器人的关节角速度为控制输入量,建立所述机器人的状态转移关系;
[0154]
模型预测控制模块603,用于根据所述状态转移关系和所述影响值对所述机器人进行模型预测控制,以在所述机器人的运动过程中避免与障碍物相撞。
[0155]
在本技术实施例的一种具体实现方式中,所述模型预测控制模块具体可以包括:
[0156]
预测状态量确定单元,用于获取所述机器人的当前状态量,并根据所述当前状态量和所述状态转移关系确定所述机器人在预定时长内的各个控制时间点的预测状态量;
[0157]
优化控制单元,用于获取所述机器人在所述预定时长内的各个控制时间点的期望状态量,并根据所述预测状态量、所述期望状态量和所述影响值对所述机器人的控制输入量进行优化控制,确定所述机器人的当前控制输入量;
[0158]
机器人控制单元,用于按照所述当前控制输入量对所述机器人进行控制。
[0159]
在本技术实施例的一种具体实现方式中,所述预测状态量确定单元具体可以用于根据下式确定所述机器人在预定时长内的各个控制时间点的预测状态量:
[0160][0161]
其中,i为所述预定时长内的各个控制时间点的序号,0≤i≤n,n为所述预定时长内的控制时间点的总数,f为所述状态转移关系,u(k i)为所述机器人在所述预定时长内的第i个控制时间点的控制输入量,x(k)为所述当前状态量,x(k i)为所述机器人在所述预定时长内的第i个控制时间点的预测状态量。
[0162]
在本技术实施例的一种具体实现方式中,所述优化控制模块具体可以包括:
[0163]
控制目标函数构建单元,用于根据所述预测状态量、所述期望状态量和所述影响值构建所述机器人的控制目标函数;
[0164]
非线性规划求解单元,用于以所述控制目标函数最小化为优化目标,对所述控制输入量进行非线性规划求解,得到所述机器人在所述预定时长内的各个控制时间点的控制输入量;
[0165]
当前控制输入量确定单元,用于将所述预定时长内的第一个控制时间点的控制输入量确定为所述机器人的当前控制输入量。
[0166]
在本技术实施例的一种具体实现方式中,所述控制目标函数构建单元具体可以用
于构建如下所示的控制目标函数:
[0167][0168]
其中,yd(k i)所述机器人在所述预定时长内的第i个控制时间点的期望状态量,j为所述机器人的关节序号,1≤j≤n,n为所述机器人的关节总数,αj为障碍物对所述机器人的第j个关节的运动范围的影响值。
[0169]
在本技术实施例的一种具体实现方式中,所述障碍物影响确定模块具体可以包括:
[0170]
关节角度上限修正单元,用于获取所述机器人的关节角度上限,并根据所述关节角度上限和所述障碍物位置计算修正后的关节角度上限;
[0171]
关节角度下限修正单元,用于获取所述机器人的关节角度下限,并根据所述关节角度下限和所述障碍物位置计算修正后的关节角度下限;
[0172]
障碍物影响值计算单元,用于根据所述关节角度上限、所述关节角度下限、所述修正后的关节角度上限和所述计算修正后的关节角度下限,计算障碍物对所述机器人的关节运动范围的影响值。
[0173]
在本技术实施例的一种具体实现方式中,所述障碍物影响值计算单元具体可以用于根据下式计算障碍物对所述机器人的关节运动范围的影响值:
[0174][0175]
其中,j为所述机器人的关节序号,1≤j≤n,n为所述机器人的关节总数,为所述机器人的第j个关节的关节角度上限,为所述机器人的第j个关节的关节角度下限,为所述机器人的第j个关节的修正后的关节角度上限,为所述机器人的第j个关节的修正后的关节角度下限,αj为障碍物对所述机器人的第j个关节的运动范围的影响值。
[0176]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0177]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0178]
图7示出了本技术实施例提供的一种机器人的示意框图,为了便于说明,仅示出了与本技术实施例相关的部分。
[0179]
如图7所示,该实施例的机器人7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72。所述处理器70执行所述计算机程序72时实现上述各个机器人避障方法实施例中的步骤,例如图1所示的步骤s101至步骤s103。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各模块/单元的功能,例如图6所示模块601至模块603的功能。
[0180]
示例性的,所述计算机程序72可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器71中,并由所述处理器70执行,以完成本技术。所述一
个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述机器人7中的执行过程。
[0181]
本领域技术人员可以理解,图7仅仅是机器人7的示例,并不构成对机器人7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述机器人7还可以包括输入输出设备、网络接入设备、总线等。
[0182]
所述处理器70可以是中央处理单元(central processing unit,cpu),还可以是其它通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0183]
所述存储器71可以是所述机器人7的内部存储单元,例如机器人7的硬盘或内存。所述存储器71也可以是所述机器人7的外部存储设备,例如所述机器人7上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器71还可以既包括所述机器人7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述机器人7所需的其它程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
[0184]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0185]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0186]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0187]
在本技术所提供的实施例中,应该理解到,所揭露的装置/机器人和方法,可以通过其它的方式实现。例如,以上所描述的装置/机器人实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0188]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显
示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0189]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0190]
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。
[0191]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

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

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

相关文献