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

news2025/2/10 15:41:24

雅可比矩阵计算

雅可比矩阵的定义

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

其中:

  • 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.coloradmin.cn/o/2295884.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

apisix的real-ip插件使用说明

k8s集群入口一般都需要过负载均衡,然后再到apisix。 这时候如果后台业务需要获取客户端ip,可能拿到的是lb或者网关的内网ip。 这里一般要获取真实ip需要做几个处理。 1. 负载均衡上,一般支持配置获取真实ip参数,需要配置上。然…

Python实现GO鹅优化算法优化支持向量机SVM分类模型项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后关注获取。 1.项目背景 随着信息技术的迅猛发展,数据量呈爆炸式增长,如何从海量的数据中提取有价值…

我用AI做数据分析之数据清洗

我用AI做数据分析之数据清洗 AI与数据分析的融合效果怎样? 这里描述自己在使用AI进行数据分析(数据清洗)过程中的几个小故事: 1. 变量名的翻译 有一个项目是某医生自己收集的数据,变量名使用的是中文,分…

备战蓝桥杯:双指针(滑动窗口)算法之逛花展

P1638 逛画展 - 洛谷 | 计算机科学教育新生态 这道题我们只要用一个kind和一个mp[N]的数组就能解决了 我们的解法1就是暴力枚举,先固定2,从2开始找连续的满足所有种类的最短的子数组,然后固定5,3,1,3&…

collabora online+nextcloud+mariadb在线文档协助

1、环境 龙蜥os 8.9 docker 2、安装docker dnf -y install dnf-plugins-core dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sed -i shttps://download.docker.comhttps://mirrors.tuna.tsinghua.edu.cn/docker-ce /etc/yum.repos.…

深度学习中的Checkpoint是什么?

诸神缄默不语-个人CSDN博文目录 文章目录 引言1. 什么是Checkpoint?2. 为什么需要Checkpoint?3. 如何使用Checkpoint?3.1 TensorFlow 中的 Checkpoint3.2 PyTorch 中的 Checkpoint3.3 transformers中的Checkpoint 4. 在 NLP 任务中的应用5. 总…

用深度学习模型构建海洋动物图像分类保姆教程

使用深度学习模型构建深度学习海洋动物图像分类模型的完整步骤如下,分为关键阶段和详细操作说明: 1. 数据准备与预处理 1.1 数据集组织 按类别分文件夹存储图像,例如:dataset/train/class1/class2/...val/class1/class2/...test…

npm无法加载文件 因为此系统禁止运行脚本

安装nodejs后遇到问题: 在项目里【node -v】可以打印出来,【npm -v】打印不出来,显示npm无法加载文件 因为此系统禁止运行脚本。 但是在winr,cmd里【node -v】,【npm -v】都也可打印出来。 解决方法: cmd里可以打印出…

知识库升级新思路:用生成式AI打造智能知识助手

在当今信息爆炸的时代,企业和组织面临着海量数据的处理和管理挑战。知识库管理系统(Knowledge Base Management System, KBMS)作为一种有效的信息管理工具,帮助企业存储、组织和检索知识。然而,传统的知识库系统往往依…

蚂蚁爬行最短问题

初二数学问题记录 分析过程 考点:2点之间直线最短。 思考过程:将EBCF以BC为边翻折,EF边翻折后为,则A为蚂蚁需要爬行的最小距离。

【电机控制器】STC8H1K芯片——低功耗

【电机控制器】STC8H1K芯片——低功耗 文章目录 [TOC](文章目录) 前言一、芯片手册说明二、IDLE模式三、PD模式四、PD模式唤醒五、实验验证1.接线2.视频(待填) 六、参考资料总结 前言 使用工具: 1.STC仿真器烧录器 提示:以下是本…

【专题】2024-2025人工智能代理深度剖析:GenAI 前沿、LangChain 现状及演进影响与发展趋势报告汇总PDF洞察(附原数据表)

原文链接:https://tecdat.cn/?p39630 在科技飞速发展的当下,人工智能代理正经历着深刻的变革,其能力演变已然成为重塑各行业格局的关键力量。从早期简单的规则执行,到如今复杂的自主决策与多智能体协作,人工智能代理…

SAP-ABAP:SAP的第一行REPORT后面后缀作用详解

在SAP ABAP中&#xff0c;REPORT 语句是定义报表程序的核心语句&#xff0c;其后可以跟多个后缀&#xff08;参数&#xff09;&#xff0c;用于控制报表的行为和属性。以下是常见的 REPORT 后缀及其作用的详解&#xff1a; 程序名称 • 语法&#xff1a;REPORT <program_nam…

25/2/8 <机器人基础> 阻抗控制

1. 什么是阻抗控制&#xff1f; 阻抗控制旨在通过调节机器人与环境的相互作用&#xff0c;控制其动态行为。阻抗可以理解为一个力和位移之间的关系&#xff0c;涉及力、速度和位置的协同控制。 2. 阻抗控制的基本概念 力控制&#xff1a;根据感测的外力调节机械手的动作。位置…

Sparse4D v3:推进端到端3D检测和跟踪

论文地址&#xff1a;2311.11722 (arxiv.org) 代码地址&#xff1a;HorizonRobotics/Sparse4D (github.com) 在自动驾驶感知系统中&#xff0c;3D 检测和跟踪是两项基本任务。本文在 Sparse4D 框架的基础上更深入地探讨了这一领域。作者引入了两个辅助训练任务&#xff08;Temp…

python 语音识别方案对比

目录 一、语音识别 二、代码实践 2.1 使用vosk三方库 2.2 使用SpeechRecognition 2.3 使用Whisper 一、语音识别 今天识别了别人做的这个app,觉得虽然是个日记app 但是用来学英语也挺好的,能进行语音识别,然后矫正语法,自己说的时候 ,实在不知道怎么说可以先乱说,然…

革新在线购物体验:CatV2TON引领虚拟试穿技术新纪元

在这个数字化飞速发展的时代&#xff0c;图像与视频合成技术正以前所未有的速度重塑着我们的生活&#xff0c;尤其在在线零售领域&#xff0c;一场关于购物体验的革命正在悄然上演。想象一下&#xff0c;无需亲自试穿&#xff0c;仅凭一张照片或一段视频&#xff0c;就能精准预…

【Git】ssh如何配置gitlab+github

当我们工作项目在gitlab上&#xff0c;又希望同时能更新自己个人的github项目时&#xff0c;可能因为隐私问题&#xff0c;不能使用同一′密钥。就需要在本地电脑上分别配置两次ssh。 1、分别创建ssh key 在用户主目录下&#xff0c;查询是否存在“.ssh”文件&#xff1a; 如…

音频进阶学习十二——Z变换一(Z变换、收敛域、性质与定理)

文章目录 前言一、Z变换1.Z变换的作用2.Z变换公式3.Z的状态表示1&#xff09; r 1 r1 r12&#xff09; 0 < r < 1 0<r<1 0<r<13&#xff09; r > 1 r>1 r>1 4.关于Z的解释 二、收敛域1.收敛域的定义2.收敛域的表示方式3.ROC的分析1&#xff09;当 …

使用Redis解决使用Session登录带来的共享问题

在学习项目的过程中遇到了使用Session实现登录功能所带来的共享问题&#xff0c;此问题可以使用Redis来解决&#xff0c;也即是加上一层来解决问题。 接下来介绍一些Session的相关内容并且采用Session实现登录功能&#xff08;并附上代码&#xff09;&#xff0c;进行分析其存在…