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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

机器人学导论一

發(fā)布時(shí)間:2023/12/14 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器人学导论一 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

機(jī)器人學(xué)導(dǎo)論

  • 空間描述和變換
    • 位置姿態(tài)與坐標(biāo)系
      • 位置的描述
      • 姿態(tài)的描述
      • 坐標(biāo)系的描述
    • 關(guān)于平移旋轉(zhuǎn)坐標(biāo)系的映射
      • 平移
      • 旋轉(zhuǎn)
      • 關(guān)于一般坐標(biāo)系的映射
    • 平移算子和旋轉(zhuǎn)算子
      • 平移算子
      • 旋轉(zhuǎn)算子
      • 變換算子
    • 變換方程
    • 姿態(tài)的其他表述

空間描述和變換

位置姿態(tài)與坐標(biāo)系

位置的描述

用三個(gè)相互正交的帶有箭頭的單位矢量來表示一個(gè)坐標(biāo)系{A}。用一個(gè)矢量來表示一個(gè)點(diǎn)AP^APAP

并且可等價(jià)地被認(rèn)為是空間的一個(gè)位置,或者簡單地用一組有序的三個(gè)數(shù)字來表示。矢量的各個(gè)元素用下標(biāo)x, y和z來標(biāo)明:AP=[PxPyPz]^AP= \begin{bmatrix} P_x \\ P_y \\P_z \end{bmatrix}AP=???Px?Py?Pz?????

姿態(tài)的描述

為了描述物體的姿態(tài),我們將在物體上固定一個(gè)坐標(biāo)系并且給出此坐標(biāo)系相對(duì)于參考系的表達(dá)。

我們用X^B\hat{X}_BX^B?,Y^B\hat{Y}_BY^B?,Z^B\hat{Z}_BZ^B?來表示坐標(biāo)系{B}主軸方向的單位矢量。當(dāng)用坐標(biāo)系{A}的坐標(biāo)表達(dá)時(shí), 它們被寫成AX^B^A\hat{X}_BAX^B?,AY^B^A\hat{Y}_BAY^B?,AZ^B^A\hat{Z}_BAZ^B?。我們很容易將這三個(gè)單位矢量按照AX^B^A\hat{X}_BAX^B?,AY^B^A\hat{Y}_BAY^B?,AZ^B^A\hat{Z}_BAZ^B?的順序排列組成一個(gè)3x3的矩陣,我們稱這個(gè)矩陣為旋轉(zhuǎn)矩陣,井且由于這個(gè)特殊旋轉(zhuǎn)矩陣是{B}相對(duì)千{A}的表達(dá),所以我們用符號(hào)BAR{^A_B}RBA?R來表示:BAR=[AX^BAY^BAZ^B]=[r11r12r13r21r22r23r31r32r33]{^A_B}R=\begin{bmatrix}^A\hat{X}_B&^A\hat{Y}_B&^A\hat{Z}_B\end{bmatrix}=\begin{bmatrix} r11&r12&r13 \\ r21&r22&r23 \\ r31&r32&r33 \end{bmatrix}BA?R=[AX^B??AY^B??AZ^B??]=???r11r21r31?r12r22r32?r13r23r33????
標(biāo)量rijr_{ij}rij?可用每個(gè)矢量在其參考坐標(biāo)系中單位方向上投影的分量來表示。于是,BAR{^A_B}RBA?R各個(gè)分量可用一對(duì)單位矢量的點(diǎn)積來表示:

BAR{^A_B}RBA?R為坐標(biāo)系{A}相對(duì)于{B}的描述,那么{B}相對(duì)于{A}的轉(zhuǎn)換可有BAR{^A_B}RBA?R的轉(zhuǎn)置得到;即:ABR=BART{^B_A}R={^A_B}R^TAB?R=BA?RT

坐標(biāo)系的描述

BAR{^A_B}RBA?RARBORG{^A}R_{BORG}ARBORG?來描述坐標(biāo)系{B},其中ARBORG{^A}R_{BORG}ARBORG?是確定坐標(biāo)系{B}的原點(diǎn)的位置矢量:{B}={BAR,ARBORG}\lbrace B\rbrace=\lbrace {^A_B}R ,{^A}R_{BORG} \rbrace{B}={BA?RARBORG?}

關(guān)于平移旋轉(zhuǎn)坐標(biāo)系的映射

平移

AP=BP+ARBORG^AP=^BP+{^A}R_{BORG}AP=BP+ARBORG?

旋轉(zhuǎn)

三個(gè)單位矢最排列在一起形成一個(gè)3 X 3的矩陣的列,我們稱此矩陣為旋轉(zhuǎn)矩陣。如果這個(gè)旋轉(zhuǎn)矩陣專門是指{B}相對(duì)千{A}的描述,我們用符號(hào)BAR{^A_B}RBA?R來表示。
由于BAR{^A_B}RBA?R的列是{B}的單位矢量在{A}中的描述,所以BAR{^A_B}RBA?R的行是{A}的單位矢量在{B}中的描述。那么一個(gè)旋轉(zhuǎn)矩陣即為三個(gè)一組的列向量或三個(gè)一組的行向量,即:BAR=[AX^BAY^BAZ^B]=[BX^ATBY^ATBZ^AT]{^A_B}R=\begin{bmatrix}^A\hat{X}_B&^A\hat{Y}_B&^A\hat{Z}_B\end{bmatrix}=\begin{bmatrix}^B\hat{X}^T_A\\^B\hat{Y}^T_A\\^B\hat{Z}^T_A\end{bmatrix}BA?R=[AX^B??AY^B??AZ^B??]=???BX^AT?BY^AT?BZ^AT?????
我們已知矢量相對(duì)于某坐標(biāo)系{B}的定義,現(xiàn)在想求矢量相對(duì)另一個(gè)坐標(biāo)系{A}的定義,且這兩個(gè)坐標(biāo)系
的原點(diǎn)重合。

Apx=BX^A.BP^Ap_x=^B\hat{X}_A.^BPApx?=BX^A?.BPApy=BY^A.BP^Ap_y=^B\hat{Y}_A.^BPApy?=BY^A?.BPApz=BZ^A.BP^Ap_z=^B\hat{Z}_A.^BPApz?=BZ^A?.BP
可知{^A_B}R的行BX^A^B\hat{X}_ABX^A?BY^A^B\hat{Y}_ABY^A?BZ^A^B\hat{Z}_ABZ^A?,那 么可利用旋轉(zhuǎn)矩陣將式簡化成:AP=BARBP^AP={^A_B}R^BPAP=BA?RBP
這個(gè)式子進(jìn)行了一個(gè)映射一一它改變了矢量的描述一一將空間某點(diǎn)相對(duì)于{B}的描述BP^BPBP轉(zhuǎn)換成了該點(diǎn)相對(duì)千{A}的描述AP^APAP

關(guān)于一般坐標(biāo)系的映射

用一個(gè)矩陣形式的算子表示從一個(gè)坐標(biāo)系到另一個(gè)坐標(biāo)系的映射。 這比之外了的表達(dá)更簡潔, 概念更明確。 定義一個(gè)4x4的矩陣算子并使用了4 X 1位置矢量, 式子就成為:

這個(gè)矩陣被稱為齊次變換矩陣。它完全可以被看作是用一個(gè)簡單的矩陣形式表示了一般變換的旋轉(zhuǎn)和位移。

平移算子和旋轉(zhuǎn)算子

平移算子

一個(gè)矢量相對(duì)千一個(gè)坐標(biāo)系”向前移動(dòng)”時(shí),既可以認(rèn)為是矢量”向前移動(dòng)”,也可以認(rèn)為坐標(biāo)系”向后移動(dòng)”,二者的數(shù)學(xué)表達(dá)式是相同的,只不過是觀察位置不同。

運(yùn)算的結(jié)果是得到一個(gè)新的矢量AP2^AP_2AP2? AP2=AP1+AQ^AP_2=^AP_1+^AQAP2?=AP1?+AQ用矩陣算子寫出平移變換, 有:AP2=DQ(q)AP1^AP_2=D_Q(q)^AP_1AP2?=DQ?(q)AP1?式中, q沿矢量Q方向平移的數(shù)量, 它是有符號(hào)的。算子DQD_QDQ?可被看成是一個(gè)特殊形式的齊次變換:DQ=[100qx010qy001qz0001]D_Q= \begin{bmatrix} 1 & 0&0&q_x \\ 0 & 1&0&q_y \\0 & 0&1&q_z\\0 & 0&0&1 \end{bmatrix}DQ?=?????1000?0100?0010?qx?qy?qz?1??????

旋轉(zhuǎn)算子

將一個(gè)矢量 AP1^AP_1AP1?用旋轉(zhuǎn)R變換成一個(gè)新的矢最AP2^AP_2AP2?AP2=RAP1^AP_2=R^AP_1AP2?=RAP1?

變換算子

將旋轉(zhuǎn)算子和平移算子應(yīng)用在一個(gè)坐標(biāo)系上,能夠的到一個(gè)齊次變換矩陣:經(jīng)旋轉(zhuǎn)R和平移Q的齊次變換矩陣與一個(gè)坐標(biāo)系相對(duì)于參考坐標(biāo)系經(jīng)旋轉(zhuǎn)R和平移Q的齊次 變換矩陣是相同的。

變換方程


表示坐標(biāo)系{D}可以用兩種不同的方式表達(dá)成變換相乘的形式,第一種:DUT=AUTDAT^U_DT=^U_AT^A_DTDU?T=AU?TDA?T第二種:DUT=BUTCBTDCT^U_DT=^U_BT^B_CT^C_DTDU?T=BU?TCB?TDC?T將兩個(gè)表達(dá)式構(gòu)造成一個(gè)變換方程AUTDAT=BUTCBTDCT^U_AT^A_DT=^U_BT^B_CT^C_DTAU?TDA?T=BU?TCB?TDC?T
如有n個(gè)未知變換和n個(gè)變換方程, 這個(gè)變換可由變換方程解出。如果除了CBT^B_CTCB?T外均已知,求CBT^B_CTCB?TCBT=BUT?1DATDCT?1^B_CT=^U_BT^{-1}{^A_D}T^C_DT^{-1}CB?T=BU?T?1DA?TDC?T?1

姿態(tài)的其他表述

首先將坐標(biāo)系{B}和一個(gè)已知參考坐標(biāo)系{A}重合。先將{B}繞Z^B\hat{Z}_BZ^B?旋轉(zhuǎn)α角, 再繞Y^B\hat{Y}_BY^B?旋轉(zhuǎn)β角,最后繞X^B\hat{X}_BX^B? 旋轉(zhuǎn)γ角。每次都是繞運(yùn)動(dòng)坐標(biāo)系{B}的各軸旋轉(zhuǎn)而不是繞固定坐標(biāo)系{A}的各軸旋轉(zhuǎn)。這樣三個(gè)一組的旋轉(zhuǎn)被稱作歐拉角。注意每次旋轉(zhuǎn)所繞的軸的方位取決于上次的旋轉(zhuǎn)。由于三個(gè)旋轉(zhuǎn)分別是繞著Z^\hat{Z}Z^Y^\hat{Y}Y^,X^\hat{X}X^,所以稱這種表示法為Z- Y-X歐拉角。BARz′y′x′=RZ(α)RY(β)RX(γ)=[cα?sα0sαcα0001][cβ0sβ010?sβ0cβ][1000cγ?sγ0sγcγ]^A_BR_{z'y'x'}=R_Z(α)R_Y(β)R_X(γ)=\begin{bmatrix} cα & -sα &0\\ sα & cα &0\\0 & 0 &1 \end{bmatrix}\begin{bmatrix} cβ &0 &sβ\\ 0 & 1&0\\-sβ & 0 &cβ \end{bmatrix}\begin{bmatrix} 1 &0 &0\\ 0 & cγ&-sγ\\0 & sγ &cγ \end{bmatrix}BA?Rzyx?=RZ?(α)RY?(β)RX?(γ)=???cαsα0??sαcα0?001???????cβ0?sβ?010?sβ0cβ???????100?0cγsγ?0?sγcγ????

BARz′y′x′(α,β,γ)=[cαcβcαsβsγ?sαcγcαsβsγ+sαcγsαcβsαsβsγ+cαcγsαsβcγ?cαsγ?sβcβsγcβcγ]^A_BR_{z'y'x'}(α,β,γ)=\begin{bmatrix} cαcβ & cαsβsγ-sαcγ& cαsβsγ+sαcγ \\ sαcβ & sαsβsγ+cαcγ& sαsβcγ-cαsγ \\-sβ&cβsγ&cβcγ \end{bmatrix}BA?Rzyx?(αβγ)=???cαcβsαcβ?sβ?cαsβsγ?sαcγsαsβsγ+cαcγcβsγ?cαsβsγ+sαcγsαsβcγ?cαsγcβcγ????注意這個(gè)結(jié)果與以相反順序繞固定軸旋轉(zhuǎn)三次得到的結(jié)果完全相同!總之,這是一個(gè)不太直觀的結(jié)果:三次繞固定軸旋轉(zhuǎn)的最終姿態(tài)和以相反順序三次繞運(yùn)動(dòng)坐標(biāo)軸旋轉(zhuǎn)的最終姿態(tài)相同。
歐拉角的變換一共有24種,繞固定坐標(biāo)系旋轉(zhuǎn)的有12種,繞變化后的坐標(biāo)系旋轉(zhuǎn)的有12種,方法都是一樣的,算出繞每個(gè)軸的旋轉(zhuǎn)矩陣,把后繞的矩陣右乘前繞的矩陣,就能得到整個(gè)旋轉(zhuǎn)的矩陣。

John J.Craig《機(jī)器人學(xué)導(dǎo)論》(第四版)

總結(jié)

以上是生活随笔為你收集整理的机器人学导论一的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。