日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

淺析機(jī)器人學(xué)位姿之單位四元數(shù),一文徹底了解四元數(shù),干貨

 taotao_2016 2022-05-07 發(fā)布于遼寧省

對(duì)于機(jī)器人姿態(tài)的轉(zhuǎn)換前面一直介紹歐拉角的方式,其實(shí)對(duì)于三維坐標(biāo)的轉(zhuǎn)換四元數(shù)法和歐拉角用得都比較多,在內(nèi)部算法里四元數(shù)法占比例更大,歐拉角多用于原理講解!

四元數(shù)是一個(gè)復(fù)數(shù),下面就一步一步講解下復(fù)數(shù)怎么和坐標(biāo)系旋轉(zhuǎn)勾搭上的!

四元數(shù)顧名思義對(duì)于旋轉(zhuǎn)的變換只需要四個(gè)參數(shù),而歐拉角的旋轉(zhuǎn)矩陣則是3*3的矩陣,有9個(gè)元素,所以四元數(shù)法用來(lái)優(yōu)化程序,好處顯而易見(jiàn)!

在網(wǎng)上查了一些資料,對(duì)于四元數(shù)的講解基本上沒(méi)有讓我滿意的,可能是我水平不夠或者思路跟不上!所以我打算自己總結(jié)一篇淺顯易懂有不漏知識(shí)點(diǎn)的四元數(shù)淺析文章!

四元數(shù)是一個(gè)標(biāo)量加一個(gè)向量,標(biāo)量一個(gè)數(shù),向量三個(gè)數(shù)!

首先四元數(shù)是一個(gè)復(fù)數(shù),什么是復(fù)數(shù)?應(yīng)該初中還是高中的數(shù)學(xué)肯定是學(xué)過(guò)的,估計(jì)大部分人都還給老師了!

復(fù)數(shù)

1、概述一下復(fù)數(shù)

任意一個(gè)復(fù)數(shù)z都可以表示為z=a+bi 的形式.我們將a稱(chēng)之為這個(gè)復(fù)數(shù)的實(shí)部,b稱(chēng)之為這個(gè)復(fù)數(shù)的虛部。 其中i的平方等于-1!怪不怪!我理解的復(fù)數(shù)的發(fā)明就是為了讓它的虛部也能參與運(yùn)算,因?yàn)閿?shù)學(xué)里有的地方會(huì)出現(xiàn)i平方等于-1的情況,如果沒(méi)發(fā)明復(fù)數(shù),那么就無(wú)法完成計(jì)算!

復(fù)數(shù)的模長(zhǎng)|z|;

文章圖片1

模長(zhǎng)

它的共(軛)是z1=a-bi;

z*z1=a*a+b*b也就是模長(zhǎng)的平方;

加減乘除法則和正常運(yùn)算一樣,如z1=a+bi,z2=c+di;z1+z2=a+b+bi+di; z1*z2=ac+adi+bci+bdi^2;

復(fù)數(shù)參與運(yùn)算主要靠上面這幾個(gè)關(guān)系互相轉(zhuǎn)換,算到最后可以把虛數(shù)算沒(méi)了,就像個(gè)中間變量一樣;兔死狗烹,鳥(niǎo)盡弓藏!

2、復(fù)數(shù)怎么和旋轉(zhuǎn)矩陣勾搭上的?

推導(dǎo)

首先寫(xiě)z1=a+bi,z2=c+di兩個(gè)復(fù)數(shù);

z1*z2=ac+adi+bci+bdi^2

由于i平方等于-1;進(jìn)而化簡(jiǎn):

z1*z2=ac-bd+adi+bci;

再化簡(jiǎn):

z1*z2=ac-bd+(ad+bc)*i;

寫(xiě)成矩陣形式

文章圖片2

右側(cè)的矩陣c d;就是用向量的形式表示z2;為啥呢?因?yàn)閺?fù)數(shù)可以圖像化表示,復(fù)數(shù)z=a+bi可以用如下圖表示:

文章圖片3

既然右側(cè)的列矩陣c d 表示z2,那么復(fù)數(shù)z1就是左側(cè)的二維矩陣表示的!進(jìn)而可以推斷出z2的二維矩陣形式;

最終得出,z1*z2就是兩個(gè)二維矩陣相乘,如下圖公式:

文章圖片4

上面的式子里面i不見(jiàn)了,我們就是當(dāng)i=1;或者讓矩陣乘以一個(gè)二維矩陣,但是結(jié)果不變,那么這個(gè)矩陣就是如下形式,得出i的二維矩陣形式,后面會(huì)用到這個(gè)i矩陣:

文章圖片5

以上這些公式就可以和旋轉(zhuǎn)矩陣眉目傳情有點(diǎn)關(guān)系了;下面繼續(xù)推導(dǎo),把復(fù)數(shù)z1的矩陣形式再變換一下,就徹底勾搭上了,如下:

文章圖片6

配合下面這個(gè)圖看一下,就知道為啥徹底勾搭上了:

文章圖片7

這不就是三角函數(shù)嗎!

那么上面的公式就可以寫(xiě)成三角函數(shù)的形式了,加上求模的公式,再加上上面得出的i二維矩陣,最終可以把公式寫(xiě)成如下形式:

文章圖片8

右邊的矩陣就是二維里面的旋轉(zhuǎn)矩陣了;

左邊的其實(shí)就是縮放矩陣;

驗(yàn)證

實(shí)驗(yàn)一下我們將一個(gè)點(diǎn)坐標(biāo) (1,0),旋轉(zhuǎn)θ角度,帶入上面這個(gè)公式,最終得到如下;

文章圖片9

就是對(duì)點(diǎn)(1,0)逆時(shí)針旋轉(zhuǎn)了θ角度,然后再縮放|z|倍;同理代入點(diǎn)(1,0)也是一樣的原理,如下圖顯示兩個(gè)點(diǎn)的旋轉(zhuǎn)圖;

文章圖片10

如果復(fù)數(shù)的模為1,那么就只剩旋轉(zhuǎn)矩陣了!

總結(jié)一下:

如果(模)等于1,復(fù)數(shù)z可以寫(xiě)成如下矩陣形式:

文章圖片11

寫(xiě)成復(fù)數(shù)形式就是:

Z=cosθ+sinθ*i;

對(duì)比下 :

Z=a+b*i;

如此,復(fù)數(shù)和旋轉(zhuǎn)矩陣的關(guān)系大家應(yīng)該知曉了!

數(shù)學(xué)真好玩,把兩個(gè)不相關(guān)的東西硬是緊密的勾搭到了一起,佩服!

單位四元數(shù)(模為1)

概述

四元數(shù)的定義和復(fù)數(shù)非常類(lèi)似,唯一的區(qū)別就是四元數(shù)一共有三個(gè)虛部,而復(fù)數(shù)只有一個(gè)。

四元數(shù)q寫(xiě)成如下形式:

q=s+v1i+v2j+v3k;

根據(jù)復(fù)數(shù)的定義:i平方=j平方=k平方=ijk=-1;

使用的時(shí)候把虛部和實(shí)部分開(kāi),寫(xiě)成:

q=s+v;

標(biāo)準(zhǔn)里我們把四元數(shù)表示為:

q=s<v1,v2,v3>;

應(yīng)用

單位四元數(shù)的復(fù)數(shù)形式怎么和3D旋轉(zhuǎn)扯上關(guān)系,推理方法和上面復(fù)數(shù)推理2D旋轉(zhuǎn)矩陣一樣,就不詳細(xì)講了,下面我們直接使用它,用matlab寫(xiě)程序案例,直接到應(yīng)用層次!

直接調(diào)用函數(shù)UnitQuaternion,下面的0.1、0.2、0.3表示繞x繞y繞z旋轉(zhuǎn);

>> q = UnitQuaternion( rpy2tr(0.1, 0.2, 0.3) )

q =

0.98335 < 0.034271, 0.10602, 0.14357 >

用q.R可以輸出旋轉(zhuǎn)矩陣:

>> q.R

ans =

0.7536 -0.4993 0.4275

0.5555 0.8315 -0.0081

-0.3514 0.2436 0.9040

輸出圖形如下:

>> q.plot()

文章圖片12

以上就是四元數(shù)的簡(jiǎn)單介紹,第一部分主要讓大家搞懂四元數(shù)怎么能表示旋轉(zhuǎn)的,第二部分就是簡(jiǎn)單的應(yīng)用了,可以看出應(yīng)用非常簡(jiǎn)單,如果實(shí)際寫(xiě)應(yīng)用程序,四元數(shù)法會(huì)簡(jiǎn)單明了,節(jié)省時(shí)間,也可以讓程序更流暢!

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多