草庐IT

六轴UR机械臂标准DH正逆运动学公式推导+代码验证C++

目录DH参数介绍 正运动学代码测试 逆运动学变换矩阵关节1的求解关节5的求解关节6的求解关节3的求解关节2的求解关节4的求解正逆解完整代码测试结果不足之处一些有用链接最近做项目需要用到UR5的逆解,在网上找资料自己实现碰到一堆坑,现在终于完美解决。本文用的是标准DH参数,包含从末端位姿变换到关节角的全部过程,网上许多教程都是用正运动学算出的变换矩阵进行逆运动学求解,在我的项目中完全没有办法应用。其中UR末端姿态有两种表示方法,这也是排查了好久才找到的问题。现在将完整过程分享出来,希望可以帮到和我遇到同样问题的小伙伴。URsim使用及安装可参考我另一篇博客URSim+Unity联合仿真以及Soc

递推最小二乘法的推导和理解

递推最小二乘法的推导和理解最小二乘法快速回顾最小二乘法的推导建立误差平方将其最小化一种对最小二乘法理解的视角递推最小二乘法在线实时预测问题推导思路与详细过程将k时刻的表达式写成k-1时刻表达式加某一个量写出k-1时刻满足的最小二乘表达式将前两步的公式带入第k时刻的最小二乘表达式中公式的简单理解角度一:回归在线预测问题角度二:梯度下降视角角度三:状态方程视角下的(XkTXk)−1(X_k^{T}X_k)^{-1}(XkT​Xk​)−1:数据量太大:矩阵求逆公式本文的框架如下:首先回忆一些最小二乘法的概念,如果很熟悉可以直接跳到递推最小二乘法,评判标准就是可以理解(XkTXk)−1XkTYk(X_

关于罗德里格斯公式(Rodrigues‘sFormula)的详细推导过程

关于罗德里格斯公式[Rodrigues'sFormula]的详细推导过程1旋转向量2罗德里格斯公式2.1罗德里格斯公式定义2.2罗德里格斯公式推导3旋转矩阵到旋转向量的转换1旋转向量实际上,任意旋转都可以用一个旋转轴和一个旋转角来刻画。我们可以使用一个向量uuu,其方向与旋转轴一致,其长度等于旋转角θ\thetaθ,那么向量θu\thetauθu就可以描述这个旋转,这种向量称为旋转向量(或轴角/角轴,Axis-Angle),只需一个三维向量即可描述旋转。同样,对于一个变换矩阵,使用一个旋转向量和一个平移向量即可表达一次变换,此时变量维数正好是六维。2罗德里格斯公式2.1罗德里格斯公式定义维基百

浅谈牛顿-欧拉方程及其推导

前文最近阅读课题论文时看到采用牛顿-欧拉方程来建立动力学方程,尝试系统学习一下这一知识,发现网上资源推导说明不清晰不利于新手入门理解,此文用于记录推导过程以加深理解。若文中出现错误或误导内容,欢迎指正!传送门前文为何物(背景)从何来(公式推导)线运动推导角运动推导总结为何物(背景)描述刚体的力学变化和运动过程有很多种方法,例如基于能量的拉格朗日公式、牛顿力学法以及现在讨论的牛顿-欧拉方程。不同的方法以不同的基本定理和角度来描述刚体运动过程(能量守恒,动量守恒等)。牛顿-欧拉方程则是从刚体的转动和平动两个运动类型来描述力学与运动之间的关系。刚体的平动描述的是描述对象的运动轨迹,刚体的转动描述的是

几何与向量方法推导两角和差公式

几何方法是用锐角三角函数推广到所有角,向量方法是运用点积与叉积,另外附上两角和差公式的另外形式[MENU]1.sin、cos的两角和差公式推导1.1几何方法1.2向量方法1.2.1点积推导cos两角和差公式1.2.2叉积推导sin两角和差公式3.tan的两角和差公式推导4.补充:两角和差公式的另外形式1.sin、cos的两角和差公式推导1.1几何方法已知两角α、β\alpha、\betaα、β的任意三角函数,求sinα+β与cosα+βsin_{\alpha+\beta}与cos_{\alpha+\beta}sinα+β​与cosα+β​这里我们且令OB=1首先过点B向OC与OA作BD垂直于O

【数据结构-矩阵】矩阵的相关公式推导

文章目录1数组1.1一维数组1.2二维数组2对称矩阵2.1上三角部分(i≤j)2.2下三角部分(i≥j)3三角矩阵3.1上三角矩阵(i≤j的元素不全为0)3.2下三角矩阵(i≥j的元素不全为0)4三对角矩阵5稀疏矩阵1数组设数组元素长度为L。1.1一维数组数组下标从0开始(A[0]–A[n],一共n+1个),假设当前下标为A[i]:第几个=i+1存储地址=首地址+(第几个-1)*L=A[0]地址+i*L数组下标从1开始(A[1]–A[n],一共n个),假设当前下标为A[i]:第几个=i存储地址=首地址+(第几个-1)*L=A[1]地址+(i-1)*L1.2二维数组数组下标从0开始(A[0,0]

相机标定-机器视觉基础(理论推导、Halcon和OpenCV相机标定)

        相机标定是获得目标工件精准坐标信息的基础。首先,必须进行相机内参标定,构建一个模型消除图像畸变;其次,需要对相机和机器人的映射关系进行手眼标定,构建一个模型将图像坐标系上的点映射到世界坐标系。主要分为背景知识、相机内外参模型推导、编程代码实现三个部分。1背景知识        在讨论相机模型标定之前,我们应当先了解几何里面关于2D、3D空间里面几种几何变换形式。主要包括欧式变换、相似变换、仿射变换和透视变换,相机标定的过程,就是一个透视变换矩阵求解的过程。参考来源:北京邮电大学鲁鹏老师的课件1.12D平面上的变换1.1.1欧式变换        所谓欧式变换,即只有平移加旋转的

机械臂的雅克比矩阵推导

1.线速度和角速度的递推通式推导pi=pi−1+Ri−1ri−1,ii−1\mathbf{p}_{i}=\mathbf{p}_{i-1}+\mathbf{R}_{i-1}\mathbf{r}_{i-1,i}^{i-1}pi​=pi−1​+Ri−1​ri−1,ii−1​pi−1\mathbf{p}_{i-1}pi−1​是{i−1}\{i-1\}{i−1}坐标系的原点的向量,pi\mathbf{p}_{i}pi​是{i}\{i\}{i}坐标系的原点的向量,对于向量如果没有上标默认在{0}\{0\}{0}坐标系下表示(往后向量不说在哪个坐标系下表示默认是在{0}\{0\}{0}坐标系下表示)。ri−

机器人中欧拉角,偏航角、俯仰角、横滚角的自锁现象与四元数的来源于推导

想要讲欧拉角,我们需要先讲物体的姿态与自由度。什么是物体的位姿为了描述物体(此处指的是我们的末端执行器)在空间中的位置,我们可以用一个3*1的位置矩阵去描述。P′′=[PX′′,PY′′,PZ′′]TP''=[P_X'',P_Y'',P_Z'']^TP′′=[PX′′​,PY′′​,PZ′′​]T其中P’‘就是末端执行器的自身坐标系(x’‘y’‘z’')原点在固定坐标系(xyz)下的坐标。为了描述物体在空间中的姿态,我们可以使用3*3的姿态矩阵去描述。R′′=[nx′′ox′′ax′′ny′′oy′′ay′′nz′′oz′′az′′]R''=\left[\begin{matrix}n_x''&

LQR控制基本原理(包括Riccati方程具体推导过程)

全状态反馈控制系统状态反馈控制器    通过选择K,可以改变的特征值,进而控制系统表现。LQR控制器最优控制,其本质就是让系统以某种最小的代价来让系统运行,当这个代价被定义为二次泛函,且系统是线性的话,那么这个问题就称为线性二次问题,设计的控制器(即问题的解)可以称为LQR(LinearQuadraticRegulator)线性二次调节器。1、连续时间代价函数一般来说,Q阵和R阵为单位对角阵,对角阵上的元素对应着不同状态量和控制量的权重大小,越大说明我们设计时对于该量的重视程度越大,即希望这个量在变化过程中保持较小的值,换种说法就是对于该量的“惩罚”越大。积分号说明从开始控制起到最终无限时间代