间接力控
间接力控既不是单纯地控制力,也不是单纯地控制位置,而是控制力与位置的相对关系。
简单来看,间接力控就是把弹簧结构改用了软件算法来实现,但其实它还是个「弹簧」。
弹簧-阻尼-质量块(m-c-k)系统
根据控制原理的不同,间接力控有导纳控制和阻抗控制这两种。两者Zui大的区别就在于导纳控制基于位置环,阻抗控制基于电流环。
直接力控
有些场景我们不需要考虑人机交互的安全性。比如典型的打磨场景,只需控制机器人以某个jingque压力下压某个表面,或者边移动边下压某个表面,就可以用到直接力控。
直接力控的原理其实就是个PID控制器,Zui主要的区别在于外力的获取方式上,主要有这几种:
1.基于电流环:通过电流反馈和辨识的动力学模型估计外力,优势是无需额外的传感器,缺点是力控精度差,如UR的get_tcp_force()指令,精度只有10N。
2.基于一维力传感器:通过在机械臂末端加装一维力传感器感知外力,适用于只需要控制一个方向力的场景。可提供足够的力控精度,且由所用一维力传感器精度决定,Zui多可做到0.1N,价格也相对能接受,一般小几千。
3.基于六维力传感器:通过在机械臂末端加装一个六维力传感器来实现。这种比一维力传感器的力控维度更多,精度甚至可达N。价格也更贵,Zui便宜的六维力传感器也需要2-3万。有些机械臂厂商为满足高精度打磨的需要,会在机械臂末端集成一六维力传感器,如UR-e系列、睿尔曼RM65-6F系列。这种方式精度很高,有的甚至可达N。
4.基于关节力矩传感器:只能是机械臂本体的关节带力矩传感器才可以使用。精度上比基于电流环的要高,比采用外置力传感器的方式低。如思灵机器人据称可做到0.5N,而非夕据称可做到0.1N。