基礎知識
速度矢量,角速度矢量,叉乘運算
速度是描述質點運動快慢和方向的實體量,等于位移對時間的微分。同時也等于加速度對時間的積分。
角速度: 定義:一個以弧度為機關的圓(一個圓周為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} BAR來描述。此時,假定方位 B A R _{B}^{A}\textrm{R} BAR不随時間變化,則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+BARBVQ (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=BARBVQ+AΩB×BARBQ
緊接着将以上線速度與角速度擴充為坐标系原點不重合的情況,最終可以推導出從坐标系{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+BARBVQ+AΩB×BARBQ
連杆間的速度傳遞
連杆間速度的傳遞就如同位姿變換一般,可以通過連杆間的推導從基座的速度逐漸推導到末端速度
角速度
當兩個 ω \omega ω矢量都是相對于同一個坐标系時,那麼這些角速度能夠相加。是以,連杆i+l 的角速度就等于連杆i的角速度加上一個由于關節i+ 1 的角速度引起的分量。參照坐标系{i}, 可寫成:(實在懶得打公式,直接截圖了)
其中
注意:隻有當所有速度矢量都變換到相對于通一個坐标系表述時,兩個速度矢量才可以相加!
可以帶到得到連杆i+1角速度相對于坐标系{i+1}的表達式
線速度
坐标系{i+ 1} 原點的線速度等于坐标系{i} 原點的線速度加上一個由于連杆i的角速度引起的新的分量。是以有:
要得到連杆3的速度相對于固定坐标系表達式,用旋轉矩陣 3 0 R ^0_3R 30R對其作旋轉變換即可
雅克比
雅克比矩陣是以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);%末端執行器在自身空間内的速度