もちもち備忘録

びぼーろく

Habitat-simのチュートリアル

Habitat-simのチュートリアルをやってみた

移動ロボット系タスクで有名なHabitat-sim、使い方をきちんと学ぶためにも公式のチュートリアルをやってみた。

バグなどに関する簡単なメモをどんどん追記していきます。

YouTubeの動画とcolabで動く簡単でわかりやすいセットで本当に助かる〜〜〜

aihabitat.org

github.com

バグ

まだ見つけきっていないかもしれないけど、colabで動かす時のバグをどう解決していったかの備忘録

1. Habitat_sim installs failing

チュートリアル1個目2つ目のセルからぶち当たるこのバグ。

先人たちが先にぶち当たっていてくれました。 github.com

どうやらcolabのnumbaのバージョンが0.51.2になっていないのが原因らしい?

(追記)基本的に他のエラーもこれをやると直ることが多い

とりあえず簡単に直すなら

1番上のセルを実行後、以下のコードを実行し、「ランタイム」>「ランタイムを再起動」

    !add-apt-repository ppa:ubuntu-toolchain-r/test -y
    !apt-get update --fix-missing
    !apt-get dist-upgrade

もっときちんと直すなら

For now, you can:

modify the install cell to use the installer on a branch with the change suggested by @srkiyengar:

     https://raw.githubusercontent.com/facebookresearch/habitat-sim/colab-numba-version/examples/colab_utils/colab_install.sh

Edited path 10/11

apply the fix suggested by @arjunmajum in this comment: Run this one time:

    !add-apt-repository ppa:ubuntu-toolchain-r/test -y
    !apt-get update --fix-missing
    !apt-get dist-upgrade

Then, restart the runtime

2. ModuleNotFoundError: No module named 'habitat_baselines.common.baseline_registry'

colab.research.google.com

habitat labのチュートリアルをやっていると、habitatが見つからないバグの次に出てくるこのバグ。
見つからないのは1つ目のバグの解決方法で直るけど、これはちょっと厄介(でもない)。

下のページに沿って、以下コマンドをしてから、当該セルを実行するだけ。(habitat-labディレクトリ内でpip installする必要がある)

    %cd "/content/habitat-lab/"
    !pip install -e habitat-baselines

github.com

ただ、これでもimport habitat_baselinesができないこともあるので、その時にはインポートする直前にhabitat-baselinesに移動。

    %cd "/content/habitat-lab/habitat-baselines"

    from habitat_baselines.common.baseline_registry import baseline_registry
    from habitat_baselines.config.default import get_config as get_baselines_config

    %cd $dir_path

3. "./test/habitat_all_sensors_test.yaml"が見つからない

"/content/habitat-lab/habitat-lab/habitat/config/test/habitat_all_sensors_test.yaml"

にある。

4. ConnectionResetError: [Errno 104] Connection reset by peer

colab.research.google.com

Habitat labのRL Trainingをやってみようとしたら出てくるエラー。
どうやらcolabから何かダウンロードしてくる時に起きがちなエラーらしい。
容量が足りない???
habitatを--with-cudaオプションで入れればいい感じだけど、ちょっとGPUの制限もかかりそうなのでスキップ。

github.com

使い方

屋内のオブジェクト情報が知りたい

簡単な使い方は以下

aihabitat.org

SemanticObjectクラス内でBBoxやsemantic_id、カテゴリを知ることができる。 aihabitat.org

また、semantic_idについてはインスタセマセグが行われているため、同じ「椅子」のカテゴリでも異なるidが振られている。

    scene = sim.semantic_scene

で取得したscene内のobjectの順番とsemantic_idは一致していそう。
また、semantic_idとは別に普通のidも振られている。
このidは「<level_id><region_id><object_id>」の順についているので、どの部屋〜なども分かるようになっている。

セマセグの例はこちら↓

aihabitat.org