跳至主要内容

17 篇文件帶有標籤「robotic-navigation-and-exploration」

檢視所有標籤

Curve Interpolation I

Curve Interpolation 將會用一個曲線函數連接節點,使得路徑變得平滑。 這個章節會介紹幾種曲線函數,例如 Explicit、Implicit 和 Parametric,並針對 Parametric Cubic Polynomial Curves 和 Cubic Interpolating Curves 進行了深入解釋。

Curve Interpolation II

本文探討了三種不同的曲線插值技術,分別是 Hermite Curves、Bezier Curves 和 Cubic B-spline Curves,它們都可以使用控制點來產生出曲線,但本文突出了 Cubic B-spline Curves 的優點,它可以讓兩個區段在接點處,一階微分的值是相同的,甚至可以滿足接點處的二階微分也相同,為了更加平滑的曲線。

Introduction

Motion planning 是一種解決移動問題的技術,它志在找出一連串動作序列,讓車子移動到終點,要求動作序列需要避免撞到障礙物、動作限制(如最大速度等)、移動路徑需要平滑以及最短路徑。Motion planning 可以分成三部分:Path Planning、Curve Interpolation 和 Trajectory Planning。

Kinetic Model

本文涵蓋了動力學模型以及不同車輛活動模型、Pure Pursuit Control 的原理,以及 bicycle model 的應用。動力學模型用來描述車子的狀態變化,而 Pure Pursuit Control 則是根據速度和角速度來畫圓弧,將車子移動到前方某個點的位置。bicycle model 則是一個根據方向盤轉角來描述車子原點運動的模型。

Kinetic Model and Vehicle Control

第一章將會講述控制理論 (Control Theory) 的基本概念,包括開閉環控制 (Open Loop Control, Close Loop Control)、線性時不變系統 (Linear Time Invariant System) 及 PID 控制的概念。第二章將分析基本的動力學模型及 Differential Drive Vehicle 的動力學模型,並且探討 Kinematic Bicycle Model 的動力學模型,以及 LQR Control 的控制算法,從而對汽車的控制有更多的了解。

Lie group and Lie algebra

本文介紹了 Lie Group 和 Lie Algebra,他們可以用來解決 3D 時的最佳化問題,特別是計算 Rotation Matrix。Lie Group 是把所有合法的 Rotation Matrix 集合起來稱為 Special Orthogonal Group (SO),以及如果想描述 Translation 時就要加入 t 來組成 Special Euclidean group (SE)。而 Lie Algebra 由 $\Phi$ 組成,與 Lie Group 的切線空間對應。

Motion Planning

這個章節將會介紹 Motion Planning,包括 Path Planning、Curve Interpolation 和 Trajectory Planning 三部份:Path Planning 是將地圖轉換成以交叉點為節點或離散網格為節點的動作,以便在地圖上的行走;Curve Interpolation 是用一個 curve function 來連接 weight points 以達到路徑的平滑與光滑,同時也可以改變路徑的參數,如起點、終點、坡度等;Trajectory Planning 是考慮時間資訊,根據預測 obstacle 的未來行動來規劃每個時間點的動作,以及尋找最佳路徑,使得機器人可以安全且有效地完成任務。

Multi-view Geometry

本文介紹了三維圖學中的 Structure from Motion (SfM) 和 SIFT 等方法,以及如何將 camera calibration、Perspective-n-point (PnP),以及 Unknown Structure Initialization 等方法應用在多視圖技術上。

Path Planning

本文介紹 Path Planning,它是為了讓機器人知道如何從一個起點到達另一個終點的策略。它讓我們可以用 Graph G 來表示地圖,其中 G = (V, E),V 是一組點,E 是一組邊。而另外也會有 weights 來求解 single-source shortest path,即給定起點的最短路徑。

Robotic Navigation and Exploration

這個筆記對應成功大學 Robotic Navigation and Exploration (CS562000) 的課程。目標為了解自駕車原理,最終能夠使用影像辨識技術操縱 NVIDIA JetBot。 你還可以到我的 Github Repository - Robotic-Navigation 查看課程中每個專案的成果與程式碼。

SLAM Back-end I

本文介紹了 SLAM 的後端技術,主要涵蓋 Kalman Filter、Extended Kalman Filter 和 EKF-SLAM,它們都是用來預測未知環境並更新位置的算法。Kalman Filter 是一種基於線性和高斯分布的演算法,而 Extended Kalman Filter 則是在原本的 Kalman filter 上加入線性近似的概念,最後結合 EKF 用於 SLAM 的技術就是 EKF-SLAM,它將 pose 和 landmark 整合起來定義成狀態,並重新定義 prediction 以及 observation model。

SLAM Back-end II

本文接續 SLAM Back-end I,主要介紹了 Filter-based Back-end、Grid-based Back-end 以及 Graph-based Back-end。 第一部分主要介紹 Particle Filter、Sampling 以及 Sequential Importance Sampling (SIS) 和 Sequential Importance Resampling (SIR),以及由此衍生出的 Fast-SLAM 方法。 第二部分主要介紹 Occupancy Grid Map,以及如何利用 Laser Beam Model 更新地圖狀態以及 Particle weighting,最後介紹了 Grid map 套用 Fast-SLAM 的完整過程。 第三部分主要介紹 Graph Optimization 的方法,以及用 ICP algorithm 找出兩個 scan 之間的對應關係。接著介紹 Map & Pose 以及 Grid-based SLAM。

SLAM Front-end

SLAM FrontEnd 主要負責採樣和優化,本文介紹 SLAM FrontEnd 的基本概念,例如辨識影像資料,定義目標函數,以及 ORB SLAM 的結構。ORB SLAM 主要可以分成三大部分,Tracking,Local Mapping 和 Loop Closing。Tracking 負責接收影像資料,並且將影像資料轉換成地圖資料,Local Mapping 負責將地圖資料優化,Loop Closing 負責檢查是否有環路,並且將環路優化。

SLAM Problem

SLAM (Simultaneous localization and mapping) 問題可以分為前端 (Prediction, Tracking, Mapping) 以及後端 (Filter-based, Graph-based)。SLAM 問題的目標是在不知道自己位置的情況下,能夠做到同時定位自己並且建構地圖。

Stanley and LQR Control

本文主要介紹 Stanley Control 和 LQR Control,Stanley Control 是漸進穩定的控制方法,透過計算當前最近目標點的切線、法線做為新的座標系,並利用誤差對時間的變化做為誤差穩定的漸進方法。LQR Control 則是利用 cost function 中的 state 和 control 重要性,並利用 dynamic programming 求得最佳控制。

Trajectory Planning

本文將描述如何使用 State lattice planning 和 Frenet Coordinate 來計算自駕車的軌跡。State lattice planning 透過結合空間和時間,採樣軌跡並計算成本,再檢查軌跡是否可用,並選擇成本最低的軌跡。Frenet Coordinate 將車子位置投影到二維路徑,求取一階、二階微分和最低成本。最後,Trajectory Planning 考慮動態障礙物,計算每個時間點的運動資訊,找出最低成本的軌跡。

Vehicle Control

本文闡述了控制理論 (Control Theory) 的基本概念,包括開閉環控制 (Open Loop Control, Close Loop Control)、線性時不變系統 (Linear Time Invariant System) 及 PID 控制的概念。