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

以六轴机械臂为例,设机械臂关节空间为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无论处在什么位置,都不会影响末端执行空间的位置和速度,称为零空间

相关推荐
程序员Linc19 分钟前
写给新人的深度学习扫盲贴:向量与矩阵
人工智能·深度学习·矩阵·向量
jimmyleeee14 小时前
人工智能基础知识笔记七:随机变量的几种分布
人工智能·笔记·概率论
向阳逐梦17 小时前
ROS2 高级组件中的webots介绍
机器人
ModestCoder_17 小时前
将一个新的机器人模型导入最新版isaacLab进行训练(以unitree H1_2为例)
android·java·机器人
跳跳糖炒酸奶18 小时前
第四章、Isaacsim在GUI中构建机器人(2):组装一个简单的机器人
人工智能·python·算法·ubuntu·机器人
明月看潮生19 小时前
青少年编程与数学 02-015 大学数学知识点 03课题、概率论和数理统计
青少年编程·概率论·数理统计·编程与数学·大学数学
SylviaW081 天前
python-leetcode 63.搜索二维矩阵
python·leetcode·矩阵
小卡皮巴拉1 天前
【力扣刷题实战】矩阵区域和
开发语言·c++·算法·leetcode·前缀和·矩阵
csssnxy1 天前
网红指路机器人的主要功能有哪些?
机器人
跳跳糖炒酸奶1 天前
第四章、Isaacsim在GUI中构建机器人(1): 添加简单对象
人工智能·python·ubuntu·机器人