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