关于“振动抑制”的几点思考
-
三维视觉机器人项目现状
为了同时满足视域广和精度高的要求,我们目前使用多线激光器进行测量,生成点云图后,通过三角重建压缩数据量,然后进行图像拼接,再导入BIM,由BIM总体控制机器人的定位,建图,运动控制等操作。 -
项目在多线激光器上的难点
经过数次论证,我认为多线激光器成本低而且能满足需求,是非常可行的。我认为振动抑制应该是目前一个需要解决的问题:它会影响我们的传感器定位速度以及算法效率,以墙板安装机器人为例,这是一个小型机器人搬运安装大型、重型材料的问题,一块墙板至少要300公斤,负重比很高,因此在机器人举起墙板时会因为惯性而出现振动问题,我们要等这些振动结束之后,才能用算法进行视觉定位,然后再缓慢的压入孔槽,这会导致安装节奏变慢,影响建筑效率,而且频繁的振动会减少机械的疲劳寿命,降低性能与精度,进而增加成本,所以必须要进行振动抑制。 -
传统抑振技术的困扰
传统的抑振技术有两种,一是放慢作业速度,这样振动会小,但是影响效率。二是提高机械刚性,就是让我们机器人的握力增加,这样振动也会变小,但是成本会增加,惯性也会变大,都不是最优方案。欧姆龙公司抑制振动,业界最优的方案是伺服加算法,这样成本低,效果好,下面我进行详细介绍。 -
振动产生的原因
- 由于在移动中偏离航线而不断自我纠正
- 机器人突然停止引起的负载振动
- 由于负重的重心变化造成的机器人不平衡
-
解决方案
-
偏离航线纠正使用的是编码器技术,我与欧姆龙的工程师聊过这个问题,我听了才听明白,这其实就类似于电视台常用的稳帧算法。比如我们看电视时,会有很多个轨道:画面、左声道、右声道、字幕等等,这些轨道必须保持关键帧同步才能正常收看,假如一帧画面因为数据量过大而延迟了一秒,其他轨道却保持正常,这时候就会出现音画字幕不同步的现象,影响观看体验。所以在传输电视信号的时候,至少要加一到两个同步信号,每隔几十毫秒就校验微调一下各个轨道的进度,确保不会出现错乱。编码器也是这个原理,他也有同步信号,用来实时微调伺服电机的位置,只不过他把这套算法做成了硬件。做成硬件不仅速度快,而且硬件电缆有屏蔽层,能消除互扰,同时也降低了软件编写难度。所以有了编码器,伺服电机就能实现航线自我修正,就能变成一个连续变化的系统,他的振动抑制就与机器人突然停止变得雷同了。
-
机器人突然停止引起的负载振动主要是惯性引起的,能想办法减轻但是不能彻底消除。最有效的方法是在机器人停止运动之前给负载加一个反向逐渐衰减的高频振动波,与惯性产生的振动波互相抵消,从而达到快速稳定的目的。这个技术就类似于传感器中的“图像稳态消旋”技术,加一个反向的消旋角让图像变正,我最近在网上找到了2010.04期传感技术学报《基于FPGA + DSP的实时图像消旋系统》,这篇论文我认真读了几遍,用陀螺仪和算法预测虽然也能做到消旋,但是成本很高,而FPGA和DSP都是廉价芯片,都能进行图形、信号和算法加速,DSP是通过傅里叶变换将多项式乘法的时间复杂度由O(n²)降低到O(nlogn),DSP的思想类似于软件里的快速排序和归并排序。FPGA则是通过将CPU数据总线降低到8位来实现加速,这使得他比CPU更快,同时比GPU更节能。所以由他们进行大量计算产生反向消旋角,不仅速度快,而且成本很低。
反向频率也是这个原理,他的具体实现叫做伺服电机PID控制: PID是比例积分微分控制的缩写,他监测电机速度和转矩信号,进而在电机旋转时识别频率,然后控制反馈电路对速度进行修正,然后再次通过速度和转矩测量频率,周而复始。由于振动都是高频,这些测量出的频率都要通过放大器才能使用。PID是伺服电机反馈系统中的核心技术,P代表误差比例,I代表误差的积分比例,D代表误差的微分比例。在工程上,PI经常连用,能够适应80%以上的场景,但由于I是积分,具有延迟效应,不能提前预测趋势,所以在抑振领域用的不是很多,D是微分项上的力,他相当于一个弹簧,微分可以预测趋势,也可以在瞬间完成抵消或抑制,让震荡快速衰减,让系统快速稳定,但是微分的问题在于随着频率的增加,增益也会变大,由于噪声振动都是高频,这意味着使用微分抑振会放大噪声,可能会适得其反。 -
由于负重的重心变化造成的机器人不平衡问题一般有两种方法:一种方式是安装减速机,这样负载折算到电机的惯量就会大大降低,日本的伺服系统通常要求负载/电机惯量比要小于5:1,欧姆龙也遵循这个标准。减速机我大概看了一下概念,并不复杂,就是通电后产生旋转磁场,进而产生磁拉力压缩弹簧,使制动环悬空,断电后磁拉力消失,制动环复位摩擦电机,迫使电机立即停转,从而达到快速抑振的目的。另一种方式则是通过深度学习算法,训练模型来让机器人自动适应负载重心变化,这个我不会,所以现在没法写,还要有机会再学。