日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Autoware 培训笔记 No. 4——寻迹

發(fā)布時間:2023/12/24 综合教程 29 生活家
生活随笔 收集整理的這篇文章主要介紹了 Autoware 培训笔记 No. 4——寻迹 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1. 前言

好多初創(chuàng)公司公布出來的視頻明顯都是尋跡的效果,不是說尋跡不好,相反可以證明,尋跡是自動技術(shù)開始的第一步。

自動駕駛尋跡:一種能夠自動按照給定的路線(通常是采用不同顏色或者其他信號標(biāo)記來引導(dǎo))進(jìn)行移動的汽車。

本章內(nèi)容有和No. 1、No. 2與No. 3重復(fù)的內(nèi)容,為了方便自己調(diào)試,我將重復(fù)的內(nèi)容也貼出來。

注意:所有需要在 [Simulation] 菜單下加載的數(shù)據(jù),都需要在所有操作之前操作,否則在RViz顯示時,會出現(xiàn)frame_id錯誤。

采用尋跡方式,首先要做的就是要確定汽車離航跡點(diǎn)集上的那個點(diǎn)最近,然后通過control算法將車輛移動到該航跡點(diǎn)上。所以尋跡尋跡方法最核心的操作同樣是定位。

本節(jié)尋跡我們同樣仿真數(shù)據(jù)與真車實(shí)測兩個方式來介紹

2. 仿真數(shù)據(jù)尋跡

2.1 打開runtime manager

2.2 打開地圖要定位的數(shù)據(jù)(在百度網(wǎng)盤中有,這是我們錄制的用于定位的數(shù)據(jù))

進(jìn)入[Simulaton] 頁面,點(diǎn)擊界面右上方[Ref]按鈕,加載錄制用于定位的 bag文件。

點(diǎn)擊 [Play] 然后點(diǎn)擊 [Pause]暫停。

2.3 加載地圖,加載world到map以及base_link到velodyne的TF變化

(1)設(shè)置從base_link到velodyne坐標(biāo)系的TF(與No. 1重復(fù))

在 [Setup] 菜單中,確保 [Localizer] 下選項(xiàng)為 [Velodyne],在 [Baselink to Localizer] 中設(shè)置好各個參數(shù)之后點(diǎn)擊TF按鈕,其中x、y、z、yaw、pitch、roll表示真車?yán)走_(dá)中心點(diǎn)與車身后軸中心點(diǎn)的相對位置關(guān)系(右手坐標(biāo)系,真車后車軸為原點(diǎn)),此時可以點(diǎn)擊[Vehicle Model],如果[Vehicle Model]為空,那么會加載一個默認(rèn)模型(在rviz顯示時,如果有激光雷達(dá)數(shù)據(jù),車輛會顯示為黑色)。如下所示。

(2)設(shè)置從world到map轉(zhuǎn)換(與No. 1重復(fù))

點(diǎn)擊 [Map] 頁面,點(diǎn)擊 [TF] 的 [ref] 選擇autoware/ros/src/.config/tf/tf_local.launch 文件,這是加載默認(rèn)world到map的坐標(biāo)轉(zhuǎn)換,打開tf_local.launch文件如下:

<launch>

    <node pkg="tf" type="static_transform_publisher" name="world_to_map" args="0 0 0 0 0 0 /world /map 10" />

</launch>

args的參數(shù)“0 0 0 0 0 0 /world /map 10”表示:從/world坐標(biāo)系轉(zhuǎn)換到/map坐標(biāo)系的x, y, z, roll, pitch, yaw轉(zhuǎn)換,且頻率為10Hz。

點(diǎn)擊[TF] 按鈕,如下圖:

(2)加載地圖

選擇runtime manager的 [Map] 菜單,點(diǎn)擊 [Point Cloud] 按鈕的 [ref],加載培訓(xùn)筆記 No. 1產(chǎn)生的.pcd文件(點(diǎn)云地圖),并點(diǎn)擊[Point Cloud] 按鈕,進(jìn)度條顯示OK,則加載完畢,如下所示:

2.4 設(shè)置相關(guān)濾波器

選擇 [Sensing]頁面,點(diǎn)擊 [Points Downsampler] 下[voxel_grid_filter] 的 app,設(shè)置一些參數(shù),[voxel_grid_filter] 是一種將采樣方法,將點(diǎn)云數(shù)據(jù)用質(zhì)心近似(用于降采用),如下圖:

這里,[Voxel Leaf Size] 參數(shù)值為2,意義是2米的立方體內(nèi)的全部點(diǎn)近似用1個質(zhì)心代替。[Measurement Range]的參數(shù)值為2,意義是點(diǎn)云的有效的距離為200米。

在[Sensing] 菜單下的 [Points Preprocesser] 下 [ring_ground_filter],[app]設(shè)置如下:

[ring_ground_filter]用于區(qū)分地面與障礙物。參數(shù)描述如下:

[Sensor Model]參數(shù)為激光雷達(dá)的線掃條數(shù),我們項(xiàng)目用的是16線激光雷達(dá),這里我們選16;

[Sensor Height]參數(shù)表示傳感器距離地面高度;

[Max Slope]表示最大的坡度,根據(jù)Alex如果不給出好坡度,容易將坡識別為障礙物;

[Vertical Thres]表示障礙物和地面的差異度,如果大于這個值則被認(rèn)為是障礙。(這里還要看代碼)

我們場地大約有一個5度的坡,所以需要設(shè)置這個參數(shù)。

[Points Downsampler] 下的四個濾波器都可以選,但我只看了[voxel_grid_filter] 濾波器,其他三個暫時沒看,后續(xù)會陸續(xù)補(bǔ)充。

[ring_filter] 與 [ring_ground_filter] 聯(lián)合來用,才會過濾掉地面,如果大家去看 [computing] 菜單下的 [astar planner] 下的 [velocity set] 選項(xiàng)下的 [app] 設(shè)置會發(fā)現(xiàn)這個選項(xiàng)要接收的topic為points_no_ground 只有這兩個選項(xiàng)都開啟時,這個選項(xiàng)才會生效。[velocity set] 實(shí)際上就是跟斑馬線及障礙物相關(guān)的速度設(shè)置。

所以 [ring_filter] 與[ring_ground_filter] 也要勾選。

如果采用非velodyne的激光雷達(dá),勾選[ring_filter]Failedtofindmatchforfield'ring' 的錯誤,問題沒有解決,如果哪位大神知道是什么問題,歡迎在下面留言告訴我。

2.5 設(shè)置導(dǎo)航

(1)在[Computing] 菜單欄右側(cè) [Mission Planning] 中勾選[lane_rule],[lane_stop],[lane_select] 三個選項(xiàng),如下圖所示:

[lane_rule]表示設(shè)置當(dāng)紅燈亮?xí)r,停止線之前與之后點(diǎn)的個數(shù)。具體參數(shù)如上圖:

[Acceleration]表示到達(dá)/通過停止線的加速度;

[Stopline Search Radius]表示搜索停止線圓心,半徑1m的waypoints;

[Number of zeros ahead]/[Number of zeros behind]表示停止線前/后的waypoints個數(shù),用于修改停止線前后waypoints的速度/加速度;

[Number_of_smoothing_count]用于平滑waypoints。

[lane_stop]用于識別紅綠等,根據(jù)紅綠燈的結(jié)果將停止線的waypoints變?yōu)榧t色(停止)或者綠色(繼續(xù)形式)。

[Traffic Light]下的Red Light與Green Light用與手動調(diào)整當(dāng)前路徑處在紅燈狀態(tài)還是綠燈狀態(tài);

[Lane Change]用于變道,[<<Left Lane]與[Right Lane>>]用于變道的按鈕。

[Current Lane]下的[Keep at]表示當(dāng)前Lane保持的速度,[Stop in]表示停止時距離Stopline的最大距離。

[lane_select]用于將汽車行駛在可以選擇的Lane上,如果 [waypoint_loader] 僅有一條Lane可以選擇,那么選擇這條路徑。

[Distance threshold to neighbor lanes]表示表示檢測當(dāng)前路徑周圍的有效通道的閾值。 超過此閾值的車道不會被識別為車道;

[Lane Change Interval After Lane merge]指示在更改車道后可以運(yùn)行多少米的值,您可以再次更改車道;

[Lane Change Target Ratio](這個暫時還不太明白作用)

[Lane Change Target minimum(m)]表示講變道到目標(biāo)車道上目標(biāo)點(diǎn)的最小距離;

[Vector Length of Hermite Curve(m)]表示用Hermite曲線上waypoints的向量長度;

上述三個設(shè)置全部用默認(rèn)值。

(2)在菜單欄 [Computing] 右側(cè)的 [astar_planner]下的 [obstacle_avold], [velocity_set] 并勾選,如下所示:

[obstacle_avold]表示避障的相關(guān)參數(shù);

[velocity_set]表示避障速度設(shè)置的相關(guān)參數(shù)。

上面 [app] 參數(shù)還在看代碼,日后補(bǔ)充

以上參數(shù)全部采用默認(rèn)值。

(3)在菜單欄[Computing] 右側(cè)的 [waypoint_maker] 下的 [waypoint_loader] 加載waypoints。

選擇 [Ref] 加載之前保存下來的路點(diǎn)文件,并點(diǎn)擊 [Close] 關(guān)閉頁面。勾選 [waypoint_loader] ,如下圖所示:

這里需要勾選[disable_decision_maker]。

(4)在[Computing] 菜單欄,找到 [waypoint_follower] 下[pure_pursuit] 與 [twist_filter] 的 [app] 進(jìn)行設(shè)置。

[waypoint_follower]的 [app] 在打開的菜單欄如上左圖所示,勾選 [Dlalog] 選項(xiàng),確保 [Velocity]( 手動設(shè)置速度 ) 選項(xiàng)值不能太大,因?yàn)檫@里是路點(diǎn)跟隨中設(shè)置速度的地方,[Waypoint] 模式下速度即是制作路點(diǎn)文件中記錄的 bag 文件的車速,已經(jīng)被寫入路點(diǎn)文件中,而 [Dlalog] 模式則可以手動設(shè)置車輛速度。

[waypoint_follower] (詳細(xì)參數(shù)還沒有看,日后補(bǔ)充)

PS:如果你希望車子檢測到障礙物會停下來,需要勾線[Sensing]菜單欄中的[ray_ground_filter] ,同時在 [Computing]菜單欄中的[pure_pursuit] 的 [app] 下勾選[Waypoint],這時車輛會按照你在No.3中記錄的航跡點(diǎn)速度在跑。如果你在No.3的2.7節(jié)中沒有勾選[Save/current_velocity] 那么需要你手動修改你錄制航跡點(diǎn)中的速度值。

2.6 運(yùn)行仿真數(shù)據(jù)

打開[Rviz],在[file]菜單中的[open config]選擇路徑:autoware/ros/src/.config/rviz/default.rviz的文件。這是回到runtime manager,進(jìn)入[Simulaton] 頁面,點(diǎn)擊 [Pause]開始。這時可以從RViz中看到一輛黑色的帶有激光雷達(dá)數(shù)據(jù)的汽車停在地圖的右下方,如下圖所示:

運(yùn)行效果如下:

3. 真車尋跡

真車尋跡與仿真尋跡類似,差別在于仿真定位采用事先記錄的數(shù)據(jù),真車定位采用實(shí)際的激光雷達(dá)。

3.1 打開runtime manager

3.2 啟動激光雷達(dá)(與No.1 重復(fù)內(nèi)容)

(1)針對velodyne 多線lidar

如果你有velodyne激光可以啟動默認(rèn)配置:[Sensing] 頁面下 [Lidars] 選項(xiàng)下針對你的velodyne選擇,velodyne激光對應(yīng)的發(fā)布的點(diǎn)云topic:/velodyne_packets,frame_id:velodyne,topic會被重映射成為/points_raw。

例如:假如你有16線激光,點(diǎn)選 [velodyne VLP-16] 的 [config],點(diǎn)選[ref],加載/home/pix/Autoware/ros/src/sensing/drivers/lid ar/packages/velodyne/velodyne_pointcloud/param s/VLP16db.yaml路徑下的配置文件(自己多線激光雷達(dá)可以針對這個配置改寫),退出 [config],勾選 [velodyne VLP-16] 選項(xiàng)(一般的操作都是先修改config或者app下的配置或參數(shù)文件,然后勾選選項(xiàng))。

查看點(diǎn)云輸出。

(2)針對其他品牌多線lidar

如果你有其他品牌的激光,他們發(fā)布的topic不是/velodyne_packets,且frame_id同樣不對應(yīng),這時可以自己寫個程序轉(zhuǎn)一下,參照:https://www.cnblogs.com/hgl0417/p/11067660.html。然后單獨(dú)運(yùn)行你的lidar driver node,將你的點(diǎn)云數(shù)據(jù)模擬成velodyne數(shù)據(jù)。此時,不需要點(diǎn)選runtime manager上的lidar配置文件(每個配置文件對應(yīng)一個package或者node,意義在于將對應(yīng)的topic發(fā)布,此時你已經(jīng)發(fā)布了topic,所以不需要在點(diǎn)選上述配置文件)。

3.2 加載地圖,開啟相關(guān)設(shè)置

重復(fù)上述2.2~2.5的操作

3.3 啟動底盤連接

由于我們的車底盤的CAN已經(jīng)做好了,所以在這里,我們只需點(diǎn)擊 [Interface] 菜單下的 [Gateway] 按鈕就可以鏈接底盤。

3.4 啟動汽車的自動駕駛

我們轎車為了安全,啟動環(huán)節(jié)比較復(fù)雜,感謝老司機(jī)每天重復(fù)這樣的操作

自動駕駛成功。

引用:

autoware.ai

dowson.live

原創(chuàng)文章,轉(zhuǎn)載請引用。

總結(jié)

以上是生活随笔為你收集整理的Autoware 培训笔记 No. 4——寻迹的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。