一.导纳控制基本原理

已知受力情况,根据质量-阻尼-弹簧系统特性求出来位置

Me\ddot{}+De\ddot{}+Ke = F_{ext}

e=x_{d}-x

可以得到

x\ddot{}=M^{-1}(F_{ext}-De\dot{}-Ke)+x_{d}\ddot{}

变量含义:(1) F_{ext}为已知的外力/外力矩;

                (2)M 、D 、K为人为设定的数值,不是被控对象本身属性;

                (3)e与F_{ext}需要是相对于同一个参考系。

将上述连续域转换只离散域(欧拉积分),得到下发的指令值

x\dot{}_{k} = x\dot{}_{k-1} + \Delta t*x\ddot{}_{k}

x{}_{k} = x{}_{k-1} + \Delta t*x\dot{}_{k}

二.无末端力传感器的导纳控制

关键点:

  • 将力传感器坐标系下的力转换到导纳控制各个变量的统一坐标系中
  • 无六维力传感器,需要使用力估计算法估计末端力

2.1  力坐标系统一

Mx\ddot{}_{c}+Cx\dot{}_{c}+Kx_{c}=F_{ext}-F_{d}

根据这个可以得到x_{c}

下发给电机的目标位置:

x_{target}=x_{d}+x_{c}

x_{d}为轨迹规划的轨迹点,x_{c}是受到外力后/实际外力与期望外力不相等的修正量,F_{ext} F_{d} x_{d}MCK都需要相对于机器人的同一个坐标系,因此需要将力在传感器下的表示转换为在统一坐标系下的表示。

F_{ref}=A_{d}*F_{sensor}

传感器坐标系下的力/力矩表示如下,F_{x}表示沿着传感器坐标系x轴的力,T_{x}表示绕传感器坐标系x轴的力矩

F_{sensor}=\begin{bmatrix}F_{x} \\ F_{y} \\ F_{z} \\ T_{x} \\ T_{y} \\ T_{z} \end{bmatrix}

求解A_{d}

在坐标系B中的力和力矩转换到坐标系A中的方法

  • 对于力的转换,B中的力直接转换至A中,B中的力矩对A中的力无影响

f_{A} = R*f_{B} + 0*\tau_{B}

  • 对于力矩的转换,B中的力转换至A中表示后,乘以力臂得到A中的表达,B中的力矩乘以转换矩阵得到A中的表达

\tau_{A} = p\hat{}*(R*f_{B}) + R*\tau_{B}

                                                                                备注:p\hat{}为力臂向量(3*1)的反对称矩阵(3*3)

A_{d}=\begin{bmatrix} R &0 \\ p\hat{}R & R \end{bmatrix}

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐