😎

Unity製自動運転シミュレータのAWSIMをうごかしてみた

2022/12/28に公開

株式会社ティアフォーから自動運転シミュレータ「AWSIM」が公開された。
https://tier4.jp/media/detail/?sys_id=7aKjLKMrV0XWPWXxRq0dAa&category=NEWS

Autowareとは自動運転システム用オープンソースソフトウェアとして公開されている。
https://github.com/autowarefoundation/autoware

今回のAWSIMはUnityを使ったシミュレータもオープンソースで公開したもので、QuickStartチュートリアルがあったので試してみた。
https://tier4.github.io/AWSIM/GettingStarted/QuickStartDemo/

動画解説はこちら

https://www.youtube.com/watch?v=OtlMjL8-GkU

推奨環境

OS Ubuntu 20.04
CPU 6cores and 12thread or higher
GPU RTX2080Ti or higher
Nvidia Driver (Windows) >=472.50
Nvidia Driver (Linux) >=460.27.03

GPUはなるべく高性能のものを用意しよう。

試験環境

OS Ubuntu 20.04 LTS
CPU AMD Ryzen 9 3900X BOX (12core / 24thread)
GPU GeForce RTX 3090 (24GB)

OSのセットアップ

今回はWindowsと環境を切り離したかったので、Ubuntu 20.04 LTSをUSB SSDにインストールして使用した。
そのセットアップについては以下の記事を参照。
https://zenn.dev/engineercafe/articles/ba2c32bc605d69

NVIDIA driverのセットアップ

NVIDIAドライバーインストールのためのレポジトリを追加

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update

インストールできるNVIDIAのドライバー一覧を表示

ubuntu-drivers devices

こんな感じで表示されます

出力結果
== /sys/devices/pci0000:00/0000:00:01.1/0000:01:00.0 ==
modalias : pci:v000010DEd00002560sv00001028sd00000A6Ebc03sc00i00
vendor   : NVIDIA Corporation
driver   : nvidia-driver-510 - distro non-free
driver   : nvidia-driver-470 - distro non-free
driver   : nvidia-driver-515-server - distro non-free
driver   : nvidia-driver-515-open - distro non-free
driver   : nvidia-driver-470-server - distro non-free
driver   : nvidia-driver-515 - distro non-free
driver   : nvidia-driver-525-open - distro non-free recommended
driver   : nvidia-driver-525 - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin

ここでチュートリアル通りに「ubuntu-drivers autoinstall」を実行すると、上記リストで「recommended」になっているnvidia-525-openがインストールされるが、手元の環境だとうまく動かなかった。

そのため、この時点で最新のプロプライエタリ版を入れる

sudo apt install nvidia-driver-525

再起動

sudo reboot

再起動後、Nvidiaドライバーの動作を確認

nvidia-smi
出力結果
Thu Dec 22 21:03:38 2022  	 
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.60.11	Driver Version: 525.60.11	CUDA Version: 12.0 	|
|-------------------------------+----------------------+----------------------+
~

.bashrcへの追加

.bashrcを好きなエディタで開く

nano ~/.bashrc

以下を末尾にコピペ

export ROS_LOCALHOST_ONLY=1
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp

if [ ! -e /tmp/cycloneDDS_configured ]; then
    sudo sysctl -w net.core.rmem_max=2147483647
    sudo ip link set lo multicast on
    touch /tmp/cycloneDDS_configured
fi

ctrl+XEnterで保存(nanoの場合)

設定を反映させる

source ~/.bashrc

シミュレータのインストール

ZIPをダウンロード

wget https://github.com/tier4/AWSIM/releases/download/v1.0.1/AWSIM_v1.0.1.zip

解凍

unzip ./AWSIM_v1.0.1.zip

実行権限をつける

chmod +x ./AWSIM/AWSIM.x86_64

起動

./AWSIM/AWSIM.x86_64

AWSIM

マップファイルの準備

西新宿MAPのZIPファイルをダウンロード

wget https://github.com/tier4/AWSIM/releases/download/v1.0.0/nishishinjuku_autoware_map.zip

解凍

unzip ./nishishinjuku_autoware_map.zip

Autowareのインストール

ダウンロードして

git clone https://github.com/autowarefoundation/autoware.git
cd autoware
git checkout awsim-stable

セットアップスクリプトを実行

./setup-dev-env.sh

途中で2回質問があり、パスワードを聞かれるので入力。
かなり時間がかかるが、(成功すれば)実行は1度だけ

srcディレクトリを作ってファイルを格納

mkdir src
vcs import src < autoware.repos

ROSのパッケージをインストール

source /opt/ros/galactic/setup.bash
rosdep update
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO

Workspaceをビルド

colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-w"

起動

source install/setup.bash
ros2 launch autoware_launch e2e_simulator.launch.xml vehicle_model:=sample_vehicle sensor_model:=awsim_sensor_kit map_path:=/home/YOUR_USERNAME/nishishinjuku_autoware_map

最後に

もしビルドで苦しんだ場合、Dockerで環境入れてしまうのもいいかも?(未検証)
https://autowarefoundation.github.io/autoware-documentation/main/installation/autoware/docker-installation/

無事起動したら、チュートリアルの続きを見ながら自動運転を体験しよう。
https://tier4.github.io/AWSIM/GettingStarted/QuickStartDemo/#5-lets-run-the-self-driving-simulation

Discussion