机器人的混合位置/力控制1
http://fab.cba.mit.edu/classes/865.15/classes/measurement/hybrid-position-force.pdf
提出了一种控制机器人机械手顺应运动的新概念简单方法。所描述的“混合”技术将力和扭矩信息与位置数据相结合,以满足在方便的任务相关坐标系中指定的同时位置和力轨迹约束。分析,模拟和实验用于评估控制器使用来自力感应手腕和机械手关节中的位置传感器的反馈来执行轨迹的能力。结果表明,该方法可以在各种测试条件下实现稳定,准确的力和位置轨迹控制。
引言面对不确定性和环境变化,机械手的精确控制是机器人操纵器在工业和太空中复杂处理和装配问题的可行应用的先决条件。实现这种控制的重要步骤可以通过向操纵者手提供传感器来进行,所述传感器提供关于与环境的相互作用的进展的信息。尽管机器人技术的最新进展已经导致计算机控制的操纵器应用于工业处理和简单的装配操作,但是手持传感器的使用的进步已经非常缓慢地出现。因此,手动灵活性仍然很低,并继续限制应用机会和增长。进展缓慢部分原因是缺乏坚固,可靠的传感器具有足够的精度和多功能性 但也许更重要的是缺乏足够的控制器架构和计算技术来利用这些感知信息。这些技术刚刚开发出来。将操纵器用于装配任务要求部件相对于彼此定位的精度实际上比连接到由不完美啮合的齿轮驱动的不完美刚性操纵器的接头安装位置传感器的精度高得多。仅以尺寸,重量和成本为代价才能实现更高精度的操纵器。然而,测量和控制手上产生的接触力的能力提供了用于扩展有效精度的低成本替代方案。由于使用了相对测量,机械手和被操纵物体位置的绝对误差不再存在。本文介绍了加利福尼亚理工学院喷气推进实验室根据合同号NAS-7-100进行的一个研究阶段的研究结果。航空航天局。作者现在是斯坦福大学的研究生。由动态系统和控制部门提供,在动态系统,测量和控制杂志上发表。手稿于1981年2月25日在ASME总部收到。注量控制。由于相对位置的微小变化在中等刚度的部分相互作用时产生大的接触力,因此对这些力的知识和控制可导致有效位置精度的极大增加。存在许多用于获得力信息的方法:可以测量或编程电动机电流,[6,11],可以测量电动机输出转矩[7],并且可以使用腕式或手持式传感器[9,12]。这两种技术中的前两种受到操纵器模型的准确性和可用性的限制,这些模型可以补偿影响力测量的复杂惯性,摩擦和重力效应。当存在大的重力项时,即使对于静态情况,也可以限制在关节处获得的力信息的动态范围。尽管腕式力传感器在机械设计,电子设备,通信和可靠性方面存在挑战性问题,但它们比关节传感器更灵敏,更易于使用。由于操纵者之间的质量' 手腕和手指很小,没有关节,安装在那里的力传感器只需要对动态效果进行微小修正,并且具有更大的潜在动态范围。由于这些原因,本文集中讨论了手传感器的使用。在任何情况下,这里给出的基本控制配方可以很容易地适用于所提到的其他力测量方案。这里的目标是提出一种概念上简单的方法,用于控制机械手的位置和手上产生的接触力,而不会受到先前方案的近似性质的影响[6]。我们还提供了实验结果,探讨了混合技术的使用以及腕上力传感器提供的数据。请注意,我们在此提出的方法并没有规定用于调节错误的特定反馈控制法则。相反,它建议一种控制架构,在这种架构中可以应用这些法律。
背景
这里采用的方法是基于顺应力和位置3操纵器控制的理论,其根源在于惠特尼[5,12],保罗和禧玛诺[6,10]的工作,最近由梅森正式确定[4] ]。以下简要介绍了Mason的理论框架,该框架支持并得到当前工作的支持。每个操作任务都可以分解为由特定的一组接触表面定义的元素组件。每个基本组件都与一组约束相关联,这些约束称为自然约束,由约束任务配置的特定机械和几何特征产生。例如,与固定刚性表面接触的手不能自由地穿过该表面(位置约束),并且如果表面是无摩擦的,它不能自由地施加与曲面相切的任意力(力约束)。图1显示了两种任务配置,其中兼容控制与相关的自然约束一起使用。通常,对于每个任务配置,可以在具有N个自由度的约束空间中定义广义表面,沿着该表面的法线具有位置约束并且沿着切线施加约束。这两种类型的约束,力和位置,将可能的手部运动的自由度划分为两个必须根据不同标准控制的正交组。根据这些标准引入称为人工约束的附加约束,以指定任务配置中的期望运动或力模式。那是,每当用户在任一位置或力中指定期望的轨迹时,定义人为约束。这些约束也沿着广义曲面的切线和法线发生,但是,与自然约束不同,沿着曲面法线指定人工力约束,沿着切线指定人工位置约束 - 保持与自然约束的一致性。(见图1)
图1显示约束框架| C |的力控制任务的示例 ,自然约束和人为约束。在这些例子中[vx,Vy,vz,uxuy,uz] T是手的速度矢量,3个平移和3个角度分量,在[C \。[fx,fy,1Z,TX> ry,TZ] T是作用在手上的力矢量,3个力和3个扭矩,也在[C |中给出]。a是常数,(a)以恒定速率转动曲柄,u1。(b)以恒定速率旋转螺丝,«2。请注意,螺钉是无摩擦的。参考文献[4]给出了这种形式主义的更多细节和例子。注意,指定约束和轨迹的坐标系不是操纵器的关节的坐标系,也不是操纵器手或传感器的坐标系。它是关于任务几何定义的N自由度笛卡尔系统。Takase [11]首先介绍了笛卡尔系统中约束的规范,Paul将这个系统称为约束框架,(C)[6]。在该帧中,可以指定N个自然约束和N个正交人工约束。虽然约束框架的位置和方向的选择是一个自由裁量的问题,但是合适的选择可以使确定自然约束的任务特别简单。例如,对于图1(a)所示的情况,当手柄围绕曲柄的中心旋转时,附接到曲柄的坐标系中的力约束不会改变。选择给定装配操作的约束的方法有待进一步研究。对于目前的工作,假设一组有效的约束与位置和力轨迹一起被指定。最终,可以通过利用关于任务几何的知识的算法自动确定对应于特定任务的自然约束。梅森已经开发出了这种算法所必需的概念机器的很大一部分。一旦使用自然约束将自由度划分为位置控制子集和力控制子集,并且通过人工约束指定期望位置和力轨迹,则仍然需要控制操纵器。本控制方法旨在解决这一低级控制问题。最终,可以通过利用关于任务几何的知识的算法自动确定对应于特定任务的自然约束。梅森已经开发出了这种算法所必需的概念机器的很大一部分。一旦使用自然约束将自由度划分为位置控制子集和力控制子集,并且通过人工约束指定期望位置和力轨迹,则仍然需要控制操纵器。本控制方法旨在解决这一低级控制问题。最终,可以通过利用关于任务几何的知识的算法自动确定对应于特定任务的自然约束。梅森已经开发出了这种算法所必需的概念机器的很大一部分。一旦使用自然约束将自由度划分为位置控制子集和力控制子集,并且通过人工约束指定期望位置和力轨迹,则仍然需要控制操纵器。本控制方法旨在解决这一低级控制问题。梅森已经开发出了这种算法所必需的概念机器的很大一部分。一旦使用自然约束将自由度划分为位置控制子集和力控制子集,并且通过人工约束指定期望位置和力轨迹,则仍然需要控制操纵器。本控制方法旨在解决这一低级控制问题。梅森已经开发出了这种算法所必需的概念机器的很大一部分。一旦使用自然约束将自由度划分为位置控制子集和力控制子集,并且通过人工约束指定期望位置和力轨迹,则仍然需要控制操纵器。本控制方法旨在解决这一低级控制问题。
混合控制器基本的混合控制理念是一种架构概念,它将需要力反馈的任务的约束与控制器设计联系起来。转换形式(C)到操纵器的关节是这样的,对于一般情况,一个操纵器关节的控制涉及(C)中的每个维度:Qi = Qi(Xi,X2 XN)(1)其中:q, =机械手fi的关节的位置,=逆运动学函数Xj = {C)中的自由度的位置因此在混合控制中,每个关节的致动器驱动信号表示特定关节对满足每个位置的瞬时贡献。每个力约束。第'关节的执行器控制信号有N个分量 - [C]中每个力控制自由度一个,每个位置控制自由度一个:(2)其中:Tj =由rth致动器施加的扭矩A / y = {C]中的/ DOF的力误差&Xj = {C)Tjj中的/ DOF的位置误差和i / - , - ,=和..位置补偿函数,分别用于第'输入和第rth输出Sj =顺应性选择向量的分量。顺应性选择向量S是二元iV元组,它指定[C \中的哪些自由度受力控制(由Sj = 1表示),哪些在位置控制下(Sj = 0)。(在本文中,假设机械手关节的数量等于N <6。)例如:如果S = [0,0,1,0,l,l] r 输入和此输出Sj =顺应性选择向量的分量。顺应性选择向量S是二元iV元组,它指定[C \中的哪些自由度受力控制(由Sj = 1表示),哪些在位置控制下(Sj = 0)。(在本文中,假设机械手关节的数量等于N <6。)例如:如果S = [0,0,1,0,l,l] r 输入和此输出Sj =顺应性选择向量的分量。顺应性选择向量S是二元iV元组,它指定[C \中的哪些自由度受力控制(由Sj = 1表示),哪些在位置控制下(Sj = 0)。(在本文中,假设机械手关节的数量等于N <6。)例如:如果S = [0,0,1,0,l,l] r
那么T,= + n(Ax,)+ fe(Ax2)+ r / 3(A / 3)+ iMA * 4)+ r ,,(A / 5)+ r / 6(A / 6)虽然总数活动控制循环的数量始终为N,类型混合将随着任务几何和自然约束的变化而变化。我们还定义了顺应性选择矩阵[S]:〜S,0“S2 [S] = diag(S)= S3 0”“SN_图2说明了包含这些想法的混合控制系统。两组互补的反馈回路(上位,下力),每个都有自己的感官系统和控制律,这里显示控制一个共同的植物,操纵器。注意感觉信号必须从换能器的坐标系转换,[q]为在发现错误并应用合规性选择向量之前,将位置和[H]用于强制进入(C):其中:
图3实验中使用的操纵器和反应表面的物理布局。Scheinman臂的接头1和3用于提供垂直于重力矢量的平面运动。手与数控XY工作台接触。N [Vx]旋转矩阵从[H]到{C)0 -V,o -v [v,o V =从(C)的原点到{H}的原点的向量,用(C)表示的误差信号一旦应用了方程式(3o)和(3b),就得到位置和力:AX(0 = c Xd {0 -A(q(0)= c Xd«) - c X(/)(4a)AF( f)= c Fd(f) - M r F(r)= c F rf(r) - c F(0(4b)除了这些误差驱动的控制信号,理想的机械手轨迹控制器,无论是控制位置还是力,可以包括表征机械手控制问题的非线性动力学的前馈补偿[8],这些信号考虑了依赖于配置的惯性和重力,状态依赖的科里奥利力,依赖于速度的摩擦力以及外部产生的手接触力。理想地,当使用安装在腕上的力传感器时,还应该调节手腕传感器和感兴趣的接触表面(包括大量手持物体或工具)之间存在的手部物质的加速度。虽然(C)中的每个自由度仅由一个环控制,但两组环共同起作用以控制每个操纵器关节。这是混合控制的核心思想。通常情况下,当感测,控制和致动均发生在不同的坐标系中时,相同的传感器和致动器参与每个“分离的”控制回路。在某些方面,混合控制是Paul和Shimano兼容控制的修改和扩展[6]。两种方法都采用与任务相关的坐标系C,将[C]分区为位置控制和受力控制的子空间,并且两者都在指定位置和力轨迹中给予自由度。然而,因为它们将各个力控制的关节与[Cj]在每个伺服循环中的单独的力约束配对,导致位置和力误差。通过差分调整位置设定值,可以在后续循环中纠正这些错误。(更多细节见[6]。)这种调整对于混合方法不是必需的,因为每个关节总是有助于控制力和位置。将[C]分割成位置控制和受力控制的子空间,并且在指定位置和力轨迹中给予自由。然而,因为它们将各个力控制的关节与[Cj]在每个伺服循环中的单独的力约束配对,导致位置和力误差。通过差分调整位置设定值,可以在后续循环中纠正这些错误。(更多细节见[6]。)这种调整对于混合方法不是必需的,因为每个关节总是有助于控制力和位置。将[C]分割成位置控制和受力控制的子空间,并且在指定位置和力轨迹中给予自由。然而,因为它们将各个力控制的关节与[Cj]在每个伺服循环中的单独的力约束配对,导致位置和力误差。通过差分调整位置设定值,可以在后续循环中纠正这些错误。(更多细节见[6]。)这种调整对于混合方法不是必需的,因为每个关节总是有助于控制力和位置。通过差分调整位置设定值,可以在后续循环中纠正这些错误。(更多细节见[6]。)这种调整对于混合方法不是必需的,因为每个关节总是有助于控制力和位置。通过差分调整位置设定值,可以在后续循环中纠正这些错误。(更多细节见[6]。)这种调整对于混合方法不是必需的,因为每个关节总是有助于控制力和位置。
实验为了检验所提出的混合控制方法的行为,我们进行了涉及模拟和物理实现的简单实验。我们的目标是检查混合方法在准确性,力和位置控制之间的相互作用以及稳定性方面的可行性。图3中所示的二维布局用于测试具有模拟的混合控制器,并且在图3和图4中报告了物理实验。7-10。Scheinman臂的接头1和3用于控制平面中的两个自由度,该平面的法线与重力矢量对齐。约束坐标系(C)被选择为位于该平面中,其中CX方向垂直于反应表面。通用自动化SPC-16/85小型机用于执行所有控制和模拟计算。操纵器是一个改进的Scheinman Stanford手臂,配有Scheinman力感应手腕。这款手腕采用“马耳他十字”设计,在交叉织带的16个面上各安装一个应变计(图4)。测量仪作为8个分压器对进行操作,以测量手坐标系[H]中6个自由度的扭曲,从而测量力。有关详细信息,请参阅[10]。在精确数字控制下的刚性XY工作台用于在测试期间向操纵器手提供反作用力和扰动运动。为了与该任务配置的自然约束保持一致,在CX方向上执行力控制,在CY中执行位置控制(S = [1,0] T)。请注意,这些坐标不会与任何单个操纵器关节的动作对齐。建模机械手,力感应腕,机械手和反作用面的机械系统如图5所示进行建模。机械手联动装置有一个旋转关节和一个滑动关节,分别由纯扭矩和力源驱动。质量M3的手由弹性Kw的力感测腕带的织带支撑。作用在手上的还有通过与环境表面接触产生的反作用力fx。该系统的状态方程如下:1 Ate)[Tl + Bi(q {)+ q2Kww2 + lKww1] 质量M3的手由弹性Kw的力感测腕带的织带支撑。作用在手上的还有通过与环境表面接触产生的反作用力fx。该系统的状态方程如下:1 Ate)[Tl + Bi(q {)+ q2Kww2 + lKww1] 质量M3的手由弹性Kw的力感测腕带的织带支撑。作用在手上的还有通过与环境表面接触产生的反作用力fx。该系统的状态方程如下:1 Ate)[Tl + Bi(q {)+ q2Kww2 + lKww1]
图5用于模拟混合控制任务的模型1 1 l-Kwwt -Acosfa,)] w 2 = TT \ - ~K ^ w 7. + Asin(
模拟然后物理控制。现在给出用于实验的混合控制器实现。由于从执行器到传感器的传递函数对于力和位置控制是不同的,因此需要单独的控制法则。位置控制回路使用恒定增益,比例 - 积分 - 微分(PID)控制定律。通过将比例积分(PI)控制与饱和型反馈限制器和简单的前馈项相结合来实现力控制。使用等式(3)和(4)找出位置和力误差(CJ:AX(0 = c X rf(0-A(q(0)AX(0 = c X rf(0 - [/] q( 0(12a)(126)AF(/)= c F rf(0- [S7,] WF(0(12c)式中:[AA(q)=
机械地提供阻尼。然而,由于库仑摩擦占主导地位,增加的机械手速度导致有效阻尼减小。为了补偿这种影响,包括饱和型非线性,这减小了大的力误差值的有效积分增益。尽管存在库仑摩擦和积分增益之间的相互作用,但该措施有助于使控制器稳定。没有这个术语,系统只有在严重过阻尼时才能保持稳定。利用它,获得了近似临界阻尼的响应(参见图7)。这里使用的力前馈术语非常简单:假设准静态操作,它只是用人工力约束的变换版驱动机械手关节。与之前的结果[1和未发表]的比较表明,使用力前馈可以在相对较低的力反馈增益下实现忠实的轨迹控制。因此,更容易实现稳定性。详细的控制系统如图6所示。所有反馈增益和限制器值均根据经验选择,以提供稳定,响应,准确的行为。没有采用正式的最优标准。这些增益在附录A中给出。请注意,没有尝试对机械手的非线性,时变动力学进行校正,也没有对手部质量上的加速力进行校正。在实验阶段之前使用类似于[2]和[9,10]的自动校准程序来找到应变仪读数和施加的力之间的关系。在实验运动期间,应变仪信号以规则的间隔进行采样,并转换为手坐标系中给出的力的测量值{H}。除非另有说明,否则下面显示的所有数据均以采样率和16.7 ms(60 Hz)的伺服速率获得。在绘图之前,使用12Hz截止值对力轨迹进行滤波。结果与讨论图7显示了系统对CX中力的1,5和10 Nt阶跃变化的响应,而CY被伺服以保持固定位置。上升时间约为0.15秒,几乎没有过冲。在这些数据中可观察到的小幅度极限环振荡是由力控制器中的积分项与机械手的库仑摩擦之间的相互作用引起的。稳态下的最大力误差<1.0 Nt。5的模拟响应。0 Nt步骤也显示在图中。模拟和物理响应之间存在良好的一致性。这种稳定,准确的行为非常好。图8展示了在存在位置扰动时的力控制。控制器试图在X-Y工作台上保持恒定的5.0Nt力,同时工作台以0.65cm / s的恒定速率沿CX方向从操纵器倾斜。图8中的下部曲线显示了记录期间反应表面和手的位置。力响应显示在中心曲线中。在前动作之前,力伺服已达到稳定状态。随着运动开始,力控制会稍微降低,但是与反应表面的接触永远不会丢失。当表面停止移动时,控制返回稳定的稳定状态。强制错误不超过1。75 Nt,除了在斜坡的末端有加速度。上图显示了位置伺服CY方向的响应。这些数据表明,使用这些方法可以相对于移动物体(例如,沿着装配线向下移动的物体)进行相当精确的力控制。图9描绘了对正弦位置轨迹和同时有力步骤的响应:cfx(t)= 10 + 10 U(t1.O)Nt cy(t)= 30~30cos(0.75-rrt)cm其中U是单位步骤。该程序旨在检查位置和力循环之间的耦合。尽管沿着位置轨迹发生一些位置误差,但是力步骤不会产生明显的位置干扰。此外,力的误差与位置轨迹之间没有明确的关系。为了评估控制器' 对伺服速率的依赖性,用12.5和8.3ms(80和120Hz)的伺服周期重复等式(17)的轨迹。这些变化导致改进的力响应 - 无过冲和更好的稳定性 - 但不会明显影响位置伺服。8.3毫秒条件的力响应由图9中的实线表示。虽然图8表明可以保持对运动的反作用表面的恒定力,但图10的数据显示了力的斜坡可以以恒定的位置生产。该实验是以不断变化的方式控制力的唯一尝试。这里显示的力控制质量非常好 - 对于许多装配应用来说都是令人满意的。使用由Inoue [3]首先开发的高级策略,这里提出的混合控制器(增强到3个自由度)成功地用于在孔插入操作中执行栓钉(直径= 15.9 mm,间隙= 0.025 mm(1 mil) ),没有倒角)。参见图11.为了做到这一点,操纵机械手的关节被控制为给出3度自由平面运动(X,Y,0)系统对运动环境施加恒定力的能力可能比它的能力更重要。密切关注参考输入变化。考虑一个机械手将手移过表面,同时在垂直于表面的方向上施加力。当机械手移动时,反作用表面的不规则性和位置伺服精度的小误差看起来像力控制器的表面运动。我们的斜坡扰动数据表明在这种情况下可以进行足够的力控制。这些相同的数据表明了在物体向下移动装配线时或通过其他一些处理过程操纵物体的可行性。由于手部质量的加速力,在接触期间由指尖施加的力与转换力略有不同。然而,模拟显示,由于手部质量的加速引起的力很小,因此转换的力非常接近于接触力。在模拟以及物理系统中,转换力是受控变量。对力传感器响应的检查表明存在小幅度,286Hz振荡叠加在力信号的其他行为上。因为操纵器手支撑在弹簧状力传感器和反作用表面的顺应性之间,所以腕手表面系统充当振荡器。通过计算由模型预测的手振荡的固有频率来验证该解释:j,=〜.JKr + Kw n 2 -rr M 3这对于先前给出的参数评估为280Hz - 非常接近观测值。由于相对于控制器带宽的高频率,这些振荡无法通过软件循环进行控制。因此,在所有力记录上叠加约0.5Nt的振荡。为了使其他行为更容易观察,本文中显示的所有力图都经过12 Hz截止的低通滤波:手腕表面系统充当振荡器。通过计算由模型预测的手振荡的固有频率来验证该解释:j,=〜.JKr + Kw n 2 -rr M 3这对于先前给出的参数评估为280Hz - 非常接近观测值。由于相对于控制器带宽的高频率,这些振荡无法通过软件循环进行控制。因此,在所有力记录上叠加约0.5Nt的振荡。为了使其他行为更容易观察,本文中显示的所有力图都经过12 Hz截止的低通滤波:手腕表面系统充当振荡器。通过计算由模型预测的手振荡的固有频率来验证该解释:j,=〜.JKr + Kw n 2 -rr M 3这对于先前给出的参数评估为280Hz - 非常接近观测值。由于相对于控制器带宽的高频率,这些振荡无法通过软件循环进行控制。因此,在所有力记录上叠加约0.5Nt的振荡。为了使其他行为更容易观察,本文中显示的所有力图都经过12 Hz截止的低通滤波:JKr + Kw n 2 -rr M 3对于前面给出的参数,这评估为280 Hz - 非常接近观测值。由于相对于控制器带宽的高频率,这些振荡无法通过软件循环进行控制。因此,在所有力记录上叠加约0.5Nt的振荡。为了使其他行为更容易观察,本文中显示的所有力图都经过12 Hz截止的低通滤波:JKr + Kw n 2 -rr M 3对于前面给出的参数,这评估为280 Hz - 非常接近观测值。由于相对于控制器带宽的高频率,这些振荡无法通过软件循环进行控制。因此,在所有力记录上叠加约0.5Nt的振荡。为了使其他行为更容易观察,本文中显示的所有力图都经过12 Hz截止的低通滤波:
Paul和Shimano [6]描述了一种混合控制器,它使用所谓的“自由关节”方法来提供顺应控制。他们的方法是近似的,因为只有一个机械手关节的子集是受力控制的,并且在随后的伺服循环中校正了所产生的位置误差。然而,因为它需要更少的计算 - 更少的坐标变换 - 已经实现了自由关节方法以用现有的小型计算机控制六个自由度。我们认为这里提出的方法对于同时控制力和位置的问题是一种更直接(也许是显而易见的)方法。实验结果表明该技术是可行的。虽然这种技术简单易行,它在计算意义上并不便宜 - 这种劣势可能阻止了以前的工人探索和拥抱它。然而,计算技术的最新进展,主要是以更快,更小,更便宜的微电子学的形式,现在证明探索计算上昂贵但概念上优雅的方法是合理的,例如这里给出的方法。
摘要
提出了一种混合位置/力控制器,其使用腕式力传感器来控制面向任务的笛卡尔坐标系中的操纵器轨迹。实现控制器以控制Scheinman操纵器的两个轴以及双轴模拟。提供的数据显示了控制器对有效阶梯和斜坡的稳定,准确响应,定位斜坡扰动以及同时的力和位置轨迹控制。伺服速率的操作(从60Hz到80和120Hz)仅显示出力响应的适度改进,而位置精度没有可检测的变化。使用双轴模型解释了Scheinman力感应腕的实际使用中的一些问题。