0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

 こんにちは。まっちゃ。です。:tea:
 今回は、物理シミュレータで話題となっている「Genesis」の環境構築についてまとめていきます。

なぜ重要か

環境構築において、エラーが発生した箇所の対応策を共有するため

目次

  • Genesisとは
  • 環境構築
    • パッケージのインストール
    • リポジトリの複製
    • サンプルコードの実行
    • エラー対応
  • まとめ

Genesisとは

汎用的な物理プラットフォームです。以下のような特徴をもちます。

  • 多種多様な物理現象がシミュレート可能
  • 軽量かつ超高速
  • ユーザーが入力する自然言語の説明を様々な形式のデータに変換

環境構築

以下に示す4つの手順で進めていきます。ここでは、wsl上に環境構築を行い、公式のレポジトリにある"hello_genesis.py"をサンプルコードとして実行していきます。

  • パッケージのインストール
  • リポジトリの複製
  • サンプルコードの実行
  • エラー対応

【前提】

環境を構築する上で、以下に示す2つを前提としています。

  • wsl環境上にpyenv, poetryが導入済であること
  • GPUが使用できる環境を構築済であること(本記事では、CUDA12.1で構築済とします。)

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

  1. 任意の空きフォルダを作成
  2. pyenvでインストールされているPythonのバージョンを確認
    pyenv versions
  3. 1.で作成したフォルダに移動し、構築環境のPythonのバージョンを指定(2.で確認したバージョンを入力)
    pyenv local 3.XX.XX
  4. pyproject.tomlを作成
    poetry init
  5. フォルダ内に仮想環境を作成(2.で確認したバージョンを入力)
    poetry env use 3.XX.XX
  6. GPU版Pytorchをインストール
    poetry source add torch_cu121 --priority=explicit https://download.pytorch.org/whl/cu121
    poetry add torch torchvision torchaudio --source torch_cu121
    【参考】
    GPU版のPytorchのインストール
  7. genesisパッケージをインストール
    poetry add genesis-world

リポジトリの複製

  1. Genesisのレポジトリを複製
    git close https://github.com/Genesis-Embodied-AI/Genesis.git

サンプルコードの実行

  1. 「パッケージのインストール」5.で作成した仮想環境をactivateして、Genesisフォルダに移動し、サンプルコードを実行
    python examples/tutorials/hello_genesis.py

エラーの発生がなく、アームが自然に倒れる画面が表示されれば、ここで環境構築完了です。

エラー対応

ここでは、サンプルコードを実行した際に遭遇した2つのエラーと解決方法について記載します。

エラー① 実行時に画面がポップアップされるが、黒い画面で何も映らない

ターミナル上では"OpenGL.error.GLError"が発生

  • pyopenglを3.1.5にダウングレード(genesis-worldを入れた時点で3.1.7が導入されていました。)
    poetry add pyopengl==3.1.5

【参考】

エラー② GPU使用時(gs.init(backend=gs.gpu))にプロセスが中断される

ターミナル上では以下のエラーが発生

[cuda_driver.h:operator()@92] CUDA Error CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected while calling init (cuInit)  
  • パスを追加
    "~/.bashrc"にexport LD_LIBRARY_PATH=/usr/lib/wsl/lib:$LD_LIBRARY_PATHを記載

【参考】

まとめ

 今回は「Genesis」実行環境の構築について、まとめてきました。
 ロボットのシミュレーションというと専用のハード-ソフトを用いて行う認識だったので、「Genesis」を用いることで専用の機器を準備せず実行することが可能となり、かつ制御が簡単であるというのは驚きました。
 次回以降で、Genesisの詳細な使用方法をキャッチアップしていこうと思います。

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?