本公开整体上涉及用于在安全操作限制内分类和/或控制致动器运动的装置和方法。
背景技术:
1、致动器(例如,回转致动器和棱柱致动器)可以根据它们用于移动的能量进行分类。液压致动器可用于搬运重载的机器人。使用气动致动器,压缩空气代替液压流体来移动活塞等。机器人中常用的致动器包括电动致动器。这种致动器将电能转化为直线或旋转运动。致动器可能面临任何级别的运动学和动力学限制,包括线性/旋转位置、速度、加速度和急动度水平。超出这些限制操作致动器,可能会对致动器本身及其环境造成不可逆的损坏。
2、因此,需要在安全操作限制内操作致动器。
技术实现思路
1、根据独立权利要求的装置和方法解决了这一需求。从属权利要求提出了可能有利的实施例。
2、根据第一方面,本公开提出了一种用于分类和/或控制致动器的运动的方法。该方法可以是计算机实现的方法。该方法包括:基于一个或多个潜在运动轨迹和运动状态约束,将位于致动器的运动限制内的潜在运动状态分类为安全或不安全;确定致动器的当前运动状态;以及基于致动器的当前运动状态和被分类为安全或不安全的运动状态的网格,来控制致动器。
3、在一些实施例中,将致动器的潜在运动状态分类包括:确定位于致动器的运动限制内的初始运动状态的网格。对于网格的每个初始运动状态,可以确定是否存在满足对位置、速度和加速度的运动约束的(可行)急动度轨迹。如果找到这种急动度轨迹,则可以将考虑中的初始运动状态分类为安全运动状态,否则可以将其分类为不安全。
4、在一些实施例中,确定初始运动状态的网格包括:确定位于当前致动器位置、速度和加速度限制内的位置-速度-加速度三元组,其中,位置∈[pmin,pmax]、速度∈[vmin,vmax]和加速度∈[amin,amax]。
5、在一些实施例中,对于网格的每个初始运动状态,加速度、速度和位置轨迹(从急动度导出)通过对其相应的高阶导数进行积分来计算。对于网格的每个初始运动状态,可以基于急动度轨迹计算加速度轨迹,可以基于加速度轨迹计算速度轨迹,并且可以基于速度轨迹计算位置轨迹。
6、在一些实施例中,在时间k的急动度轨迹可以是j[k]并且p[0],v[0],a[0]可以定义网格内的初始运动状态。致动器在时间k+1的加速度可以根据a[k+1]=a[k]+j[k]·δt计算,致动器在时间k+1的速度可以根据计算,致动器在时间k+1的位置可以根据计算。
7、在一些实施例中,确定是否存在满足状态约束的急动度轨迹包括:确定在时间k的急动度轨迹是否在急动度限制内,在时间k的加速度轨迹是否在加速度限制内,在时间k的速度轨迹是否在速度限制内,以及在时间k的位置轨迹是否在位置限制内。
8、在一些实施例中,确定是否存在满足状态约束的急动度轨迹包括:确定是否存在初始网格的初始状态的满足直到结束时间的状态约束的急动度轨迹。
9、在一些实施例中,确定是否存在满足状态约束的急动度轨迹包括:确定导致从初始网格的初始状态到结束时间的最终状态的时间最优(最小时间)运动的急动度轨迹。
10、在一些实施例中,在结束时间t的最终状态满足v(t)=a(t)=0。也就是说,在结束时间t的速度和加速度都可以为零。
11、在一些实施例中,根据j[k]∈{jmin,jmax,0},确定在时间k的急动度轨迹。也就是说,j[k]可以从最小急动度、最大急动度和零急动度中选择。
12、在一些实施例中,从k=0到k=k-1的急动度轨迹可以表示为:
13、
14、从k=0到k=k-1的加速度轨迹可以表示为:
15、
16、从k=0到k=k-1的速度轨迹可以表示为:
17、
18、从k=0到k=k-1的位置轨迹可以表示为:
19、
20、其中,
21、
22、基于
23、a[k+1]=a[k]+j[k]·δt,
24、以及
25、
26、并且
27、
28、在一些实施例中,确定是否存在满足所有状态约束的急动度轨迹包括:最小化加速度和速度向量rvel和avelj的第一平方范数与加速度向量racc和aaccj的第二平方范数之和。
29、在一些实施例中,确定是否存在满足所有状态约束的急动度轨迹基于
30、
31、
32、在一些实施例中,确定是否存在满足运动状态约束的急动度轨迹包括:使用二次约束二次规划或圆锥二次规划算法。二次约束二次规划(qcqp)是目标函数和约束都是二次函数的优化问题。解决一般情况是一个np难题。qcqp有两种主要平衡方法:使用半定规划(sdp)和使用重新表述线性化技术(rlt)。圆锥二次优化也称为二阶锥优化,是线性优化的直接推广,在这种意义上,线性函数可以在线性(非)等式下进行优化,其中,一些变量属于一个或多个(旋转的)二次锥。
33、在一些实施例中,确定致动器的当前运动状态包括:使用一个或多个运动传感器来以控制致动器的采样率估计致动器的当前运动状态。
34、在一些实施例中,确定致动器的当前运动状态包括:基于一个或多个先前运动状态预测当前运动状态。
35、在一些实施例中,控制致动器包括将致动器的当前运动状态和期望的后续运动状态与分类为安全或不安全的运动状态的网格进行比较,以确定当前和/或期望的后续运动状态是否安全。
36、在一些实施例中,控制致动器包括:如果将致动器的当前运动状态和期望的后续运动状态分类为安全,则将致动器移动到期望的后续运动状态;或者如果将致动器的当前运动状态和/或期望的后续运动状态分类为不安全,则执行预定义的安全程序。
37、根据本公开的另一方面,提供了一种用于在可编程硬件设备(计算机)上执行的非暂时性计算机程序产品,包括计算机可读程序,该计算机可读程序使计算机:基于一个或多个潜在运动轨迹和运动状态约束将位于致动器的运动限制内的潜在运动状态分类为安全或不安全;确定致动器的当前运动状态;以及基于致动器的当前运动状态和被分类为安全或不安全的运动状态的网格来控制致动器。
38、根据另一方面,本公开提出了一种用于分类和/或控制致动器的运动的装置。该装置包括控制电路,该控制电路被配置为:基于一个或多个潜在运动轨迹和运动状态约束将位于致动器的运动限制内的潜在运动状态分类为安全或不安全;确定致动器的当前运动状态;以及基于致动器的当前运动状态和被分类为安全或不安全的运动状态的网格来控制致动器。受益于本公开的技术人员将理解,控制电路可以包括模拟和/或数字硬件组件。
39、在一些实施例中,控制电路被配置为:对于位于致动器的运动限制内的潜在运动状态的每个运动状态,确定是否存在满足对位置、速度和加速度的运动状态约束的急动度轨迹。如果找到这种可行急动度轨迹,则将考虑中的运动状态分类为安全运动状态,否则将其分类为不安全。
40、在一些实施例中,控制电路被配置为:如果将致动器的当前运动状态和期望的后续运动状态分类为安全,则将致动器移动到期望的后续运动状态;或者如果将致动器的当前运动状态和/或期望的后续运动状态分类为不安全,则执行预定义的安全程序。
41、根据又一方面,本公开提出了一种用于控制致动器的装置。该装置包括电路,该电路被配置为:确定致动器的当前和/或期望运动状态;基于一个或多个潜在运动轨迹和运动状态约束,将当前和/或期望运动状态分类为安全或不安全;以及基于是否将致动器的运动状态分类为安全或不安全来控制致动器。
42、在一些实施例中,被配置为确定致动器的运动状态的电路包括一个或多个运动传感器。
43、在一些实施例中,被配置为确定致动器的运动状态的电路包括预测器,该预测器被配置为基于一个或多个先前运动状态来预测运动状态。
44、在一些实施例中,被配置为将运动状态分类的(分类器)电路包括神经网络处理器。
45、在一些实施例中,被配置为控制致动器的(控制)电路实现预定义的安全程序,以避免在运动状态不安全的情况下违反运动状态约束。
46、本公开的实施例可以使用关于其运动限制的信息,例如,位置、速度、加速度和急动度限制,允许致动器在任何一般的一个或多个自由度致动器的安全操作限制内操作。以孤立的方式考虑状态变量(例如,位置、速度、加速度)的限制可能不足以确保致动器的安全操作。建议通过共同考虑位置、速度、加速度和急动度水平的致动器限制,在安全操作限制内进行控制。给定这些限制,可以根据位置-速度-加速度对来计算一组安全操作状态,并控制机器人保持在安全状态内。
1.一种用于控制致动器的方法,所述方法包括:
2.根据权利要求1所述的方法,其中,将潜在运动状态分类包括:
3.根据权利要求2所述的方法,其中,确定所述初始运动状态的网格包括:确定位于当前致动器位置、速度和加速度限制内的位置-速度-加速度三元组,其中,位置∈[pmin,pmax]、速度∈[vmin,vmax]和加速度∈[amin,amax]。
4.根据权利要求3所述的方法,其中,对于所述网格的每个初始运动状态,加速度、速度和急动度轨迹通过对其相应的高阶导数进行积分来计算。
5.根据权利要求2所述的方法,其中,急动度轨迹在时间k是j[k]并且p[0],v[0],a[0]限定所述网格内的初始运动状态,并且其中,所述致动器在时间k+1的加速度根据下式计算:
6.根据权利要求5所述的方法,其中,确定是否存在可行急动度轨迹包括:确定在时间k的所述急动度轨迹是否在急动度限制内,在时间k的加速度轨迹是否在加速度限制内,在时间k的速度轨迹是否在速度限制内,以及在时间k的位置轨迹是否在位置限制内。
7.根据权利要求2所述的方法,其中,确定是否存在可行急动度轨迹包括:确定是否存在从初始网格的初始状态到最终状态的急动度轨迹,所述急动度轨迹满足直到结束时间的状态约束。
8.根据权利要求7所述的方法,其中,确定是否存在可行急动度轨迹包括:确定导致从所述初始网格的所述初始状态到所述最终状态的时间最优运动的急动度轨迹。
9.根据权利要求8所述的方法,其中,在所述结束时间t的所述最终状态满足v(t)=a(t)=0。
10.根据权利要求2所述的方法,其中,根据j[k]∈{jmin,jmax,0},确定在时间k的急动度轨迹。
11.根据权利要求2所述的方法,其中,从k=0到k=k-1的急动度轨迹表示为
12.根据权利要求11所述的方法,其中,确定是否存在可行急动度轨迹包括:最小化‖rvel+avelj‖2+‖racc+aaccj‖2。
13.根据权利要求12所述的方法,其中,确定是否存在可行急动度轨迹基于
14.根据权利要求2所述的方法,其中,确定是否存在可行急动度轨迹包括:使用二次约束二次规划或圆锥二次规划算法。
15.根据权利要求1所述的方法,其中,确定所述致动器的当前运动状态包括:使用一个或多个运动传感器来估计所述致动器的所述当前运动状态。
16.根据权利要求1所述的方法,其中,确定所述致动器的当前运动状态包括:基于一个或多个先前运动状态预测所述当前运动状态。
17.根据权利要求1所述的方法,其中,控制所述致动器包括:将所述致动器的当前运动状态和期望的后续运动状态与分类为安全或不安全的所述运动状态的网格进行比较,以确定当前和/或期望的后续运动状态是否安全。
18.根据权利要求17所述的方法,其中,控制所述致动器包括:
19.一种用于控制致动器的装置,包括电路,所述电路被配置为:
20.根据权利要求19所述的装置,其中,所述电路被配置为:
