25/2/7 <机器人基础>雅可比矩阵计算 雅可比伪逆

雅可比矩阵计算

雅可比矩阵的定义

假设我们有一个简单的两个关节的平面机器人臂,其末端执行器的位置可以表示为:

其中:

  • L1 和 L2 是机器人臂的长度。
  • θ1 和 θ2是关节的角度。

计算雅可比矩阵

雅可比矩阵 JJ 的定义是将关节速度与末端执行器的速度联系起来,因此我们需要对末端位置 (x,y) 进行对关节角度 (θ1,θ2)的偏导数计算:

计算各偏导数
  1. 计算 ∂x/∂θ1:
  1. 计算 ∂x/∂θ2​:
  1. 计算 ∂y/∂θ1​:
  1. 计算 ∂y/∂θ2​:

构造雅可比矩阵

现在,我们将这些偏导数代入雅可比矩阵:

示例参数

假设:

  • L1=1
  • L2=1
  • θ1=π/4(45度)
  • θ2=π/4(45度)

计算函数值

  1. 计算 J 中的各项:
  1. 将这些值代入雅可比矩阵,得到:
  1. 结果为:

雅可比伪逆

雅可比伪逆(Jacobian Pseudoinverse)是雅可比矩阵的一个重要扩展,主要用于处理系统中的非线性或不适定问题。它常用来求解最小二乘问题和求逆运动学中的关节角度。以下是它的计算方法和主要用途。

计算雅可比伪逆

对于一个矩阵 J,其伪逆 J+ 可以通过以下步骤计算:

  1. 奇异值分解(SVD)

    将雅可比矩阵 J分解为:

    J=UΣVT

    其中:

    • U 和 V 是正交矩阵。
    • Σ是对角矩阵,包含 J 的奇异值。
  2. 计算伪逆

    伪逆可以表示为:

    J+=VΣ+UT

    其中 Σ+是 Σ的伪逆,具体为:

    • 如果 σi 是非零奇异值,则其伪逆为 1/σi。
    • 对于零奇异值,保持位置为0。

雅可比伪逆的用途

  1. 解决最小二乘问题

    在很多情况下,我们需要最小化误差。通过使用伪逆,可以有效解决 Jx=b 的最小二乘解:

    x=J+b

  2. 逆运动学

    在求解机器人运动学中,伪逆可以帮助找到关节角度,使得末端执行器的位置尽可能接近期望的位置。当系统存在多解或没有解时,伪逆能够提供一个合理的解。

  3. 速度控制

    用于实现关节速度与末端速度之间的转换,将末端的速度映射回关节空间。

  4. 处理测量噪声

    在传感器测量不精确的情况下,伪逆能够提供更稳健的解,从而减少噪声对系统的影响。

力雅可比矩阵

力雅可比矩阵(Force Jacobian Matrix)是一个重要的工具,用于描述机器人或机械系统中作用在末端执行器上的力与关节力之间的关系。它在机器人控制和力控制问题中起着关键作用。

力雅可比矩阵的定义

力雅可比矩阵通常表示为 JfJf​,用于将末端执行器的力(或力矩)映射到关节力(或关节力矩):

其中:

  • F 是末端执行器施加的力向量。
  • τ 是关节施加的力向量(常称为关节扭矩)。
  • Jf是力雅可比矩阵。

计算力雅可比矩阵

计算方法通常依据运动学模型和系统的配置。以下是一般步骤:

  1. 定义末端执行器的位置和姿态:确定末端执行器相对于机器人的位置和姿态。

  2. 反向求导:在求解冬锡变换(Derivation of the Kinematic Model)时,通过对系统运动学方程的求导,得到关于关节角度的变化对末端执行器的力的影响。

  3. 矩阵构造:根据定义,力雅可比矩阵的每一列通常由关节对末端执行器施加的力或扭矩的作用点位置来组成。这可以通过以下方式构造:

    • 对每个关节的力量影响进行建模,包括关节自由度和末端执行器位置。
    • 考虑重力和外力等对雅可比矩阵的贡献。

力雅可比矩阵的用途

  1. 力控制:在力控制任务中(如抓取或施力操作),力雅可比矩阵用于将目标末端执行器的力转变为关节力,以实现目标力的精确控制。

  2. 模仿人类操作:在机器人模仿人类动作时,力雅可比矩阵帮助捕捉人类在执行任务时施加的力,以及如何将其映射到机器人的关节上。

  3. 稳定性分析:在动态负载情况下,力雅可比矩阵可以帮助分析和保持系统的稳定性,确保机器人能够在外部干扰下保持平衡。

  4. 联动控制:在多关节系统中,力雅可比矩阵有助于协调多个关节的动作,以便同时实现特定的力和运动目标。

速度雅可比矩阵

速度雅可比矩阵(Velocity Jacobian Matrix)是描述机器人关节速度与末端执行器线性和角速度之间关系的工具。它通常用于运动学分析和机器人控制。

速度雅可比矩阵的定义

假设末端执行器的状态由位置 (x,y,θ) 表示,其中 (x,y)是末端执行器的位置,θ 是其朝向角。速度雅可比矩阵 Jv将关节速度 (θ˙1​,θ˙2​) 与末端执行器的线性速度 (x˙,y˙​) 和角速度 θ˙ 关联起来,形式为:

计算速度雅可比矩阵

为计算速度雅可比矩阵,我们需要取末端执行器位置和姿态对各关节角速度的偏导数。

1. 末端执行器的速度表达式

根据先前的示例,末端执行器的位置是:

将其速度表示为关节速度的线性组合:

2. 计算偏导数

与之前相似,我们计算偏导数:

计算 ∂x/∂θ1 和 ∂x/∂θ2(如前所示):

计算 ∂y/∂θ1 和 ∂y/∂θ2

3. 构造速度雅可比矩阵

速度雅可比矩阵 Jv可以写成:

将之前计算出的值代入:

x˙ 表示末端执行器的线性速度,特别是它在 x 方向的速度分量。类似地,y˙​ 表示在 y方向的速度分量,θ˙表示末端执行器的角速度。

因此,速度雅可比矩阵的意义是将关节角速度(通过 θ˙1 和 θ˙2​ 表示)转化为末端执行器的线性和角速度(通过 x˙、y˙ 和 θ˙ 表示)。

刚度(Stiffness)

定义:刚度是指物体或系统抵抗变形的能力。刚度越大,物体在外力作用下产生的变形越小。

数学表达式

刚度 K可以用弹性模量(应力与应变的比值)表示,通常的关系为:

K=F/δ​

其中:

  • F 是施加的力
  • δ 是由该力引起的变形量(位移)

柔度(Compliance)

定义:柔度是刚度的倒数,描述物体或系统在施加力时的变形能力。柔度越大,物体在相同的力作用下产生的变形越大。

数学表达式

柔度 C 的定义为:

C=δ/F=1/K

相关推荐
渡我白衣4 小时前
多路转接之epoll:理论篇
人工智能·神经网络·网络协议·tcp/ip·自然语言处理·信息与通信·tcpdump
明月照山海-4 小时前
机器学习周报二十八
人工智能·机器学习
weixin_4374977710 小时前
读书笔记:Context Engineering 2.0 (上)
人工智能·nlp
喝拿铁写前端10 小时前
前端开发者使用 AI 的能力层级——从表面使用到工程化能力的真正分水岭
前端·人工智能·程序员
goodfat10 小时前
Win11如何关闭自动更新 Win11暂停系统更新的设置方法【教程】
人工智能·禁止windows更新·win11优化工具
北京领雁科技10 小时前
领雁科技反洗钱案例白皮书暨人工智能在反洗钱系统中的深度应用
人工智能·科技·安全
落叶,听雪10 小时前
河南建站系统哪个好
大数据·人工智能·python
清月电子11 小时前
杰理AC109N系列AC1082 AC1074 AC1090 芯片停产替代及资料说明
人工智能·单片机·嵌入式硬件·物联网
Dev7z11 小时前
非线性MPC在自动驾驶路径跟踪与避障控制中的应用及Matlab实现
人工智能·matlab·自动驾驶
七月shi人11 小时前
AI浪潮下,前端路在何方
前端·人工智能·ai编程