免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

坐標(biāo)變換與張量運(yùn)算:從數(shù)學(xué)原理到tf樹(shù)實(shí)踐

坐標(biāo)變換與張量運(yùn)算:從數(shù)學(xué)原理到tf樹(shù)實(shí)踐 1. 先說(shuō)清楚坐標(biāo)變換和張量運(yùn)算到底在搞什么如果你做過(guò)機(jī)器人、做過(guò)三維視覺(jué)、搞過(guò)流體力學(xué)或者寫過(guò)游戲引擎八成和這兩個(gè)詞打過(guò)照面。但很多朋友一開(kāi)始接觸它們的時(shí)候都是各學(xué)各的——坐標(biāo)變換在“機(jī)器人學(xué)”那一章學(xué)張量運(yùn)算在“數(shù)學(xué)物理方法”那一章學(xué)中間隔著一整個(gè)學(xué)期結(jié)果到后面做多傳感器融合、做機(jī)械臂標(biāo)定、做有限元仿真的時(shí)候才發(fā)現(xiàn)兩者原來(lái)是一家人。這篇是系列的第16篇前面已經(jīng)覆蓋了向量基礎(chǔ)、矩陣運(yùn)算、常用坐標(biāo)系定義等內(nèi)容這篇開(kāi)始進(jìn)入一個(gè)比較關(guān)鍵的轉(zhuǎn)折點(diǎn)把坐標(biāo)變換和張量運(yùn)算統(tǒng)一到一個(gè)框架下去看。特別地很多做ROS開(kāi)發(fā)的朋友都聽(tīng)過(guò)“搭建tf樹(shù)坐標(biāo)變換”這個(gè)說(shuō)法但tf樹(shù)本質(zhì)上到底是什么它背后做的運(yùn)算是什么為什么俯瞰rviz里的坐標(biāo)軸樹(shù)狀結(jié)構(gòu)時(shí)最底層能對(duì)齊、最上層能跟隨中間到底算了幾輪這些問(wèn)題的答案其實(shí)都在今天要聊的內(nèi)容里。先說(shuō)結(jié)論坐標(biāo)變換描述的是“同一個(gè)客觀實(shí)體在不同觀察者眼里的坐標(biāo)數(shù)值如何互相換算”張量運(yùn)算描述的是“當(dāng)我們換坐標(biāo)系時(shí)一個(gè)物理量的表達(dá)形式如何保持一致”。一個(gè)偏幾何、一個(gè)偏代數(shù)但兩者是同一枚硬幣的兩面——坐標(biāo)變換是張量運(yùn)算在歐幾里得空間里的具體表現(xiàn)形式tf樹(shù)則是這兩個(gè)數(shù)學(xué)工具在工程中的一次經(jīng)典落地。這篇我會(huì)盡量用大白話把原理講透然后帶大家動(dòng)手搭一套完整的tf樹(shù)坐標(biāo)變換把實(shí)操中會(huì)踩的坑也一并列出來(lái)。適合有三四個(gè)月ROS或三維數(shù)學(xué)基礎(chǔ)、但一直沒(méi)把坐標(biāo)變換和張量運(yùn)算串起來(lái)的人也適合正在做多傳感器標(biāo)定、機(jī)械臂運(yùn)動(dòng)學(xué)、SLAM建圖被各種坐標(biāo)系搞到頭大的朋友。2. 坐標(biāo)變換的核心機(jī)制與實(shí)操要點(diǎn)2.1 旋轉(zhuǎn)矩陣的由來(lái)與選擇坐標(biāo)變換里最基礎(chǔ)的問(wèn)題就一句話同一個(gè)點(diǎn)在兩個(gè)坐標(biāo)系下的坐標(biāo)如何互相轉(zhuǎn)換。我們把它拆成兩步來(lái)看首先忽略平移只討論旋轉(zhuǎn)這就是旋轉(zhuǎn)矩陣存在的意義。旋轉(zhuǎn)矩陣的構(gòu)造方式有好幾種。最傳統(tǒng)的思路是把坐標(biāo)軸看成一組基向量從舊坐標(biāo)系到新坐標(biāo)系的旋轉(zhuǎn)矩陣每一列就是舊坐標(biāo)系的基向量在新坐標(biāo)系下的坐標(biāo)表示。另一個(gè)思路是從歐拉角出發(fā)按繞固定軸或繞自身軸的順序把三個(gè)基礎(chǔ)旋轉(zhuǎn)矩陣依次乘起來(lái)。這里特別強(qiáng)調(diào)一點(diǎn)繞固定軸和繞自身軸內(nèi)旋的乘積順序是相反的一不留神就翻車。實(shí)際操作中我不太推薦直接用歐拉角做內(nèi)部計(jì)算這是個(gè)從血淚里得出的教訓(xùn)。歐拉角最明顯的問(wèn)題就是萬(wàn)向節(jié)鎖Gimbal Lock當(dāng)俯仰角接近90度時(shí)滾轉(zhuǎn)和偏航會(huì)變得無(wú)法區(qū)分旋轉(zhuǎn)的自由度從三個(gè)降為兩個(gè)。這會(huì)導(dǎo)致在某些姿態(tài)附近數(shù)值會(huì)變得極度敏感輕微擾動(dòng)就能讓輸出姿態(tài)劇烈跳動(dòng)。所以工程上一般把歐拉角用于顯示、交互和參數(shù)輸入內(nèi)部計(jì)算優(yōu)先選擇四元數(shù)或者旋轉(zhuǎn)矩陣。旋轉(zhuǎn)矩陣本身有幾個(gè)天然約束值得需要明確它是一個(gè)正交矩陣即矩陣的轉(zhuǎn)置等于矩陣的逆這保證了旋轉(zhuǎn)不會(huì)產(chǎn)生拉伸或扭曲且行列式嚴(yán)格等于1這保證了它不會(huì)引入鏡像翻轉(zhuǎn)。在做數(shù)值計(jì)算時(shí)因?yàn)楦↑c(diǎn)誤差累積矩陣的正交性會(huì)被逐漸破壞所以每經(jīng)過(guò)大量累乘之后建議用格拉姆-施密特正交化或者奇異值分解逼近處理一下把矩陣“拉”回正交陣這一步在長(zhǎng)期運(yùn)行的SLAM系統(tǒng)里不是可選項(xiàng)而是剛需。2.2 四元數(shù)為什么更香說(shuō)到姿態(tài)表示繞不開(kāi)四元數(shù)。很多初學(xué)者第一次接觸四元數(shù)都會(huì)覺(jué)得它是天書(shū)但工程用下來(lái)四元數(shù)確實(shí)好用。我們不去背誦公式先理解它到底在干什么四元數(shù)本質(zhì)上是一種用四個(gè)數(shù)來(lái)表示三維旋轉(zhuǎn)的方式其中前三個(gè)數(shù)可以理解為旋轉(zhuǎn)軸的三個(gè)分量經(jīng)過(guò)歸一化處理第四個(gè)數(shù)則和旋轉(zhuǎn)角度的半角余弦有關(guān)。從計(jì)算角度看四元數(shù)的優(yōu)勢(shì)太明顯了。首先是拼接效率高兩個(gè)旋轉(zhuǎn)的組合用四元數(shù)乘法計(jì)算只需要16次浮點(diǎn)乘法而旋轉(zhuǎn)矩陣相乘需要27次乘法更關(guān)鍵的是將一個(gè)矢量本質(zhì)上是純四元數(shù)應(yīng)用旋轉(zhuǎn)時(shí)只需要兩次四元數(shù)乘法加上若干次加減法整個(gè)過(guò)程沒(méi)有三角函數(shù)運(yùn)算這一點(diǎn)在嵌入式平臺(tái)、MCU上尤其重要。另一個(gè)容易被忽略的優(yōu)勢(shì)是插值的平滑性。四元數(shù)可以通過(guò)球面線性插值SLERP在兩個(gè)姿態(tài)之間生成一條“最短路徑”的旋轉(zhuǎn)過(guò)渡而歐拉角的線性插值會(huì)產(chǎn)生明顯的抖動(dòng)和非自然繞路。做云臺(tái)控制、機(jī)械臂軌跡規(guī)劃、相機(jī)平滑跟隨這類需求時(shí)SLERP幾乎是標(biāo)配。需要記住四元數(shù)的一個(gè)特點(diǎn)四元數(shù)q和-q表達(dá)同一個(gè)旋轉(zhuǎn)因?yàn)樾D(zhuǎn)角度加360度并不產(chǎn)生實(shí)際變化。但在插值計(jì)算時(shí)要格外小心符號(hào)的一致性如果兩個(gè)四元數(shù)之間的點(diǎn)積是負(fù)數(shù)說(shuō)明它們?cè)谒木S球面上相距超過(guò)90度直接插值會(huì)繞遠(yuǎn)路可以先對(duì)其中一個(gè)取負(fù)再插值。2.3 齊次變換矩陣的工程意義到這一步我們還只有旋轉(zhuǎn)沒(méi)有平移。工程里不可能只有旋轉(zhuǎn)機(jī)械臂末端既要轉(zhuǎn)也要?jiǎng)佑谑俏覀冃枰环N能同時(shí)編碼旋轉(zhuǎn)和平移的表達(dá)方式齊次變換矩陣就此登場(chǎng)。齊次變換矩陣是一個(gè)4x4矩陣左上角3x3是旋轉(zhuǎn)矩陣或正交化后的旋轉(zhuǎn)分量右上角3x1是平移向量底下是[0 0 0 1]這一行用來(lái)保證矩陣乘法結(jié)構(gòu)的一致性。通過(guò)這一個(gè)矩陣我們可以把繞任意軸的旋轉(zhuǎn)和任意方向的平移合并為一次線性變換并且可以將多次變換直接累乘起來(lái)得到一個(gè)描述“從初始坐標(biāo)系到最終坐標(biāo)系”的復(fù)合變換矩陣。這里有一個(gè)經(jīng)典的概念要反復(fù)強(qiáng)調(diào)矩陣乘法不滿足交換律所以變換的順序極其重要。先旋轉(zhuǎn)再平移和先平移再旋轉(zhuǎn)得到的結(jié)果完全不同。在代碼層面常見(jiàn)的錯(cuò)誤就是把變換矩陣乘反了方向——一個(gè)是把點(diǎn)從左邊的坐標(biāo)系變換到右邊的坐標(biāo)系另一個(gè)是把同一變換作用到點(diǎn)本身這分別對(duì)應(yīng)數(shù)學(xué)上的“坐標(biāo)系變換”和“點(diǎn)的變換”本質(zhì)是逆運(yùn)算關(guān)系但工程里混亂操作的情況非常多。實(shí)操建議在代碼注釋里固定一種約定并且明確標(biāo)注“這個(gè)矩陣是body系到world系”還是“world系到body系”。凡是矩陣作用在被變換的對(duì)象上時(shí)一定要搞清當(dāng)前的點(diǎn)是在哪個(gè)坐標(biāo)系下表達(dá)的。我的習(xí)慣是在所有變換矩陣命名的后綴里帶上源坐標(biāo)系和目標(biāo)坐標(biāo)系比如T_wb表示從body到world然后在代碼里強(qiáng)烈禁止不標(biāo)注的裸矩陣出現(xiàn)這個(gè)習(xí)慣救回來(lái)無(wú)數(shù)次。3. 張量運(yùn)算的物理本質(zhì)與變換規(guī)則3.1 從矢量和矩陣到“張量”的一次升級(jí)在普通線性代數(shù)里我們習(xí)慣把數(shù)據(jù)分成標(biāo)量、向量、矩陣這三類。但在坐標(biāo)變換的語(yǔ)境下這個(gè)分類不夠用因?yàn)樗鼪](méi)有區(qū)分“向量本身”和“向量的坐標(biāo)分量表示”之間的區(qū)別。張量概念的引入就是為了更準(zhǔn)確地區(qū)分幾何對(duì)象和它的坐標(biāo)表像。一個(gè)粗略但管用的定義張量是一種“在不同坐標(biāo)系下按照特定的坐標(biāo)變換規(guī)則變化”的多線性量。零階張量就是標(biāo)量它沒(méi)有方向無(wú)論坐標(biāo)系怎么旋轉(zhuǎn)數(shù)值都不變一階張量就是向量它的分量會(huì)隨坐標(biāo)系的旋轉(zhuǎn)而變化但向量本身作為幾何實(shí)體不隨觀察者改變二階張量可以看成矩陣的推廣但必須要按照特定變換規(guī)則改變比如應(yīng)力張量、慣性張量、旋轉(zhuǎn)矩陣本身這些都屬于物理上具有明確意義的二階張量。很多人第一次聽(tīng)到“張量”這個(gè)詞還以為它是物理的專屬但實(shí)際上深度學(xué)習(xí)里的“張量”就是沿用這個(gè)概念只是把高維數(shù)組作為基本數(shù)據(jù)結(jié)構(gòu)來(lái)用并沒(méi)有嚴(yán)格套用協(xié)變逆變的物理變換規(guī)則。而在工程力學(xué)、相對(duì)論、機(jī)器人學(xué)等領(lǐng)域“張量的分量必須按照坐標(biāo)變換規(guī)則變化”這一條是不可動(dòng)搖的。3.2 協(xié)變與逆變張量變換的一條分水嶺張量運(yùn)算中最容易繞暈的點(diǎn)就是協(xié)變covariant和逆變contravariant的區(qū)別但它的物理直覺(jué)其實(shí)并不復(fù)雜。我們可以這樣理解想象一個(gè)向量它既可以使用基向量坐標(biāo)軸方向的線性組合來(lái)表達(dá)也可以使用坐標(biāo)標(biāo)架基向量之間的對(duì)偶標(biāo)架的線性組合來(lái)表達(dá)。如果坐標(biāo)軸本身變長(zhǎng)了那個(gè)需要變“短”才能保持物理數(shù)值不變的分量就是逆變分量那個(gè)跟著坐標(biāo)軸一起變“長(zhǎng)”的分量就是協(xié)變分量。用一組坐標(biāo)變換來(lái)說(shuō)可能更順口。假設(shè)有一個(gè)坐標(biāo)變換x^i x^i(x^j)其雅可比矩陣為 J^i_j ?x^i/?x^j。一個(gè)逆變向量比如速度矢量的分量按“逆變換雅可比”的方式改變V^i ?x^i/?x^j V^j。而一個(gè)協(xié)變向量比如梯度?f的分量按“正變換雅可比”的方式改變W_i ?x^j/?x^i W_j。這個(gè)i在角標(biāo)上面還是下面就是這個(gè)區(qū)別的精髓。為什么要區(qū)分這兩個(gè)變形方向因?yàn)槿绻粎^(qū)分梯度方向和速度方向在坐標(biāo)系變形時(shí)會(huì)被當(dāng)成同一類對(duì)象來(lái)處理從而丟失物理含義。工程上最常見(jiàn)的誤解是認(rèn)為梯度就是一個(gè)普通向量可以任意與速度方向點(diǎn)乘并期望得到一個(gè)標(biāo)量。但除非度規(guī)是標(biāo)準(zhǔn)的也就是坐標(biāo)系是勻速直線運(yùn)動(dòng)再加上正交標(biāo)準(zhǔn)基否則這個(gè)點(diǎn)乘是不具有坐標(biāo)不變性的。機(jī)器人學(xué)中當(dāng)使用關(guān)節(jié)空間坐標(biāo)q和笛卡爾空間坐標(biāo)x進(jìn)行速度與力的映射時(shí)速度和力的角標(biāo)逆變和協(xié)變關(guān)系如果搞錯(cuò)雅可比矩陣轉(zhuǎn)置的用法就很可能出現(xiàn)問(wèn)題。3.3 度規(guī)張量與內(nèi)積的不變性既然提到了點(diǎn)乘就必須介紹度規(guī)張量。度規(guī)張量是一個(gè)二階張量它定義了兩個(gè)向量之間的內(nèi)積也就是如何計(jì)算投影、長(zhǎng)度、夾角這些幾何量。在笛卡爾直角坐標(biāo)系里度規(guī)張量恰好是單位矩陣所以點(diǎn)乘公式很簡(jiǎn)單a·b a_x b_x a_y b_y a_z b_z。但一旦到了柱坐標(biāo)、球坐標(biāo)或者任意曲線坐標(biāo)系度規(guī)張量就會(huì)變成非對(duì)角的、甚至隨位置變化的函數(shù)。舉個(gè)例子在柱坐標(biāo)(r, θ, z)下兩個(gè)向量的點(diǎn)積不能只是簡(jiǎn)單地把對(duì)應(yīng)分量相乘再相加而是需要乘上度規(guī)張量的相應(yīng)分量。其中角向的度規(guī)分量為r^2所以同樣的坐標(biāo)分量在離軸較遠(yuǎn)的地方“實(shí)際長(zhǎng)度”會(huì)被放大。如果我們拿著笛卡爾系的直覺(jué)直接硬套算出來(lái)的模長(zhǎng)和夾角都會(huì)錯(cuò)。而度規(guī)張量存在的意義正是保證內(nèi)積的結(jié)果不依賴于坐標(biāo)系的選擇——無(wú)論在笛卡爾系還是柱坐標(biāo)系下a·b的值應(yīng)該完全相同因?yàn)樗菐缀螌?shí)體之間的不變量。這個(gè)思想在后來(lái)的廣義相對(duì)論、連續(xù)介質(zhì)力學(xué)中都是基石而即便在普通機(jī)器人學(xué)中當(dāng)你要做關(guān)節(jié)空間與操作空間之間的變換時(shí)度規(guī)在這里表現(xiàn)為慣性矩陣或質(zhì)量矩陣也扮演了核心角色。從操作空間向關(guān)節(jié)空間映射力時(shí)要用到雅可比轉(zhuǎn)置這與度規(guī)的變換規(guī)則一脈相承。3.4 張量變換規(guī)則在工程中的具體體現(xiàn)說(shuō)了這么多抽象的東西舉一個(gè)看得見(jiàn)摸得著的工程例子慣性張量。在剛體動(dòng)力學(xué)里慣性張量是一個(gè)3x3矩陣它描述了剛體在旋轉(zhuǎn)時(shí)的質(zhì)量分布。但這里有個(gè)陷阱同一根連桿在固連坐標(biāo)系下算出來(lái)的慣性張量和在世界坐標(biāo)系下使用的時(shí)候不能直接套用同樣的矩陣數(shù)值而必須乘以旋轉(zhuǎn)矩陣及其轉(zhuǎn)置來(lái)變換。具體公式是 I_world R I_body R^T這個(gè)變換就是張量分量變換規(guī)則的一個(gè)典型案例。很多剛接觸機(jī)器人動(dòng)力學(xué)的人會(huì)習(xí)慣性地把慣性矩陣當(dāng)成普通矩陣去乘結(jié)果算出來(lái)的力矩、角加速度與實(shí)測(cè)對(duì)不上。一旦意識(shí)到慣性張量是一個(gè)二階張量必須遵循張量變換規(guī)則很多問(wèn)題就迎刃而解了。同理協(xié)方差矩陣在坐標(biāo)變換下也遵循類似的規(guī)則Σ_world R Σ_local R^T。這種根據(jù)物理對(duì)象類型來(lái)選擇變換規(guī)則的能力正是張量運(yùn)算訓(xùn)練帶給工程師的核心價(jià)值——它不只是數(shù)學(xué)上的優(yōu)雅包裝而是直接決定計(jì)算結(jié)果正確與否的工具。4. 搭建tf樹(shù)坐標(biāo)變換從數(shù)學(xué)到ROS工程實(shí)踐4.1 tf樹(shù)在ROS中的定位說(shuō)完了原理我們進(jìn)入實(shí)操環(huán)節(jié)。ROS中的tf庫(kù)本質(zhì)上就是一套現(xiàn)成的坐標(biāo)變換管理框架它提供了一張“坐標(biāo)變換樹(shù)”每個(gè)節(jié)點(diǎn)代表一個(gè)坐標(biāo)系每條邊代表父子坐標(biāo)系之間的變換關(guān)系。只要建立了這棵樹(shù)任意兩個(gè)坐標(biāo)系之間的變換都能通過(guò)從葉子走到根再走下來(lái)的方式推導(dǎo)出來(lái)。tf樹(shù)的設(shè)計(jì)思路其實(shí)就是一個(gè)分布式數(shù)據(jù)庫(kù)里面存儲(chǔ)著各坐標(biāo)系之間的相對(duì)位姿包括平移和旋轉(zhuǎn)。它的數(shù)據(jù)來(lái)源可以來(lái)自靜態(tài)發(fā)布比如傳感器在機(jī)身中心的固定安裝位置也可以來(lái)自動(dòng)態(tài)計(jì)算比如從輪式里程計(jì)、IMU積分、視覺(jué)SLAM輸出的位姿估計(jì)。系統(tǒng)運(yùn)行時(shí)tf庫(kù)自動(dòng)維護(hù)所有坐標(biāo)系的實(shí)時(shí)關(guān)系并提供lookupTransform接口來(lái)查詢?nèi)我鈨蓚€(gè)坐標(biāo)系之間的最新變換。4.2 靜態(tài)變換部分搭建地基搭建tf樹(shù)的第一步是理清機(jī)器人本體的坐標(biāo)系結(jié)構(gòu)。拿一臺(tái)典型的差速輪小車舉例至少有這些坐標(biāo)系map地圖系全局參考、odom里程計(jì)系漂移修正、base_footprint/base_link機(jī)器人本體系、laser_link激光雷達(dá)安裝位置、imu_linkIMU安裝位置以及各輪子的旋轉(zhuǎn)坐標(biāo)系。靜態(tài)變換用static_transform_publisher來(lái)發(fā)布。比如激光雷達(dá)裝在底盤中心正上方0.2米旋轉(zhuǎn)角約180度因?yàn)榧す鈷呙璧姆较蛲ǔ:蜋C(jī)器人前進(jìn)方向有安裝偏移那么對(duì)應(yīng)的命令形如rosrun tf2_ros static_transform_publisher x y z yaw pitch roll parent_frame child_frame很多初學(xué)者直接背命令但我的建議是每次寫靜態(tài)變換前先在紙上畫出坐標(biāo)系的朝向關(guān)系標(biāo)清楚三個(gè)軸的指向再填參數(shù)。因?yàn)橄嗖钜粋€(gè)軸、差一個(gè)正負(fù)號(hào)整個(gè)tf樹(shù)看起來(lái)一切正常但數(shù)據(jù)流向完全錯(cuò)了。在靜態(tài)變換中還有一類特殊的細(xì)節(jié)frame_id的命名規(guī)范。整套系統(tǒng)里的坐標(biāo)系命名必須全局唯一建議用小寫字母加下劃線而且最好把所有坐標(biāo)系的名稱維護(hù)在一個(gè)單獨(dú)的約定文件里避免不同模塊之間用不同的昵稱導(dǎo)致查詢失敗。4.3 動(dòng)態(tài)變換部分讓樹(shù)“活”起來(lái)靜態(tài)變換只適合固定安裝關(guān)系的坐標(biāo)系底盤移動(dòng)的時(shí)候map到odom到base_link這幾條邊是動(dòng)態(tài)的。這個(gè)動(dòng)態(tài)更新通常由兩個(gè)模塊產(chǎn)生里程計(jì)源和定位源。底盤輪式里程計(jì)負(fù)責(zé)輸出odom到base_link的變換視覺(jué)/激光定位模塊則負(fù)責(zé)輸出map到odom之間的變換相當(dāng)于對(duì)里程計(jì)漂移做修正。還有一種方式是固定map到odom保持不動(dòng)把累計(jì)漂移全部放到odom到base_link這條邊上這種方案在純輪式里程計(jì)下更簡(jiǎn)單但長(zhǎng)期精度會(huì)下降。在ROS2中動(dòng)態(tài)變換通常用tf2_ros::TransformBroadcaster發(fā)布每次發(fā)布時(shí)給出新的變換矩陣。典型代碼大致長(zhǎng)這樣geometry_msgs::msg::TransformStamped t; t.header.stamp this-now(); t.header.frame_id odom; t.child_frame_id base_link; t.transform.translation.x x; t.transform.translation.y y; t.transform.translation.z 0.0; t.transform.rotation quat; broadcaster_-sendTransform(t);這里有件事必須強(qiáng)調(diào)時(shí)間戳很重要。tf2在設(shè)計(jì)上帶有時(shí)間戳校驗(yàn)機(jī)制如果發(fā)布的變換時(shí)間戳比當(dāng)前時(shí)間慢了超過(guò)緩存窗口lookupTransform會(huì)報(bào)錯(cuò)。而如果時(shí)間戳遠(yuǎn)快于真實(shí)頻率整個(gè)樹(shù)的插值也會(huì)失去意義。對(duì)于動(dòng)態(tài)變換消息頻率應(yīng)該和對(duì)應(yīng)傳感器的更新率一致不要盲目地往高頻發(fā)。4.4 完整搭建步驟與驗(yàn)證手段我建議按下面這套步驟去搭tf樹(shù)比較不容易踩坑第一步畫tf樹(shù)結(jié)構(gòu)圖明確各坐標(biāo)系之間的父子關(guān)系每一對(duì)父子之間想好是靜態(tài)還是動(dòng)態(tài)。第二步選一個(gè)根坐標(biāo)系。本質(zhì)上根坐標(biāo)系的選擇應(yīng)當(dāng)是一個(gè)“參考精度最高、漂移修正能力最優(yōu)”的坐標(biāo)系通常選map或者odom而不是base_link。把根坐標(biāo)系掛在樹(shù)的頂層之后所有坐標(biāo)系都能從根節(jié)點(diǎn)追溯到。第三步把靜態(tài)變換全部發(fā)布出來(lái)用tf2_echo逐個(gè)驗(yàn)證每一對(duì)坐標(biāo)系的數(shù)值是否符合物理安裝參數(shù)。第四步接上動(dòng)態(tài)源比如里程計(jì)和IMU或者定位模塊打開(kāi)rviz同時(shí)顯示odom和map兩條鏈路觀察是否隨時(shí)間持續(xù)對(duì)齊。第五步做退化測(cè)試把小車抬起來(lái)手動(dòng)旋轉(zhuǎn)一下看rviz里base_link和laser_link的相對(duì)位置是否始終保持一致。通常到這一步剛才所有的小問(wèn)題都會(huì)暴露出來(lái)。4.5 tf樹(shù)查詢的注意事項(xiàng)在實(shí)際做導(dǎo)航、做抓取規(guī)劃時(shí)最常用的接口就是lookupTransform。這里有幾個(gè)常被忽略的坑。第一是“父系目標(biāo)”還是“子系目標(biāo)”的顛倒。查詢時(shí)參數(shù)是target_frame和source_frame意思是“把source坐標(biāo)系下的數(shù)據(jù)變換到target坐標(biāo)系下”寫代碼時(shí)我非常建議把兩個(gè)frame_id打印出來(lái)驗(yàn)證而不是靠記憶硬寫。第二是時(shí)間插值的方向。tf2支持查詢一個(gè)歷史時(shí)間點(diǎn)的變換但需要保證兩邊的時(shí)間戳之間有對(duì)應(yīng)的緩存數(shù)據(jù)時(shí)間窗口設(shè)置得過(guò)小會(huì)讓歷史查詢失敗。第三是“靜態(tài)緩存”的誤用。雖然靜態(tài)變換數(shù)據(jù)理論上不變但tf2的緩存機(jī)制仍會(huì)存儲(chǔ)多幀數(shù)據(jù)如果發(fā)布頻率異常高且長(zhǎng)期運(yùn)行內(nèi)存可能緩慢增長(zhǎng)需要在發(fā)布靜態(tài)變換時(shí)選擇低頻或一次性發(fā)布策略。5. 常見(jiàn)問(wèn)題速查與排錯(cuò)實(shí)錄5.1 TF樹(shù)中的超時(shí)與丟幀問(wèn)題跑tf樹(shù)時(shí)最容易看到的錯(cuò)誤就是“Lookup would require extrapolation into the past”或者“Lookup would require extrapolation into the future”。這類錯(cuò)誤的本質(zhì)是樹(shù)里找不到時(shí)間戳匹配的變換數(shù)據(jù)。常見(jiàn)的誘因有幾種動(dòng)態(tài)變換發(fā)布頻率太低緩存窗口覆蓋不到系統(tǒng)啟動(dòng)初期時(shí)間尚未同步各節(jié)點(diǎn)時(shí)間戳相差過(guò)大發(fā)布端和查詢端的時(shí)鐘不一致。排查思路我一般這樣走先檢查發(fā)布端的發(fā)布頻率可以訂閱/tf話題看消息間隔再檢查緩存時(shí)間看參數(shù)里cache_time是否足夠大最后檢查所有傳感器節(jié)點(diǎn)的系統(tǒng)時(shí)間是否同步設(shè)備多的時(shí)候NTP同步非常重要否則每個(gè)節(jié)點(diǎn)的時(shí)間基準(zhǔn)差幾個(gè)毫秒就會(huì)導(dǎo)致查詢失敗。有一個(gè)經(jīng)驗(yàn)值得分享在開(kāi)發(fā)階段把ROS的調(diào)試日志級(jí)別調(diào)到debugtf2會(huì)打印每一組發(fā)布的變換數(shù)據(jù)直接對(duì)比數(shù)值可以很快確認(rèn)是哪一條邊的數(shù)據(jù)不對(duì)。另外用tf2_monitor工具可以查看當(dāng)前樹(shù)的狀態(tài)包括每條邊的更新頻率和平均時(shí)延這個(gè)工具在復(fù)雜系統(tǒng)里簡(jiǎn)直救命。5.2 坐標(biāo)抖動(dòng)與隨機(jī)漂移如果你發(fā)現(xiàn)rviz里某個(gè)坐標(biāo)系在靜止?fàn)顟B(tài)下仍然不停抖動(dòng)問(wèn)題多半出在以下三個(gè)地方。第一旋轉(zhuǎn)四元數(shù)沒(méi)有歸一化。tf2在底層對(duì)四元數(shù)有歸一化處理但如果上游傳入的四元數(shù)數(shù)值嚴(yán)重異常歸一化后仍然會(huì)有微小抖動(dòng)。第二姿態(tài)融合算法輸出的位姿噪聲過(guò)大。常見(jiàn)于IMU沒(méi)有做校準(zhǔn)或者磁力計(jì)干擾嚴(yán)重時(shí)此時(shí)需要優(yōu)先優(yōu)化傳感器融合環(huán)節(jié)而不是懷疑tf樹(shù)發(fā)布邏輯。第三靜態(tài)變換與動(dòng)態(tài)變換之間存在沖突。比如base_link到laser_link明明發(fā)布了兩套不同的靜態(tài)關(guān)系同一對(duì)坐標(biāo)系在樹(shù)里出現(xiàn)了環(huán)路就會(huì)造成結(jié)果跳變。遇到這種情況先把問(wèn)題定位到“哪個(gè)坐標(biāo)系的變換在抖”這個(gè)可以用rviz中單獨(dú)顯示該坐標(biāo)系和其父系來(lái)觀察。然后斷開(kāi)上游數(shù)據(jù)源替換成一段固定值發(fā)布器看抖動(dòng)是否消失。如果固定值發(fā)布時(shí)也抖動(dòng)那問(wèn)題出在tf緩存或查詢邏輯如果不抖動(dòng)那問(wèn)題出在上游數(shù)據(jù)源。5.3 旋轉(zhuǎn)方向約定不一致最后是一個(gè)特別隱蔽但很常見(jiàn)的坑坐標(biāo)系的旋轉(zhuǎn)方向約定。有些設(shè)備定義正yaw為逆時(shí)針有些為正順時(shí)針有些廠家把IMU的z軸向上定為正旋轉(zhuǎn)有些卻沒(méi)有在文檔中說(shuō)明清楚。當(dāng)你把多個(gè)傳感器的數(shù)據(jù)統(tǒng)一到同一棵tf樹(shù)上時(shí)如果k各自的旋轉(zhuǎn)方向不一致在模型上看起來(lái)都是“轉(zhuǎn)了同樣的角度”實(shí)際數(shù)據(jù)卻互相矛盾。解決方案是每個(gè)傳感器接入tf樹(shù)之前先單獨(dú)做一次矩形軌跡測(cè)試。例如讓機(jī)器人沿閉合矩形行走檢查rviz中機(jī)器人朝向相對(duì)軌跡的角度變化是否符合預(yù)期。如果發(fā)現(xiàn)某個(gè)數(shù)據(jù)源的旋轉(zhuǎn)方向和預(yù)期相反最好在驅(qū)動(dòng)層做歸一化處理如對(duì)四元數(shù)z取負(fù)而不是在tf樹(shù)里加一個(gè)額外的旋轉(zhuǎn)邊來(lái)“校正”。5.4 坐標(biāo)變換與張量運(yùn)算結(jié)合后的常見(jiàn)認(rèn)知誤區(qū)把坐標(biāo)變換和張量運(yùn)算放到一起后很多人還會(huì)犯一個(gè)認(rèn)知層面的錯(cuò)誤以為旋轉(zhuǎn)矩陣圖是個(gè)張量。嚴(yán)格來(lái)說(shuō)旋轉(zhuǎn)矩陣本身是一個(gè)特殊的二階張量但它的兩個(gè)下標(biāo)在坐標(biāo)變換下并不總是遵循一樣的規(guī)則需要區(qū)分矩陣是作為“變換矩陣”還是“物理量”的表示。比如慣性張量在坐標(biāo)系變換后按R I R^T更新而旋轉(zhuǎn)矩陣R本身則是用于變換向量的算子它并不像普通張量那樣被“操作”它本身就是“操作”本身。這種微妙差別在實(shí)際計(jì)算中直接決定了你用R^T還是R。在機(jī)械臂運(yùn)動(dòng)學(xué)里當(dāng)從關(guān)節(jié)速度計(jì)算末端速度時(shí)用雅可比矩陣而從末端力映射回關(guān)節(jié)力矩時(shí)用雅可比矩陣的轉(zhuǎn)置這背后的數(shù)學(xué)機(jī)制就是協(xié)變與逆變關(guān)系的具體體現(xiàn)。不搞懂這兩個(gè)概念遇到機(jī)器人奇異位形時(shí)很容易不知道雅可比為什么會(huì)退化更不知道如何用奇異值分解去判斷可操作度。這些看似“純數(shù)學(xué)”的知識(shí)在工程中實(shí)實(shí)在在決定著系統(tǒng)的穩(wěn)定性、精度和調(diào)試效率。我也是連續(xù)做了幾個(gè)多傳感器融合項(xiàng)目踩過(guò)不少角度、方向、矩陣順序上的坑之后才真正意識(shí)到張量運(yùn)算和坐標(biāo)變換不是一個(gè)“知道就行”的知識(shí)點(diǎn)而是一種需要肌肉記憶的工程直覺(jué)。最后分享一個(gè)親身試驗(yàn)過(guò)很有效的練習(xí)方法自己拿張紙手動(dòng)把同一個(gè)向量在直角坐標(biāo)和極坐標(biāo)之間變換把協(xié)變和逆變各算一遍再手動(dòng)計(jì)算度規(guī)矩陣完成一輪之后對(duì)張量變換的那些公式會(huì)從“背住”變成“理解”。這套練習(xí)做完之后再回頭處理tf樹(shù)你會(huì)發(fā)現(xiàn)那些報(bào)錯(cuò)不再是隨機(jī)碰運(yùn)氣的事而是完全可預(yù)測(cè)、可推理的。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
激情五月天综合婷婷网| z色五月播播久久| av在线婷婷| 五月婷婷网五月在线| 五月天激情av| 99色色最新视频| 午夜色丁香| 欧美这里只有精品| 午夜一区| 欧美色色色色色色色色色色| 草做免费在线观看| 五月天开心色情网| 婷婷伊在线| 午夜福利成人AV91| 亚洲婷婷性爱| 大战熟女丰满人妻AV| 99综合网| 色五月五月天色婷婷色五月| 99热这里只有是亚洲国产| 99热播放| 97碰碰在线看视频免费| 猫咪伊人久久| 久久激情五月网| 国产在线aaa片一区二区99| 五月天亭亭俺也| 噜噜色天天开心| 精品九九久久| 狠狠色噜噜狠狠狠狠狠色综合久久| 色情综合网| 婷婷五月天色| 久草热视频在线观看| a69在线视频| 99爱99操| 婷婷在线综合| 三级三久久线久久99久目本WW| 六月婷婷操逼| 国产性爱色| 国产黄色在线观看| 丁香色色五月| 天天综合网~91| 天天色2017| 八戒青柠影视剧在线观看| 俺去也五月| 色综合久久88色综合天天看| 99超级碰免费视频| 九色激情| 开心色色五月天综合| 91狠狠综合久久| 五月婷色色| 五月婷婷色影院| 天天干夜夜想| 婷婷五月天激情开心网| 思思热99热| 伊人狠狠操| 亚洲第一色色色色| 五月天六月婷婷| 日日杆天天| 天天爽夜夜爽夜夜爽精品视频| 亭亭五月激情亚洲在线| 狠狠干在线| 狠狠色五月| 亚洲综合视频在线| 国产精品久久久久久久久久| 黄色片avv| 婷婷五月激情小说| 欧美六月| 热99只有精品| 在线观看婷婷5月| 97色永久免费视频| 国产欧美日韩综合精品一区二区| 成人视频免费观看高清完整版在线观看| 五月婷婷色在线| 国产成人精品一区二三区熟女在线 | 色色色色色综合| 久久五月婷天天干| 婷婷欧美激情综合| 国产偷人爽久久久久久老妇APP| 亚洲爆乳无码精品AAA片蜜桃| av性爱在线| 操逼123网| 99热这里只有精品一| 婷婷五月天熟妇| 这里只有精品9| 狠狠高潮精品亚洲1| 热99在线| 91 影音先锋| 久久激情网| 九九色色| 日韩情色在线观看| 人人舔人人色人人高潮| 五月天婷婷综合| 婷婷五月电影院| 激情五月综合网| 97精品欧美91久久久久久久| 激情五月天免费视频| 激情久久综合网| 亚洲色另类| 玖玖爱资源站| 伊人婷婷99热精品| 五月婷婷久久综合| 丁香五月婷婷视频| 99热这里有精品| 美女精品一级不卡视频| 欧美婷婷六月丁香综合色连续高潮抽搐| 丁香五月狠狠综合欧美| 久久久久亚洲AV成人无码电影| 婷婷五月情| 成人做爰A片免费看视频| 久热精品在看| 五月婷婷深爱六月| 天天插天天日| 免费看成人747474九号视频在线观看| 亚洲五月综合色播| 精品人妻伦一二三区久| www.射伊蕉婷婷| 五月丁香综合激情在线观看| 久久婷婷伊人| 99九九热视频免费| 亚洲日日操| 亚洲黄色影视| 天天爽爽日日做做| 成人片在线播放| 天天色2017| 狼人久草| www.yw尤物| 久久婷婷电影| 六月丁香婷婷综合在线| www,超碰| 思思热视频在线观看| 99噜噜噜在线播放| 久1色色| 成人综合AV| 啪啪日本欧美| 久久机只有这里精品| 新97人人上人人| 九九热99在线视频| 热久视频| 色综合77777| 九九99在线观看视频| 丁香五月婷综合网| 五月综合激情久久| 天天玩夜夜操天天爽| 六月丁AV| 99丁香五月婷婷在线| 五月婷庭丁香在线| 色情五月婷婷| 激情五月天婷婷直播| 婷婷五月天激情在线观看| 激情综合色播| 婷婷丁香综合| 色婷婷超碰| 婷婷酒色网| 玖玖色综合色| 岛国资源网| 亚洲天堂爱爱| 大香蕉狼人久久| 开心五月激情婷婷| 五月宗合激情网| 九九综合九九| 人妻AV在线| 久久五月网| 九九热在线99| 秋霞性爱AV| 9视频1在线| 开心激情五月天网| 69久久99精品久久久久婷婷| av网址在线| 天堂久久精品| 嫩草AV久久伊人妇女超级A | 色噜噜狠狠色综无码久久合欧美| 五月婷婷开心色伊人| 激情五月六月婷婷| 视频免费精品免费精品免费精品免费精品免费精品免费精品免费99 | 婷婷五月综合啪| 色综合播放| 国产精品蜜臀99| 婷婷丁香成人在线视频| 日本精品人妻无码77777| 久久色五月天| 久99999热视频在线观看免费| 亚洲小视频免费看| www.色色色com| 天天天摸夜夜夜玩| 成人网丁香五月| 成人短视频在线免费观看| 久久狠婷婷| 九九热精品99| 99热日韩这里只有精品| 99re欧美精品| 婷婷五月天六月丁香| 丁香五月婷婷99| 玖玖婷婷色五月| 99热1| 天天天天色天天天天天干| 日韩精品一曲二曲三曲四曲五曲| 日本九九九九| 五月婷婷人妻| 国产激情综合| 五月丁香美女视频| 丁香五月在线播放| 天天摸日日舔狠狠添婷婷婷| 在线日韩av| 天天色,天天日,天天做| 伊人色综合影院视频| 五月天堂婷婷| 婷婷丁香高潮了| 天天射影院| 色色色.com| 97色干| 婷婷天天舔| 五月天激情小说| 婷婷色五月情| 五月丁香成人| 亚洲成人AV高清字幕| 俺去啦综合网| 激情综合五月天| 色区久久| 六月丁香VA| 9久久久| 色99网| 亚洲激情免费久久| www色综合亚洲92| 这里只有精品久久| 婷婷六月丁香色| 久久3级片| 久久这里只精品| 操逼电影免费看| 五月天色区| 色情五月婷婷| 免费在线观看av网站| 五月天婷婷丁香| 亚洲午夜AV| 亚洲精品又粗又大又爽A片| 五月激情婷婷色| AV大片在线观看| 任你搞网站| 丁香五月网络网络| 丁香五月色五月| 九九色热| 色色日本| 婷婷欧美激情综合| 99玖玖在线视频| 日本婷婷五月天| 婷婷五月深深爱| 综合AV在线| 五月天丁香婷婷视频网址| 丁香五月成人婷婷| 天天成人综合视频| 色婷婷五月天av在线| 99色爱| 日本五月天一页| WWW久久久| 九九色婷婷五月天| 99ri在线视频| 日韩成人AV在线| 免费的日逼视频| 色护士综合| 思思久久99| 亚洲va在线∨a天堂va欧美va| 五月天激情黄色小说在线观看| 日本美女97在线视频| 99免费热视频在线| 久久人人人人妻| 亚洲精品影视| 免费亚洲成人电影AV| 欧美顶级少妇做爰HD| 99啪啪网| 日本va欧美va国产激情| 这里只有精彩亚洲视频推荐| 天天色综合色| 亚州激情网| 丁香久久久| 久热精品免费视频4| 亚洲色视频| 五月香蕉婷婷| 夜夜骑日日操| 亚洲天堂啪啪| 操日视频| 97电影99热| 99欧美| 狠狠色狠狠| 色婷婷视频综合| 梁铮版蜘蛛女在线观看| 99色综合| 99人人操| 超碰在线看| 无码激情| 五月丁香激情综合六月涩涩爱| 久久6这里只有精品| 热99视频精品| 国产成人亚洲综合A∨婷婷| 九九無妻| 日日操夜夜爽| 91麻豆国产三级精品福利在线观看| 一本色道久久88加勒比| 亚洲XX网| 熟女激情网| 色婷婷玖玖影院| 可以免费观看的AV| 天堂成人A片永久免费网站| 97人人干| 色999亚洲人成色| 婷婷基地爱| 婷婷五月av| 伊人久久大香线蕉av一区| 日日操日日撸| 91ncm视频| 99视频激情四射| 97婷婷五月| 婷婷五月骚厕所| 五月天激情日色在线| 婷婷情色五月天| 国产1区2区3区在线观| 五月丁香婷婷激情在线| 五月六月伦理| 精品久久久人妻| 人人爱国产| 亚洲六月色| 五月开心激情网| 五月丁香六月激情综合在线| 91色情播放| www夜夜| 六月份天丁香婷婷| 婷婷精品在线| 精品亚洲国产成AV人片传媒| 五月丁香婷婷色播无码| 991精品在线视频| 免费观看日韩成人av| 精品动漫 无码av| 视频在线免费观看欧洲乱码| 超碰av在线| 日日骑夜夜撸| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 激情 久久 婷婷| 抽插特写| 91在线日| 天天射综合网天天插| 激情综合六月| 色99在线视频| 99爱在线精品视频免费观看| 欧美69久成人做爰视频| 久久9RE热视频精品98| 色播婷婷大香蕉| 婷婷月五天在线在线看| 五月停停丁香| 五月丁香六月婷婷亚洲综合| 超碰免费成人| 激情五月天。| 九九久久五月天综合伊人| 99色综合网| 26uuu四色| 丁香 婷婷 亚洲 熟女| 播五月,色五月,开心五月播放器 | 久久作爱| 精品亚洲国产成AV人片传媒| 91视频精品99| 亚洲激情网站| 激情六月天| 97五月婷| 情色五月天网站| 丁香婷婷久久激情| 女同激情久久av久久| 婷婷五月花| 激情碰碰碰| 九九色色| 婷婷日欧美在线观看| 久久怕怕视频| 欧美日韩国产一区二区| caopeng97日韩| 亚洲色网络| 久久99精品视频| 午夜69成人做爰视频| 综合爱久久| 丁香六月婷婷综合色| 国产成人99久久亚洲综合精品| 操久久网| 人人综合91网| 五月婷婷免费| 丁香五月社区| av在线观看网站| 五月激情丁香| 99热啪啪| 爆乳熟妇一区二区三区爆乳照片| 日韩三级高清无码| 丁香五月之久操视频| 91精品久久久久久久久久久久| 丁香五月天无码| 亚洲中文av| www.色五月| 欧美三级欧美一级| 婷婷五月天综合AV| 伊人成综合五月婷婷| 深爱丁香网| 激情综合五月| 91综合网| renre人人操国产超碰在线| 激情网婷婷五月天| 中文在线视频久9| 粉嫩av蜜桃av蜜臀av| 色综合激情| 草综合14| 人人操人| 婷婷五月伦理网站| 五月婷婷色播| 青青草tp| 超碰人人艹| 91窝窝| 久久草人妻| 亚洲秘 无码一区二区三区妃光/1| 国产精品久久久久久久久久| 天天爽—爽| 色区久久| 丁香婷婷六月激情文学| 日韩aaa| 久久伊人9| 思思精品视频| 超碰在线播放免费观看| 久久久久思思热| 天天日天天肏天天奸| 五月天开心成人网| 丁香色婷婷| 亚洲成人在线电影网站| 欧美色图天堂网| 五月天婷婷导航| 99久操| 欧美精品999| 南京搡BBBB搡BBBB| 婷婷爱爱蜜臀天天操| 亚洲婷婷五月天| 亚洲激情亚洲激情 | 久久久久久天天日天天爱| 少妇人妻偷人精品无码视频新浪| 婷婷久久精品| 狠狠插日日干撸| 色欲丁香| 亚洲成人无码免费| AⅤ网站在线看| 狠狠色狠狠操| 26uuu欧美激情另类| 九九热啪啪| 伊人丁香五月天丁香在线婷| 天天色亚洲| 夜夜爽天天日| 99久.| 激情婷婷丁香五月| 色综合久| 久久婷婷伊人| 五月丁香六月婷婷激情视频在线观看免费 | 狠狠色综合777| 99九九在线视频| 久久艹 五月天| 亚洲热热视频| 五月婷婷影| 丁香五月天成人| 激情丁香久久久久久| 久久久99精品免费观看| 色优久久| 天天操婷婷| 天天综合五月天| 丁香婷婷色六月| 98色花堂98t.R| 蒲京久久无码视频| 中文字幕在线aⅴ免费观看| 99免费| 欧美色宗和激情| 99热免| 天天草天天日| 久久性爰视频这里只有精品| 五月天婷婷视频30| 日本成人噜噜| 婷婷亚洲色| 狠狠色丁香婷婷综合久久97AV| 久久婷婷人人| 五月久久婷婷丁香| 久久五月综合| 久久香蕉影院| 五月丁香猫咪久久婷婷综合视频激情四射网入口| 久色88| 天天干,夜夜爽| 这里只有精品免费| 日本三级日本三级99| 激情五月综合婷婷| 久久AAAA片一区二区| 97久久超碰| 玖玖99免费视频| 亚洲啪啪网| 九九re精品视频在线观看| 在线另类视频| 五月天综合网| 综合网激情| 九九在线视频| 成人电影一区| 一起草av| 影音先锋男人女人| 婷婷影院欧美| 亚洲精品视频在线播放| 色婷婷五月天激情在线播放| 精品九九视频| 五月丁香六月情| www.9797国产| 五月丁香啪| 午夜婷婷| A片试看120分钟做受图片| 久久9热好| 色八戒操婷婷| 丁香婷婷九月| 深爱 五月天| 五月丁花色综合网| 激情亚洲婷婷| 亚洲日韩一页精品发布| 国产毛片精品一区二区色欲黄A片| 国产午夜成人免费看片无遮挡| 婷婷5月久久综合网站| 碰碰碰91| 婷婷五月香蕉| www·五月天| 操一区| 亚洲蜜乳AV| 思思久久99热只有频精品66| 日本va欧美va国产激情| 另类激情综合| 九九精品这里只有| 五月色婷婷亚洲 | 一二三区视频韩国| 夜夜涩涩涩| 99九九久久| 欧美操逼天堂| 成人AV在线中文版| 另类天堂| 激情综合在线观看| 久久久久网站| 婷婷五月,偷窥偷拍网| 伊人网色婷婷五月天| 久久黄色网扯| 激情综合五月激情| 婷婷五月天中文字幕.| 人人综合久| 婷婷五月a| 婷婷五月天涩涩| 2050人人操免费工开爱| 99热超碰人| 婷婷丁香人妻| 成人免费va| 成人做爰A片免费看视频| 激情啪啪五月| Www.狠狠| 91紱請| 天堂网亚洲色图| 亚洲人人96@| 久久99热这里只频精品6学生| 青草视频在线观看视频| 婷婷在线精品| 婷婷五月综合网| 久久五月婷综合| av 一区三区四区| 狼友超碰| 天天综合91入口| 欧美毛片www| 婷婷激情六月| 超碰成人电影| 九九热10| 六月激情婷婷综合| 久久精品系列| 五月婷三级片| 日日干日日s| 丁香婷婷五月综合色情| 4399精品一区二区| 婷婷亚洲色| 中文成人在线| 日韩一区二区在线播放| 五月丁香色色网| 日本三级大片| 丁香五月天堂| 欧美久久婷婷| 91蜜桃婷婷狠狠久久综合9色| 91岛国片| 991精品在线视频| 久久精品天| 成人五月天视频播放| 婷婷5月久久综合网站| 亚洲欧洲自拍图片专区五月天| 丁香六月激情| 久久性爱视频免费| 精品国产一区二区三区四区阿崩 | 色五月激情综合网| 久久这里精彩免费在线观看| 人人草人人爱| 激情五月婷婷欧美极品 | 婷五月天丁香婷五月| xxxx五月| 性爱久久| 婷婷丁香五月噜噜噜| 婷婷.com| 99久久玖玖| 久久丝袜婷婷| 人人爱国产| 这里只有精品视频222| 99热这里只有精品1| 色婷婷六月性| 91九色PORNY大屁股| 天天色,天天日,天天做| 婷婷九月狠狠色| 久久久久久综合88| 日韩欧洲亚洲| 国产无套精品一区二区| 五月天久久网站| 亚州婷婷五月激情综合| 91九色视频| 色五月开心婷婷| av大片在线| 岛国av网站| 综合激情九月婷婷,激情综合婷婷中文字| 天天日天天操天天干| 婷婷五月天丁香久久| 91黄操| 激情婷婷色小说| 婷婷色影音天| 久久这里只有精品视频1| www.精品久9| 欧美色色色色色| 丁香五月婷婷六月婷| 成人小说色图婷婷五月| 91婷婷色五月| 9999色色色色| 91精品国产91久久久久青草| www.97视频| 中文字幕婷婷五月天在线观看| 色激情五月| 色五月婷婷在线| www.人人操人人看人人想人人摸 人人人人操,COM | 伊人青涩网| 婷婷五月天黄色| 丁香五月激情六月综合| 成人av中文字幕| 九月激情婷婷丁香| 99ri国产| 欧美国产一区二区三区| 精a品a视a频| 涩婷婷视频快播人妻| 丁香婷婷深情五月亚洲| 婷婷草| 伊人五月天日日夜夜久久久天天| 狠狠干.com| 免费婷婷| 亚洲天天综合| 五月激情另类| 六月丁香av| 色婷插| 操人无码| 成人九九视频| 99国产小视频免费观看| 国产av影片| 99热超碰人| 丁香五月天视频| www.日本91| 亚洲视频色色| 任我肏| 综合网网欲色| 婷婷.com| 日韩婷婷| 殴美日韩成人| 日日夜夜婷婷| 五月色婷婷激情| 久久久激情视频| 色五月婷婷伊人| 9九九久久精品无码专区| 91丨九色丨国产打屁股| 久久久27操| www激情婷婷com| 欧美Va在线| 综合久久综合久久| 欧美日韩成人在线网站| 日本熟妇乱妇熟色A片蜜桃| 五月天天天色| 婷婷操逼| 五月丁香综合啪啪| 婷婷激情网五月天| 亚洲、热| 天天干夜夜欢| 五月噜噜| 手机AVAV天堂看网| 99这里是99在线视频| 九月丁香婷婷网| 激情综合区| 亚洲色99| 狠狠色激情在线| 91人妻PORNY九色大屁股| 天天 青草 制服丝袜 在线| 激情综合网五月激情| 无码一区二区日韩| 大香蕉在九| 婷婷五月综合激情免费视频| 97艹| 黄色AV日韩| 激情五月深爱五月观看| 国产成人精品一区二区三区视频 | 精品人妻伦九区久久AAA片| 婷婷激情五月天在线视频| 久草热8精品视频在线观看| 激情性五月天免费小说视频| Www.狠狠| 久99| 亚州日本欧州韩美高青高潮一| 丁香五月综合网| 久久婷婷综合五月趴| 九九色区| 色情五月婷婷| 婷婷天天综合| 少妇婷婷五月天| 在线播放成人网站| 色婷激情网| 精品香蕉99久久久久网站 | 五月丁香少妇| 婷婷色九月| 激情99。| 久久大香蕉丁香| 91在线观看www| 99九九精品视频| 激情五月深爱五月| 婷婷丁香成人在线视频| 丁香六月亚洲综合| 97影院一级片| 国产午夜精品一区二区三区嫩草| 99re久热| 婷婷色播婷婷| 婷婷五月天天天日日夜夜| 九九亚洲小视频| 五月丁香六月欧美| www,com,五月色色| 9+1视频网址| 婷婷丁香综合在线| 99精品久久久久| 婷婷五月激情六月丁香| 亚洲最大五月天成人网| 久热婷婷| 久久免费干| 久婷五月| 激情丁香六月| 五月天婷婷色色| 九九精品婷| 天天操天天国产三级片处女学生妹| 久久99精品久久久久子伦| 男人天堂伊人五月丁香| 婷婷社区五月天| 白人荫道BBWBBB大荫道| 九九综舍久久| 久久性爱网站| 超碰在线成人| 丁香五月婷婷www..com| 婷婷欧美色| 五月丁香色婷婷色| 婷婷五月天亚洲图片| 97香蕉碰碰人妻国产欧美| 超碰人人在线观看| 99热最新精品| tingtingzonghewang| 超碰在线人人| 久久全色| 激情宗合网激情五月天| www.夜夜操.com| 色五月婷婷影视| 婷婷成人五月天一区| 99熟女| 国产亚洲色婷婷久久99精品9j| 九九家庭影院| 色婷婷88| 日韩无码91| 久久色五月天综合网| 五月天大香蕉| 婷婷大乡焦噜噜| www、色色色| 欧美怡红院黄站| 丁香婷婷激情综合五月激情| 五月婷婷视频在线观看| 婷婷97C| 狠狠狠狠狠草| 久久97| 99精品久久久久| 操操操av| 天天综合色| 色色色色色色色色五月先| 丁香婷婷情色五月天| 亚洲不卡123| 久色网| 婷婷色情网| www.久久爱.c n| 色 色 色综合com| 国产成人精品亚洲线观看| 我爱大香蕉| 天堂综合久| 婷婷综合日本| 玖玖五月丁香| a九九热www| 婷丁香五月天| 激情爱爱网站超大免费| 蜜臀av粉嫩av懂色av| 五月丁香六月婷婷久久| 婷婷色色婷婷| 一起草av在线观看| 亚洲碰碰碰| 日韩在线9| 五月天天视频| 狠狠爱五月婷婷| 婷婷五月花丁香| 青青草网武则天| 婷婷五月天基地| 亚洲欧美婷婷五月色综合| 先锋男人91资源| 五月婷婷,六月婷婷| 99热99草97| 欧美在线ee日韩| 1024在线观看免费视频| 五月丁香久久久| 一区二区乱视频码| 国产综合81p| 久久九九囯产| 国内一级精品| www.久久| 插插干干干色| 激情五月天www| 丁香五月天色婷婷| 婷婷无码视频| 激情www| 成人国产欧美大片一区| 综合五月激情| 国产激情在线| 五月丁香日本在线视频观看| 六月婷婷天天操夜夜爽视频| 丁香五月婷婷动漫| 色丁香五月综合网| 91凹凸在线| 在线观看玖玖资源免费观看| 久久青青日本视频| 丁香婷婷六月天| 热无码A∨| 日韩AV免费| 丁香六月婷婷综合| 日日干干天天干| 日韩无码人妻一区二区| 99成人在线观看| 色99热| 色综合丁香| 成人亚洲精品久久久久| 婷婷八月丁香激情综合| 色日本丁香婷婷| 玖玖91| 99视频久久| 婷婷综合五月色播| 婷婷五月天堂| 色五月,com| 国产精品视频免费看| 久久黄色免费视频| 天天狠狠六月婷丁香影院| 丁香六月激情综合| 婷婷五月日本| 五月天婷婷綜合院| 天天操夜夜爽天天操| 六月色国内综合| www.五月天婷婷| 日曰躁夜夜躁2026| 色色丁香五月天社区| 97成人丁香婷婷| 婷婷色爱| 五月天色图| 99人妻碰碰久久久禁片| 久久婷婷久久| 1995年关宝慧版蜘蛛女| 国产91视频| 色涩视频久久| 婷婷丁香六月综合激情站| 69五月天视频| 婷婷五月六月丁香综合| 亚洲日日日| 婷婷色基地在线看 | 婷婷爱婷婷| 国产成人99久久亚洲综合精品| 婷婷五月欧美综合| 色情综合| 色久天| 偷偷与邻居做爰完整视频| 欧美激情中文字幕| 九九机热| 天天日天天干天天操| av国产精品| 综激情网| 五月天开心激情综合网| 久久久久久人妻| 日韩美女在线视频19| 情情五月天色| 激情五月天综合| 国产成人av在线播放| 激情亚洲网| 五月婷婷AV| 欧洲精品爱爱| 色在线视频网2025| 久久综合五月天激情小说网站 | 精品久久穴| 九九香蕉网| 九九99热久久精品66中文字幕| www九九免费视频| 五月婷婷啪| 国产美女视频久| 亚洲乱码日产精品BD| 97香蕉碰碰人妻国产欧美| 九九热这里只有精品6| 中文字幕成人版| 精品久久人妻热| 伊人五月天| 婷婷久久综合久色| 亚洲女婷婷五月基地综合久久久| 天干干夜夜操| WWW.桔色成人.COM| 人人做天天爱| 欧美婷婷五月丁香| 天天干电影| 这里只有久久精99| 激情五月天激情五月天| 婷婷五月天电影网| 色五月成人婷婷| 天天婷婷天天| AⅤ色区| 少妇口诉沐足视频播放器网址| 99re热精品在线视频| 激情www| ady狠狠入| 天天操夜夜爽歪歪| 婷婷丁香五月天操逼| 色J香五月天| www.久操| 日本操B视频| 五月丁香中文婷婷中文| 色五月亚洲| 五月婷婷六月丁香玖玖玫瑰91| 五月亭亭直播| 大香蕉欧美在线| 色丁香五月婷婷在线| 久久久久久久久久久jjjj| 性爱动图国产麻豆一区二区三区 | www.minyis.com【JT】实力收量可预付QQ2101460746 | 日韩欧美一级大黄网站| 成人视频免费观看高清完整版在线观看| 色天天综合| 99精品偷自拍| 色五月婷婷五月久久| 亚洲免费观看高清完整版AV线| 视频1区2区| 99精品在线| tingting五月天亚洲| 婷婷综合激情| 久久精品爱爱| 一起草AV| 伊人综合网4| 色婷婷成人色网| 色插综合网| 91色综合久久| 影音先锋777xfplay色资源网站| 激情碰碰碰| 久久五月天激情视频| 欧美日本不卡黄色片| 婷婷色婷婷亚洲成人| AA片在线观看视频在线播放| 五月天激情AAAA| 91人人爽人人操| 99A级片| 天天综合情| 国产成人精品一区二区三区视频| 99操逼| 婷婷五月激情欧美| 在线理论片| 亚洲激情精品| 亚洲五月天婷婷| 久久久天天啊| 国产67194| 少妇搡BBBB搡BBB搡毛茸茸| 夜丁香综合| 五月天综合久久| 亚洲成av人影院| 六月丁AV| 五月天激情四射| 成人做爰A片免费看网站找不到了| 99热这里只有是亚洲国产| 97丁香视频| 综合色播| WWW,婷婷,COM| 日良久久| 伊人热在线大香蕉| 婷婷射综合| 色色色色色级无码| 荡乳尤物3HP1V5| 五月天开心婷婷激情网站 | 婷婷五月天a| 狠狠99| 午夜69成人做爰视频| 五月婷婷开心爱| 最新AV在线观看| 99啪啪| 五月情丁香色| 成人国产网站| 五月婷婷久久内射| 九九热大香蕉| ..真实国产乱子伦对白在线_欧| 五月婷婷激情久久| 99色精品视频| ..真实国产乱子伦毛片| 六月丁香av| 97韩国久久电影院| 91伦| 五月天成人免费视频| 99视频精品在线| 欧洲激情五月天婷婷| 色老久久| 婷婷丁香综合网| 亚洲激情综合| 亚洲热视频| www.99久| 91n网站cad入口在线观看| AV中文在线| 欧美天堂久久| 六月丁香好婷婷| 天堂久久婷婷| 久久3级片| 五月天开心网| 日本无va视频| 91干视频| 色婷婷另类| 亚洲V国产V欧美V久久久久久| 色欲久久久久久综合网综合网| 天堂婷婷丁香六月网| se99高清无码| 日本三久久| 青青操日本摸摸看看| 人妻久久久久久久| 激情亭亭五月| 天天插天天插天天插天天插| 久久这里都是精品视频| 欧美日韩AAAAA| 日韩高清成人| 色婷婷玖玖影院| 五月丁香久久久| 少妇性BBB搡BBB爽爽爽电影| 国产无套精品一区二区| 久re热视频| 五月丁香网站在线播放| 99热国品免费| 色婷婷狠狠爱| 欧美图片丁香五月天| 色播色丁香五月| 极品少妇高潮啪啪AV无码| 色色操| 99热这里都是精品| 色噜噜狠狠色综合成人99| 亚洲日日日| 白天AV月月| 亚洲中文无码成人| 26UUU| 色五月偷偷| 嫩草国产| 亚洲AV无码影院| 久久久久视剧HD| 99色人| av在线免费播放观看| 91人久| 三人荫蒂添的好舒服A片| 欧美成人精品三区综合A片| 日本色色色| 婷婷在线视频| 天天爽天天爽| 夜色综合网| 大香蕉久久久| 991国产精选视频在线播放下载| 激情综合五月婷婷丁香| 五月天激情视频| 婷婷五月色惰| 99九九综合久久九九| www.yw尤物| 97资源碰碰| 亚洲中文字幕AV| 小视频久久久aaa| 五月色色色| 狠狠干综合| 日日干夜夜干| 欧美性生交XXXXX无码小说| 艳妇野外情欲放荡HD| 日韩在线观看网址| av网址在线播放| 婷婷五月天国产| 婷婷97碰碰| 色色色综合网| 99热只有| 无码一区精品一区视频| 丁香婷婷久久五月天| 丁香婷婷综合色五月激情国产基地| 中文字幕不卡+婷婷五月| 色色亚洲五月天| 久色激情| 久久激情网| 婷婷五月成人| 亚洲精品一区中文字幕乱码| 九九成人电影婷婷| 婷婷五月丁香青青草在线| 影音先锋91视频| 1区2区视频| 亚洲超碰在线| 欧美综合激情五月丁香| 久99久热只有精品国产99| 婷婷五月天色| 久久婷婷五月综合激情国产 | 丁香丁香激情网| 天天干天天操天天干天天操天天干天天操| 九玖欧洲亚洲| 这里只有精品视频免费在线观看| 91精品婷婷国产综合久久| 9久精品视频| 99视频这里有精品| 综合久久伊人| 久久99精品久久久久久噜噜| 久久五月天精品视频| 色婷婷九月综合| 无套内射极品大美女| 日日.c| 免费精品99| 日本一区二区三区精品视频| 99九九视频| 91精品婷婷国产综合久久| 色综合色欲综合天天免费| 午夜精品777| 亚洲中文乱字字幕线在永久| AV人人操| 激情六月婷婷| 一片AV片免费播放| 久色网| 色色亚卅| 午夜五月天| ai97re99一本| 婷婷伊人久久| 天天操夜夜肏| 这里只有精品免费| 五月激情视频| 精品影院| 亚洲色99综合天堂| WWW久久久| 激情五月www| 久/久精品99看9| www.婷婷久久五月天| 另类视频一区| 久久五月天婷婷| 99热欧美| 色婷婷激情| 五月婷婷在线观看| 婷婷伊人网| 蜜桃人妻无码AV天堂三区| www.com任你艹| 天堂婷婷五月色| 久久总和99| 婷婷开心激情综合五月天| 丁五月激情视频免费| 久久538| 欧美日韩国产成人在线| 亚洲av无码影院| 色综合九九| 天天激情站| 内射爽无广熟女亚洲| 91久久综合| 五月婷婷丁香在线视频| 97婷婷狠狠| 六月丁香天堂| 啪啪啪五月天| 欧美一级色| 99热在线资源| 婷婷在线午夜| 开心五月网| 大香蕉欧美在线| 色狠狠综合| 公的粗大挺进了我的密道| 欧美日韩成人免费在线| 婷婷五月天堂一本在线| 五月天激情小说网| 激情丁香婷婷六月天| 人妻九九九九| 91丨九色丨首页| 欧美成人无码一区二区三区| 天天拍夜夜爽日日| 丁香婷婷色五月激情综合| 五月丁香本色在线观看| 九月丁香婷婷综合激情| 中文字幕人妻在线| 啪啪日本欧美| 欧美熟女乱又伦| 丁香五月激情综合| 久久9久| 9l视频自拍9l视频自拍九色学生| 性做爰A片免费视频A片直播| 天天天久久久| 天天看A片| 91婷婷在线| 丁香五月影视| 色吧99| 丁香5月综合啪啪| a久久| 天堂久久大香蕉| 六月婷婷久久| 久久久日韩特色特黄AAAA| 伊人网色婷婷五月天| 色色操| 26uuu四色| 欧美影院婷婷| 激情综合在线观看| 婷婷九月亚洲| 久久免费9| 久久婷.com| 久久草大香蕉| 色优久久| 久久久精品99| 婷婷成年人免费视频| 七七久久婷婷| 六月婷婷久久| 久久日曰| 日韩五月天婷婷| 亚洲无AV在线中文字幕| 91久久综合| WWW99热| www激情网站| 色婷五月| 97干视频在线| 色5月婷婷色| 中文字幕AV在线| 思思热在线精品视频| 久久五月六月| 国产又爽又猛又粗的视频A片| 婷婷涩涩网| 国产成人片| 日日夜夜综合| 激情骚五月| 日本啪啪天堂| 天搞天天天天天| 狠狠狠狠狠| 亚洲色情一区二区三区四区| 9+1视频网址| 国产探花AV在线| 大香蕉太香蕉视频97| 久久999久久999久久999久久| 久久九区| 99精品偷自拍| 黄色AV日韩| 超碰av在线| 日日操,夜夜撸| 五月婷婷伊| 99色在线视频| 婷五月丁香俺| 99热国产免费| 狠狠操在线视频| 激情五月九九九| 午夜成人AV在线| www。88热在线视频免费观看| 国产黄色在线| 五月婷婷六月丁香激情| 99综合成人视频在线观看| 色五月婷婷av| 狠狠久久婷五月| 国产精品久久久久久久久久| 丁香六月天婷婷开心综合| 婷婷激情五月视频| 99热97| 婷婷5月九九| 熟女网站久久| 国产乱人偷精品人妻A片|