
第0章 Autoware學習大綱共15章第一部分架構與核心基礎3章第1章 Autoware架構總覽與技術棧對應代碼: 整體架構、repositories/autoware.repos章節結構:1.1 Autoware項目概述1.1.1 項目歷史與發展1.1.2 開源生態與社區1.1.3 商業應用案例1.2 整體架構設計1.2.1 多倉庫管理機制meta-repository1.2.2 模塊劃分原則core/universe/launcher/sensor1.2.3 架構演進與版本管理1.3 ROS 2技術棧1.3.1 ROS 2基礎概念Node/Topic/Service/Action1.3.2 DDS通信中間件1.3.3 QoS策略配置1.4 系統數據流1.4.1 傳感器數據流1.4.2 感知結果傳遞1.4.3 規劃控制鏈路1.5 系統啟動與生命周期1.5.1 啟動流程分析1.5.2 節點生命周期管理1.5.3 故障恢復機制第2章 核心消息與數據結構對應代碼: core/autoware_msgs, core/autoware_adapi_msgs, core/autoware_internal_msgs章節結構:2.1 消息體系概述2.1.1 消息分層設計公共/內部/API2.1.2 消息演進與兼容性2.2 autoware_msgs核心消息2.2.1 感知消息DetectedObject/TrackedObject2.2.2 規劃消息Trajectory/Path2.2.3 控制消息Control Command2.2.4 地圖消息HADMapBin2.3 autoware_adapi_msgs應用層API2.3.1 車輛狀態消息2.3.2 任務管理消息2.3.3 系統監控消息2.4 autoware_internal_msgs內部消息2.4.1 模塊間內部通信2.4.2 調試與診斷消息2.5 tier4_autoware_msgs擴展消息2.5.1 Tier IV特有功能消息2.5.2 與標準消息的關系第3章 核心基礎設施與開發工具對應代碼: core/autoware_cmake, core/autoware_utils, core/autoware_core章節結構:3.1 編譯系統autoware_cmake3.1.1 CMake工程組織3.1.2 自定義CMake函數3.1.3 依賴管理與rosdep3.2 工具庫autoware_utils3.2.1 數學工具幾何變換/插值3.2.2 時間處理工具3.2.3 ROS工具封裝3.2.4 日志與調試工具3.3 核心功能包autoware_core3.3.1 核心算法庫3.3.2 通用組件與接口3.4 可視化工具3.4.1 RViz插件autoware_rviz_plugins3.4.2 可視化最佳實踐3.5 開發環境3.5.1 Docker開發容器.devcontainer3.5.2 Ansible自動化部署3.5.3 代碼質量工具clang-tidy/pre-commit3.6 仿真工具3.6.1 Planning Simulatorautoware_simple_planning_simulator3.6.2 仿真器配置與使用第二部分傳感器與驅動2章第4章 傳感器驅動與數據采集對應代碼: sensor_component/external/nebula, sensor_component/transport_drivers章節結構:4.1 傳感器架構概述4.1.1 傳感器組件設計模式4.1.2 sensor_component_description4.2 LiDAR驅動Nebula4.2.1 Nebula架構設計4.2.2 支持的LiDAR型號Velodyne/Ouster/Hesai/Robosense4.2.3 點云解碼與校準4.2.4 多LiDAR融合4.3 攝像頭驅動4.3.1 攝像頭接口標準4.3.2 圖像采集與同步4.3.3 攝像頭標定4.4 IMU與GNSS4.4.1 IMU數據采集4.4.2 GNSS接收器接口4.4.3 RTK定位支持rtklib_ros_bridge4.5 CAN總線通信4.5.1 ros2_socketcan驅動4.5.2 CAN消息解析4.5.3 車輛信號采集4.6 傳感器時間同步4.6.1 時間戳對齊sync_tooling_msgs4.6.2 硬件同步方案4.6.3 軟件同步策略第5章 傳感器數據預處理對應代碼: universe/autoware_universe點云處理/圖像預處理部分章節結構:5.1 點云預處理5.1.1 點云濾波地面分割/離群點去除5.1.2 點云投影與坐標變換5.1.3 點云下采樣5.1.4 pointcloud_to_laserscan轉換5.2 圖像預處理5.2.1 圖像去畸變5.2.2 圖像增強5.2.3 圖像壓縮與傳輸5.3 傳感器融合預處理5.3.1 坐標系變換managed_transform_buffer5.3.2 多傳感器數據對齊5.3.3 數據質量評估第三部分感知系統3章第6章 3D目標檢測與跟蹤對應代碼: universe/autoware_universeperception 3d部分章節結構:6.1 3D感知架構6.1.1 感知流程概述6.1.2 感知模塊組織6.2 基于LiDAR的3D檢測6.2.1 點云聚類算法6.2.2 3D目標檢測網絡6.2.3 目標分類6.3 基于攝像頭的3D檢測6.3.1 單目3D檢測6.3.2 BEVDet算法bevdet_vendor6.3.3 深度估計6.4 多傳感器融合檢測6.4.1 早期融合策略6.4.2 后期融合策略6.4.3 融合置信度計算6.5 多目標跟蹤6.5.1 跟蹤算法卡爾曼濾波/粒子濾波6.5.2 數據關聯6.5.3 軌跡管理6.6 目標預測6.6.1 運動模型6.6.2 軌跡預測算法6.6.3 意圖識別第7章 2D感知與交通場景理解對應代碼: universe/autoware_universeperception 2d部分章節結構:7.1 2D感知架構7.2 交通燈識別7.2.1 交通燈檢測7.2.2 交通燈分類7.2.3 交通燈狀態跟蹤7.3 交通標志識別7.3.1 標志檢測7.3.2 標志分類7.3.3 地圖匹配7.4 車道線檢測7.4.1 車道線檢測算法7.4.2 車道線擬合7.4.3 車道類型識別7.5 語義分割7.5.1 場景語義分割7.5.2 可行駛區域檢測7.5.3 障礙物分割7.6 占用柵格地圖7.6.1 柵格地圖生成7.6.2 動態障礙物映射7.6.3 代價地圖構建第8章 感知融合與場景理解對應代碼: universe/autoware_universeperception fusion部分章節結構:8.1 感知融合架構8.2 目標級融合8.2.1 3D與2D檢測融合8.2.2 冗余目標消除8.2.3 目標屬性補全8.3 場景理解8.3.1 場景要素提取8.3.2 交通參與者關系建模8.3.3 場景危險度評估8.4 感知不確定性建模8.4.1 檢測不確定性8.4.2 跟蹤不確定性8.4.3 不確定性傳播第四部分定位與地圖2章第9章 高精度定位對應代碼: universe/autoware_universelocalization部分, universe/external/eagleye章節結構:9.1 定位系統架構9.1.1 定位模塊組織9.1.2 多源定位融合策略9.2 NDT點云匹配定位9.2.1 NDT算法原理9.2.2 NDT實現細節9.2.3 NDT參數調優9.3 GNSS/INS融合定位9.3.1 GNSS定位原理9.3.2 INS慣性導航9.3.3 卡爾曼濾波融合9.4 Eagleye定位方案9.4.1 Eagleye架構9.4.2 低成本傳感器融合9.4.3 城市峽谷場景優化9.5 定位精度評估9.5.1 定位誤差分析9.5.2 協方差估計9.5.3 定位質量監控9.6 定位失效檢測與恢復9.6.1 失效檢測機制9.6.2 降級策略9.6.3 重定位算法第10章 高精度地圖對應代碼: core/autoware_lanelet2_extension, universe/autoware_universemap部分章節結構:10.1 地圖系統架構10.2 Lanelet2地圖格式10.2.1 Lanelet2數據結構10.2.2 地圖要素建模Lane/Regulatory Element10.2.3 地圖坐標系10.3 Autoware Lanelet2擴展10.3.1 autoware_lanelet2_extension功能10.3.2 Autoware特有屬性10.3.3 地圖驗證工具10.4 地圖加載與解析10.4.1 地圖文件讀取10.4.2 地圖索引與查詢10.4.3 地圖緩存策略10.5 路網拓撲與路由10.5.1 路網圖構建10.5.2 車道連接關系10.5.3 路由可達性分析10.6 動態地圖10.6.1 動態對象層10.6.2 臨時交通管制10.6.3 地圖更新機制第五部分規劃與決策3章第11章 任務規劃與路由對應代碼: universe/autoware_universeplanning/mission_planning部分章節結構:11.1 任務規劃架構11.2 全局路徑規劃11.2.1 A*路徑搜索11.2.2 Dijkstra算法11.2.3 路徑代價設計11.3 路由計算11.3.1 路由請求處理11.3.2 車道級路由11.3.3 路由重規劃11.4 目標點管理11.4.1 目標點設定11.4.2 停車點選擇11.4.3 目標點可達性驗證11.5 多任務調度11.5.1 任務隊列管理11.5.2 任務優先級11.5.3 任務中斷與恢復第12章 行為規劃與決策對應代碼: universe/autoware_universeplanning/behavior_planning部分章節結構:12.1 行為規劃架構12.2 場景識別與理解12.2.1 駕駛場景分類12.2.2 場景要素提取12.2.3 場景切換邏輯12.3 行為決策樹12.3.1 決策樹結構12.3.2 行為選擇算法12.3.3 決策樹可視化12.4 交通規則遵守12.4.1 交通燈遵守邏輯12.4.2 停止線處理12.4.3 讓行規則12.4.4 速度限制12.5 交互式決策12.5.1 博弈論決策模型12.5.2 意圖推理12.5.3 社會性行駛12.6 行為狀態機12.6.1 狀態定義與轉換12.6.2 狀態機實現12.6.3 狀態監控與調試第13章 運動規劃與軌跡生成對應代碼: universe/autoware_universeplanning/motion_planning部分章節結構:13.1 運動規劃架構13.2 軌跡生成算法13.2.1 采樣式規劃13.2.2 優化式規劃13.2.3 混合式規劃13.3 碰撞檢測與避障13.3.1 碰撞檢測算法13.3.2 安全距離計算13.3.3 動態避障策略13.4 路徑平滑優化13.4.1 樣條曲線擬合13.4.2 路徑平滑算法13.4.3 曲率約束13.5 速度規劃13.5.1 速度曲線生成13.5.2 加速度約束13.5.3 舒適性優化13.6 特殊場景規劃13.6.1 停車規劃13.6.2 變道規劃13.6.3 掉頭規劃13.7 緊急停車規劃13.7.1 緊急制動規劃13.7.2 最小風險機動13.7.3 安全停靠第六部分控制與執行2章第14章 車輛控制對應代碼: universe/autoware_universecontrol部分章節結構:14.1 控制系統架構14.1.1 控制模塊組織14.1.2 控制周期與延遲14.2 純跟蹤控制器14.2.1 純跟蹤算法原理14.2.2 參數調優14.2.3 適用場景14.3 MPC模型預測控制14.3.1 MPC算法原理14.3.2 車輛運動學模型14.3.3 約束條件設計14.3.4 求解器選擇14.4 PID控制器14.4.1 PID原理14.4.2 參數整定14.4.3 抗飽和設計14.5 橫縱向解耦控制14.5.1 橫向控制轉向14.5.2 縱向控制加速/制動14.5.3 橫縱向協調14.6 控制性能評估14.6.1 跟蹤誤差分析14.6.2 舒適性評估14.6.3 控制穩定性第15章 車輛接口與系統管理對應代碼: universe/autoware_universevehicle/system部分, launcher/autoware_launch章節結構:15.1 車輛接口Vehicle Interface15.1.1 CAN通信協議15.1.2 底盤命令轉換15.1.3 車輛狀態反饋15.1.4 線控系統接口15.1.5 車輛接口適配15.2 系統管理與監控15.2.1 系統狀態監控15.2.2 模塊健康檢查15.2.3 性能監控15.3 故障診斷與處理15.3.1 故障檢測機制15.3.2 故障診斷算法15.3.3 降級策略15.4 應急管理15.4.1 緊急接管15.4.2 最小風險策略15.4.3 安全停車15.5 系統APIADAPI15.5.1 ADAPI架構基于autoware_adapi_msgs15.5.2 外部接口設計15.5.3 API使用示例15.6 啟動與集成Launch Integration15.6.1 autoware_launch架構15.6.2 啟動文件組織15.6.3 場景配置管理15.6.4 參數覆蓋機制15.7 仿真測試15.7.1 仿真測試框架15.7.2 場景測試15.7.3 回歸測試15.8 日志記錄與回放15.8.1 ROS bag記錄15.8.2 日志分析工具15.8.3 問題復現流程