😀
Anaconda+IsaacSIM環境量産@自動走行
1.記事について
- 公開可能な社内向け作業手順書を兼ねています。
- 初級レベルよりに書いているつもりでいます。
- 本稿以外にも実現可能、簡易な方法がある点ご了承ください。
- 一部謎表現があるかもしれません。
- 成り行きで一部英語注釈付けました(Added English)
IsaacSIM 2022.2.0対応
2.Anaconda+IsaacSIM環境を実現するにあたって
テスト環境
- ストレージは必要十分な容量確保しています(500GB以上)
- OSはUbuntu20.04、Anacondaで仮想環境作成しています。
PC | CPU | メモリ | GPU |
---|---|---|---|
旗艦 | Ryzen5 5600G | 80GB | RTX3090 |
模造船 | Ryzen5 3500 | 32GB | RTX3060 |
今回必要なIssacSIMの情報
- Nvidia Omniverse IsaacSIMチュートリアル(ROS2 Linuxの項目)
- ROS2 Foxyドキュメント インストール説明
- Fast DDSのGitHub と 日本語解説
- Navigation2 公式ドキュメント(English)
拙作関連ドキュメント(Omniverseのインストールあたりから)
- 再インストール関連(re-install Japanese only)
- 新規インストール編(Intial install_Japanese only)
3.基本環境作成済みから IsaacSIMセットアップ
(その1)IsaacSIMの環境(Anaconda)を作成。
English reference site(参照元)
conda remove --name isaac-sim --all
conda env create -f environment.yml
conda activate isaac-sim
- なお、Omniverseのパッケージがインストールされているフォルダ
(例 Ubuntu 20.04 /home/$USERNAME/.local/(略)・・/pkg/ - environment.ymlがありますが、こちらの冒頭の環境名を任意のものに変更することも可能。
(その2) ROS2 Foxyのインストール(install)
(その3) 必要パッケージのインストール(installed packages)
- aptでインストールするもの、pipでインストールするものをたたんでおきます。
- When I can share installed componets list when I was facing Carter navigation TF failure. Please Click the titles ▲ mark tabs.
pipリスト抜粋(Click open tab)
$pip list
ament-copyright 0.9.7
ament-cppcheck 0.9.7
ament-cpplint 0.9.7
ament-flake8 0.9.7
ament-index-python 1.1.0
ament-lint 0.9.7
ament-lint-cmake 0.9.7
ament-package 0.9.5
ament-pep257 0.9.7
ament-uncrustify 0.9.7
ament-xmllint
catkin-pkg 0.5.2
rqt 1.1.2
rqt-action 0.4.9
rqt-console 1.1.2
rqt-graph 1.1.3
rqt-gui 1.1.2
rqt-gui-py 1.1.2
rqt-moveit 1.0.1
rqt-msg 1.0.5
rqt-plot 1.1.1
rqt-publisher 1.3.0
rqt-py-console 1.0.2
rqt-reconfigure 1.0.8
rqt-robot-dashboard 0.5.8
rqt-robot-monitor 1.0.5
rqt-robot-steering 1.0.0
rqt-service-caller 1.0.5
rqt-shell 1.0.2
rqt-srv 1.0.3
rqt-tf-tree 1.0.2
rqt-top 1.0.2
rqt-topic 1.3.0
rsa 4.9
ros2action 0.9.12
ros2bag 0.3.9
ros2cli 0.9.12
ros2component 0.9.12
ros2controlcli 0.11.0
ros2doctor 0.9.12
ros2interface 0.9.12
ros2launch 0.11.7
ros2lifecycle 0.9.12
ros2multicast 0.9.12
ros2node 0.9.12
ros2param 0.9.12
ros2pkg 0.9.12
ros2run 0.9.12
ros2service 0.9.12
ros2topic 0.9.12
rosidl-runtime-py 0.9.1
rpyutils
PyQt5 5.15.8
PyQt5-Qt5 5.15.2
PyQt5-sip 12.11.1
pyserial 3.5
PySide2
empy
lark 1.1.5
launch 0.10.10
launch-ros 0.11.7
launch-testing 0.10.10
launch-testing-ros 0.11.7
launch-xml 0.10.10
launch-yaml
Foxyセットアップで入らないパッケージに注意(Click open tab)
aptリスト抜粋(Click open tab)
sudo apt-get install ros-$ROS_DISTRO-teleop-twist-keyboard
Navigation2インストール(Click open tab)
sudo apt install ros-foxy-navigation2 ros-foxy-nav2-bringup '~ros-foxy-turtlebot3-.*'
sudo apt install ros-foxy-tf-transformations
- ハマった点はQiitaに列挙します。
- tfが曲者でしたね。検索してもTensor...が出ちゃうので(苦笑)
- My failure records(Japanese only)
(その4) 追加でインストールしたパッケージ(Additional packages)
- Qiitaの記事をご覧の通り、初回は特別な事をすることなくインストールできました。
- 後日譚はQiitaに掲載しますが、他のパッケージ追加後に競合発生し、復活まで
苦難の道のりをたどりました。 - 2022年バージョンではさすがにUnrealエンジン手動インストール不要でした。
- Vulkan インストールしました。
- 設定は下記のサイトを参考に最新バージョンに置き換えました。
Vulkan設定(例) (Click open tab)
mkdir ~/vulkan
mv vulkansdk-linux-x86_64-1.3.239.0.tar.gz ~/vulkan
cd ~/vulkan
tar -xvf vulkansdk-linux-x86_64-1.3.239.0.tar.gz
echo "source ~/vulkan/1.3.239.0/setup-env.sh" >> ~/.bashrc'
- Fast DDS インストールした場合。Launchでマップ読み込み失敗を予防します。
- eProsimaのFast DDSを追加した場合は以下のページの通り設定を加えます。
vi で変更の手順した場合(ROS2 Bridge prep/list in the tab)
cd ~/.ros/
ls
# fastdds.xmlは念のためリネームしておきます
mv fastdds.xml fastdds.bak
vi fastdds.xml
(その5) IsaacSIM起動前にターミナルを見る(Double check)
-
コンポーネント不足はないか?
-
今回はROS2チュートリアル5番 Carter Navigationを実行します。
-
不測のコンポーネントがなければ、最初のスクリプトでRvizのNavigation2のステータスがactiveになってくるし、画面もCarterを拾っている模様が見えます。
- 成功例
CUDAのバージョンアップ等で痛い目にあってますので、適宜注意が必要ですね
Discussion