齊次坐標(biāo)變換.ppt_第1頁
齊次坐標(biāo)變換.ppt_第2頁
齊次坐標(biāo)變換.ppt_第3頁
齊次坐標(biāo)變換.ppt_第4頁
齊次坐標(biāo)變換.ppt_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

第二章齊次坐標(biāo)變換Chapter HomogeneousTransformation 2 1引言2 2點向量和平面的描述2 3變換2 4平移變換2 5旋轉(zhuǎn)變換2 6坐標(biāo)系2 7相對變換2 8物體的描述2 9逆變換2 10一般性旋轉(zhuǎn)變換2 11等價旋轉(zhuǎn)角與旋轉(zhuǎn)軸2 12擴展與縮小2 13透視變換2 14變換方程2 15小結(jié) 2 1引言 Introduction 機器人操作涉及到各物體之間的關(guān)系和各物體與機械手之間的關(guān)系 這一章將給出描述這些關(guān)系必須的表達方法 類似這種表示方法在計算機圖形學(xué)中已經(jīng)解決 在計算機圖形學(xué)和計算機視覺中 物體之間的關(guān)系是用齊次坐標(biāo)變換來描述的 在本課程我們將采用齊次坐標(biāo)變換來描述機械手各關(guān)節(jié)坐標(biāo)之間 各物體之間以及各物體與機械手之間的關(guān)系 本章首先介紹向量和平面的表示方法 然后引出向量和平面的坐標(biāo)變換 這些變換基本上是由平移和旋轉(zhuǎn)組成 因此可以用坐標(biāo)系來描述各種物體和機械手的空間位置和姿態(tài) 稍后還要介紹逆變換 逆變換是運動學(xué)求解的基礎(chǔ) 2 2點向量和平面的描述 Notationofpointvectorsandplanes 2 2 1點向量 Pointvectors 點向量描述空間的一個點在某個坐標(biāo)系的空間位置 同一個點在不同坐標(biāo)系的描述及位置向量的值也不同 如圖2 1中 點p在E坐標(biāo)系上表示為Ev 在H坐標(biāo)系上表示為Hu 且v u 一個點向量可表示為v ai bj ck通常用一個 n 1 維列矩陣表示 即除x y z三個方向上的分量外 再加一個比例因子w 即v xyzw T其中a x w b y w c z w 改變比例因子w 則分量a b c的數(shù)值相應(yīng)改變 但描述的還是同一個點向量 如v 3i 4j 5k可表示為v 3451 T 68102 T 3 4 5 1 T在向量中增加一個比例因子w是為了方便坐標(biāo)變換中的矩陣運算 已知兩個向量a axi ayj azkb bxi byj bzk 2 1 向量的點積是標(biāo)量 用 來定義向量點積 即a b axbx ayby azbz 2 2 向量的叉積是一個垂直于由叉積的兩個向量構(gòu)成的平面的向量 用 表示叉積 即a b aybz azby i azbx axbz j axby ayby k 2 3 可用行列式表示為ijka b axayaz 2 4 bxbybz 2 2 2平面 Planes 平面可用一個行矩陣表示 即p abcd 2 5 它表示了平面p的法線方向 且距坐標(biāo)原點的距離為 d m 其中m 2 6 如圖2 2所示 如果將x y平面沿z軸正方向平移一個單位距離 構(gòu)成平面p 則p 001 1 即a 0 b 0 c 1 d 1 m 1平面p上任一點v為v xy11 T 它與平面p的點乘為零 即p v 0平面p上方任一點v 如v 0021 T 它與平面p的點乘為一個正數(shù) 即p v 1平面p下方任一點v 如v 0001 T 它與平面p的點乘為一個負(fù)數(shù) 即p v 1注意 平面 0000 無定義 H空間的變換是由4 4矩陣來完成的 它可以表示平移 旋轉(zhuǎn) 擴展和透視等各種變換 如已知點u 在平面p上 它的變換v 在平面q上 用矩陣積表示為v Hu 2 7 其中H為4 4變換矩陣 u和v為4 1的點列向量 相應(yīng)的平面p到q的變換是q pH 1 2 8 其中H 1為H的逆陣 p和q為1 4的平面行向量 經(jīng)變換后的平面向量q與點向量v的點乘為q v pH 1 Hu p u 2 9 與變換前平面p與點u的點乘相等 證明了變換的等效性 2 3變換 Transformation 2 4平移變換 Translationtransformation 用向量h ai bj ck進行平移 其相應(yīng)的H變換矩陣是100a010bH Trans abc 001c 2 10 0001因此對向量u xyzw T 經(jīng)H變換為向量v可表示為x awx w ay bwy w bv z cw z w c 2 11 w1可見 平移實際上是對已知向量u xyzw T與平移向量h abc1 T相加 例2 1 對點向量u 2321 T進行平移 平移向量為h 4 371 T 則平移后的向量為v 6091 T 或100426010 330v H u 00172 9000111點向量的平移過程如圖2 3所示 對平面的平移則用H 1進行變換 如對平面p 100 2 進行H變換為平面q 則根據(jù)變換原理有100 40103q pH 1 100 2 001 70001 100 6 平面p 100 2 是y z平面沿x正方向移動2個單位形成的平面 圖2 3 點u 2321 T是平面p上的一個點 它們的點乘p u 0 經(jīng)H變換后的平面q 100 6 是y z平面沿x正方向移動6個單位形成的平面 點v 6091 T是平面q上一個點 平面q與點v的點乘也應(yīng)是零 即q v 0 說明變換前后的結(jié)果不變 證明H變換是正確的 2 5旋轉(zhuǎn)變換 Rotationtransformation 如圖2 4所示 繞x y z軸旋轉(zhuǎn)一個 角的相應(yīng)變換是10000cos sin 0Rot x 0sin cos 0 2 12 0001cos 0sin 00100Rot y sin 0cos 0 2 13 0001cos sin 00sin cos 00Rot z 0010 2 14 0001 注意 角旋轉(zhuǎn)的正方向遵循右手螺旋法則 如圖2 4所示 例2 2 點u 7i 3j 2k 它繞z軸旋轉(zhuǎn)90 為v 經(jīng)式 2 14 變換得到 sin 1 cos 0 0 1007 3100037v Rot z 90 00102 2000111起始點u和終點v如圖2 5所示 如將v點再繞y軸旋轉(zhuǎn)90 得到w 用式 2 13 變換得到0010 32010077w Rot y 90 10002 3000111結(jié)果如圖2 6所示 如果將上述兩次旋轉(zhuǎn)結(jié)合起來 寫成一個表達式得到w Rot y 90 v Rot y 90 Rot z 90 u用兩個變換矩陣Rot y 90 Rot z 90 和起始點u代入上式計算的結(jié)果與前面分兩次計算的結(jié)果相同 為此 先將點u繞z軸旋轉(zhuǎn)90 然后再繞y軸旋轉(zhuǎn)90 我們得到00100 100720100100037w Rot y 90 Rot z 90 u 100000102 30001000111如果按著逆序旋轉(zhuǎn) 首先繞y軸旋轉(zhuǎn)90 然后再繞z軸旋轉(zhuǎn)90 其結(jié)果為0 10000107 31000010032w Rot z 90 Rot y 90 u 0100 10002 70001000111逆序旋轉(zhuǎn)的結(jié)果如圖2 7所示 顯然 變換的順序不同 其結(jié)果也不同 這從矩陣相乘是不可交換的 AB BA 也可以得到證明 如對經(jīng)過兩次旋轉(zhuǎn)變換得到的點向量w再進行一次平移 平移向量為h 4 371 T 則可得到如圖2 8所示的點向量n 變換過程如下100426010 374n Trans 4 3 7 w 00173 10000111 2 6坐標(biāo)系 Coordinateframes 齊次變換矩陣H由四個列向量組成 它的前三個列向量稱為方向向量 由式 2 12 到式 2 14 的旋轉(zhuǎn)變換 分別繞x y z軸旋轉(zhuǎn) 角 確定 第四個列向量稱為平移向量 它的平移分量 沿x y z軸的平移量 由式 2 10 第四列的前三個元素確定 如0014100 3H Trans 4 3 7 Rot y 90 Rot z 90 0107 2 15 0001坐標(biāo)系的原點 即零向量 0001 T的H變換是 4 371 T 相當(dāng)于將原點按平移向量的各個分量進行平移的結(jié)果 如圖2 9所示 如果對x y z軸的單位向量進行H變換 分別得到 4 271 T 4 381 T和 5 371 T 這四個向量在圖2 9中標(biāo)出 并形成了一個新坐標(biāo)系 這個新坐標(biāo)系的x y z軸的方向分別是 0 1 0 0 T 0 0 1 0 T和 1 0 0 0 T 它是由單位向量的H變換減去這個坐標(biāo)原點的向量得到的 這些方向向量相應(yīng)于變換矩陣的前三列 見式 2 15 可見 H變換矩陣描述了一個坐標(biāo)系繞原參考坐標(biāo)系旋轉(zhuǎn)和對參考坐標(biāo)系平移的三個軸的方向和原點的位置 見圖2 9 如圖2 10所示 當(dāng)對一個向量n進行式 2 15 給出的H變換時 原向量n可以被認(rèn)為是在新坐標(biāo)系描述的那個向量u 即被變換了的向量u就是相對于參考坐標(biāo)系描述的同一個向量n 2 7相對變換 Relativetransformation 我們剛剛描述的旋轉(zhuǎn)和平移都是相對于一個固定的坐標(biāo)系而進行的 這樣 在已給的例子里0014100 3Trans 4 3 7 Rot y 90 Rot z 90 0107 2 16 0001坐標(biāo)系首先繞參考坐標(biāo)系z軸旋轉(zhuǎn)90 然后繞y軸旋轉(zhuǎn)90 最后平移4i 3j 7k 如圖2 9所示 如果以相反次序從左到右來進行這些操作 首先對坐標(biāo)平移4i 3j 7k 然后將它繞當(dāng)前坐標(biāo)系的y軸旋轉(zhuǎn)90 此時當(dāng)前坐標(biāo)系的y軸與參考坐標(biāo)系的y軸是相同的 然后再繞著新坐標(biāo)系 當(dāng)前的 坐標(biāo)系的z軸旋轉(zhuǎn)90 所得結(jié)果與前面的方法相同 見圖2 11 一般的情況下 如果我們用一個旋轉(zhuǎn)和 或平移變換矩陣右乘一個坐標(biāo)系的變換 那么產(chǎn)生的平移和 或旋轉(zhuǎn)是相對于前一個變換的坐標(biāo)系 當(dāng)前坐標(biāo)系 的軸來說的 如果我們用一個描述平移和 或旋轉(zhuǎn)的變換矩陣左乘一個坐標(biāo)系的變換 那么產(chǎn)生的平移和 或旋轉(zhuǎn)是相對于基坐標(biāo)系來說的 例2 3 給一個坐標(biāo)系C和一個變換T T為繞z軸旋轉(zhuǎn)90 并在x軸方向上平移10個單位 當(dāng)變換是相對于基坐標(biāo)系產(chǎn)生時 我們用T左乘C得到新的位置x為0 1010100200010100000 11010020 x TC 00100100 0100 2 17 000100010001當(dāng)變換是相對于當(dāng)前坐標(biāo)系C軸產(chǎn)生時 我們用T右乘C得到新的位置y為100200 10100 103000 110100000 110y CT 01000010 1000 2 18 000100010001結(jié)果如圖2 12所示 2 8物體的描述 Objectrepresentation 變換可用來描述物體的位置與方向 方位 如圖2 13所示的楔形物體用六個角點來描述 這六個角點是相對于物體所在的參考坐標(biāo)系的 如果把物體繞z軸旋轉(zhuǎn)90 然后繞y軸旋轉(zhuǎn)90 接著沿x方向平移4個單位 我們可以描述這個變換為00141000Trans 4 0 0 Rot y 90 Rot z 90 01000001這個變換表示了對參考坐標(biāo)系的旋轉(zhuǎn)和平移操作 變換后物體的六個角點為44664400141 1 111 11 1 111 11000000044000044 01000002201111110001111111變換后該物體在坐標(biāo)上的方位如圖2 13所示 從圖2 13可以看出 由于楔形物體的角點與它所在的坐標(biāo)系有固定的關(guān)系 因此沒有必要對所有的角點進行變換 只要對物體所在的坐標(biāo)系進行變換 就可得到變換后的各個角點在基坐標(biāo)中的位置 將這些角點用直線連接起來就可得到楔形物體的邊緣 它與逐點變換的結(jié)果完全相同 見圖2 14 2 9逆變換 Inversetransformation 所謂逆變換就是將被變換的坐標(biāo)系返回到原來的坐標(biāo)系 在數(shù)學(xué)上就是求變換矩陣的逆 下面我們寫出變換矩陣的一般表達形式nxoxaxpxnyoyaypyT nzozazpz 2 19 0001式中n o a是旋轉(zhuǎn)變換列向量 p是平移向量 其逆是nxnynz p noxoyoz p oT 1 axayaz p a 2 20 0001式中的 表示向量的點積 這個結(jié)果很容易用式2 19右乘式2 20是單位矩陣來證明 2 10一般性旋轉(zhuǎn)變換 Generalrotationtransformation 前面我們介紹的旋轉(zhuǎn)變換都是繞x y z軸旋轉(zhuǎn)的旋轉(zhuǎn)變換 這些變換都有一個簡單的幾何解釋 例如 在繞z軸旋轉(zhuǎn)的情況下 表示z軸保持恒定 x軸和y軸將如圖2 15所示那樣變化 如圖2 16所示 給出一個變換矩陣C 它繞任意向量k旋轉(zhuǎn) 我們把k當(dāng)作C坐標(biāo)系的z軸單位向量 nxoxax0nyoyay0C nzozaz0 2 21 0001k axi ayj azk 2 22 繞k旋轉(zhuǎn)就相等于繞C坐標(biāo)系的z軸旋轉(zhuǎn) Rot k Rot Cz 2 23 如果我們給一個坐標(biāo)系T 它在參考坐標(biāo)系里被描述 它在C坐標(biāo)系里用X描述 這樣T CX 2 24 其中X描述T相對C的位姿 求X 我們得到X C 1T 2 25 T繞k旋轉(zhuǎn)就等于 繞 坐標(biāo)系的z軸旋轉(zhuǎn)Rot k CRot z X 2 26 Rot k CRot z C 1T 2 27 這樣Rot k CRot z C 1 2 28 展開式 2 28 我們發(fā)現(xiàn)CRot z C 1僅是k的函數(shù) 用C 1右乘Rot z 我們得到cos sin 00nxnynz0sin cos 00oxoyoz0Rot z C 1 0010axayaz000010001nxcos oxsin nycos oysin nzcos ozsin 0nxcos oxsin nycos oysin nzcos ozsin 0 axayaz0 2 29 0001再用C左乘nxoxax0nyoyay0C nzozaz0 2 30 0001 得到CRot z C 1 nxnxcos nxoxsin nxoxsin oxoxcos axaxnynxcos nyoxsin nxoysin oyoxcos ayaxnznxcos nzoxsin nxozsin ozoxcos azax0nxnycos nxoysin nyoxsin oyoxcos axaynynycos nyoysin nyoysin oyoycos ayaynznycos nzoysin nyozsin oyozcos azay0nxnzcos nxozsin nzoxsin ozoxcos axaz0nynzcos nyozsin nzoysin ozoycos ayaz0nznzcos nzozsin nzozsin ozozcos azaz0 2 31 01 應(yīng)用下列關(guān)系進行簡化 C坐標(biāo)系任意的行或列與其他行或列的點積為零 因為這些向量是正交的 C坐標(biāo)系任意的行或列與其自身的點積為I 因為它們是單位量 z向量是x和y向量的叉積 a n o 它有下列分量ax nyoz nzoyay nzox nxozaz nxoy nyox正矢Vers 1 cos 簡寫成Vers 且kx ax ky ay kz az 由此可得到簡化式為Rot k kxkxVers cos kykxVers kzsin kzkxVers kysin 0kxkyVers kzsin kykyVers cos kzkyVers kzxsin 0kxkzVers kysin kykzVers kxsin kzkzVers cos 0 2 32 0001上式是一般性的旋轉(zhuǎn)變換的重要結(jié)論 從這個結(jié)論可以得出每一個基本旋轉(zhuǎn)變換 例如 Rot x 就是Rot k 當(dāng)kx 1 ky 0 kz 0的情況 將這些值代入式 2 32 得到10000cos sin 0Rot x 0sin cos 0 2 33 0001這個結(jié)果與以前一樣 2 11等價旋轉(zhuǎn)角與旋轉(zhuǎn)軸 Equivalentangleandaxisofrotation 任給一個旋轉(zhuǎn)變換 從 2 32 方程得到一個軸 繞這個軸旋轉(zhuǎn)的等價旋轉(zhuǎn)角可由如下方法得到 已知一個旋轉(zhuǎn)變換Rnxoxax0nyoyay0R nzozaz0 2 34 0001令R和式 2 32 的Rot k 相等 并將對角線各項相加得到nx oy az 1 k2xVers cos k2yVers cos k2zVers cos 1 2 35 nx oy az k2x k2y k2z Vers 3cos 1 2cos 2 36 由此可得到旋轉(zhuǎn)角的余弦是cos 1 2 nx oy az 1 2 37 對非對角線項相減 我們得到oz ay 2kxsin 2 38 ax nz 2kysin 2 39 ny ox 2kzsin 2 40 把式 2 38 到式 2 40 兩邊平方并相加有 oz ay 2 ax nz 2 ny ox 2 4sin2 2 41 我們得到了sin 的表達式sin 1 2 oz ay 2 ax nz 2 ny ox 2 2 42 規(guī)定這個旋轉(zhuǎn)是繞k正方向旋轉(zhuǎn) 當(dāng)0 180 時 在上式中取十號是合理的 這個旋轉(zhuǎn)角 被唯一定義為tan oz ay 2 ax nz 2 ny ox 2 nx oy az 1 2 43 k的各分量為kx oz ay 2sin 2 44 ky ax nz 2sin 2 45 kz ny ox 2sin 2 46 注意 當(dāng)旋轉(zhuǎn)角 較小或接近180 時 上述三個式子的分子和分母都很小 所計算的k值是不精確的 為此可繼續(xù)根據(jù)式 2 32 和式 2 33 對應(yīng)元素以及它們的代數(shù)和相等的關(guān)系來求出k的各個分量 2 12擴展與縮小 Stretchingandscaling 一個變換Ta0000b00T 00c0 2 47 0001將沿著x軸以a因子 沿著y軸以b因子 沿著z軸c因子均勻擴展著各種物體 假定在一個物體上任意一個點xi yj zk 它的變換是axa000 xby0b00ycz 00c0z 2 48 100011這個正好表示出所說的擴展 這樣 一個正方體可以由這個變換變成長方體 變換ss0000s00s 00s0 2 49 0001將以s為比例因子來擴展或縮小任一物體 2 13透視變換 Perspectivetransformation 假設(shè)由一個簡單透鏡把一個物體形成的像如圖2 17所示 透鏡的軸沿著y的方向 焦距為f 物體上的一個點x y z成象為x y z y 表示象距 它隨著物距y而變化 如果在通過y 而垂直于y的平面 照相機的底片 上畫出各個點 那么就形成了一個透視像 射線穿過透鏡中心不偏轉(zhuǎn) 則z y z y 2 50 x y x y 2 51 根據(jù)平行透鏡的軸的射線通過焦點 我們可以寫出z f z y f 2 52 x f x y f 2 53 x y 和z 是負(fù)數(shù) 而f是正數(shù) 用式 2 50 和式 2 52 消去y 得z f z z y z f 2 54 求出x x 1 y f 2 55 y y 1 y f 2 56 z z 1 y f 2 57 齊次變換p能導(dǎo)出同樣結(jié)果 變換p是10000100p 0010 2 58 0 1 f01任何一點xi yj zk變換為x1000 xy0100yz 0010z 2 59 1 y f0 1 f011用比例因子1 y f除得到的象點x y z 有 x 1 y f i y 1 y f j z 1 y f k 2 60 這個結(jié)果與前面利用透視原理的結(jié)果完全相同 在p變換的第二列最底一元素為 1 f 則導(dǎo)出一個沿著y軸的一透視變換 如果 1 f是第三列最底一項 那就是沿z軸的透視變換 2 14變換方程 Transformequations 研究一下圖2 18描述的一個物體與機械手情況 機械手用變換Z相對于基坐標(biāo)系被定位 機械手的端點用變換ZT6來描述 而末端執(zhí)行器用變換

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論