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

embedded/2025/2/11 22:09:47/

雅可比矩阵计算

雅可比矩阵的定义

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

其中:

  • 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


http://www.ppmy.cn/embedded/161431.html

相关文章

在大型语言模型(LLM)框架内Transformer架构与混合专家(MoE)策略的概念整合

文章目录 传统的神经网络框架存在的问题一. Transformer架构综述1.1 transformer的输入1.1.1 词向量1.1.2 位置编码(Positional Encoding)1.1.3 编码器与解码器结构1.1.4 多头自注意力机制 二.Transformer分步详解2.1 传统词向量存在的问题2.2 详解编解码…

java项目之健达企业项目管理系统的设计与实现源码(ssm+mysql)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的健达企业项目管理系统的设计与实现。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 健达企业项目…

Spring Boot 需要独立的容器运行吗

Spring Boot 不需要独立的容器运行,它内置了一个嵌入式的Web服务器(如Tomcat、Jetty或Undertow),所以可以直接作为一个独立的应用程序运行,而不需要外部的Servlet容器。你只需要运行Spring Boot应用,它会自…

【机器学习与数据挖掘实战】案例13:基于BP神经网络模型的家用热水器用户行为分析与事件识别

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈机器学习与数据挖掘实战 ⌋ ⌋ ⌋ 机器学习是人工智能的一个分支,专注于让计算机系统通过数据学习和改进。它利用统计和计算方法,使模型能够从数据中自动提取特征并做出预测或决策。数据挖掘则是从大型数…

在Uniapp中使用阿里云OSS插件实现文件上传

在开发小程序时,文件上传是一个常见的需求。阿里云OSS(Object Storage Service)是一个强大的云存储服务,可以帮助我们高效地存储和管理文件。本文将介绍如何在Uniapp小程序中使用阿里云OSS插件实现文件上传功能。 1. 准备工作 首…

PID 算法简介(C语言)

一、简介: PID是比例、积分、微分三个环节的组合,用来进行反馈控制。每个部分都有对应的系数,也就是Kp、Ki、Kd。PID 算法实现这三个部分的计算,然后综合起来得到控制输出。 二、PID控制器结构体: PID控制器结构体:包含PID参数(Kp, Ki, Kd);存储积分项和上一次误差;…

疯狂前端面试题(二)

一、Webpack的理解 Webpack 是一个现代 JavaScript 应用程序的静态模块打包工具。Webpack 能够将各种资源(JavaScript、CSS、图片、字体等)视为模块,并通过依赖关系图将这些模块打包成一个或多个最终的输出文件(通常是一个或几个…

【Python深入浅出】Python3中os模块:开启系统交互的万能钥匙

目录 一、引言:os 模块初印象二、os 模块基础操作2.1 文件与目录操作2.1.1 创建操作2.1.2 读取操作2.1.3 删除操作2.1.4 信息获取 2.2 系统信息获取与环境变量管理2.2.1 系统信息获取2.2.2 环境变量管理 2.3 进程管理与工作目录操作2.3.1 进程管理2.3.2 工作目录操作…