雅克比矩阵求导推导

article/2025/9/15 16:17:05

首先,引入雅克比矩阵公式:

J = [ u 1 u 2 ⋯ u n e 1 e 2 ⋯ e n ] \mathbf{J}=\left[\begin{array}{c} \begin{array}{lll}\mathbf{u}_{1} & \mathbf{u}_{2} & \cdots & \mathbf{u}_{n}\end{array} \\ \begin{array}{lll}\mathbf{e}_{1} & \mathbf{e}_{2} & \cdots & \mathbf{e}_{n}\end{array}\end{array}\right] J=[u1u2une1e2en]

J ˙ = [ u ˙ 1 u ˙ 2 ⋯ u ˙ n e ˙ 1 e ˙ 2 ⋯ e ˙ n ] \dot{\mathbf{J}}=\left[\begin{array}{c} \begin{array}{lll}\dot{\mathbf{u}}_{1} & \dot{\mathbf{u}}_{2} & \cdots & \dot{\mathbf{u}}_{n}\end{array} \\ \begin{array}{lll}\dot{\mathbf{e}}_{1} & \dot{\mathbf{e}}_{2} & \cdots & \dot{\mathbf{e}}_{n}\end{array}\end{array}\right] J˙=[u˙1u˙2u˙ne˙1e˙2e˙n]

其中 u i = e i × r i \mathbf{u}_{i}=\mathbf{e}_{i} \times \mathbf{r}_{i} ui=ei×ri u ˙ i = e ˙ i × r i + e i × r ˙ i \dot{\mathbf{u}}_{i}=\dot{\mathbf{e}}_{i} \times \mathbf{r}_{i}+\mathbf{e}_{i} \times \dot{\mathbf{r}}_{i} u˙i=e˙i×ri+ei×r˙i


在这里插入图片描述

为了求得 J ˙ \dot{\mathbf{J}} J˙ ,我们已知 e i \mathbf{e}_{i} ei r i \mathbf{r}_{i} ri

e i \mathbf{e}_{i} ei :坐标系{i}的Z轴单位方向向量在基坐标系下{0}下的坐标,由 T i 0 T_{\mathrm{i}}^{0} Ti0 的第三列的前三个元素给出

r i \mathbf{r}_{i} ri r i = o e 0 − o i 0 \mathbf{r}_{i}=\mathbf{o}_{e}^{0}-\mathbf{o}_{i}^{0} ri=oe0oi0

o i 0 \mathbf{o}_{i}^{0} oi0 为坐标系{i}原点在基坐标{0}下的三维坐标,由 T i 0 T_{\mathrm{i}}^{0} Ti0 的第四列的前三个元素给出

r i \mathbf{r}_{i} ri 为在基坐标系下,坐标系{i}原点到末端点的距离

r i \mathbf{r}_{i} ri 还有另一种表示方式: r i = a i + a i + 1 + ⋯ + a n \mathbf{r}_{i}=\mathbf{a}_{i}+\mathbf{a}_{i+1}+\cdots +\mathbf{a}_{n} ri=ai+ai+1++an (式中的 a i \mathbf{a}_{i} ai 必须化为基坐标下表示)

其中 a i i \mathbf{a}_{i}^{i} aii 为坐标系{i+1}的原点在坐标系{i}下的三维坐标,由 T i + i i T_{\mathrm{i+i}}^{i} Ti+ii 的的第四列的前三个元素给出,若要化为基坐标下表示,需乘以一个旋转变换矩阵 R i 0 \mathbf{R}_{i}^{0} Ri0


需要我们求: e ˙ i \dot{\mathbf{e}}_{i} e˙i r ˙ i \dot{\mathbf{r}}_{i} r˙i

其中 e ˙ i = ω i × e i \dot{\mathbf{e}}_{i}=\boldsymbol{\omega}_{i} \times \mathbf{e}_{i} e˙i=ωi×ei r ˙ i = ω i × a i + ω i + 1 × a i + 1 + ⋯ + ω n × a n \dot{\mathbf{r}}_{i}=\boldsymbol{\omega}_{i} \times \mathbf{a}_{i}+\boldsymbol{\omega}_{i+1} \times \mathbf{a}_{i+1}+\cdots+\boldsymbol{\omega}_{n} \times \mathbf{a}_{n} r˙i=ωi×ai+ωi+1×ai+1++ωn×an

求解 ω i \boldsymbol{\omega}_{i} ωi

ω i + 1 i + 1 = R i i + 1 ω i i + θ ˙ i + 1 z i + 1 i + 1 \boldsymbol{\omega}_{i+1}^{i+1}=\mathbf{R}_{i}^{i+1} \boldsymbol{\omega}_{i}^{i}+\dot{\theta}_{i+1} \mathbf{z}_{i+1}^{i+1} ωi+1i+1=Rii+1ωii+θ˙i+1zi+1i+1

ω i + 1 = R i + 1 0 ω i + 1 i + 1 \boldsymbol{\omega}_{i+1}=\mathbf{R}_{i+1}^{0}\boldsymbol{\omega}_{i+1}^{i+1} ωi+1=Ri+10ωi+1i+1

可以求得 e ˙ i \dot{\mathbf{e}}_{i} e˙i

e ˙ i = ω i × e i \dot{\mathbf{e}}_{i}=\boldsymbol{\omega}_{i} \times \mathbf{e}_{i} e˙i=ωi×ei

也可求得 r ˙ i \dot{\mathbf{r}}_{i} r˙i

r ˙ i = ω i × a i + ω i + 1 × a i + 1 + ⋯ + ω n × a n \dot{\mathbf{r}}_{i}=\boldsymbol{\omega}_{i} \times \mathbf{a}_{i}+\boldsymbol{\omega}_{i+1} \times \mathbf{a}_{i+1}+\cdots+\boldsymbol{\omega}_{n} \times \mathbf{a}_{n} r˙i=ωi×ai+ωi+1×ai+1++ωn×an

综上,所有参数求得,最后求得

u ˙ i = e ˙ i × r i + e i × r ˙ i \dot{\mathbf{u}}_{i}=\dot{\mathbf{e}}_{i} \times \mathbf{r}_{i}+\mathbf{e}_{i} \times \dot{\mathbf{r}}_{i} u˙i=e˙i×ri+ei×r˙i


参考文献:《Fundamentals of Robotic Mechanical Systems》5.5节

matlab seriaLink 也有相应的求雅克比矩阵的函数 jacob_dot (注:该函数求的是雅克比矩阵导数与关节速度的乘积,即 J ˙ q ˙ \dot{\mathbf{J}}\dot{\mathbf{q}} J˙q˙


http://chatgpt.dhexx.cn/article/5nF6u2G5.shtml

相关文章

矩阵求导公式

转自:http://blog.sina.com.cn/s/blog_4a033b090100pwjq.html 求导公式(撇号为转置): Y A * X --> DY/DX A Y X * A --> DY/DX A Y A * X * B --> DY/DX A * B Y A * X * B --> DY/DX B * A 乘积的导数 d(f*g)/dx(df/dx)…

矩阵求导法则的总结

最重要的写在前面: 进行更新:随着理解的加深,我发现之前写的有些问题,重新写一下吧 矩阵求导要分成两类,第一类是用在向量函数f(x)里,比如要在x0处展开,所以需要计算该点处的雅可比这些&#…

-矩阵求导-

一、为什么需要矩阵求导 参数的向量化: 向量化会使代码、式子更加简洁; 使用向量化代替for循环,向量化能够加速你的代码;求导在优化算法中的广泛应用: 优化算法需要反向传播,需要对参数矩阵进行求导 二、…

矩阵求导简析

大家好,这是我的第一篇博客。 矩阵求导(Matrix Derivation,或者Matrix Differential),在机器学习、图像处理、最优化领域经常会遇到。其本质是多元变量的微积分,只是把求导应用在了矩阵上,不同在…

矩阵求导法则

转载自:https://blog.csdn.net/dinkwad/article/details/72819832 矩阵求导的技术,在统计学、控制论、机器学习等领域有广泛的应用。鉴于我看过的一些资料或言之不详、或繁乱无绪,本文来做个科普,分作两篇,上篇讲标量…

矩阵求导总结

文章目录 1.分子为标量1.1 ∂ 标量 ∂ 标量 \frac{\partial 标量}{\partial标量} ∂标量∂标量​1.2 ∂ 标量 ∂ 向量 \frac{\partial 标量}{\partial向量} ∂向量∂标量​1.3 ∂ 标量 ∂ 矩阵 \frac{\partial 标量}{\partial矩阵} ∂矩阵∂标量​ 2.分子为向量2.1 ∂ 向量…

矩阵求导方法

矩阵求导方法 在机器学习过程中,我们经常会对矩阵进行相关的操作,现对矩阵求导方法进行概况与推导。 首先总结矩阵求导的本质,即矩阵A中每个元素对矩阵B中每个元素求导。我们先从宏观上理解这个公式,即从求导后元素的个数来理解…

矩阵求导

一、矩阵和向量求导 参考地址:https://cloud.tencent.com/developer/article/1668818 求导公式大全:https://cloud.tencent.com/developer/article/1551901 机器学习中最常用的矩阵求导有:标量对矩阵的求导,矩阵对标量求导以…

矩阵求导、几种重要的矩阵及常用的矩阵求导公式

一、矩阵求导 一般来讲,我们约定x(x1,x2,...xN)Tx(x1,x2,...xN)T,这是分母布局。常见的矩阵求导方式有:向量对向量求导,标量对向量求导,向量对标量求导。 1、向量对向量求导 2、标量对向量求导 3、向量对标量求导 其他…

矩阵求导(本质、原理与推导)详解

矩阵求导是机器学习与深度学习的基础,它是高等数学、线性代数知识的综合,并推动了概率论与数理统计向多元统计的发展。在一般的线性代数的课程中,很少会提到矩阵导数的概念;而且在网上寻找矩阵求导的知识点,也是五花八…

矩阵求导常用公式

矩阵求导常用公式 1 引言2 向量的导数2.1 向量对标量求导 Vector-by-scalar2.2 标量对向量求导 Scalar-by-vector2.3 向量对向量求导 Vector-by-vector 3 矩阵的导数3.1 矩阵对标量求导 Matrix-by-scalar3.2 标量对矩阵求导 Scalar-by-matrix 4 常用求导公式4.1 向量对向量求导…

矩阵的求导

目录 1 布局(Layout) 1.1 矩阵向量求导引入 1.2 矩阵向量求导定义 1.3 矩阵向量求导布局 1.4 分母布局的另一种求解方法 1.5 总结 2 基本的求导规则 2.1 向量对标量求导(相对于数量变量的微分,即自变量是数量变量) 2.1.1 定义 2.1.…

JAVA—IO流详解

1. 流概述 1.1. 什么是IO IO:Input/Output即输入&输出,也称之为流(河流,水流),指的是数据从一个地点到另一个地点过程;对于计算机来说文件的拷贝过程,文件的编写保存,显示功能…

Java高级特性-IO流

文章目录 前言一、什么是IO流二、字节流-输入输出三、字符流 - 输入输出四、复制文件五、总结 前言 在Java开发中我们经常会涉及到文件方面的操作,不论是网站的上传文件,还是服务器提供给客户端下载文件,这些都需要我们来处理,那J…

java IO流之BufferedReader和BufferedWriter

前言: 👏作者简介:我是笑霸final,一名热爱技术的在校学生。 📝个人主页:笑霸final的主页 📕系列专栏::本文写在java专栏 📧如果文章知识点有错误的地方&#…

IO流详解

文章目录 IO流IO流分类FileInputStream输入流框架相对路径读取过程详解available()skip(long n) FileOutputStream输入流框架 FileReaderFileWriter文件复制FileInputStream 、FileOutputStreamFileReader 、FileWriter 缓冲流BufferedReader 数据专属流DataOutputStreamDataIn…

java中的io流

文章目录 1. IO流,什么是IO?2.IO流的分类?3.IO流都在java.io.*包下4.java IO流有四个家族5.java.io包下需要掌握的流有16个6.FileInputStream的1个字节读入法7.FileInputStream的byte[]读入法8.FileInputStream的其他方法9.FileOutputStream用…

Java读写IO流详解

一、IO流要明确的几点 (1)明确要操作的数据是数据源还是数据目的(是读还是写) 源/读 InputStream Reader 目的/写 OutputStream Writer (2)明确操作设备上的数据是字节还是文本 源/读 字节&…

python IO流

python io流 总的来说就说计算机输入和输出的操作,一般来说是内存与磁盘之间的输入输出 一种虚拟世界的物质。 IO流操作是一种持久化操作,是将数据持久化在磁盘上。 这里用了open函数 函数的第一个引号内放的是运行的python文件目录下的一个名为1.txt的…

IO流的概念

IO流的概念 IO就是Input和Output的简写,也就是输入和输出的含义 IO流就是读写数据时像流水一样从一端流到另外一端,因此得名为"流" 基本分类 按照读写数据的基本单位不同,分为字节流和字符流 其中字节流主要指以字节为单位进行…