0%

速度与静力

位置矢量的微分(线速度矢量)

对于位置矢量的速度可以看成是用位置矢量描述的空间上一点的速度,如果想在坐标系{A}表达一个{B}中位置矢量的速度,则有:

因为旋转矩阵可以表示坐标系的映射,因此有:

由于速度矢量为自由矢量,因此不需要使用平移矩阵即可表达。因此当我们已知一个坐标系{A}原点在{W}中的速度表达时,便可通过旋转矩阵得到其在其他坐标系{B}下的表达

可以看出,上述计算与{A}无关

角速度矢量

线速度描述的是一个点的速度属性,而角速度则描述了刚体的自转运动(坐标系固连在刚体上)

由于自转肯定是绕着某一轴,因此对于

其方向则代表了{B}相对于{A}的瞬时旋转轴的方向,大小则表示旋转速度

对于线速度和角速度,我们规定:

刚体(上一点)的速度表达

上面我们讨论的线速度与角速度都是针对于坐标系的原点,现在讨论在刚体中的情况。

假设参考坐标系为{A},将{B}固连在一刚体上,刚体上存在一点Q(不在原点上),则有:

前一个括号表示线速度项,后一个表示角速度项

关于线速度、角速度和刚体的速度

线速度描述的是空间上一个点沿某轨迹运动的快慢与方向,在坐标系中则为位置矢量Q发生变化的大小与方向;而角加速度针对的是坐标系的自转情况;将这两个概念引入到刚体中,对于刚体速度的描述,即是刚体上某一点Q在参考坐标系{A}下的坐标变化情况与自转情况,说的更全面一点,即是:在{A}中观测{B}中一位置矢量Q的速度变化,{B}代表这个刚体,Q代表刚体上一点

另外,由于我们通常都是讨论刚体上的固定一点,因此其位置矢量的微分为0,所以其实线速度项就是坐标系{B}原点的移动速度:

连杆间的速度传递

由于连杆是链式结构,每一个连杆的运动都与其相邻杆有关,因此对于i+1连杆,其速度就是连杆i的速度加上附加到关节i+1上的新速度分量(对于连杆的速度,我们通常讨论的是连杆坐标系原的线速度和连杆坐标系的角速度)

对于角速度,根据上述规则,则有:

此处乘Z是为了让关节角加速度匹配R矩阵维度,并且该加速度只在Z轴上存在,将上式两边同左乘i相对于i+1的旋转矩阵,则有:

对于线速度,其等于{i}原点线速度加上由于i角速度引起的新分量:

其中P为两坐标系原点形成的矢量,同样的,通过左乘旋转矩阵可得到{i+1}下的速度表达:

对于移动关节,则额外有:

雅可比矩阵

对于一个6自由度机器人,我们可以设其正运动学方程为:

其中x是一个包含位姿与姿态的6x1向量,q为机器人的六个关节变量组成的6x1向量,因此f为一个6x6矩阵,代表了x每一个元素与q的非线性函数关系,将上式两边同时对时间求导,则有:

此时,该式表示了连杆速度v(笛卡尔表示)(取决于选择的连杆和参考坐标系)与关节角速度之间的映射关系

对于常见的求末端速度的雅各比矩阵,有:

此时,该矩阵代表了在{0}坐标下,各关节角速度末端速度(线+角)的共享

奇异性

因此,当已知机器人结构(等同于已知雅各比矩阵表达式),各关节转角(可求出J具体值)和笛卡尔速度时,便可以求出各关节速度:

但此时要求J是可逆的,当机器人出现奇异位姿时,会导致J的行列式为0,此时,J为奇异的

参考系的变换

对于在{A}中表达的某雅各比矩阵,若要变换到{B}中表达,则有:

力域中的雅可比

当一个F作用与机器人时,我们想要求出各关节需输出多少力矩以保持机器人的静力平衡。

当一个笛卡尔广义力F(形式类似于笛卡尔速度)作用于机器人末端时,根据功率守恒,有:

将上一节中计算的速度雅可比方程带入v中则最终有:

于速度雅可比方程一样,F与J需在同一坐标系下表达

力-力矩变换

对于笛卡尔广义力的在不同坐标系下的表示,有:

机器人动力学

假设已知关节的转角、速度和加速度,求驱动关节所需要的力矩(逆动力学)

刚体的加速度

对上一章“刚体的速度表达”中两边同时对时间进行求导最终可得到在{A}中表达一个{B}中的常量矢量Q的加速度公式:(常量Q代表着其在{B}中的速度、加速度表达均为0)

刚体的质量分布

在一个刚体绕某个轴做旋转运动时,需要一种能够表征其质量分布的方法,因此我们引入惯性张量:

其中,xx,yy,zz为惯量矩,其余交叉项为惯量积;这六个参量取决于其所在坐标系(即刚体中的{B})的位姿;

平移移轴定理

该定理描述了一个以刚体质心为原点的坐标系平移到另一个坐标系时的惯性张量变换关系:

其中I代表要变换的惯量矩/惯量积,Pc为质心坐标系{A}原点位置(3x1),I3为3x3单位矩阵

牛顿-欧拉法

牛顿方程与欧拉方程

牛顿方程描述了作用与质心的力F与质心加速度之间的关系:

对于加速度的计算已在“刚体的加速度”小节中给出(没错,就是包含了角加速度的那个加速度)

欧拉方程描述了惯量、力矩与角加速度的关系:

外向迭代法(计算速度、加速度以得到连杆上的力、力矩)

由连杆间速度传递,对角速度求导可得:

因为R本身也与时间相关,因此其导数也有特殊形式,上式记住就行

由“刚体加速度”中的公式可得每个连杆坐标系原点和其质心的加速度:

假设质心坐标系坐标轴方位与连杆坐标系{i}方向相同

得出角加速度和加速度后,即可根据牛顿、欧拉方程计算出每个作用在每个连杆上的惯性力和力矩

内向迭代法

在得到作用在连杆上的力和力矩后,即可根据力、力矩平衡计算出连杆i-1对连杆i施加的力f和力矩n,最后得到关节i的驱动力矩:

最终,对于旋转关节:

对于移动关节:(此时tau代表线性驱动力)

对于末端未与环境接触的机器人,其f_i+1与n_i+1为0

总流程

结合外向和内向迭代,便可在已知关节转角、及其一阶、二阶导的情况下,计算出每个关节的驱动力矩:

  • 外向迭代,依次求连杆上惯性力和力矩。从0连杆推到n连杆(0连杆(基座)的角速度、角加速度为0)

    • 角速度计算(不需计算线速度)

    • 角加速度计算

    • 连杆坐标系原点加速度计算

    • 连杆质心加速度计算

    • 惯性力、力矩计算

  • 内向迭代,依次求各关节驱动力矩。从n连杆推到0连杆

    • i-1连杆对i连杆的作用力计算
    • i-1连杆对i连杆的作用力矩计算
    • 根据关节属性计算驱动力矩/力

考虑重力存在的情况

为基座加速度假想一个与重力矢量G大小相等,方向相反的加速度,即:

动力学方程

状态空间方程

对于用牛顿-欧拉法分析得到的关节驱动力矩矩阵,其动力学方程可以表示为:

其中M为nxn质量矩阵,V为nx1的离心力与哥氏力矢量,G为nx1的重力矢量

假设有如下关节力矩表示:

则可得到:

笛卡尔状态空间方程

当我们项将笛卡尔变量的一般形式应用于动力学方程中时,有:

拉格朗日法

牛顿-欧拉法是通过分析作用于连杆的之间的约束力和力矩而进行动力学求解,可以被认为是一种力平衡方法。而拉格朗日公式则是一种基于能量的动力学方法。

拉格朗日函数描述了一个系统的动能和势能的差值:

对于连杆i的动能,可表示为:

对于连杆i的势能,可表示为:

其中C为势能参考0点所带来的常数,可取任意值,通常参考点为基座,则C为0(由于动力学方程中仅出现势能对θ的偏导,因此C无关紧要)

由能量守恒,我们可以得知外力做功=系统机械能变化量,对等式两边同时对位移(θ)求导,即有拉格朗日动力学方程:

因为很多数学知识一段时间不用就老是会忘记,因此特开此节记录一些本领域会用到的一些数学基础知识

傅里叶变换

核心思想

任何信号都可以看作是若干个不同频率、不同幅值和相位的正弦波的叠加

复数与欧拉公式

对于一个复指数,有

复数(代数形式a+bi),r为模,为实部虚部的平方根;由欧拉公式可得:

数学定义

性质

  • 线性性

  • 时移性

  • 频移性

  • 卷积定理

    时域卷积等价于频域乘积

  • 对偶性

物理意义与理解

具体分析可以看:傅里叶变换后面的到底有什么小秘密 - 知乎

通过取不同的ω,傅里叶变换可以将一个时域信号分解为不同频率上的复数值。根据欧拉公式我们可以看出,将时域信号与复指数相乘,本质上就是:将时域信号 x(t) 投影到多组正交基上(因为cos和sin相位差90,正交),将信号分解为了实部(余弦波)虚部(正弦波)

  • 实部 (Real Part): 描述信号中与 cos同相的部分。

  • 虚部 (Imaginary Part): 描述信号中与 sin 同相的部分(滞后 90°)。

当信号中存在与ω同频分量时,就会投影得到一个复数域矢量。而由于实部和虚部是线性无关、相互垂直的两根轴线,我们便可根据这组正交基描述复平面上的信号矢量的模长(幅值)和与参考轴的夹角(相位)

总结一下,就是:我们将信号与复指数进行内积(投影)计算,而由于欧拉定理,计算得到的结果可以被正交分解到复数域。而通过复数域性质,我们便可通过实部和虚部表达该矢量的幅值和相位。

补充,关于内积与互相关

内积是互相关函数在τ=0时的值,内积是一个值,互相关是一个函数,表示不同时间差时两个信号的相关程度。

而对于连续傅里叶变换,其是把信号与不同频的复指数在每一个时刻的内积值进行求和,而对于不同频的信号,其内积是为0的,(积分域满足周期区间),也就是正交,因此傅里叶变换可以区分不同频的信号

逆傅里叶变换

IFT和FT在算法架构上几乎完全一样:(以离散为例)

相当于在n时间点上,将该时间点对应的所有频率分量(矢量)进行相加

使用条件(狄利赫里条件)

  • 绝对可积性

    信号整体能量必须是有限的,即信号不能无限增长

  • 函数在有限区间内连续或只有有限个第一类间断点

  • 在一个周期内函数有有限个极大值或极小值

从FT到常用的FFT

已知连续傅里叶变换:

时间离散化(采样)

虽然一般我们处理的数据都是默认离散数据,但既然都到这里了,就顺便提一下这一块知识。

对于连续信号的采样,可以使用冲激函数表达:

因为时域相乘等价于频域卷积,而冲激串在频域上表现仍为等距(f_s)冲激串,因此原信号在频域上会表现为以f_s的距离复制出现,当信号的最大频率成分大于采样率f_s时就会出现混叠现象,因此也有了奈奎斯特定理:

这里2倍关系是由于对于声音等实信号,其傅里叶变换结果是一个双边谱(共轭对称),这点可以从欧拉公式体现出

离散傅里叶变换DFT

对频率同样进行离散化后,将其和x[n]带入FT公式中则有:

其中k,n=0,1,2…,k代表频率索引,n代表时间索引,N为时域总采样点数。

这里有一点需要提一下,对于离散复指数:(由欧拉公式得)

因此对于连续的X(w),其是2pi周期的,因此对频率离散采样中是2pi/N

也许你会有一个疑问:频域的采样规则要遵循时域采样数N吗?是的,且必须完全一致,这于正交频率基相关,不详细展开(其实我也看不懂),这也解释了为什么我们在使用一些FFT库函数的时候,输入参数n后,时域数据会首先被剪切为n长度,最终输出的频域bin数量也为n

(这也是我之前的一个误区,我一直以为输入的参数n只决定最终输出的频率bin数量,我还一直读取一个爆长的时域数据,结果最后函数只会使用前n个数据)

对于常用的FFT,其不是一种新的变换,而是DFT的高效计算算法,在结果完全等价的前提下,大幅降低了计算量

能量谱与功率谱

感觉没啥好说的,能量谱分析能量有限信号(冲击、单个脉冲等),功率谱(密度)则分析功率有限信号(大多数信号,包括平稳信号、周期信号等),因为功率谱会对能量除以时间T,因此更稳定

倍频程分析

频率比例关系

在倍频程分析中,相邻频带的频率呈指数比例关系。对于 1/n倍频程,其频率比例因子 G 定义为:

对于常见的1/3倍频程,G约为1.2599

中心频率与截至频率

对于不同的倍频程关系,在数学上,根据如下关系定义其滤波器的中心频率

国际和国标均已规定了各频程中心定律

由滤波器的截止频率定义:

上下限的截止频率可以直接通过中心频率乘除倍频比例的1/2指数倍得到:

可以看出当倍频程确定时,仅中心频率影响截止频率大小。由于中心频率一直在增大,因此越高频的倍频程滤波器,其带宽就越大,由上述公式可以得到带宽:

并且带宽与中心频率的比例是固定的

综上,对于各频程关系,其中心频率和带宽都有严格的标准(也就是写死的),只用知道其对低频分的更细,高频滤波器则更加稀疏且宽大

应用于傅里叶变换

对于FFT得到的线性频率(离散值),直接将每个频率点与当前频程频带(滤波器范围)对应,直接对频带内能量求和(对于连续值则是功率求积分),即可得到倍频程谱图

Mel频谱

Mel 尺度(Mel Scale)在 STFT(短时傅里叶变换)的基础上核心解决了一个问题:计算机频率与人类听觉感知的非线性对应关系。STFT 得到的是线性频率谱,而 Mel 尺度将其转换为了仿生频率谱(低频放大,高频压缩)。

其主要计算流程如下:

  • 使用对数映射对FFT的线性频率重新取值:

  • 根据上一步得到的mel频率取值m,设计一组三角滤波器。该滤波器会:

    • 引入带宽变化,低频区域的滤波器频率覆盖范围窄,且密集,有利于放大低频区的细节与变化。高频区则相反
    • 能量加权,每个滤波器对其对应覆盖范围内的STFT功率谱进行加权求和,压缩FFT频点,并且可以减少随机噪声的影响
  • 将滤波器用于STFT的结果

  • 动态范围压缩,对功率谱的幅值取对数,放大低频

mel的核心就是通过一组三角滤波器(其数量就等于最终mel频率点数)对STFT进行再加工,放大低频

与倍频程的区别

都采用了“低频精细、高频粗糙”的非线性分段思想,但它们的出发点、数学定义以及应用领域有本质区别。

  • 定义差别:倍频程基于明确的数学规律(对数频率),而mel尺度是基于心理声学实验数据得到的
  • 滤波器设计:mel尺度的三角滤波器是有重叠的,因此在人耳听觉范围内(20Hz-20kHz),其有更多的通道

综上,mel适合捕捉语音细节,而倍频程适合分析环境噪声、设备振动等全频带任务

拉普拉斯变换

傅里叶变换具有一个很大的局限性,即其要求信号具有绝对可积性,这导致了很多在无穷处不收敛的函数不能使用傅里叶变换。

“这点难度当然拿不到聪明的数学家们,他们想到了一个绝佳的主意:把不满足绝对的可积的函数乘以一个快速衰减的函数,这样在趋于无穷 时原函数也衰减到零了,从而满足绝对可积。”

因此,在傅里叶变换的基础上:

为保证函数的衰减性,将时间轴缩减到正半轴(实际上我们也不关心负半轴)

将其整理即可得到拉普拉斯变换的数学定义式:

但是拉普拉斯变换的作用远不止对信号进行分析,其对绝对可积性限制的突破使其可以用于更多的函数(但其仍要求积分收敛),因此可以利用拉氏变换及其性质求解时域上的复杂的微分方程

性质

  • 线性性

    同傅里叶变换

  • 微分性:

  • 积分性:

  • 时移性:

  • 频移性:

小波变换

傅里叶变换的核心是使用不同频率的无限延伸正弦波与信号进行相关计算,这就导致其无法反映时域上的变化,因此不适用于分析非平稳信号(例如:一段音乐里,高音 C 只出现在第 3 秒,傅里叶变换能告诉你“有高音 C”,但它没法告诉你“在第 3 秒”)

为了解决这个问题,人们先发明了 短时傅里叶变换 (STFT),但 STFT 的窗口大小是固定的。窗口太窄,频率看不准;窗口太宽,时间看不准。这就是所谓的“海森堡测不准原理”在信号处理中的体现。

而小波变换巧妙地避开了固定窗口的尴尬。它的核心思想是:对高频信号用窄窗口(看清时间),对低频信号用宽窗口(看清频率)。:

由公式可以看出,其将傅里叶变换中的无限长度正弦波替换为了一个小波,相比于傅里叶的单一变量ω,该小波有两个控制变量

  • 尺度 a (Scale): 控制小波的“胖瘦”。a越小,小波越窄(对应高频);a 越大,小波越宽(对应低频)。

  • 位移 b(Translation): 控制小波在时间轴上的移动,决定你观察哪一段信号

由小波原理即可知道小波输出的尺度图(Scalogram)是一个多分辨率图,与STFT输出的频谱图相比:

  • STFT: 时频格点是大小一致的方块。

  • 小波变换: 高频区方块“瘦长”(时间分辨率高,即更易看清时间变化),低频区方块“矮胖”(频率分辨率高,即更易看清频率成分)。

共振解调(时域包络分析)

当信号中存在固定频率的微弱脉冲时,直接看频谱(FFT)会被环境噪声和低频振动淹没。可以通过解调其引发的高频共振载波来提取该微弱脉冲的特征。对于包络分析,其核心逻辑是:

利用高频共振作为“载波”,通过提取该载波的振幅变化(包络),还原出低频的冲击特征。

包络分析由以下几个步骤组成:

1.带通滤波

使用滤波的原因是要尽可能地消除无关低频振动和高频随机噪声的影响。通常使用谱峭度 (Spectral Kurtosis/Kurtogram) 来自动寻找信噪比最高的频段进行带通提取。

2.希尔伯特变换(核心)

希尔伯特变换相当于一个全通滤波器,它保持信号幅度不变,但将所有频率成分的相位平移了 -90°

那么这有什么用呢?

我们再回到欧拉公式:

这个公式说明,复指数信号可以表示成一个实数信号和一个虚数信号的和的形式。而且,这个实部和虚部是有关系的,一个是cos,一个是sin,两者相差pi/2,也就是相位相差90°

也就是说,在使用希尔伯特变换之后,我们就可以构造一个解析信号:

该信号可以被表示为:

此时,我们就获得了t时刻包络信号的瞬时幅度瞬时相位

提取包络线,计算时域包络谱

包络线其实就是信号时域上的幅值连线:

该连线消除了高频载波的震荡,只保留了随时间缓慢变化的信号外壳。

对提取出的包络信号E(t)去除直流分量后进行傅里叶变换即可得到包络谱,根据以上分析,我们不难看出包络解调的优势就是可以观察到信号中的微弱、低频、冲击信号(低频解调),也就是说对于平稳信号,通常不需要该操作

倒频分离(频域包络分析)

首先,倒频的存在目的是为了分离激励源(高频载波)和系统响应(低频调制信号),和希尔伯特变换存在相似的地方。

希尔伯特变换是提取的时域包络,而倒频则是将频谱中的缓慢变化部分和快速振荡部分分开,也就是提取频域上的包络的频率

在物理世界中,我们观测到的信号 y(t)$往往是激励源 e(t)(如声带振动)与系统响应 h(t)(如口腔声道形状)的卷积

在频域中,卷积变成了乘法:

如果我们想把两者分开,直接相减是不可能的。但通过取对数,乘法变成了加法:

  • 低倒谱分量(Low-quefrency):对应log|H(f)|,即频谱的缓慢变化部分(包络),代表声道形状或机械结构。
  • 高倒谱分量(High-quefrency):对应 log|E(f)|,即频谱的快速振荡部分,代表基音频率或周期性冲击。

通过取对数,频谱中的低频分量和高频分量就变成了加性关系,此时再进行IFFT后,我们就得到了倒频谱,倒频谱描述的是频谱中缓慢变化成分和振荡成分所对应的频率,因此我们对倒频进行滤波即可分开低频区和高频区

Fbank

Fbank其实就是上式中的频谱在mel尺度下的对数结果,其将频域转换为了加性结构,包含了频域包络和高频振荡的波形结构(倒频则是这个波形结构的频率值)

MFCC

现在语音识别中常用的MFCC就是基于梅尔频谱的倒频谱

在得到梅尔尺度上的频谱后:

  • 对每个滤波器能量取对数(这一步得到的是Fbank特征,也是一种可以直接用的特征)

  • 离散余弦变换DCT:将对数频域特征转换到倒频域

    为什么不像倒频一样用ifft?因为经过 Mel Filter Bank 后,我们已经不是完整的、均匀线性频率采样的频谱,而DCT 非常适合对这种离散的 Log-Mel 能量进行压缩和去相关(可以理解成两种“压缩频谱的方法”。

    离散余弦变换理解:类似傅里叶变换,傅里叶变换是投影到多组复数正交基上,DCT是投影到多组不同频的余弦基上

  • 保留低维:去掉倒频域的0阶系数和高频细节,保留低频包络信息

四个连杆参数

  • 连杆本身

    • 连杆长度a:首尾两关节轴线距离(当两轴不平行时,公垂线只有一条)

    • 扭转角α:首尾两关节轴线夹角(投影到同一平面)

  • 连杆连接(关节)

    • 连杆偏距d_i:关节i处,连杆i偏离i-1的距离
    • 关节角θ_i:关节i处,连杆i与i-1的夹角

对于转动关节,除关节角外,其他参数不变;对于移动关节,除偏距外其他参数不变

理解:将一个转动关节想象为圆柱,垂直于圆柱侧面的为连杆长度a,它的转角为关节角θ;沿着圆柱轴线的为偏距d;控制圆柱初始位姿的为扭转角α

正运动学

已知机器人各连杆参数,求末端位姿。

对于机器人的两个连杆之间的变换,由四个连杆参数决定;而连杆长度a和连杆转角α由机械系统决定,不是变量,根据关节类型的不同,对于任意机器人,这个坐标系变换都是只有一个变量的函数

因此对于机器人末端执行器坐标系{N}相对于坐标系{0}的变换矩阵为:

DH参数法(改进)

对于每个连杆的坐标系,通常选择轴线方向为Z轴,X轴沿着连杆方向(当连杆长度为0时,X轴垂直于Z_{i-1}和Zi的平面),根据右手定律确定Y轴。在改进DH参数法中,坐标系{i}与关节i固连

因此,当我们要求解连杆i-1到连杆i的变换时(也就是{i-1}到{i}的变换),需要:

  • a_{i-1}
  • α_{i-1}
  • d_i
  • θ_i

其中a和α表示连杆信息,d和θ表示关节信息

在改进DH参数下,每个坐标系(连杆)之间的变换矩阵又包括了一个变量矩阵和三个常量矩阵的乘积,其通用形式可表示为:

注:标准DH和改进DH的变换矩阵不同

易混淆点

对于改进DH,坐标系{i}是固定在连杆i上,而不是关节i,因为坐标系用于连杆之间的坐标变换,包含了连杆本身带来的变换(a与α)与关节带来的变换(d与θ),说到底,可以直接忘记关节的概念,毕竟变换都是指连杆间的变换

坐标系标准命名

  • 基坐标系:机器人的基座{B}
  • 工作台坐标系:机器人工作台的坐标系{S},可以是桌子、地面上某个通用坐标系,常根据基坐标系确定
  • 腕部坐标系:末端连杆轴的坐标系{W}
  • 工具坐标系:机器人末端坐标系{T}
  • 目标坐标系:对机器人夹持的物件等的坐标系描述{G}

逆运动学

已知机器人末端位姿,求各连杆偏距or关节角。该问题可分为两步:(1)求出腕部坐标系{W}相对于基坐标{B}的变换矩阵;(2)应用逆运动学求解关节角

工作空间描述

在进行逆运动学求解之前,我们首先需要讨论解的存在性,即机器人是否能够达到期望位姿,而这取决于机器人的工作空间,而确定工作空间的方法就是给出{W}的坐标系表达式,一个含有n个变量的函数

当已知目标点

则可通过求解{P}各轴在{B}下的坐标以得到{P}的坐标系表示:(旋转矩阵的定义)

而对于轴矢量的求解,通常要结合实际情况与叉乘

因此,任何不满足该工作空间的{W}均在机器人工作空间之外

(看的不是很懂,目前感觉影响不大)

代数法求解逆运动学

利用正运动学方程,通过代数变换(如移项、三角恒等式等)直接求解关节变量。适用于平面、少自由度机器人逆运动学求解

对于一个三连杆平面机器人,当已知除θ外其他连杆参数时,可以根据坐标轴矢量得到{W}的正运动学函数,(假设{W}就在连杆3的关节处,目标点在{W}上),因此当给定目标点位姿时,可以得到以下方程:

其中Φ,x,y,l_1,l_2为已知值。即根据四个非线性方程求解三个未知数,因此可以得到所有可能解

(将方程两边平方相加,消去θ₁,利用余弦定理直接求解θ₂,再反求θ₁,最后用arctan求Φ,减去θ₁,θ₂得到θ3)

几何法求解逆运动学

即通过三角函数进行几何分析求各角度,与代数法本质相同,不再详细展开

数值法求解逆运动学

使用迭代数值求解,这里暂时不深究,需要时再扩充