Ubuntu 18.04 に Google Research Football Environment をセットアップ(3)


Kaggle のコンペで使われているGoogle Research Football Environment(GRF) をシングルボードコンピュータにセットアップしてみます。

前回の(1) (2) はx86_64 ( amd64) アーキテクチャーのプラットフォーム(Windows)にセットアップしていましたが、今回はarm64 アーキテクチャーです。

ターゲットプラットフォームはラズパイ(Raspberry Pi)4B 4GB と Jetson Nano 、どちらも OS は Ubuntu 18.04 です。

WindowsでSSH接続し、GUIは X Server を使います。

 


 


目次

ラズパイ(Raspberry Pi)4B 4GB

Jetson Nano – 1  (Jetcard)     pending…

Jetson Nano – 2  (Jetpack)

 


ラズパイ4B 4GB

OS(Ubuntu 18.04.5)のセットアップはこのページを参照

GRFのセットアップについては、Google Research Football Environment(GRF)を参照

On your computer でやってみます。

オリジナルのままではインストールできなかったので、いくつかモジュールを(不具合が出る都度、泥縄式に)追加しています。

1. Install required packages

sudo apt install git cmake build-essential libgl1-mesa-dev libsdl2-dev \libsdl2-image-dev libsdl2-ttf-dev libsdl2-gfx-dev libboost-all-dev \libdirectfb-dev libst-dev mesa-utils xvfb x11vnc libsdl-sge-dev python3-pip -y

2b. Installing from sources using GitHub repository

//追加

//仮想環境設定

//Pygameをインストールしておきます

//追加

//追加

以上の手続きをDockerfileにするとこんな感じ

 

インストール完了(赤字でwarningっぽいのが出てますが問題なしです)

仮想環境で実行するので、再起動した場合は以下の手順で仮想環境に入ってください。

cd football
python3 -m venv football-env
source football-env/bin/activate

 

GUIが必要になるのでWindowsでSSH接続している場合は、X Window Server (例えばVcXsrv) を起動しておきます。

VcXsrv起動時にオプションで「-nowgl」を追加する必要があります。

手順は以下のようにします。

ここで「-nowgl」オプションを追加します。

 

3. Time to play!

gfootball起動

PCのIPアドレスが例えば192.168.0.23だとしてDISPLAYの環境変数を設定して起動します。

 

gameスタート

初期画面(しばらくはこんな感じ)

Gameが開始されます

 

Ctrl + C で終了

TOP

 


Jetson Nano – 1 ( pending….. )

OSはJetcard (Ubuntu 18.04)を使ってみます。

Jetson NanoをJetCardでセットアップを参照

Google Research Football Environment(GRF)のセットアップの手順はラズパイと同じです。

1. Install required packages

sudo apt install git cmake build-essential libgl1-mesa-dev libsdl2-dev \libsdl2-image-dev libsdl2-ttf-dev libsdl2-gfx-dev libboost-all-dev \libdirectfb-dev libst-dev mesa-utils xvfb x11vnc libsdl-sge-dev python3-pip -y

2b. Installing from sources using GitHub repository

//追加

//仮想環境設定

//Pygameをインストールしておきます

//追加

//追加

 

セットアップ完了(ラズパイのようなwarningっぽいものは出ませんでした)

 

Jetsonの場合、外部X Server に接続できませんでした。

原因調査中

libGL error: MESA-LOADER: failed to open swrast (search paths /usr/lib/aarch64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri)
libGL error: failed to load driver: swrast
shader compilation error (media/shaders/simple.vert)
Mon Nov 16 23:13:03 2020 [Warning] in [::LoadGLShader]: shader compilation error (media/shaders/simple.vert)

TOP

 


Jetson Nano – 2

どうもJetcardで提供されているUbuntu 18.04 だと問題が出てしまうので、方針変更。

Jetpack (ver 4.4) でプレセットされているNVIDIA Docker を使います。

Jetpack のセットアップはこのページをご参照ください。4.2.1でやってますが手順は同じです。

Docker Hub からお借りする ubuntu:18.04 イメージ で新規にDocker Containerを作成して、そこにセットアップすれば動きました。

ざっとした手順は以下の通り。

 

1. Install required packages

apt install git cmake build-essential libgl1-mesa-dev libsdl2-dev \libsdl2-image-dev libsdl2-ttf-dev libsdl2-gfx-dev libboost-all-dev \libdirectfb-dev libst-dev mesa-utils xvfb x11vnc libsdl-sge-dev python3-pip -y

2b. Installing from sources using GitHub repository

 

GUIが必要になるのでWindowsでSSH接続している場合は、X Window Server (例えばVcXsrv) を起動しておきます。

VcXsrv起動時にオプションで「-nowgl」を追加する必要があります。

手順は以下のようにします。

ここで「-nowgl」オプションを追加します。

3. Time to play!

下記、192.168.0.23はPCのIPアドレスです、ご自分ので書き換えてください。

 

Gama開始

 

既定のステップ数(前・後半でそれぞれ3000Steps)に到達すると結果がdumpファイルで保存されます。

(前・後半で、それぞれ 0-1、0-2でリアルベイジアンが勝ってる?)

ALSA関連でエラーが出てますが、サウンド系がうまく動作していないからで、問題ないです。

 


Dockerfile

3~5行のTimezone設定で環境変数を使っているのはUbuntu 18.04固有のものです。

戻る


 

 

Be the first to comment

Leave a Reply

Your email address will not be published.


*