Apollo进阶课程㉚丨Apollo ROS背景介绍
原文鏈接:進階課程?丨Apollo ROS背景介紹
ROS是機器人學習和無人車學習最好Linux平臺軟件,資源豐厚。無人車的規劃、控制算法通常運行在Linux系統上,各個模塊通常使用ROS進行連接。
上周阿波君為大家詳細介紹了「進階課程?Apollo控制技術詳解——控制器的類型」。
主要介紹控制器的類型,大致分為三類,分別是開環控制、前饋環控制和后饋環控制。其中詳細地講解了前饋環控制器的分類以及控制策略,控制策略主要介紹了三種,分別是Optimal Control(優化控制)、 Adaptive Control(自適應控制)、Robust Control(魯棒性控制)等。
本周阿波君將繼續與大家分享Apollo ROS介紹——背景的相關課程。下面,我們一起進入進階課程第30期。
目錄
1.引入ROS的背景介紹
2.選擇ROS的原因
1.引入ROS的背景介紹
?????????????????????????????????????????????????????????????? ? ? ? ? ? ? ? ? ?????????????????????????自動駕駛系統組成
如上圖所示:自動駕駛系統包括障礙物檢測、行為決策、路徑規劃等一系列復雜的工程模塊,同時還要支持激光雷達、相機、GPS等一系列傳感器的實時數據收集和實時處理。如何將這些功能模塊相互獨立又相互交互集成一起,構建成一個穩定的自動駕駛系統是一個巨大的挑戰,也是自動駕駛計算框架所承載的基本功能。
首先自動駕駛系統還處在一個快速發展的階段,算法和整體方案還在持續迭代優化。使用框架開發,可以將更多的精力放在算法模塊的迭代上。開發者不需要關心具體配置管理、部署運行、底層通信等功能。
其次是感知、定位、決策控制等模塊各自承載了一部分獨立功能,相互之間有一定的數據依賴。框架能夠在開發階段減少各個模塊之間的耦合,在運行階段可以將各個模塊串聯起來。
最后是自動駕駛涉及大量的圖像點云處理算法,對于可視化和調試工具有很大的需求。比如調試過程中,障礙物檢測需要看Detection的那個框準不準;路徑規劃需要看自動駕駛算法規劃的路徑是否符合當前的一些決策行為;定位也需要看車輛當前是否在準確的車道內。
2.選擇ROS的原因
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????????????ROS的基本框架
上圖是一個ROS的基本框架,自動駕駛底層通信框架選擇ROS,主要有三個方面的原因:
ROS是一個比較強大、靈活的機器人編程框架。從軟件架構的層面來說,它是一個基于消息傳遞的分布式多進程框架,很早就被機器人行業廣泛使用。很多著名的機器人開發框架,如基于四元數的坐標轉換、3D點預處理驅動、定位算法、SLAM等都是基于ROS開發的開源的現成方案。
ROS基于消息機制,開發者可以根據功能把軟件拆分成獨立的子模塊,子模塊通過不斷的組合能夠建立起比較復雜的系統來完成復雜的功能。
ROS是學術界廣泛使用的一個框架,對實驗各種新算法提供了一些支持。
基于以上三點,我們在初期選擇ROS作為自動駕駛底層框架,用于快速驗證頂層算法和技術方案。
總結
以上是生活随笔為你收集整理的Apollo进阶课程㉚丨Apollo ROS背景介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实打实1英寸大底!小米12S Ultra
- 下一篇: 图解算法学习笔记(一): 算法简介