机器人末端六维力与末端工具力映射及拖动


Home

如果使用末端六维力传感器,同时传感器后端有工具,那么传感器感受到的力是作用在传感器原点的,如何反应真实末端收到的力呢(首先补偿掉工具得重力对传感器得影响),首先看一下韩老师的知乎,关于重力补偿和变换 问题,这里给一个非常简单的方法(补偿重力后)


S:传感器坐标系

T:工具坐标系(包括传感器)

通过一个伴随矩阵,实际是通过速度映射求得,具体过程现代机器人学书上都有哈


上面书中写错了 右下角是u22。

作用就是 1坐标系 2坐标系之间得姿态变换是R12 位置平移是 r12 S代表反对称矩阵

这样就可以通过这个公式已知传感器坐标系下力-力矩f2/u2 ,求出末端工具坐标系下力-力矩f1/u1。然后f1 u1才是需要末端导纳控制得实际输入外力外力矩。(前提 传感器需要把连杆重力补偿掉)

导纳我们都写出来了 拖动还远么?

原理更简单了,就是外力转位移,或者外力形成速度用雅可比转关节空间。

唯一和导纳的区别就是,位移量改变后,撤掉外力不机械臂还原,保持当前状态就是点到点拖动了。

这种基于传感器+雅可比速度的方式不需要 逆解 也不需要动力学模式,就是贵了点。。

本代码不是工程算法,只是帮助大家理解实现思路,肯定是有很大优化空间的哦。大佬勿看,一眼就知道不咋地哈哈哈。

一开始给一个末端Z方向力,然后撤掉外力,再反向给力哦


代码

https://github.com/OpenRobotSL/RobotForceControl


======================================================================
我的测试结果及程序
下面是我测试的代码: