8
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AWSIMを動かしてみる

Last updated at Posted at 2023-02-18

この記事では,TIER IVがオープンソースで提供している自動運転シュミレーター「AWSIM」を使ってみた内容を書いてみました.

環境

推奨PCスペック

OS Ubuntu 22.04
CPU 8コア×2,16スレッド
GPU RTX1080Ti

rosとawsim、autowareのversion

ROS2 Humble
Autoware awsim-stable
AWSIM AWSIM_v1.1.0

基本的にAWSIM autowareのbranchとAWSIMのversionがあっていないと動かないので注意しましょう。(慣れていないうちは推奨の環境の組み合わせを使用しましょう)

GPUの設定まわりで詰まっているIssueがあったのですが、私の場合は以下のようなNvidiaの環境ですんなりセットアップできました。

Sat Feb 18 15:02:05 2023       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 520.61.05    Driver Version: 520.61.05    CUDA Version: 11.8     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  On   | 00000000:02:00.0  On |                  N/A |
| 32%   54C    P2    58W / 250W |   5940MiB / 11264MiB |     27%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      2401      G   /usr/lib/xorg/Xorg                507MiB |
|    0   N/A  N/A      2567      G   /usr/bin/gnome-shell               71MiB |
|    0   N/A  N/A      6665      G   ...930758177505787228,131072      262MiB |
|    0   N/A  N/A      7069      G   ...RendererForSitePerProcess        9MiB |
|    0   N/A  N/A     13600      G   ...RendererForSitePerProcess       85MiB |
|    0   N/A  N/A     17904    C+G   ...r/2021.1.7f1/Editor/Unity     4951MiB |
|    0   N/A  N/A     28795      G   ...os/humble/lib/rviz2/rviz2       34MiB |
+-----------------------------------------------------------------------------+

Quick Start Demo

基本的にはこちらのドキュメントどおりに進めればセットアップできます。

手順

  1. Autowareの環境構築
  2. AWSIMのダウンロード
  3. simulatorの起動

順番に見ていきましょう。

  1. Autowareの環境構築
    こちらはドキュメントの記載内容そのままです。毎度autowareの環境構築のためのお決まりのコマンドのため内容だけ載せておきます。
    冒頭に記載した、autowareのbranchやAWSIMのversionがことなるとうまくtopic同士がつながらないため、versionには注意しましょう。
$ git clone https://github.com/autowarefoundation/autoware.git
$ cd autoware
$ git checkout awsim-stable
$ ./setup-dev-env.sh
$ mkdir src
$ vcs import src < autoware.repos
$ source /opt/ros/humble/setup.bash
$ rosdep update
$ rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
$ colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-w"

2.AWSIMのダウンロード
wgetを使用し,AWSIM.zipをダウンロードし,zipファイルを解凍します.

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

解凍するとこんな感じでファイルが展開されます。
image.png

3.シミュレータを動かしてみる

実行権限をつけて起動しましょう。

chmod +x <path to AWSIM folder>/AWSIM_demo.x86_64
./<path to AWSIM folder>/AWSIM_demo.x86_64

以下のようなwindowが見えると思います。
image.png

この状態で出ているtopicは制御入力、sensingの結果、車両の状態になります。

/client_count
/clock
/connected_clients
/control/command/control_cmd
/control/command/emergency_cmd
/control/command/gear_cmd
/control/command/hazard_lights_cmd
/control/command/turn_indicators_cmd
/parameter_events
/rosout
/sensing/camera/traffic_light/camera_info
/sensing/camera/traffic_light/image_raw
/sensing/gnss/pose
/sensing/gnss/pose_with_covariance
/sensing/imu/tamagawa/imu_raw
/sensing/lidar/top/pointcloud_raw
/sensing/lidar/top/pointcloud_raw_ex
/vehicle/status/control_mode
/vehicle/status/gear_status
/vehicle/status/hazard_lights_status
/vehicle/status/steering_status
/vehicle/status/turn_indicators_status
/vehicle/status/velocity_status

AWSIMはsensing/vehicleをsimulationで模倣したものとなります。

image.png

細かいハマったポイントをいくつか書いておきます。

  • GPUのドライバを入れたあとは再起動をしないと反映されないことが多いです。
  • 何回か試行しているとros2のノードがたまに正常終了しないことがあり、daemonのstopros2 daemon stop startros2 daemon startが必要になることがあります。
  • ドキュメントはbashrcでautowareをsourceしていることを前提に書かれているので、AWSIMを起動するterminalではautowareをsourceしないと正しくtopicがでません。
  • AWSIMの起動まで少し時間がかかるため以下のような画面がでてきますが、起動に時間がかかっているだけなので、15秒くらい待てば正常に動作するようになります。

image.png

実際に動かしてみる

Autowareの起動はデモに記載がある通りこちらのコマンドで動かせました。

ros2 launch autoware_launch e2e_simulator.launch.xml vehicle_model:=sample_vehicle sensor_model:=awsim_sensor_kit map_path:=$HOME/maps/nishishinjuku_autoware_map

上記のコマンドだけだとmapとlaneletが表示されるだけになります。
Screenshot from 2023-02-18 15-44-55.png

こちらに加えてAWSIMのDEMOを動かしてみると以下のようになります。
Screenshot from 2023-02-18 16-00-41.png

ゴールを置くと経路を作成し、planningの各モジュールが動作します。
Screenshot from 2023-02-18 15-58-02.png

AutowareStatePanelでAUTOのボタンを押すと走行を開始します。
image.png

2023/2/18時点のawsim-stableはautoware.universeのhash値(9085f2f31f0d8cbba6cbe3ffc3b8ca447631ad32)を指しているためこちらのパラメータを変更するとplanningの各モジュールの調整が可能です。

レーン変更や障害物回避なども可能です。

Screenshot from 2023-02-18 14-57-09.png

8
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?