雅克比矩阵在机器人运动学中的应用

以六轴机械臂为例,设机械臂关节空间为q,位置矩阵为p,速度矩阵为v

q = [ q 0 , q 1 , q 2 , q 3 , q 4 , q 5 ] q=[q_0,q_1,q_2,q_3,q_4,q_5] q=[q0,q1,q2,q3,q4,q5]

p = [ x , y , z ] T = [ f x ( q ) f y ( q ) f z ( q ) ] p=[x,y,z]^T=\begin{bmatrix}f_x(q) \\ f_y(q)\\ f_z(q) \\ \end{bmatrix} p=[x,y,z]T= fx(q)fy(q)fz(q)

联立机械臂速度矩阵、关节空间和位置矩阵的关系如下

v = p ˙ = ( d f x d t d f y d t d f z d t ) = ( ∂ f x ∂ q 0 d q 0 d t ⋯ ∂ f x ∂ q 5 d q 5 d t ∂ f y ∂ q 0 d q 0 d t ⋯ ∂ f y ∂ q 5 d q 5 d t ∂ f z ∂ q 0 d q 0 d t ⋯ ∂ f z ∂ q 5 d q 5 d t ) = ( ∂ f x ∂ q 0 ⋯ ∂ f x ∂ q 5 ∂ f y ∂ q 0 ⋯ ∂ f y ∂ q 5 ∂ f z ∂ q 0 ⋯ ∂ f z ∂ q 5 ) ( q 1 ⋮ q 5 ) v=\dot p=\begin{pmatrix}\frac {df_x}{dt} \\ \frac {df_y}{dt} \\ \frac {df_z}{dt}\\ \end{pmatrix} =\begin{pmatrix}\frac {\partial f_x} {\partial q_0}\frac {dq_0} {dt}& \cdots & \frac {\partial f_x} {\partial q_5}\frac {dq_5} {dt} \\ \frac {\partial f_y} {\partial q_0} \frac {dq_0} {dt} &\cdots&\frac {\partial f_y} {\partial q_5} \frac {dq_5} {dt} \\\frac {\partial f_z} {\partial q_0} \frac {dq_0} {dt} &\cdots & \frac {\partial f_z} {\partial q_5} \frac {dq_5} {dt} \end{pmatrix}= \begin{pmatrix}\frac {\partial f_x} {\partial q_0}& \cdots & \frac {\partial f_x} {\partial q_5} \\ \frac {\partial f_y} {\partial q_0}& \cdots & \frac {\partial f_y} {\partial q_5} \\\frac {\partial f_z} {\partial q_0}& \cdots & \frac {\partial f_z} {\partial q_5} \end{pmatrix}\begin{pmatrix}q_1 \\ \vdots \\ q_5\\ \end{pmatrix} v=p˙= dtdfxdtdfydtdfz = ∂q0∂fxdtdq0∂q0∂fydtdq0∂q0∂fzdtdq0⋯⋯⋯∂q5∂fxdtdq5∂q5∂fydtdq5∂q5∂fzdtdq5 = ∂q0∂fx∂q0∂fy∂q0∂fz⋯⋯⋯∂q5∂fx∂q5∂fy∂q5∂fz q1⋮q5

将中间矩阵定义为雅克比矩阵J,则

J = ( ∂ f x ∂ q 0 ⋯ ∂ f x ∂ q 5 ∂ f y ∂ q 0 ⋯ ∂ f y ∂ q 5 ∂ f z ∂ q 0 ⋯ ∂ f z ∂ q 5 ) J=\begin{pmatrix}\frac {\partial f_x} {\partial q_0}& \cdots & \frac {\partial f_x} {\partial q_5} \\ \frac {\partial f_y} {\partial q_0}& \cdots & \frac {\partial f_y} {\partial q_5} \\\frac {\partial f_z} {\partial q_0}& \cdots & \frac {\partial f_z} {\partial q_5} \end{pmatrix} J= ∂q0∂fx∂q0∂fy∂q0∂fz⋯⋯⋯∂q5∂fx∂q5∂fy∂q5∂fz

v = J q ˙ v=J\dot q v=Jq˙

q ˙ = [ q ˙ 0 , q ˙ 1 , q ˙ 2 , q ˙ 3 , q ˙ 4 , q ˙ 5 ] \dot q=[\dot q_0,\dot q_1,\dot q_2,\dot q_3,\dot q_4,\dot q_5] q˙=[q˙0,q˙1,q˙2,q˙3,q˙4,q˙5]

那么雅克比矩阵J可以用来表示从关节速度空间q_dot到关节末端执行空间速度的映射,即一个末端的位置可以由多个关节空间的速度映射得到,即

q ˙ J ⟶ v \dot q {J \over \longrightarrow }v q˙⟶Jv

同样,末端执行空间速度F同样可以使用雅克比矩阵映射到关节空间力矩

τ J T ⟶ F \tau {J ^T \over \longrightarrow}F τ⟶JTF

τ = J T F \tau = J^TF τ=JTF

例如7轴机械臂,具有冗余的一个关节空间(7x1)q_6,所以在末端执行空间的变换矩阵(6x1)(3x3旋转+3x1平移)进行映射的时候q_6无论处在什么位置,都不会影响末端执行空间的位置和速度,称为零空间

相关推荐
kyle~7 小时前
机器人传感器系统---时间戳对齐
机器人
淮北49420 小时前
ros调试工具foxglove使用指南三:在3d空间写写画画(Panel->3D ->Scene entity)
python·学习·3d·机器人
jndingxin1 天前
OpenCV 图形API(5)API参考:数学运算用于执行图像或矩阵加法操作的函数add()
opencv·webpack·矩阵
AntResearch1 天前
ICLR 2025 Spotlight:让机器人实现「自主进化」,蚂蚁数科、清华提出具身协同框架 BodyGen
机器人
东雁西飞1 天前
MATLAB 控制系统设计与仿真 - 33
开发语言·算法·matlab·机器人·自动控制
郭涤生1 天前
第二章:ROS架构_《ROS机器人开发实践》_notes
架构·机器人
MobiCetus1 天前
【MachineLearning】生成对抗网络 (GAN)
linux·人工智能·python·深度学习·神经网络·生成对抗网络·机器人
古希腊掌握嵌入式的神1 天前
[ROS]ROS系统是如何协调工作机器人
机器人·ros
硅谷秋水1 天前
DataPlatter:利用最少成本数据提升机器人操控的泛化能力
人工智能·深度学习·计算机视觉·语言模型·机器人
Mr.Winter`1 天前
深度强化学习 | 基于优先级经验池的DQN算法(附Pytorch实现)
人工智能·pytorch·神经网络·机器学习·机器人·强化学习