Delta 机器人的动力学建模

Delta 机器人的动力学建模#

Delta 机器人 是一种三自由度的常用并联型机器人. 由于其特殊设计, 能够保证其顶板始终平行于底板, 只有三个平动自由度而无转动. 这一点很容易证明, 此处不再赘述. 因此我们将按下面的模型讨论

机器人模型

机器人有三个可以独立活动的支部, 编号为 \(1\), \(2\), \(3\), 按右手顺序排列, 彼此相隔 \(\frac{2\pi}{3}\). 我们之后的讨论将更多只限于同一个支部, 在不引起误会的情况下, 将省略下标以求简洁. 此时我们讨论的将是适用于三支的通用关系.

约定粗体 \(\mathbf{L}\) 代表向量, 非粗体的相同字母代表其模长 \(L := \|\mathbf{L}\|\). 在模型中, \(L_i\), \(i = 1,2,3\) 都是等长的, 因此都记为 \(L\); \(g\) 与 \(l\) 同理. 单位坐标轴方向为 \(\hat{\mathbf{i}}\), \(\hat{\mathbf{j}}\), \(\hat{\mathbf{k}}\); \(\hat{\cdot}\) 表示归一化. \(P\) 为关心的末端位置.

正向运动学#

正向运动学解决的问题是如何通过已知的广义坐标 \(\theta_i\), \(i = 1,2,3\) 来得到 \(P\) 的位置. 我们将从底部开始, 逐步地依次求解 \(B\), \(M\) 直到 \(P\) 的位置.

中途向量#

\(\mathbf{g}\) 与 \(B\) 的求解是极为简单的. 记方位角 \(\phi\) 为三支在水平面上的偏角, 有 \(\phi_1 = 0\), \(\phi_2 = \frac{2\pi}{3}\), \(\phi_3 = \frac{4\pi}{3}\). 于是

Mahony 非线性互补滤波器

Mahony 非线性互补滤波器#

Mahony 互补滤波算法是一种成熟的姿态估计算法, 旨在融合多种传感器的数据来估计最优姿态. 本篇文章将介绍这一滤波器的数学推导与应用.

在第一章中, 我们先约定文章中使用的符号, 并对不同传感器的数据进行建模; 第二章, 从刚体的运动学入手, 使用李群与李代数作为分析工具; 第三章介绍优化姿态的方法, 并引出两个滤波器: 直接互补滤波器 (Direct Complementary Filter) 与被动互补滤波器 (Passive Complementary Filter); 第四章在被动互补滤波器的基础上讨论更方便的向量版本, 称为显式互补滤波器 (Explicit Complementary Filter); 在第五章中, 我们进一步讨论显式互补滤波器的四元数版本. 本文将不涉及系统的 Lyapunov 稳定性分析.

本文主要编译自 Mahony 等人发表在 IEEE Transactions on Automatic Control 上的论文1.

符号约定与传感器数据建模#

文章中 \([\cdot]_\times\) 表示向量的外积矩阵, 它是一个反对称矩阵. 使用 \(\dot{R} := \partial R := \frac{\mathrm{d} R}{\mathrm{d} t}\) 表示求导. 线性函数 \(\mathrm{vex}(\cdot)\) 表示将李代数, 即反对称矩阵转为向量; 类似地, 我们有 \(\mathrm{wedge}(\cdot)\) 将向量转为李代数. 另外, 约定线性函数 \(\mathbb{P}_a(A) := \frac{1}{2} (A - A^T)\) 将矩阵映射为一个反对称矩阵.