在机械臂末端导纳控制的实现中,需要将连续的导纳微分方程离散化,以便在每个控制周期根据力传感器读数更新位置指令。常用的离散化方法就是显式欧拉法和隐式欧拉法。
显式欧拉和隐式欧拉都是对同一个连续微分方程的离散化近似,它们的目标都是:在离散时间点 t0,t1,t2,…上近似真实状态 x(t) 的值。但真实状态 x(t)x(t) 是连续变化的,计算机只能在离散时刻采样,无法精确知道中间的变化过程,所以只能用某种近似规则来估计下一时刻的状态。
以一维导纳模型为例:

其中:
为了数值求解,把它写成一阶状态方程。令状态变量为:

因此:

离散化就是在每个采样周期 h 内,把这两个连续导数关系变成递推公式。


因为公式中 Δx_k+1 和 Δv_k+1在等号左边单独出现,右边不含它们自身。下一时刻的状态显式地表达为当前状态和输入的函数,不需要求解。

隐式欧拉法用下一时刻 k+1 的导数来更新状态,递推公式:

将两个方程联立,消去 Δx_k+1,可整理出关于 Δv_k+1的线性方程:

然后解得 Δv_k+1,再代入位置更新方程即可。
因为下一时刻状态 Δx_k+1,Δv_k+1 隐含在方程中,不能直接写出解析表达式,需要求解方程才能得到。
方法 | 递推形式 | 名称来源 |
|---|---|---|
显式欧拉 | x_k+1=x_k+hf(x_k) | 下一时刻状态显式等于当前状态加增量 |
隐式欧拉 | x_k+1=x_k+hf(x_k+1) | 下一时刻状态隐含在函数 f 中,需解方程 |
从数学形式看:
它们都不是微分方程的精确解,而是不同的近似方法。当采样步长 h 趋近于 0 时,两者的结果都会收敛到真实解,但它们的误差特性和稳定性不同。


精确解是

,迅速衰减到 0。
取步长 h=0.02h=0.02:

序列变成 1,−1,1,−1,…振荡发散,完全错误。

序列变成 1,0.333,0.111,0.037,…稳定衰减,与真实解趋势一致。 这说明:在这个刚性系统中,显式欧拉完全不可用,隐式欧拉仍然可用。但对于步长 h=0.001h=0.001,两者都表现良好。
项目 | 显式欧拉 | 隐式欧拉 |
|---|---|---|
计算量 | 小,每步直接算 | 稍大,每步需解方程 |
稳定性 | 条件稳定,步长过大可能发散 | 对线性系统无条件稳定 |
数值阻尼 | 较小,可能产生振荡 | 较大,能抑制高频振荡 |
实现复杂度 | 低 | 中等 |
在末端导纳控制中: