引言
在安裝了 Autoware 之后,首先可以嘗試運行一下官方 demo,熟悉 Autoware 的 runtime manager 操作界面。
關于 Autoware 的安裝,可以參考官方教程。官網給出兩種安裝方式: 源碼編譯 和 Docker 方式。為了減少麻煩,推薦用 Docker 方式安裝。可以參考本博客另一篇文章 中介紹的 Docker 安裝 Autoware 的方法。不管哪種方式安裝的 Autoware,運行 demo 的方式都是一樣的。
以下操作來自 Autoware 官方提供的 QuickStart 。
下載 demo 數據文件
運行 Autoware 基本 demo 需要用到 2 個文件
- rosbag : 保存了實車行駛中記錄的數據,主要是 /nmea_sentence 和 /points_raw,前者來自 GPS,可以提供定位信息,后者來自 LiDAR,可以提供環境感知和定位信息。
- data: 包含了點云地圖 (pcd map),向量地圖 (vector map),TF 坐標轉換等。
把這 2 個文件存放在特定的位置,方便后續的調用。這里創建 .autoware 隱藏文件夾,下載文件并解壓縮
$ mkdir ~/.autoware
$ cd ~/.autoware
$ wget http://db3.ertl.jp/autoware/sample_data/sample_moriyama_data.tar.gz # data
$ wget http://db3.ertl.jp/autoware/sample_data/sample_moriyama_150324.tar.gz # rosbag
$ tar xf sample_moriyama_data.tar.gz
$ tar xf sample_moriyama_150324.tar.gz
Quick Start 中還提到 my_launch.sh 文件,這里不需要下載,因為新版本的 Autoware 已經自帶了所需要的 launch 文件,存放在了 ~/Autoware/docs/quick_start 中。
運行 Autoware demo
- 打開 Autoware runtime manager
./Autoware/ros/run
這個命令的主要作用是運行 roscore 和 ~/Autoware/ros/src/util/packages/runtime_manager/scripts 路徑下的 runtime_manager_dialog.py 文件,將出現如下界面。
可以看到 runtime manager 包含了很多 Tab: Quick Start, Setup, Map, Sensing, ...
在運行官方 demo 的過程中,我們主要用到 Quick Start 和 Simulation,以及右下角的 RViz.
- 運行 rosbag
選擇 Simulation Tab, 通過 Ref 選擇剛才下載的 bag 文件,如下所示
Play 1s ~ 2s 之后再 Pause。
-
啟動 RViz
RViz 是數據可視化的工具,可以將接收到的 rostopic 中的數據顯示出來,方便我們直觀的檢查 data 。
點擊右下角的 RViz,出現如下界面:
Screenshot from 2019-02-09 15-50-58.png
這是 RViz 的默認初始界面,為了配合 demo,需要做一些設置,官方已經給了配置文件,即 ~/Autoware/ros/src/.config/rviz/default.rviz。 路徑中有隱藏文件夾,查看時需要設置隱藏可見。
在 RViz 中通過 File -- Open Config 打開這個配置文件,界面如下:
可以看到左側欄已經添加了很多設置,基本上每一項都可以接收一個 rostopic,將其顯示出來。由于現在 rosbag 在暫停中,所以中間的顯示界面沒有任何東西。
- 加載 map ,開啟定位
回到 runtime manager 界面的 Quick Start Tab
- 在 Map 那一行加載 my_map.launch 文件,文件所在路徑是:~/Autoware/docs/quick_start,后續用到的 launch 文件也都在這里。
- 在 Localization 那一行加載 my_localization.launch 文件,也在上述路徑中
-
繼續 play
在 Simulation Tab,再次點擊 Pause,恢復播放 rosbag。
此時在 RViz 中應該可以看到地圖和車的模型,如下圖
Screenshot from 2019-02-09 16-15-09.png
其中的地圖包括 pcd map 和 vector map,可以通過選擇和取消左側欄的 Points Map 和 Vector Map 分別查看。
- 設置 RViz
為了便于觀察,可以將 RViz 中右邊欄的 Target Frame 設置為 base_link,就是車身,頂部的 Type 設置為 TopDownOrtho,然后點 Zero。這樣設置可以令車身始終處于屏幕顯示的中心位置,并且是 top-down 視角。也可以嘗試其他視角,比如 ThirdPersonFollower。
按照官方說法,車輛定位初始的時候抖動比較厲害,到了大概 2 分鐘之后穩定下來。
-
開啟 mission planning
目前在 Quick Start 中只開啟了 map 和 localization。
繼續開啟 mission planning,launch 文件還是在之前的文件夾中。這一部分主要是加載 waypoints,就是在全局層面汽車需要跟蹤的路線。這一全局規劃的路徑在 182s 左右才會出現。
如下所示
Screenshot from 2019-02-09 16-30-55.png
可以看到 waypoints 附帶的期望速度和方向。
-
開啟 motion planning
繼續在Quick Start 中開啟 motion planning,如下圖所示
Screenshot from 2019-02-09 16-33-10.png
這里顯示的汽車在跟蹤每一個 waypoint 時的動作規劃,白色的弧線對應了由 pure_pursuit 計算出來的轉角曲率,綠色區域對應了 detection_range.
總結
這里的 demo 本質上是回放之前實車運行時記錄的數據 (大概是2015年3月24日在名古屋市下轄的守山區街道上錄制的),信息傳輸是單向的:只能從實車數據到 Autoware。盡管 Autoware 能夠實現完整的自動駕駛功能,包括感知、定位、規劃決策和車輛控制,但是很顯然 Autoware 最后產生的車輛控制信號不可能影響已經記錄好的過去的數據。這個 demo 演示的是一個開環系統,不存在從 Autoware 到實車的反饋。
后續文章中會提到如何搭建一個閉環的自動駕駛仿真系統,這樣仿真車輛和 Autoware 之間就有互動,可以驗證自己的自動駕駛算法了。
最后,對比一下 守山區的真實街道場景。
看來車子是從右邊那個 Aeon Mall 停車場開出來的。