今天
我根据自己掌握的理论,结合项目实际经验,和大家分享一下控制算法。
下面我先来介绍一下今天的大纲
Part1:机器人原理算法
机器人运动学
机器人动力学
机器人轨迹规划
Part2: 机器人控制算法
反馈控制
PID控制
先进机器人控制
力矩前馈+PD控制 和
力矩计算+PD控制
力控制
主动柔顺控制
阻抗控制
自适应控制和
鲁棒控制
智能控制
part1:机器人原理算法
机器人运动学:正运动学,已知各关节角度求机器人末端位置和姿态。逆运动学:已知机器人末端姿态求各关节角度。一般客户关心末端位姿的使用。所以工程师要做逆运动学的解算。对于一个6自由度机器人末端位姿,逆运动学只有唯一解。对于7自由度机器人,逆运动学确是无穷多组解。
也就是说七自由度多了一个冗余自由度,可以更加灵活。但是另一面,也增加了解算的难度和运算量。并且需要设定一个优化目标,才可以得到目标解。
机器人动力学:给定机器人各关节的位置,速度,和加速度,计算电机需要输出的力矩。
由于关节加速度,速度和关节位置都是时变的,所以惯性张量矩阵和柯西速度耦合项也都是时变的,所以机器人的动力学计算量非常大,计算量随关节数的增多而爆炸递增。一般采用动力学的解法有牛顿欧拉法和牛顿拉格朗日法求解。可以通过adams验证动力学计算的正确性。
机器人轨迹规划:为使机器人从起点位姿按走直线或者走圆弧的方式到达终点位姿。需要对机器人规划运动路径,中间点的速度和加速度。分为关节空间规划和笛卡尔空间规划。笛卡尔空间轨迹规划就要不断的运用逆运动学解算各关节角度将目标指令发送给驱动器。轨迹规划方法有等长插补,三次多项式,五次多项式,抛物线过度规划。
part2:机器人控制算法:
自动控制理论解决三个问题:最基本的是系统的稳定性,然后希望系统能快速响应和较小的稳态误差。并且最好具备一定的抗扰动能力。
实时反馈控制:举一个很直观的例子,前方有一条直线,假如要你要沿着一条直线走100米。假如你睁着眼睛很容易可以实现。假如你闭上眼睛,你往前走,睁开眼就会发现和地上的直线可能偏离很大。其实睁眼走路的过程,就是大脑在做着实时反馈控制。眼睛是传感器反馈实际的路径信息。大脑和既定的路径比对,经过计算,输出给腿按期望的路线行走的命令。
其实机器人也是做着类似的工作。机器人控制器就是大脑,编码器和工业相机好比眼睛,电机就像人的腿。
PID控制:即比例-积分-微分控制。80%的控制应用都可以使用PID实现。算法简单,调整好PID的参数,效果较为理想。所以机器人运动控制最简单的控制方式:选用PID控制的伺服电机,然后上层做好逆运动学和轨迹规划就可以实现机器人的期望运动了。大部分国产机器人都是采用这种控制方式,这也就是国产机器人运动性能不如机器人四大家族的一个重要原因了。
由于机器人是一个多输入多输出,强耦合,高度非线性的时变系统,所以采用简单的PID控制,往往不能达到很好的效果,机器人的抗扰动能力不足,尤其是在负载较大的情况下。所以国外各种各样先进的算法。
先进机器人控制
力矩前馈+PD控制
将规划好的位置速度,和加速度,计算出电机需要的力矩作为位置环的力矩前馈。从而使机器人的响应更加迅速。
力矩计算+PD控制,和力矩前馈有相同之处,都需要计算力矩,但是该方法力矩是在线实时计算的,对控制系统要求更高。而力矩前馈可以离线事先计算好。该控制算法可以等效为线性外环和计算力矩内环。控制效果更佳。
力控制传感器:在装配打磨等应用场合,采用单纯的位置控制往往难以得到满意的效果,所以就需要使机器人具备力感知。根据力感知的方式可以分为,末端六维力传感器,关节力矩传感器和无力传感器的力控制。无力传感器也就是通过检测电机电流的变化简介的反应电机的力矩。这种方法比较先进,且可以大大降低成本,但是算法难度也更大,UR就是采用这种做法。力控制还可以实现直接牵引示教和碰撞检测。这两个功能都是协作性机器人的重要特性,也是机器人发展的趋势
。
主动柔顺控制:在自由空间运动时,只需要位置控制即可,但是在和环境接触的运动,如装配打磨的过程,采用主动柔顺控制才能获得理想的效果。常用的主动柔顺控制算法有力位混合控制和阻抗控制,自适应控制和鲁棒控制。下面先介绍一下阻抗控制。
阻抗控制:有关节阻抗和末端阻抗。阻抗控制不是直接控制期望位置和力,而是通过调节由用户设定的目标阻抗模型,使机器人达到柔顺运动。目标阻抗模型实际上是一个理想的机器人末端位置和机器人/环境作用力之间的动态关系。关节阻抗即把关节考虑为一个刚度-阻尼,质量的弹性体模型。
库卡的IIWA就有采用这个控制方法。
自适应控制:根据机器人负载的变化,在线自适应修改PID参数以达到更加的控制效果。
鲁棒控制:
主要思想是使控制器对模型不确定性(外界扰动,参数扰动)灵敏度最小来保持系统的原有性能。一般有
H2,Hinf等控制算法。
自适应和鲁棒控制的相同之处是:都使系统具备对模型未知参数和扰动调整控制性能的能力,而区别是自适应控制是一种跟踪系统特性变化的控制方案,它能感知系统动态特性的变化,并随时修正控制器参数,以使得控制效果保持较好的水平。鲁棒控制的优点在于无需在线调节控制器参数,它能保证当系统的动态特性在一定范围内发生波动时仍能保证较好的控制性能;打个比方来说,人都需要穿衣服,随着一年四季气候的变化,人的衣服需要不断的更换,这叫自适应控制;但一般来说,尽管一天中的各个时段的气温变化也较大,人们也不需要早中晚换上不同的衣服(当然除了个别体质弱的人除外),这就叫鲁棒控制
最后再提一下智能控制。
智能控制:最常用的有BP神经网络。通过机器学习的方式让机器人的控制更加智能化。根据检测的力和位置信号,由神经网络计算需要输出的力矩。这种方式不需要进行复杂的动力学计算,而只要训练出合适的权值和阀值即可。但是这种方法可能会产生个别点不准确,导致控制效果不佳的现象。智能控制还有可以应用更多其他的机器人控制问题上。可以说智能控制是一瓶万金油。
好的 今天我的介绍就到这里了,大家还有什么问题不,一起讨论下。