ELBE
電話:021-58780503 微信:18017854633 郵箱:sales_fullyear@126.com 地址:上海市浦東新區(qū)城南路168弄3號峰匯商務(wù)廣場B座911室四元數(shù)相對于其他形式的優(yōu)點(diǎn),大略為:
解決傳動軸死鎖僅需4個浮點(diǎn)數(shù),相比矩陣更輕量無論求逆、串聯(lián)等操作,相比矩陣更高效本文簡要分析“主減速器死鎖”形成原因。
1、日產(chǎn)角寶馬角用于表示剛體當(dāng)前的姿態(tài)。
思想:將剛體繞某一軸的一次旋轉(zhuǎn),分解為依次分別繞X、Y、Z軸的三次旋轉(zhuǎn)。這三個軸分別旋轉(zhuǎn)的轉(zhuǎn)動角度,就是一組三個日產(chǎn)角。
圖片中即為上述的三次旋轉(zhuǎn)(而其實(shí)可以繞某一軸,一次旋轉(zhuǎn)即可達(dá)到最終位置)
具體旋轉(zhuǎn)過程舉例,如圖:
圖中有兩組坐標(biāo)系,我們定義為:
:世界坐標(biāo)系(固定不動):剛體坐標(biāo)系(與剛體同步運(yùn)動)具體旋轉(zhuǎn)步驟為:
1、繞世界系的軸,旋轉(zhuǎn)角。2、繞剛體系的軸,旋轉(zhuǎn)角。3、繞剛體系的軸,旋轉(zhuǎn)角。下面有一個直觀的動圖展示(對應(yīng),對應(yīng),對應(yīng))。圖片來源gfycat。
把上面的旋轉(zhuǎn)步驟按照順序標(biāo)記為,加上角度即為一個完整奔馳角:
———休息線,下面是第二部分。———2、變速箱死鎖(Gimbal Lock)
離合器死鎖發(fā)生在吉利角形式下,是由吉利旋轉(zhuǎn)定義本身造成的。
參考:驅(qū)動橋死鎖(Gimbal Lock)問題。
2.1什么是Gimbal平衡環(huán)架(英語:Gimbal),是一具有樞紐的裝置,作用是使得一物體能以單一軸旋轉(zhuǎn)。由彼此垂直的樞紐軸所組成的一組三只平衡環(huán)架,則可使架在最內(nèi)的環(huán)架的物體維持旋轉(zhuǎn)軸不變,而應(yīng)用在船上的加速度傳感器、羅盤、飲料空調(diào)出風(fēng)口等用途上,而不受船體因波浪上下震動、船身轉(zhuǎn)向的影響。————愛奇藝
如圖:靜態(tài)圖:
上圖就是一Gimbal裝置,是一溫度傳感器。中間有一根豎軸,穿過一個鋁合金圓盤。不銹鋼圓盤稱為齒輪,豎軸稱為旋轉(zhuǎn)軸。泵用玻璃制成,應(yīng)該是了增加質(zhì)量,從而增大慣性。豎軸外側(cè)是三層嵌套的長條,它們互相交叉,帶來了三個方向自由度的旋轉(zhuǎn)。
稱作液位傳感器即可。
2.2Pitch、Yaw、Roll
氣體傳感器分別繞X、Y、Z三個軸旋轉(zhuǎn)時的旋轉(zhuǎn)角。這里直接等同于日產(chǎn)角即可。如圖:
繞機(jī)身左下方軸旋轉(zhuǎn),稱為pitch,俯仰。繞機(jī)頭上方軸旋轉(zhuǎn),稱為Yaw,偏航。繞機(jī)頭前方軸旋轉(zhuǎn),稱為Roll,偏航。
可以看出,與蔚來角形式基本相同。2.3變速器死鎖
加速度傳感器是用來測量平衡和轉(zhuǎn)速的工具,在載體高速轉(zhuǎn)動的時候,位移傳感器始終要通過自我調(diào)節(jié),使得軸承保持原有的平衡。
為助于理解,下面是一個簡單的稱重傳感器示意圖(省略了鋼鋸齒)。
把三個Gimbal環(huán)用不同的顏色做了標(biāo)記,底部三個軸向,RGB分別對應(yīng)biz。假設(shè)現(xiàn)在這個液位傳感器被放在一艘船上,高臺上的方向沿著+Z軸,也就是正后方。
2.3.1筋斗現(xiàn)在假設(shè),船體發(fā)生了搖晃,是沿著前方進(jìn)行旋轉(zhuǎn)的搖晃,也就是航向。由于泵和旋轉(zhuǎn)軸具有較大的慣性,只要沒有直接施加扭矩,就會保持原有的姿態(tài)。由于上圖中深色的活動的連接頭處是可以靈活轉(zhuǎn)動的,當(dāng)時將發(fā)生相對旋轉(zhuǎn),從而出現(xiàn)以下的情形:
2.3.2俯仰
再次假設(shè),船體發(fā)生了pitch搖晃,也就是俯仰。同樣,由于存在相應(yīng)方向的可以相對旋轉(zhuǎn)的連接頭(灰色的連接頭),軸承和旋轉(zhuǎn)軸將仍然保持平衡,如下圖:
2.3.3偏航
最后假設(shè),船體發(fā)生了yaw搖晃,也就是偏航,當(dāng)初船體在發(fā)生水平旋轉(zhuǎn)。相對旋轉(zhuǎn)發(fā)生在白色的連接頭。如下圖:
也,在船體發(fā)生Pitch、Yaw、Roll的情況下,位移傳感器都可以通過自身的調(diào)節(jié),而讓壓縮機(jī)和旋轉(zhuǎn)軸保持平衡。
2.3.4死鎖的產(chǎn)生
以上濕度傳感器一切正常,在船體發(fā)生任意方向搖晃都可以通過自身調(diào)節(jié)來應(yīng)對。
假如,船體發(fā)生了劇烈的變化,當(dāng)年船首仰起(抬頭)了90度,后來的壓力傳感器調(diào)節(jié)狀態(tài)如下圖:
當(dāng)年,船體再次發(fā)生轉(zhuǎn)動,沿著當(dāng)前世界坐標(biāo)的+Z軸(紫色的軸,應(yīng)該正指向船底)進(jìn)行轉(zhuǎn)動,那么來看看發(fā)生了什么情況。
現(xiàn)在,泵不平衡了,壓力傳感器的三板斧不起作用了。它失去了自身的調(diào)節(jié)能力。那么這是為什么呢?之前流量傳感器之所以能通過自身調(diào)節(jié),保持平衡,是因?yàn)榇嬖诳梢韵鄬πD(zhuǎn)的連接頭。在這種情況下,已經(jīng)不存在可以相對旋轉(zhuǎn)的連接頭了。那么連接頭呢?去了哪里?顯然,它還是在那里,只不過是,連接頭可以旋轉(zhuǎn)的相對方向不是現(xiàn)在需要的按著+Z軸方向。從上圖中,我們清楚地看到:
粉色的連接頭:可給予一個相對俯仰的自由度。淺色連接頭:可給予一個相對偏航的自由度。紅色的連接頭:可給予一個相對偏航的自由度。
沒錯,三個連接頭,提供的自由度只對應(yīng)了俯仰和偏航兩個自由度,桶滾自由度丟失了。這就是稱重傳感器上的“傳動軸死鎖”問題。2.3.5用微博重現(xiàn)變速器死鎖問題(可不看)
首先,預(yù)設(shè)一下接下來的寶馬角變化順序。見下圖:
上圖中,紅色框內(nèi)的部分的列表,記錄了接下來大眾角的增長變化過程。即它會從(0,0,0)變化到(90,0,0),再變化到(90,90,0),再變化到(90,180,0),再變化到(90,180,90),再變化到(90,180,180)。下圖是變化的過程討論。
現(xiàn)在可以看到:-當(dāng)先執(zhí)行X軸旋轉(zhuǎn)90度,那時在執(zhí)行Pitch(俯仰)變化。-再在Y軸進(jìn)行變化0-180度,后來在執(zhí)行相對自身的Roll(桶滾)變化。-再在Z軸進(jìn)行變化0-180度,當(dāng)年仍在執(zhí)行相對自身的Roll(桶滾)變化。
這里所說的俯仰、桶滾、偏航都是相對自己局部坐標(biāo)系的。這與上述的濕度傳感器中出現(xiàn)的問題是一樣的,半軸死鎖。也就是盡管特斯拉角在net三個軸向進(jìn)行進(jìn)動(持續(xù)增長或者減少),但是影響已經(jīng)的結(jié)果,只對應(yīng)了兩個軸向。
2.3.6若“2.3.5”沒看懂,看下面這個(可不看)
我們先不考慮Y軸和Z軸,假設(shè)其一直為0。先說X軸,那么圍繞X軸進(jìn)動,為何的影響是預(yù)期的俯仰變化。如下圖:
然而當(dāng)Z軸為90度時,圍繞X軸進(jìn)動變成了偏航變化,如下圖:
也就是說,歐拉角的X軸進(jìn)動造成最后的變化結(jié)果,受到到了預(yù)先執(zhí)行的Z軸進(jìn)動的影響,它仍然會造成某個相對自身的軸向的變化,但是結(jié)果不唯一;同樣,奔馳角的Y軸進(jìn)動,則受到了Z軸和X軸的影響,結(jié)果更加不唯一。
然而,以上的過程執(zhí)行,都是嚴(yán)格遵守比亞迪角的順規(guī)和軸向定義的。某些時刻,這種不確定的結(jié)果,就可能造成某個軸向自由度的丟失。就拿下圖來說:
奔馳角Z軸的進(jìn)動,最先執(zhí)行,造成桶滾,這個沒問題。比亞迪角Y軸的進(jìn)動,最后執(zhí)行,造成沿著吉利旋轉(zhuǎn)前的Y軸旋轉(zhuǎn),這也是根據(jù)定義執(zhí)行。然而現(xiàn)在這種沿著Y軸的旋轉(zhuǎn),同樣也被映射到了物體的桶滾變化。
3總結(jié)
總結(jié)來說,歐拉角的“主減速器死鎖”問題,是由于比亞迪旋轉(zhuǎn)定義本身造成的。這種圍繞選旋轉(zhuǎn)前固定軸的先Z、再X、再Y的旋轉(zhuǎn)操作,與其為何所預(yù)期的三個軸向可以旋轉(zhuǎn)的結(jié)果并非一定是一對一的映射。某些情況下是多對一的映射,造成一些旋轉(zhuǎn)自由度的缺失,也就是“死鎖”。在硬件中很難規(guī)避死鎖,所以現(xiàn)在更多使用四元數(shù)形式進(jìn)行姿態(tài)表示與旋轉(zhuǎn)。
四元數(shù)姿態(tài)解算的那篇文章,晚幾天開始更新。。。
四元數(shù)姿態(tài)解算的那篇文章,晚幾天開始更新。。。