🦾

ゼロからWSLgでPyBulletを動かしてみた

2023/10/28に公開

概要

本記事は,WSLのインストールからPyBulletの環境構築を行い,サンプルコードを動かすまでの内容になっています.既存のWSLを利用した記事では,VcXsrvを利用した環境構築が多かったのですが,本記事ではWSLgを使って動かしてみました.

WSLgとは

WSLgはWindows Subsystem for Linux GUIの略であり、プロジェクトの目的は、完全に統合されたデスクトップ エクスペリエンスで Windows 上で Linux GUI アプリケーション (X11 および Wayland) を実行するためのサポートを有効にすることです。
https://github.com/microsoft/wslg のGoogle翻訳より

要するにWSLgは,WSLでGUIを利用できるようにしてくれます.WSLg導入以前は,GUIを動かすのに,VcXsrvなどのほかのツールを利用する必要がありました.WSLgが導入された今,それらの手間を省いてくれます.

利用するPCの環境

OS:Windows 11
GPU:NVIDIA GeForce RTX 4080

環境構築

では,さっそく環境構築をしていきます.
環境構築の流れは以下の通りです.

  • Ubuntuのインストール
  • Anacondaのインストール
  • APTで必要なパッケージのインストール
  • Anacondaでの環境構築
  • サンプルコードの実行

Ubuntuのインストール

Microsoft StoreからUbuntu 22.04.2 LTSをインストールしました.
事前にWSLを有効化する必要があります.こちらの記事が参考になりました.
https://dev.classmethod.jp/articles/how-to-setup-wsl2-for-windows11/
インストール後,以下のコマンドを入力

$ sudo apt update
$ sudo apt upgrade

Anacondaのインストール

以下のコマンドを入力します.こちらの記事を参考にしました.https://www.salesanalytics.co.jp/datascience/datascience141/

$ wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh
$ bash Anaconda3-2023.09-0-Linux-x86_64.sh
$ source .bashrc

APTで必要なパッケージのインストール

以下が必要なパッケージです.これらをインストールしないと実行時にエラーが出ます.
まずは,開発に必要なパッケージがまとまったツール類をインストールするコマンドを入力します.

$ sudo apt install build-essential python3-dev

次に,WSLgの動作確認も兼ねて,回転する歯車を表示するツールをインストールします.
画像のような回転する歯車が表示されればOKです.
回転する歯車

$ sudo apt install mesa-utils
$ glxgears

Anacondaでの環境構築

以下のコマンドを入力します.

$ conda create -n pybullet python==3.12.0
$ conda activate pybullet
$ pip install pybullet
$ pip install numpy
$ conda install -c conda-forge libgcc=5.2.0
$ conda install -c anaconda libstdcxx-ng
$ conda install -c conda-forge gcc=12.1.0

サンプルコードの実行

以下のコマンドを入力します.こちらの記事を参考にしました.https://qiita.com/kimurap/items/f172eefc9425d5755d29

$ git clone --depth 1 https://github.com/bulletphysics/bullet3
$ cd bullet3/examples/pybullet/examples/
$ python humanoid_manual_control.py

実行すると,以下の画像のようなヒューマノイドロボットが出てきます.
pybulletの実行結果

コマンドまとめ

Ubuntuインストール後からのコマンドです.

# アップデート
sudo apt update
sudo apt upgrade

# Anacondaのインストール
wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh
bash Anaconda3-2023.09-0-Linux-x86_64.sh
source .bashrc

# gcc周りなどのツール
sudo apt install build-essential python3-dev

# 回転する歯車
sudo apt install mesa-utils
glxgears

# Anacondaでの環境構築
conda create -n pybullet python==3.12.0
conda activate pybullet
pip install pybullet
pip install numpy
conda install -c conda-forge libgcc=5.2.0
conda install -c anaconda libstdcxx-ng
conda install -c conda-forge gcc=12.1.0

# サンプルコードの実行
git clone --depth 1 https://github.com/bulletphysics/bullet3
cd bullet3/examples/pybullet/examples/
python humanoid_manual_control.py

参考文献まとめ

https://github.com/microsoft/wslg
https://dev.classmethod.jp/articles/how-to-setup-wsl2-for-windows11/
https://www.salesanalytics.co.jp/datascience/datascience141/
https://www.reddit.com/r/opengl/comments/15qpdqd/failed_to_create_opengl_context_on_wsl2/
https://qiita.com/kimurap/items/f172eefc9425d5755d29

Discussion