🤖

EC2(Ubuntu)でGazebo(シミュレータ)を動かす

2023/12/31に公開

背景

  • Gazebo(シミュレータ)が動くマシンが必要になった
  • 一時的に数を増やしたり柔軟に使いたいのでEC2上に準備しよう
  • Gazebo(シミュレータ)はGUI表示したい

目標

  • EC2(Ubuntu)でGazebo(シミュレータ)を動かす ※下記でGUI表示環境は構築済

ポイント!

  • インスタンスタイプはg4dn.2xlrgeを選択(シミュレータ環境に適切なものを選択)
    • インスタンスタイプを変更できるのは、現在のインスタンスタイプと必要なインスタンスタイプに互換性がある場合のみ(例:g4dn.4xlargeからg4dn.2xlargeは変更可、g4dn.2xlargeはg4dn.2xlarge以外に変更不可)となるので、色々設定する前にシミュレータが想定通り動くか確認する

環境

  • クラウド:AWS
  • リモート接続PC:Ubuntu 20.04LTS

手順

EC2インスタンスタイプを変更(必要に応じて)

  • インスタンスを停止する
  • インスタンスタイプをg4dn.2xlrgeに変更する(シミュレータ環境に適切なものを選択)
    • インスタンスタイプを変更できるのは、現在のインスタンスタイプと必要なインスタンスタイプに互換性がある場合のみ(例:g4dn.4xlargeからg4dn.2xlargeは変更可、g4dn.2xlargeはg4dn.2xlarge以外に変更不可)となるので、色々設定する前にシミュレータが想定通り動くか確認する

ボリュームを変更(必要に応じて)

  • ボリュームを64GiBに変更する(シミュレータ環境に適切なものを選択)
    • ボリュームタイプ:汎用SSD (gp3)
    • サイズ (GiB):64
    • IOPS:3000
    • スループット (MiB/秒):125

EC2インスタンスを起動

EC2インスタンスに必要ソフトをインストール、設定

  • 端末からSSH接続する(起動したインスタンスのインスタンスに接続画面でSSHクライアントタブを参照)
ssh -i "{キーファイル}" ubuntu@{パブリック IPv4 DNS}
  • まずは更新
sudo apt update
sudo apt -y upgrade
  • ubuntu-drivers-commonインストール
sudo apt install ubuntu-drivers-common
  • NVIDIA推奨(recommended)ドライバー確認
    • Ubuntu 20.04LTSの時の罠(-openと付いているドライバーでは無いドライバーをインストールする必要がある)は無さそう
sudo ubuntu-drivers devices
pci0000:00/0000:00:1e.0 ==
modalias : pci:v000010DEd00001EB8sv000010DEsd000012A2bc03sc02i00
vendor   : NVIDIA Corporation
model    : TU104GL [Tesla T4]
driver   : nvidia-driver-418-server - distro non-free
driver   : nvidia-driver-535-server - distro non-free
driver   : nvidia-driver-525-server - distro non-free
driver   : nvidia-driver-470 - distro non-free
driver   : nvidia-driver-535 - distro non-free recommended
driver   : nvidia-driver-450-server - distro non-free
driver   : nvidia-driver-525 - distro non-free
driver   : nvidia-driver-470-server - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin
  • NVIDIA推奨(recommended)ドライバーをインストール
sudo apt install nvidia-driver-535
  • 再起動
sudo reboot
  • NVIDIAドライバーインストール結果(GPU使用状況)を確認する
nvidia-smi

EC2インスタンスにシミュレータをインストール

リモート接続PC(Ubuntu)からリモート接続

  • remminaを起動
  • EC2インスタンスのパブリックIPv4アドレスにRDPで接続する
  • 以下を入力してOKを押す
    • Session: Xorg
    • username: {rdp-user}
    • password: {rdp-userのパスワード}

リモート接続PC(Ubuntu)からシミュレータ起動

  • リモート接続したソフト上でシミュレータを起動
    • 例:Parrot Sphinx: Quick start
      • Empty(real time percent: 99%)
        sphinx-empty
      • Forest(real time percent: 58%)
        sphinx-forest
      • Dark Forest(real time percent: 91%)
        sphinx-dark-forest
      • Factory(real time percent: 47%)
        sphinx-factory

参考文献

GitHubで編集を提案

Discussion