机器人动力学(雅克比)

基础知识 速度矢量,角速度矢量,叉乘运算
【机器人动力学(雅克比)】速度是描述质点运动快慢和方向的物理量,等于位移对时间的微分。同时也等于加速度对时间的积分。
角速度: 定义:一个以弧度为单位的圆(一个圆周为2π,即:360度=2π),在单位时间内所走的弧度即为角速度,ω=dφ/dt
角速度的方向垂直于转动平面,可通过右手螺旋定则来确定。
线速度=角速度叉乘半径( v = w × r v=w\times r v=w×r)(由圆心向外指) 根据叉乘的右手法则来规定角速度的方向
叉乘:机器人动力学(雅克比)
文章图片

刚体的线速度和角速度 线速度 把坐标系{B} 固连在一刚体上,要求描述相对于坐标系{A} 的运动 B Q ^{B}\textrm{Q} BQ这里已经认为坐标系{A} 是固定的。
坐标系{B} 相对于坐标系{A} 的位置用位置矢量 A P B O R G ^{A}\textrm{P}_{BORG} APBORG? 和旋转矩阵 B A R _{B}^{A}\textrm{R} BA?R来描述。此时,假定方位 B A R _{B}^{A}\textrm{R} BA?R不随时间变化,则Q点相对坐标系{A} 的运动是由于 A P B O R G ^{A}\textrm{P}_{BORG} APBORG? 或 B Q ^{B}\textrm{Q} BQ随时间的变化引起的。
求解坐标系{A} 中Q 点的线速度是非常简单的。只要写出坐标系{A} 中的两个速度分量,求其和为: A V Q = A V B O R G + B A R B V Q ^{A}\textrm{V}_Q=^{A}\textrm{V}_{BORG}+_{B}^{A}\textrm{R} ^{B}\textrm{V}_Q AVQ?=AVBORG?+BA?RBVQ? (1)
机器人动力学(雅克比)
文章图片

(1)只适用千坐标系{B}和坐标系{A} 的相对方位保持不变的情况!
角速度 如图1两坐标系原点重合且相对线速度为零,固定在坐标系{B}上的矢量 B Q ^{B}\textrm{Q} BQ
以角速度A Ω B ^{A}\Omega_B AΩB?相对于坐标系{A}旋转。那么从{A}看固定在{B}中的矢量随时间变化,可以根据下图分析:机器人动力学(雅克比)
文章图片

从坐标系{B}看矢量Q是不变的: B V Q = 0 ^{B}\textrm{V}_Q=0 BVQ?=0
从坐标系{A}中看点Q的速度为旋转角速度 A Ω B ^{A}\Omega_B AΩB?
下图显示了矢量Q绕 A Ω B ^{A}\Omega_B AΩB?的旋转,是从坐标系{A}中观测到的
机器人动力学(雅克比)
文章图片

可以由图2-3得知:
1、 A Q ^{A}\textrm{Q} AQ的微分增量一定垂直于 A Ω B ^{A}\Omega_B AΩB?和 A Q ^{A}\textrm{Q} AQ
2、微分增量的大小为: ∣ Δ Q ∣ = ( A Q s i n θ ) ( ∣ A Ω B ∣ Δ t ) |\Delta Q|=(^{A}\textrm{Q}sin\theta)(|^{A}\Omega_B| \Delta t) ∣ΔQ∣=(AQsinθ)(∣AΩB?∣Δt)
又饿了大小和方向,就可以得到矢量积,根据角速度矢量公式有 A V Q = A Ω B × A Q ^{A}\textrm{V}_{Q}=^{A}\Omega_B\times^{A}\textrm{Q} AVQ?=AΩB?×AQ
但是一般情况下Q是相对于坐标系{B}变化的,加上一个分量,可有:
A V Q = B A R B V Q + A Ω B × B A R B Q ^{A}\textrm{V}_Q=_{B}^{A}R^BV_Q+^{A}\Omega_B\times_B^AR^BQ AVQ?=BA?RBVQ?+AΩB?×BA?RBQ
紧接着将以上线速度与角速度扩展为坐标系原点不重合的情况,最终可以推导出从坐标系{A}观测坐标系{B}中固定速度矢量的最终普遍表达式:
A V Q = A V B O R G + B A R B V Q + A Ω B × B A R B Q ^{A}\textrm{V}_Q=^AV_{BORG}+_{B}^{A}R^BV_Q+^{A}\Omega_B\times_B^AR^BQ AVQ?=AVBORG?+BA?RBVQ?+AΩB?×BA?RBQ
连杆间的速度传递 连杆间速度的传递就如同位姿变换一般,可以通过连杆间的推导从基座的速度逐步推导到末端速度
角速度
当两个 ω \omega ω矢量都是相对于同一个坐标系时,那么这些角速度能够相加。因此,连杆i+l 的角速度就等于连杆i的角速度加上一个由于关节i+ 1 的角速度引起的分量。参照坐标系{i}, 可写成:(实在懒得打公式,直接截图了)机器人动力学(雅克比)
文章图片

其中
机器人动力学(雅克比)
文章图片
机器人动力学(雅克比)
文章图片
机器人动力学(雅克比)
文章图片

注意:只有当所有速度矢量都变换到相对于通一个坐标系表述时,两个速度矢量才可以相加!
可以带到得到连杆i+1角速度相对于坐标系{i+1}的表达式机器人动力学(雅克比)
文章图片

线速度
坐标系{i+ 1} 原点的线速度等于坐标系{i} 原点的线速度加上一个由于连杆i的角速度引起的新的分量。因此有:
机器人动力学(雅克比)
文章图片

机器人动力学(雅克比)
文章图片

机器人动力学(雅克比)
文章图片

机器人动力学(雅克比)
文章图片

要得到连杆3的速度相对于固定坐标系表达式,用旋转矩阵 3 0 R ^0_3R 30?R对其作旋转变换即可机器人动力学(雅克比)
文章图片

雅克比 雅克比矩阵是以n个n元函数的偏导数为元素的行列式,事实上,在函数都连续可微(即偏导数都连续)的前提之下,它就是函数组的微分形式下的系数矩阵(即雅可比矩阵)的行列式
在这里表示的是速度的映射,是一个时变线性映射 Y ˙ = J ( X ) X ˙ \dot{Y}=J(X)\dot{X} Y˙=J(X)X˙
在机器人学中,通常使用雅可比将关节速度与操作臂末端的笛卡儿速度联系起来:
0 v = 0 J ( Θ ) Θ ˙ ^0v=^0J(\Theta)\dot{\Theta} 0v=0J(Θ)Θ˙
其中 Θ \Theta Θ为操作部关节角矢量, v v v是笛卡尔速度矢量,对于6关节机器人,雅克比矩阵是6x6阶矩阵, Θ \Theta Θ是6x1维额, 0 v ^0v 0v也是6x1维,由一个3x1维线速度矢量和一个3x1维角速度矢量组合起来的
机器人动力学(雅克比)
文章图片

根据
机器人动力学(雅克比)
文章图片
可以得到雅克比矩阵:机器人动力学(雅克比)
文章图片

机器人动力学(雅克比)
文章图片

力域中的雅克比 在多维空间中,功是一个力或者力矩矢量与位移矢量的点积,利用虚功原理可知:
机器人动力学(雅克比)
文章图片
机器人动力学(雅克比)
文章图片
机器人动力学(雅克比)
文章图片

由上式可知,雅克比的转置将作用在手臂上的笛卡尔力映射成了等效关节力矩,当得到相对于坐标系{0}的雅克比矩阵后,可有对坐标系{0}中的力矢量进行变换:机器人动力学(雅克比)
文章图片

当雅克比矩阵不满秩时,同位置域中的奇异性相同,存在某些特定的方向,末端执行器在这些方向上不能施加期望静态力,在奇异位置,末端笛卡尔施加的力在某些方向上增大或者减小,与所求的关节空间驱动力的值无关
matlab代码

J = robot.jacob0(q)%jacob0()求解的是将关节速度映射到世界坐标系中的末端执行器空间速度 Jn = jaconb(q); %末端执行器在自身空间内的速度

    推荐阅读