System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
【国外来华专利技术】
本申请总体上涉及机器人,更具体地说,涉及用于确定机器人设备的运动和/或轨迹的系统、方法和装置,包括计算机程序。
技术介绍
1、机器人通常定义为可重新编程并且多功能的操纵器,被设计用于移动材料、零件、工具和/或专用设备(例如,通过可变编程运动)以执行任务。机器人可以是物理锚定的操纵器(例如工业机械臂)、在环境中移动的移动设备(例如使用腿、轮子或基于牵引的机构),或者一个或多个操纵器和一个或多个移动设备的某种组合。机器人目前用于各种行业,包括例如制造、仓储物流、运输、危险环境、勘探和医疗保健。
技术实现思路
1、一些实施例包括用于确定机器人设备的运动和/或轨迹的系统、方法和装置,包括计算机程序。机器人系统可以使用一个或多个计算模块(例如,轨迹生成器)来确定机器人设备的一个或多个运动(例如,轨迹,诸如候选轨迹)。例如,可以确定将具有末端执行器的机械臂从初始状态移动到目标状态的运动。可以根据用户指定的目标和/或对系统的约束(例如,由系统本身和/或周围环境施加的约束),使用非线性优化来确定运动。一个或多个额外计算模块(例如,轨迹检查器)可以用于确定所确定的运动是否可行。可行的运动可用于移动机器人,不可行的运动可被调整和/或拒绝以支持不同的运动(例如,基于非线性优化的变化参数生成的不同候选轨迹)。
2、在一些实施例中,轨迹生成器可解决优化问题,以找到最小化代价函数(例如,f(x))的值(例如,x),同时满足约束和/或标的(objective)的集合(例如,g(x)=0,且h(x)≤
3、在一些实施例中,非线性优化期间进行的某些近似可导致一个或多个约束不满足其自身的界限。这样,轨迹检查器可以确定给定的候选轨迹是否可行。如果轨迹检查器确定候选轨迹是可行的,它可以将轨迹提供给机器人的运动控制模块。如果轨迹检查器确定候选轨迹不可行,则它可以提示轨迹生成器找到新的解决方案(例如,通过修改一个或多个非线性优化参数,例如定时或碰撞界限)。在一些实施例中,轨迹生成器迭代地运行非线性求解器以生成候选轨迹,直到确定可行的候选轨迹(或者超过预定的数值度量,例如找到优化参数的解或可接受的边界的尝试次数)。在一些实施例中,在将候选轨迹传递给运动控制模块之前和/或在指定它们来管理机器人的运动之前,轨迹检查器迭代地检查候选轨迹的可行性。
4、在一些实施例中,该系统利用一个或多个“目标关键帧”(例如,要求候选轨迹移动通过的一个或多个全机器人姿态,和/或要求末端执行器移动到的一个或多个位置)。在一些实施例中,从机器人的感知模块获得目标关键帧。在一些实施例中,目标关键帧是用户指定的。在一些实施例中,轨迹具有至少两个关键帧——一个表示机器人的初始状态,一个表示机器人的目标状态。在一些实施例中,轨迹具有一个或多个中间关键帧。在一些实施例中,关键帧由关节空间(例如,关节角度)中的数字坐标来表示。在一些实施例中,关键帧由“任务空间”或笛卡尔空间中的数字坐标表示(例如,位置和/或方向)。在一些实施例中,两种表示都可以使用(例如,取决于是施加线性约束还是非线性约束)。在一些实施例中,关键帧包括位置、速度、加速度和/或时间坐标。在一些实施例中,关键帧可以被设置为标的和/或约束。
5、在一些实施例中,本文所述的一个或多个系统和方法可使机器人在受多个系统限制和/或环境约束的复杂环境中运行。在一个示例性用例中,机器人可以抓取对象,同时满足多个关节极限并避免与自身及其环境碰撞(例如,非线性问题将抓取的对象表示为必须避免与自身和环境碰撞的机器人链接)。在一些实施例中,使用nlp方法提供了优于依赖手工制作的运动或试探法的优势(手工制作的运动或试探法可能仅在逐个情况的基础上适用,并且可能不允许应对各种各样的物理环境和/或数值约束)。在一些实施例中,可以在进行中的基础上(例如,周期性地)计算新轨迹,并且新轨迹可以说明变化的情况。在一些实施例中,轨迹可以表征机械臂、机器人基座和/或机器人系统的另一部件的运动。本文描述的一些实施例可用于物流应用,例如卸载卡车、建立订单或其他仓储活动,以在制作考虑到这些活动期间遇到的特定情况的真实世界运动时提供相当大的灵活性。
6、一方面,本专利技术的特征在于计算机实施的方法。该方法包括由机器人的计算系统接收机器人的初始状态和机器人的目标状态。该方法包括由计算系统使用非线性优化来确定机器人从初始状态移动到目标状态的候选轨迹。该方法包括由计算系统确定候选轨迹是否可行。该方法包括:(a)如果候选轨迹可行,则由计算系统将候选轨迹提供给机器人的运动控制模块;和/或(b)如果候选轨迹不可行,则由计算系统使用非线性优化来确定机器人从初始状态移动到目标状态的不同候选轨迹,该非线性优化使用一个或多个改变的参数。
7、在一些实施例中,该方法还包括执行步骤(a)和/或(b),直到(i)确定可行的候选轨迹并将其提供给机器人的运动控制模块,或(ii)确定可行的候选轨迹不成功的尝试次数(例如,一次、两次、三次、五次、10次、20次、30次、40次、50次或100次),且没有轨迹被提供给运动控制模块。在一些实施例中,在没有确定可行的候选轨迹的情况下,另一计算模块(例如,监督模块)可以确定如何继续。在一些实施例中,该方法还包括根据计算系统的确定,使用运动控制模块来移动机器人。在一些实施例中,对于机器人的一个或多个关节中的每个关节,候选轨迹包括包含位置、速度和加速度的参数。在一些实施例中,该方法还包括将候选轨迹转换成机器人的一个或多个关节中的每个关节的参考扭矩的集合(例如,通过分开的控制器)。在一些实施例中,该方法还包括将该参考扭矩的集合转换成驱动器命令的集合以移动机器人的一个或多个关节中的每个关节(例如,通过分开的关节伺服控制器)。在一些实施例中,该方法还包括由计算设备使用运动控制模块的反馈控制器来跟踪可行候选轨迹。
8、在一些实施例中,初始状态和目标状态由与计算系统通信的机器人感知模块提供。在一些实施例中,初始状态包括机器人的一个或多个关节的期望或测量位置、速度和加速度。在一些实施例中,目标状态包括基于期望的se(3)姿态的机器人的一个或多个关节的位置。在一些实施例中,该方法包括由计算系统确定对应于目标状态的逆向运动学姿态。在一些实施例中,确定候选轨迹是否可行包括确定是否已经超过机器人关节极限。在一些实施例中,机器人关节极限包括填充参数(例如,扩大或缩小约束边界的乘法或加法因子)。
9、在一些实施例中,确定候选轨迹是否可本文档来自技高网...
【技术保护点】
1.一种计算机实现的方法,包括:
2.根据权利要求1所述的方法,进一步包括执行步骤(a)和/或(b)直到(i)可行的候选轨迹已确定,或者(ii)确定可行的候选轨迹的多次尝试不成功并且在所述多次尝试之后没有确定的轨迹。
3.根据权利要求1所述的方法,还包括当所述候选轨迹不可行时,由所述计算系统使用非线性优化,为所述机器人的所述至少一部分确定不同的候选轨迹,以从所述初始状态移动到所述目标状态,所述非线性优化使用一个或多个改变的参数。
4.根据权利要求1所述的方法,还包括将所述候选轨迹转换成所述机器人的一个或多个关节中的每个关节的参考扭矩的集合。
5.根据权利要求4所述的方法,还包括将所述参考扭矩的集合转换成驱动器命令的集合,以移动所述机器人的一个或多个关节中的每个关节。
6.根据权利要求1所述的方法,其中所述初始状态和所述目标状态由与所述计算系统通信的所述机器人的感知模块提供。
7.根据权利要求1所述的方法,其中确定所述候选轨迹是否可行包括确定是否已经超过机器人关节极限。
8.根据权利要求7所述的方法
9.根据权利要求1所述的方法,其中确定所述候选轨迹是否可行包括基于所述机器人的一部分与所述机器人环境中的对象、所述机器人的有效载荷或所述机器人的不同部分中的至少一个之间的投影距离来确定是否预测到碰撞。
10.根据权利要求9所述的方法,其中至少部分基于填充参数来确定所述投影距离。
11.根据权利要求1所述的方法,其中所述候选轨迹包括对应于所述机器人的一个或多个关节中的每个关节的参数的集合。
12.根据权利要求11所述的方法,还包括使用序列二次规划计算所述参数的集合。
13.根据权利要求1所述的方法,其中确定所述候选轨迹包括在满足一个或多个约束的集合的同时,最小化所述机器人的所述至少一部分的代价函数。
14.根据权利要求13所述的方法,其中在所述候选轨迹的一个或多个时间或阶段应用所述一个或多个约束的集合。
15.根据权利要求1所述的方法,其中所述候选轨迹反映以下至少一项:(i)机器人关节极限约束;(ii)轨迹平滑度标准;或者(iii)碰撞避免约束。
16.根据权利要求1所述的方法,其中确定所述候选轨迹包括最小化以下至少一项:(i)一个或多个任务空间加速度;(ii)有效载荷扭转;或(iii)轨迹时间。
17.根据权利要求1所述的方法,其中所述机器人包括机械臂,并且所述候选轨迹用于移动所述机械臂的至少一部分。
18.一种机器人的计算系统包括:
19.根据权利要求18所述的系统,其中执行步骤(a)和/或(b)直到(i)可行的候选轨迹已确定,或者(ii)确定可行的候选轨迹的多次尝试不成功并且在所述多次尝试之后没有确定的轨迹。
20.根据权利要求18所述的系统,其中所述操作还包括当所述候选轨迹不可行时,由所述计算系统使用非线性优化,为所述机器人的所述至少一部分确定不同的候选轨迹,以从所述初始状态移动到所述目标状态,所述非线性优化使用一个或多个改变的参数。
21.根据权利要求18所述的系统,其中所述操作还包括将所述候选轨迹转换成所述机器人的一个或多个关节中的每个关节的参考扭矩的集合。
22.根据权利要求21所述的系统,还包括将所述参考扭矩的集合转换成驱动器命令的集合,以移动所述机器人的一个或多个关节中的每个关节。
23.根据权利要求18所述的系统,其中所述初始状态和所述目标状态由与所述计算系统通信的所述机器人的感知模块提供。
24.根据权利要求18所述的系统,其中所述操作还包括确定所述候选轨迹是否可行包括确定是否已经超过机器人关节极限。
25.根据权利要求24所述的系统,其中所述机器人关节极限包括填充参数。
26.根据权利要求18所述的系统,其中确定所述候选轨迹是否可行包括基于所述机器人的一部分与所述机器人环境中的对象、所述机器人的有效载荷或所述机器人的不同部分中的至少一个之间的投影距离来确定是否预测到碰撞。
27.根据权利要求26所述的系统,其中至少部分基于填充参数来确定所述投影距离。
28.根据权利要求18所述的系统,其中所述候选轨迹包括对应于所述机器人的一个或多个关节中的每个关节的参数的集合。
29.根据权利要求28所述的系统,还包括使用序列二次规划计算所述参数的集合。
30.根据权利要求18所述的系统,其中确定所述候选轨迹包括在满足一个或多个约束的集合的同...
【技术特征摘要】
【国外来华专利技术】
1.一种计算机实现的方法,包括:
2.根据权利要求1所述的方法,进一步包括执行步骤(a)和/或(b)直到(i)可行的候选轨迹已确定,或者(ii)确定可行的候选轨迹的多次尝试不成功并且在所述多次尝试之后没有确定的轨迹。
3.根据权利要求1所述的方法,还包括当所述候选轨迹不可行时,由所述计算系统使用非线性优化,为所述机器人的所述至少一部分确定不同的候选轨迹,以从所述初始状态移动到所述目标状态,所述非线性优化使用一个或多个改变的参数。
4.根据权利要求1所述的方法,还包括将所述候选轨迹转换成所述机器人的一个或多个关节中的每个关节的参考扭矩的集合。
5.根据权利要求4所述的方法,还包括将所述参考扭矩的集合转换成驱动器命令的集合,以移动所述机器人的一个或多个关节中的每个关节。
6.根据权利要求1所述的方法,其中所述初始状态和所述目标状态由与所述计算系统通信的所述机器人的感知模块提供。
7.根据权利要求1所述的方法,其中确定所述候选轨迹是否可行包括确定是否已经超过机器人关节极限。
8.根据权利要求7所述的方法,其中所述机器人关节极限包括填充参数。
9.根据权利要求1所述的方法,其中确定所述候选轨迹是否可行包括基于所述机器人的一部分与所述机器人环境中的对象、所述机器人的有效载荷或所述机器人的不同部分中的至少一个之间的投影距离来确定是否预测到碰撞。
10.根据权利要求9所述的方法,其中至少部分基于填充参数来确定所述投影距离。
11.根据权利要求1所述的方法,其中所述候选轨迹包括对应于所述机器人的一个或多个关节中的每个关节的参数的集合。
12.根据权利要求11所述的方法,还包括使用序列二次规划计算所述参数的集合。
13.根据权利要求1所述的方法,其中确定所述候选轨迹包括在满足一个或多个约束的集合的同时,最小化所述机器人的所述至少一部分的代价函数。
14.根据权利要求13所述的方法,其中在所述候选轨迹的一个或多个时间或阶段应用所述一个或多个约束的集合。
15.根据权利要求1所述的方法,其中所述候选轨迹反映以下至少一项:(i)机器人关节极限约束;(ii)轨迹平滑度标准;或者(iii)碰撞避免约束。
16.根据权利要求1所述的方法,其中确定所述候选轨迹包括最小化以下至少一项:(i)一个或多个任务空间加速度;(ii)有效载荷扭转;或(iii)轨迹时间。
17.根据权利要求1所述的方法,其中所述机器人包括机械臂,并且所述候选轨迹用于移动所述机械臂的至少一部分。
18.一种机器人的计算系统包括:...
【专利技术属性】
技术研发人员:C·D·贝利科索,N·尼维尔,L·图特,A·珀金斯,
申请(专利权)人:波士顿动力公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。