Apollo进阶课程㊷丨Apollo实战——车辆与循迹驾驶能力实战
原文鏈接:進(jìn)階課程?丨Apollo實(shí)戰(zhàn)——車輛與循跡駕駛能力實(shí)戰(zhàn)
循跡自動(dòng)駕駛是指讓車輛按照錄制好的軌跡線進(jìn)行自動(dòng)駕駛,其涉及到自動(dòng)駕駛中最基本的底盤線控能力、定位能力、控制能力,是自動(dòng)駕駛系統(tǒng)的一個(gè)最小子集。
上周阿波君為大家詳細(xì)介紹了「進(jìn)階課程?丨Apollo實(shí)戰(zhàn)——本機(jī)演示實(shí)戰(zhàn)」。
此課程介紹了Apollo項(xiàng)目的基本代碼結(jié)構(gòu)包括:Docker和Docs(主要放置一些文檔)、Modules(核心模塊算法都在該文件夾下)以及Scripts和Tools等。此外,還介紹了軟件的安裝流程。
本周阿波君將繼續(xù)與大家分享Apollo實(shí)戰(zhàn)——車輛與循跡駕駛能力實(shí)戰(zhàn)的相關(guān)課程(本節(jié)課程基于Apollo 3.0版本)。下面,我們一起進(jìn)入進(jìn)階課程第42期。
在搭建完自動(dòng)駕駛車輛的軟、硬件環(huán)境以后,通常采用循跡測(cè)試進(jìn)行驗(yàn)證,如圖1所示。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖1 循跡測(cè)試涉及的Apollo模塊
循跡測(cè)試涉及最底下的幾個(gè)模塊,只需要定位、控制以及Canbus這三個(gè)模塊,是Apollo的最小子集,通過循跡可以驗(yàn)證車的線控能力以及模塊的整體集成能力。
那么如何做循跡測(cè)試呢?首先在硬件上,我們需要一輛線控車輛、一個(gè)工控機(jī)以及慣導(dǎo)系統(tǒng)GPS和IMU,如圖2所示。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖2 Apollo循跡測(cè)試硬件需求
如果大家使用的是參考硬件搭建的車輛,不需要進(jìn)行適配,可以直接進(jìn)行驗(yàn)證。
如果你不是用參考車輛來做這件事,需要做以下幾步:
首先是要實(shí)現(xiàn)一個(gè)適配層。通過代碼里的Vehicle模塊添加一個(gè)新Vehicle,其實(shí)就是從代碼邏輯上添加一個(gè)車輛的設(shè)備層。具體包括添加一個(gè)新車控制器,再實(shí)現(xiàn)一個(gè)新消息管理器,然后在工廠類中注冊(cè)這個(gè)新車和更新配置文件,如圖3所示。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?????????????????圖3 添加一個(gè)新的Vehicle
第二步是Can卡的管理。Canbus通過CAN Card硬件去完成溝通,默認(rèn)有一個(gè)叫ESD的CAN Card。如果我們新添不同的廠家,且它的驅(qū)動(dòng)數(shù)據(jù)格式不一樣,需要按照以下方式去集成一個(gè)新CAN Card。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?????????????????圖4 Can卡的集成方法
最后是控制模塊。控制模塊是一個(gè)非常開放的模塊,大部分情況下,不需要定制。當(dāng)然如果整個(gè)車輛的控制,底層的車輛有很大的差別,在個(gè)別情況下需要用自己的控制算法。新增控制算法的流程如圖5所示。
??????????????????????????????????????????????????????????????????????????????? ????????????????圖5 新增控制算法的流程
接下來就是定位,它是非常核心的一部分,圖6是目前定位整體的邏輯框架。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?????????????????圖6 Apollo中定位模塊的整體邏輯
目前Apollo提供兩種定位方式,一種是RTK定位方式,基于基站的方式,需要GPS和IMU慣導(dǎo)。另一種方案是MSF(多傳感器融合)的定位方式,除了GPS和IMU之外,還通過Lidar的3D點(diǎn)云來做認(rèn)證匹配定位。循跡測(cè)試的定位只需要一個(gè)GPS即可。如果使用的不是Apollo推薦的參考硬件,就需要新添加,具體過程就是新建一個(gè)GPS解析類去解析GPS 的數(shù)據(jù)格式,然后再配置就可以實(shí)現(xiàn)。
設(shè)備搭建完成之后,可以通過HMI界面啟動(dòng)循跡測(cè)試,如圖7所示,包括錄制和執(zhí)行兩步。在錄制之前,需要確認(rèn)已經(jīng)啟動(dòng)了所有相關(guān)的GPS, CAN Card模塊。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????????????????圖7 啟動(dòng)循跡自動(dòng)駕駛的步驟
總結(jié)
以上是生活随笔為你收集整理的Apollo进阶课程㊷丨Apollo实战——车辆与循迹驾驶能力实战的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: kernels32.exe是什么进程 有
- 下一篇: Coursera自动驾驶课程第14讲:L