几个年轻工程师站在角落里,大气都不敢出。
他们都知道今天来的这位是什么级別的人物,也都知道自家项目卡了这么久,这是唯一的希望了。
肖宿听完,点了点头。
这些问题和他之前了解到的差不多。
“伺服力矩延迟尖峰的问题,本质是力反馈迴路的非线性耦合误差,並非单一环节的问题。”
他目光扫过徐洋和沈凌,“你们的pid控制框架是建立在什么样的动力学模型上的?”
徐洋立刻回答:“標准的多刚体动力学模型,基於拉格朗日方程推导的,考虑了所有七个自由度的惯量耦合。”
“问题就在这。”
肖宿拿起旁边白板笔,在墙上掛著的工程图纸空白处直接写了起来,“標准拉格朗日模型假设关节连接是理想约束,但你们在腕部关节处用的是谐波减速器,对吧?”
徐洋愣了一下:“对,我们用的確实是谐波减速器,和达文西一样。”
“谐波减速器的柔轮在高速启停时会產生一个非线性的弹性迟滯环,你们把它当成理想刚体来建模了。”
肖宿的笔尖在图纸上飞快移动,写下一串公式,“这个弹性迟滯环的力学行为可以用一个带记忆效应的分数阶导数项来描述。具体来说,如果把柔轮的扭转角记为θ,传递扭矩记为t,那么真实的力矩平衡方程应该是t=kθ+c·d^α(θ)+η·sgn(dθ)·|θ|^β。
其中d^α表示α阶的riemann-liouville分数阶导数,α的取值范围在0。7到0。85之间,具体取决於柔轮的材料疲劳状態,β是应变硬化指数,一般在1。3到1。6之间。”
徐洋盯著那行公式,眼睛越睁越大。
肖宿说著话,手也没停:
“標准的pid控制器在频域上只能提供整数阶的微分补偿,对於这种分数阶非线性迟滯,无论你怎么调那三个参数,都不可能收敛到零稳態误差。
你们测到的那个延迟尖峰,实际上不是延迟,而是分数阶系统在阶跃输入下的过冲振盪,它的频率恰好落在你们伺服电机的机械共振频带里面,所以才被放大了。”
沈凌倒吸了一口凉气。
“解决的方法也很简单。”
肖宿走到白板前,隨手画出一幅完整控制框图,开口说道:
“你们只要把常规pid换成分数阶pid就行,也就是pi的λ次方d的μ次方控制器。具体来说,就是加入一个0。75阶的微分项,再搭配一个0。6阶的积分项,控制器的传递函数写成g_c(s)等於k_p加上k_i除以s的0。6次方,再加上k_d乘以s的0。75次方。
其中,k_p、k_i、k_d这三个参数,整定的时候要用频域的相位裕度法来做,直接把柔轮迟滯对应的最大剪切频率,作为核心设计点就好。”
说著,他看著眾人有些空白的表情,又补充了一句:
“这个分数阶控制器,你们可以用oustaloup近似算法在嵌入式系统上实现,频带只需要取三个十倍频程就足够了,运算量不会超过你们现有dsp晶片算力的百分之十五。”