日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

机器手六维坐标怎么定义_机器人学——2.4-坐标系的旋转和运动增量

發布時間:2025/3/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器手六维坐标怎么定义_机器人学——2.4-坐标系的旋转和运动增量 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們已經討論了如何產生坐標系的運動,其中包含平移和旋轉兩部分。平移速度代表了坐標系原點位置的變化率,而旋轉速度則要更復雜一些。

旋轉坐標系

物體在三維空間中旋轉時有一個角速度向量ω=(ωx,ωy,ωz)\omega=(\omega_x, \omega_y, \omega_z)ω=(ωx?,ωy?,ωz?)。這個向量的方向定義了瞬時轉動軸,即在某個特定時間點坐標系旋轉所繞的軸。通常情況下,這個軸是隨時間變化而改變的。向量長度代表繞該軸的轉速,這有點類似于旋轉的角軸表示法。力學中有一個眾所周知的時變旋轉矩陣微分表達式(理論力學):

R˙(t)=S(ω)R(t)\dot{R}(t)=S(\omega)R(t)R˙(t)=S(ω)R(t)式中:R(t)R(t)R(t) 為空間旋轉矩陣;S(w)S(w)S(w) 為角速度矩陣,其具體形式如下:

R(t)=(nxoxaxnyoyaynzozaz)S(ω)=(0?ωzωyωz0?ωx?ωyωx0)\begin{matrix}

R\text{(}t\text{)}=\left( \begin{matrix}

n_x&o_x&a_x\\

n_y&o_y&a_y\\

n_z&o_z&a_z\\

\end{matrix} \right)&S\left( \omega \right) =\left( \begin{matrix}

0&-\omega _z&\omega _y\\

\omega _z&0&-\omega _x\\

-\omega _y&\omega _x&0\\

\end{matrix} \right)\\

\end{matrix}R(t)=???nx?ny?nz??ox?oy?oz??ax?ay?az??????S(ω)=???0ωz??ωy???ωz?0ωx??ωy??ωx?0?????利用機器人工具箱,可以得到

>> S = skew([1 2 3])

S =

0 -3 2

3 0 -1

-2 1 0

工具箱函數vex具有逆解的功能:將斜對稱矩陣轉換成一個向量:

>> vex(S)

ans =

1

2

3

那么方程中的 R˙\dot RR˙ 是什么意思呢?我們用微分近似法可得

R˙≈R(t+δt)?R(t)δt\dot{R}\approx\dfrac{R(t+\delta_t)-R(t)}{\delta_t}R˙≈δt?R(t+δt?)?R(t)?即

R(t+δt)≈δtR˙+R(t)R(t+\delta_t)\approx\delta_t\dot{R}+R(t)R(t+δt?)≈δt?R˙+R(t)將其代入方程中,得到

R(t+δt)≈δtS(ω)R(t)+R(t)=(δtS(ω)+I3×3)R(t)R(t+\delta_t)\approx\delta_tS(\omega)R(t)+R(t)=(\delta_tS(\omega)+I_{3\times 3})R(t)R(t+δt?)≈δt?S(ω)R(t)+R(t)=(δt?S(ω)+I3×3?)R(t)它描述了標準正交旋轉矩陣是如何作為一個角速度的函數變化的。

增量運動

現在考慮一個坐標系經微小旋轉從 R0R_0R0? 變到 R1R_1R1?。這時可以將上個方程寫為

R1=(δtS(ω)+I3×3)R0R_1=(\delta_tS(\omega)+I_{3\times3})R_0R1?=(δt?S(ω)+I3×3?)R0?將上式重新整理后,得

δtS(ω)=R1R0T?I3×3\delta_tS(\omega)=R_1R_0^T-I_{3\times3}δt?S(ω)=R1?R0T??I3×3?再對其兩側均使用運算符vex,即求 S(ω)S(\omega)S(ω)的逆,得到

δθ=vex(R1R0T?I3×3)\delta_\theta=\text{vex}(R_1R_0^T-I_{3\times3})δθ?=vex(R1?R0T??I3×3?)其中,δθ=δtω\delta_\theta = \delta_t\omegaδθ?=δt?ω 是一個三維向量,單位是角度,它表示一個繞世界坐標系的 xxx、yyy 和 zzz 三軸的無窮小轉動。

我們之前強調過旋轉變換的不可交換性,但對于無窮小角度變化的乘法來說卻是可交換的。可以用具體數字的例子說明如下:

>> Rdelta = rotx(0.001) * roty(0.002) * rotz(0.003)

Rdelta =

1.0000 -0.0030 0.0020

0.0030 1.0000 -0.0010

-0.0020 0.0010 1.0000

以上結果是與下面的計算相同的(取4位有效數字):

>> Rdelta = roty(0.002) * rotx(0.001) *rotz(0.003)

Rdelta =

1.0000 -0.0030 0.0020

0.0030 1.0000 -0.0010

-0.0020 0.0010 1.0000

使用前面推導的方程,可以重新獲得上面矩陣對應的微小旋轉角 δθ\delta_\thetaδθ?:

>> vex(Rdelta - eye(3, 3))

ans =

0.0010

0.0020

0.0030

現在給出兩個差異極小的位姿 ξ0\xi_0ξ0? 和 ξ1\xi_1ξ1?,可以用一個六維向量來表示它們間的差異:

δ=Δ(ξ0,ξ1)=(δd,δθ)\delta=\Delta(\xi_0, \xi_1)=(\delta_d, \delta_\theta)δ=Δ(ξ0?,ξ1?)=(δd?,δθ?)它由位移增量和旋轉增量兩部分組成。δ∈R6\delta\in\mathbb{R}^6δ∈R6 的值實際上是用空間速度乘以 δt\delta_tδt? 得到的。如果位姿都用齊次變換矩陣的形式表示,那么位姿差異是

δ=Δ(T0,T1)=(t1?t0vex(R1R0T?I3×3))\delta=\Delta(T_0, T_1)=\left( \begin{array}{c}

t_1-t_0\\[1em]

\text{vex}\left( R_1R_0^T-I_{3\times 3} \right)\\

\end{array} \right)δ=Δ(T0?,T1?)=???t1??t0?vex(R1?R0T??I3×3?)????其中,T0=(R0,t0)T_0=(R_0, t_0)T0?=(R0?,t0?),T1=(R1,t1)T_1=(R_1, t_1)T1?=(R1?,t1?)。在工具箱中它可以用函數tr2delta求得。

方程的逆運算為

ξ=Δ?1(δ)\xi=\Delta^{-1}(\delta)ξ=Δ?1(δ)而齊次變換表示法的逆運算是

T=(Sδθδd03×10)+I4×4T=\left( \begin{matrix}

S\delta _{\theta}&\delta _d\\

0_{3\times 1}&0\\

\end{matrix} \right) +I_{4\times4}T=(Sδθ?03×1??δd?0?)+I4×4?在工具箱里它用函數delta2tr求解。

>> T0 = transl(1,2,3)*trotx(1)*troty(1)*trotz(1);

>> T1 = T0*transl(0.01,0.02,0.03)*trotx(0.001)*troty(0.002)*trotz(0.003)

T1 =

0.2889 -0.4547 0.8425 1.0191

0.8372 -0.3069 -0.4527 1.9887

0.4644 0.8361 0.2920 3.0301

0 0 0 1.0000

函數 Δ(?)\Delta(\cdot)Δ(?) 的計算是由工具箱函數tr2delta完成的:

>> d = tr2delta(T0, T1);

>> d'

ans =

0.0191 -0.0113 0.0301 0.0019 -0.0011 0.0030

該位姿變化(位移)由相對于世界坐標系的平移增量和旋轉增量組成。給定這個位移量以及初始位姿,可求得最終位姿為

>> delta2tr(d) * T0

ans =

0.2889 -0.4547 0.8425 1.0096

0.8372 -0.3069 -0.4527 1.9859

0.4644 0.8361 0.2920 3.0351

0 0 0 1.0000

它非常接近于上面T1給出的真實值,誤差是由于位移量不是無窮小這一事實所致。

總結

以上是生活随笔為你收集整理的机器手六维坐标怎么定义_机器人学——2.4-坐标系的旋转和运动增量的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。