# Autoware Docker安裝教學 <style> html, body, .ui-content { background-color: #333; color: #ddd; } body > .ui-infobar { display: none; } .ui-view-area > .ui-infobar { display: block; } .markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4, .markdown-body h5, .markdown-body h6 { color: #ddd; } .markdown-body h1, .markdown-body h2 { border-bottom-color: #ffffff69; } .markdown-body h1 .octicon-link, .markdown-body h2 .octicon-link, .markdown-body h3 .octicon-link, .markdown-body h4 .octicon-link, .markdown-body h5 .octicon-link, .markdown-body h6 .octicon-link { color: #fff; } .markdown-body img { background-color: transparent; } .ui-toc-dropdown .nav>.active:focus>a, .ui-toc-dropdown .nav>.active:hover>a, .ui-toc-dropdown .nav>.active>a { color: white; border-left: 2px solid white; } .expand-toggle:hover, .expand-toggle:focus, .back-to-top:hover, .back-to-top:focus, .go-to-bottom:hover, .go-to-bottom:focus { color: white; } .ui-toc-dropdown { background-color: #333; } .ui-toc-label.btn { background-color: #191919; color: white; } .ui-toc-dropdown .nav>li>a:focus, .ui-toc-dropdown .nav>li>a:hover { color: white; border-left: 1px solid white; } .markdown-body blockquote { color: #bcbcbc; } .markdown-body table tr { background-color: #5f5f5f; } .markdown-body table tr:nth-child(2n) { background-color: #4f4f4f; } .markdown-body code, .markdown-body tt { color: #eee; background-color: rgba(230, 230, 230, 0.36); } a, .open-files-container li.selected a { color: #5EB7E0; } </style> > [color=#907bf7] [name=梓育(moon.starsky37@gmail.com)] [time=Wed, May 6, 2020 18:00 PM] ![](https://i.imgur.com/F0O9VI6.jpg) ---- Outline [TOC] ## Autoware 為何 Autoware.AI 是基於ROS的開源軟體,可讓自動駕駛汽車在私人區域、城市道路和高速公路上進行測試。其license為Apache 2.0,並開源在GitLab上:[連結](https://gitlab.com/autowarefoundation/autoware.ai) * 主要功能 > Localization Object detection Driving control 3D map generation and sharing * 軟體架構 ![](https://i.imgur.com/eAtDVmM.png) ## 安裝環境與需求for linux 在開始安裝Autoware前,請先確認硬體設備或驅動環境是否有符合官方的spec,主要的幾個常用規格列表如下: * Generic x86 * CPU: Intel Core i7 (preferred), Core i5, Atom * 記憶體: 16GB to 32GB of main memory * 儲存空間: More than 30GB of SSD * GPU: NVIDIA GTX GeForce GPU (980M or higher performance) * Operating System and driver * Ubuntu 16.04 * CUDA 10.2 (在這邊我們不會特別說明如何安裝,請參照[Nvida官網教學](https://developer.nvidia.com/cuda-downloads) 可以用`$ nvidia-smi` 檢查自己的安裝結果 ![](https://i.imgur.com/g7AuG0v.png) ## Autoware 安裝流程 由於本篇文章是在Ubuntu底下,利用Docker安裝Autoware,所以安裝時的指令會以[RPM](https://zh.wikipedia.org/wiki/RPM%E5%A5%97%E4%BB%B6%E7%AE%A1%E7%90%86%E5%93%A1)方式去做安裝。 ### 安裝Docker 由於Autoware在使用Docker安裝時,會使用到gpus的參數,所以如果使用者之前就有安裝過Docker但版本低於19.03的話,則需要安裝[NVIDIA Docker Runtime](https://github.com/NVIDIA/nvidia-docker/wiki/Installation-(version-2.0)),而在這邊的安裝方式則為刪除舊有的版本,並安裝一個新的docker。 <iframe width="100%" height="1000" src="https://docs.docker.com/engine/install/ubuntu" frameborder="0"></iframe> sudo apt-get install docker-ce=5:19.03.13~3-0~ubuntu-focal docker-ce-cli=5:19.03.13~3-0~ubuntu-focal containerd.io 安裝完之後驗證 docker 是否可以抓到顯卡 ``` $ sudo docker run --gpus all nvidia/cuda nvidia-smi ``` ### 利用Docker安裝 Autoware 為了使用 Autoware已經事先編譯過的 Docker Containers 我們需要先將它提供的Docker複製進我們的工作環境 ``` $ git clone https://gitlab.com/autowarefoundation/autoware.ai/docker.git $ cd docker/generic ``` 接著我們要使用其中的 run.sh 來啟動Docker container 我們可以先看看他需要那些參數 ``` $ ./run.sh -h ``` 由於我們需要使用的環境會需要使用GPU來開啟環境,而且比較新版的Autoware有些功能更多元,且才有被成功編譯到有CUDA的版本,所以我們在這邊使用的指令為: ``` $ sudo ./run.sh -t 1.12.0 -r kinetic -c on -s Using options: ROS distro: kinetic Image name: autoware/autoware Tag prefix: 1.12.0 Cuda support: on Pre-release version: off UID: <1000> Launching autoware/autoware:1.12.0-kinetic-cuda To run a command as administrator (user "root"), use "sudo <command>". See "man sudo_root" for details. ``` ![](https://i.imgur.com/FolsWAG.png) ``` $ roslaunch runtime_manager runtime_manager.launch ``` ### Autoware Test 最後我們測試看看我們的Autoware是否能顯示我們的資料 官方有提供一些Demo用資料(3D map and ROSBAG sample data) 我們先把他載下來 ``` $ # Sample 3D pointcloud/vector map data. $ wget https://autoware-ai.s3.us-east-2.amazonaws.com/sample_moriyama_data.tar.gz ``` Note: 因為環境是用Docker裝的,下載下來的檔案要記得要放到可取用的資料夾,如會被剛剛 run.sh創建的shared_dir資料夾 ``` # 解壓縮 $ tar zxfv sample_moriyama_data.tar.gz ``` * 裡面的資料結構如下 ![](https://i.imgur.com/7YvqsI0.png) * 點選Map中Point Cloud的Ref。 將data/map/pointcloud_map裡的資料(*.pcd)全選放入 * 點選Map中Vector Map的Ref。 將data/map/vector_map裡的資料(*.csv)全選放入 * 點選Map中TF的Ref。 將data/tf中的tf.launch放入 * 然後點選Map中的Point Cloud, Vector Map, TF三個按鈕讓Autoware讀取資料。 * 最後在點選RViz按鈕開啟視窗,如果有成功看到如下畫面代表已經安裝完成。 ![](https://i.imgur.com/J06Ovpy.png) Note: 若是用rosbag的功能,則使用 ``` $ # Sample data (LiDAR: VELODYNE HDL-32E, GNSS: JAVAD GPS RTK Delta 3) in ROSBAG format or ROSBAG2 format. $ wget https://autoware-ai.s3.us-east-2.amazonaws.com/sample_moriyama_150324.tar.gz or $ wget https://autoware-ai.s3.us-east-2.amazonaws.com/sample_moriyama_150324.bag2.tar.gz # 解壓縮 $ tar zxfv sample_moriyama_150324.tar.gz ``` # 其他使用的指令 <iframe width="100%" height="1000" src="https://sdi4apps.eu/2016/03/journey-to-creating-drivenet-maps-open-data-real-time-road-maps-for-autonomous-driving-from-3d-lidar-point-clouds/" frameborder="0"></iframe> ## 安裝環境與需求 for win10 ### 安裝docker 安裝docker for win10 並勾選Expose daemon on tcp://localhost:2375 without TLS ![](https://i.imgur.com/dHtxVh0.png) ```bash= ~/docker/generic/run.sh -t 1.12.0 -r kinetic -c off -s roslaunch runtime_manager runtime_manager.launch ``` ![](https://i.imgur.com/6KNg2gE.png) #### win10 ssh win+I 開啟「應用程式與功能」 「選用功能」->「新增功能」->「OpenSSH Server」 In PowerShell (管理員權限) ``` Start-Service sshd Get-Service sshd ``` 成功 ![](https://i.imgur.com/uZDsxZ5.png) 建議進入後在開啟wsl來操作 ![](https://i.imgur.com/5Qn7X4u.png) ## Other Autoware Demo with filter https://www.youtube.com/watch?v=3UO1K0lD2Qk ## Referance - https://github.com/CPFL/Autoware-Manuals/blob/master/en/Autoware_UsersManual_v1.1.md#chapter-2---ros-and-autoware - https://gitlab.com/autowarefoundation/autoware.ai/autoware/-/wikis/ROSBAG-Demo - https://hub.docker.com/r/autoware/autoware/tags - https://qiita.com/kameyama-eiji/items/0b3f914dbe03a83a1231 # Autoware universe * Installation: https://autowarefoundation.github.io/autoware-documentation/main/installation/autoware/docker-installation/ Note: not using ansible * rocker : https://memoteki.net/archives/4471 * CUDA Error: https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#ubuntu * Using commands: ``` cd project git clone https://github.com/autowarefoundation/autoware.git rocker --nvidia --x11 --user --volume $HOME/project/autoware --volume $HOME/autoware_map -- ghcr.io/autowarefoundation/autoware-universe:latest-cuda ```