L1 · 从指令到延迟力矩
位置指令告诉关节要转到哪里。要让它动起来,控制器还需要根据当前的位置误差和速度计算力矩。这里使用固定的 PD 控制器:
$$ c_k = k_p\left(q^{des}_k-q_k\right)-k_d\,\dot q_k, \qquad \tau_k = \operatorname{delay}(c)_k. $$
在本实验中,延迟位于 控制器算出力矩指令之后、力矩实际作用于摆臂之前。缓存保存的是已经算出的力矩指令 c,不是目标位置。根据 delay_s 从缓存选择或插值;第一条记录指令之前的历史为零。Oracle 和 Student 共用固定的控制增益和积分设置。
把延迟移到编码器、控制器前的位置指令,或力矩传感器上,就定义了不同的实验。
为什么 CAD 或控制器模型仍可能预测错误?CAD 的臂质量和重力可以是对的,却假定指令瞬时到达;控制器增益可以是对的,却忽略固件、通信、调度或采样接口引入的延迟。低频时偏差可能不明显;频率升高后,相同延迟会使力矩及角度响应产生更明显的相位差。
L1 固定机械与控制器参数,让我们可以集中观察延迟的影响。估计值描述这段指令路径的时序;如果改变延迟所在的位置或采样设置,就需要重新理解它的含义。它不能直接当作电机的物理时间常数。
拟合与验证输入
拟合使用频率随时间升高的扫频输入。留出验证使用单独定义、频率/相位组成不同的换向波形;每个划分都重置到相同初始状态。程序根据扫频观测选择延迟,再固定参数去预测验证运动。
本课假设位置测量理想。用于拟合的速度 qd 由相邻位置的差分计算;模拟器内部的精确速度没有交给拟合程序。
想一想
初始模型延迟为零、真实系统存在延迟时,相位线索会出现在静态臂几何、目标指令还是力矩/角度响应中?答案是力矩/角度响应。静态示意图只是一个状态快照,无法显示隐藏的指令缓存。