Ubuntu 16.04 Autoware入門

實習單位要把autoware移植到autolabor小車上,跑通包括自制矢量地圖的全部功能。

autoware的git wiki已經相當詳細了,這個僅作爲極簡的一部分個人總結.

 

autoware@hamradiodxer

Autoware運行(2019-02-24 17_50)

VAT_VIMBA_CAMERA攝像頭ROS驅動安裝

YMZ 小車CAN總線移植

Autolabor小車底盤ROS移植

Autoware 源碼筆記-20190115

http://note.youdao.com/noteshare?id=e39b9acc83509b5c39e5e2c5f0133b1d

http://note.youdao.com/noteshare?id=5fe9c7686906d539911d7403f648f758

Caption

 

 

 

主要模塊:

 

Localization

lidar_localizar 計算車輛當在全局座標的當前位置(x,y,z,roll,pitch,yaw),使用LIDAR的掃描數據和預先構建的地圖信息。autoware推薦使用正態分佈變換(NDT)算法來匹配激光雷達當前幀和3D map。

gnss_localizer 轉換GNSS接收器發來的NEMA/FIX消息到位置信息(x,y,z,roll,pitch,yaw)。結果可以被單獨使用爲車輛當前位置,也可以作爲lidar_localizar的初始參考位置。

dead_reckoner 主要使用IMU傳感器預測車輛的下一幀位置,也可以用來對lidar_localizar和gnss_localizar的結果進行插值。

Detection

lidar_detector

從激光雷達單幀掃描讀取點雲信息,提供基於激光雷達的目標檢測。主要使用歐幾里德聚類算法,從地面以上的點雲得到聚類結果。除此之外,可以使用基於卷積神經網路的算法進行分類,包括VoxelNet,LMNet.

image_detector

讀取來自攝像頭的圖片,提供基於圖像的目標檢測。主要的算法包括R-CNN,SSD和Yolo,可以進行多類別(汽車,行人等)實時目標檢測。

image_tracker

使用image_detector的檢測結果完成目標跟蹤功能。算法基於Beyond Pixels,圖像上的目標跟蹤結果被投影到3D空間,結合lidar_detector的檢檢測結果輸出最終的目標跟蹤結果。

fusion_detector

輸入激光雷達的單幀掃描點雲和攝像頭的圖片信息,進行在3D空間的更準確的目標檢測。激光雷達的位置和攝像頭的位置需要提前進行聯合標定,現在主要是基於MV3D算法來實現。 fusion_tools

將lidar_detector和image_detector的檢測結果進行融合,image_detector 的識別類別被添加到lidar_detector的聚類結果上。 object_tracter

預測檢測目標的下一步位置,跟蹤的結果可以被進一步用於目標行爲分析和目標速度分析。跟蹤算法主要是基於卡爾曼濾波器。

Prediction

moving_predictor

使用目標跟蹤的結果來預測臨近物體的未來行動軌跡,例如汽車或者行人。 collision_predictor

使用moving_predictor的結果來進一步預測未來是否會與跟蹤目標發生碰撞。輸入的信息包括車輛的跟蹤軌跡,車輛的速度信息和目標跟蹤信息。

Misson planning

route_planner

尋找到達目標地點的全局路徑,路徑由道路網中的一系列十字路口組成。

lane_planner

根據route_planner發佈的一系列十字路口結果,確定全局路徑由哪些lane組成,lane是由一系列waypoint點組成

 

waypoint_planner

可以被用於產生到達目的地的一系列waypoint點,它與lane_planner的不同之處在於它是發佈單一的到達目的地的waypoint路徑,而lane_planner是發佈到達目的地的一系列waypoint數組。 waypoint_maker

是一個保存和加載手動製作的waypoint文件的工具。爲了保存waypoint到文件裏,需要手動駕駛車輛並開啓定位模塊,然後記錄車輛的一系列定位信息以及速度信息, 被記錄的信息彙總成爲一個路徑文件,之後可以加載這個本地文件,併發布需要跟蹤的軌跡路徑信息給其他規劃模塊。

Motion planning

velovity_planner

更新車輛速度信息,注意到給定跟蹤的waypoint裏面是帶有速度信息的,這個模塊就是根據車輛的實際狀態進一步修正速度信息,以便於實現在停止線前面停止下來或者加減速等等。 astar_planner

實現Hybrid-State A*查找算法,生成從現在位置到指定位置的可行軌跡,這個模塊可以實現避障,或者在給定waypoint下的急轉彎,也包括在自由空間內的自動停車。

adas_lattice_planner

實現了State Lattice規劃算法,基於樣條曲線,事先定義好的參數列表和語義地圖信息,在當前位置前方產生了多條可行路徑,可以被用來進行障礙物避障或車道線換道。

waypoint_follower

這個模塊實現了 Pure Pursuit算法來實現軌跡跟蹤,可以產生一系列的控制指令來移動車輛,這個模塊發出的控制消息可以被車輛控制模塊訂閱,或者被線控接口訂閱,最終就可以實現車輛自動控制。

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章