視覺SLAM理論與實踐第三節課習題

2021-10-09 10:04:57 字數 2930 閱讀 3998

2 群的性質 (2 分,約 1 小時)

課上我們講解了什麼是群。請根據群定義,求解以下問題: 1. 是否為群?若是,驗證其滿⾜群定義;若不是,說明理由。 2. 是否為群?若是,驗證其滿⾜群定義;若不是,說明理由。 其中 z 為整數集,n 為⾃然數集。

3 驗證向量叉乘的李代數性質 (2 分,約 1 小時)

我們說向量和叉乘運算構成了李代數,現在請你驗證它。書中對李代數的定義為:李代數由⼀個集合 v,⼀個數域 f 和⼀個⼆元運算 [,] 組成。如果它們滿⾜以下⼏條性質,稱 (v,f,[,]) 為⼀個李代數,記作 g。 1. 封閉性 ∀x,y ∈v,[x,y ] ∈v. 2. 雙線性 ∀x,y ,z ∈v,a,b ∈f, 有:

[ax + by ,z] = a[x,z] + b[y ,z], [z,ax + by ] = a[z,x] + b[z,y ]. 3. 自反性1 ∀x ∈v,[x,x] = 0. 4. 雅可比等價 ∀x,y ,z ∈v,[x,[y ,z]] + [y ,[z,x]] + [z,[x,y ]] = 0. 其中⼆元運算被稱為李括號。 現取集合 v = r3,數域 f = r,李括號為: [a,b] = a×b. (1) 請驗證 g = (r3,r,×) 構成李代數

4 推導 se(3) 的指數對映 (2 分,約 1 小時)

課上給出了 so(3) 的指數對映推導,但對於 se(3),僅介紹了結論,沒有給出詳細推導。請你完成 se(3) 指數對映部分,有關左雅可⽐的詳細推導。 設 ξ = [ρ,ϕ]t ∈ se(3),它的指數對映為: exp(ξ∧) =  ∞ ∑ n=0 1 n!(ϕ∧)n ∞ ∑ n=0 1 (n+1)!(ϕ∧)nρ 0t 1  . (2) 令 ρ = θa,那麼:

∞ ∑ n=0

1 (n + 1)!

(ϕ∧)n = sinθ θ

i +(1− sinθ θ )aat + 1−cosθ θ

a∧ ∆ = j. (3)

這也正是課件⾥提到的左雅可⽐。 提⽰:類⽐於 so(3) 的泰勒展開,然後合併奇偶數項級數即得。

5 伴隨 (2 分,約 1 小時)

在 so(3) 和 se(3) 上,有⼀個東西稱為伴隨(adjoint)。下⾯請你證明 so(3) 伴隨的性質。 對於 so(3),有: rexp(p∧)rt = exp((rp)∧). (4)此時稱 ad® = r。 提⽰:⾸先你需要證明∀a ∈r3,ra∧rt = (ra)∧,頁⾯ 2190603/derivation-of-adjoint-for-so3提⽰了⼀種簡潔的途徑。 對於 se(3),有: t exp(ξ∧)t−1 = exp((ad(t)ξ)∧) (5)其中 ad(t) 定義為: ad(t) =[ r t∧r 0 r ]. (6) 這個性質將在後⽂的 pose graph 優化中⽤到。但是 se(3) 的證明較為複雜,不作要求。 完整的 so(3) 和 se(3) 性質見1和2。

6 軌跡的描繪 (2 分,約 1 小時)

我們通常會記錄機器⼈的運動軌跡,來觀察它的運動是否符合預期。⼤部分資料集都會提供標準軌跡 以供參考,如 kitti、tum-rgbd 等。這些⽂件會有各⾃的格式,但⾸先你要理解它的內容。記世界座標 係為 w,機器⼈座標係為 c,那麼機器⼈的運動可以⽤ twc 或 tcw 來描述。現在,我們希望畫出機器 ⼈在世界當中的運動軌跡,請回答以下問題: 1. 事實上,twc 的平移部分即構成了機器⼈的軌跡。它的物理意義是什麼?為何畫出 twc 的平移 部分就得到了機器⼈的軌跡? 2. 我為你準備了⼀個軌跡⽂件(code/trajectory.txt)。該⽂件的每⼀⾏由若⼲個資料組成,格式為

[t,tx,ty,tz,qx,qy,qz,qw],

其中 t 為時間,tx,ty,tz 為 twc 的平移部分,qx,qy,qz,qw 是四元數表⽰的 twc 的旋轉部分,qw 為四元數實部。同時,我為你提供了畫圖程式 draw_trajectory.cpp ⽂件。該⽂件提供了畫圖部分 的**,請你完成資料讀取部分的**,然後書寫 cmakelists.txt 以讓此程式運⾏起來。注意我 們需要⽤到 pangolin 庫來畫圖,所以你需要事先安裝 pangolin(如果你做了第⼀次作業,那麼現 在已經安裝了)。cmakelists.txt 可以參照 orb-slam2 部分。

書上p90-91;現成的。

7 * 軌跡的誤差 (2 分,約 1 小時)

本題為附加題。 除了畫出真實軌跡以外,我們經常需要把 slam 估計的軌跡與真實軌跡相⽐較。下⾯說明⽐較的原 理,請你完成⽐較部分的**實現。 設真實軌跡(ground-truth)為 tg,估計軌跡 te。它們都以 twc 的形式儲存,格式同上題。現在, 你需要計算估計軌跡的誤差。我們假設每⼀個 tg 都與給定的 te 對應。那麼,對於任意第 i 個位姿,它的 誤差可定義為: ei = ∥log(t−1 gi tei)∨∥2. (7) 即兩個位姿之差的李代數⼆範數。於是,可以定義兩條軌跡的均⽅根(root-mean-square-error, rmse) 誤差為: rmse(g,e) =v u u t1 n n ∑ i=1 e2 i. (8) 我為你準備了 code/ground-truth.txt 和 code/estimate.txt 兩條軌跡。請你根據上⾯公式,實現 rmse 的計算**,給出最後的 rmse 結果。作為驗算,參***為:2.207。 注: 1. 實際當中的軌跡⽐較還要更複雜⼀些。通常 ground-truth 由其他感測器記錄(如 vicon),它的採 樣頻率通常⾼於相機的頻率,所以在處理之前還需要按照時間戳對齊。另外,由於感測器座標系不 ⼀致,還需要計算兩個座標系之間的差異。這件事也可以⽤ icp 解得,我們將在後⾯的課程中講 到。 2. 你可以⽤上題的畫圖程式將兩條軌跡畫在同⼀個圖⾥,看看它們相差多少。

書上p90-91;現成的。

csdn第三節課

筆記部分 1.網頁中影象的插入 一.屬性 1 alt 當無法顯示是給以使用者提示 2 title 滑鼠移動到上時顯示資訊 3 src 用於 中找出的路徑.二.路徑 1 當前的目錄檔案 直接寫出檔名 或 檔名 2 子集目錄檔案 同級檔名 子集檔名 3 上級檔案 檔名 多一級多加乙個 2.超連結 一.兩...

php第三節課

正規表示式 正規表示式 斜槓代表定界符 str abcde123fg456h reg d echo preg replace reg,str 將字串 str按照職責表示式reg替換為 var dump preg split reg,str 將字串str按照正規表示式拆分 arr array preg...

Oracle第三節課總結

集合運算 一 union求並集,公共部分只有包含一次 例 求emp表ename中含 a 或含有 m select from emp whereename like a union select from emp where ename like m 二 union all求集並,公共部分只有包含二次...