😀
Anaconda+IsaacSIM環境量産@自動走行
1.記事について
- 公開可能な社内向け作業手順書を兼ねています。
- 初級レベルよりに書いているつもりでいます。
- 本稿以外にも実現可能、簡易な方法がある点ご了承ください。
- 一部謎表現があるかもしれません。
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 公式ドキュメント
拙作関連ドキュメント(Omniverseのインストールあたりから)
- 再インストール関連
- 新規インストール編
3.基本環境作成済みから IsaacSIMセットアップ
(その1)IsaacSIMの環境(Anaconda)を作成。
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のインストール
(その3) 必要パッケージのインストール
- aptでインストールするもの、pipでインストールするものをたたんでおきます。
pipリスト抜粋
$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セットアップで入らないパッケージに注意
aptリスト抜粋
sudo apt-get install ros-$ROS_DISTRO-teleop-twist-keyboard
Navigation2インストール
sudo apt install ros-foxy-navigation2 ros-foxy-nav2-bringup '~ros-foxy-turtlebot3-.*'
sudo apt install ros-foxy-tf-transformations
- ハマった点はQiitaに列挙します。
- tfが曲者でしたね。検索してもTensor...が出ちゃうので(苦笑)
(その4) 追加でインストールしたパッケージ
- Qiitaの記事をご覧の通り、初回は特別な事をすることなくインストールできました。
- 後日譚はQiitaに掲載しますが、他のパッケージ追加後に競合発生し、復活まで
苦難の道のりをたどりました。 - 2022年バージョンではさすがにUnrealエンジン手動インストール不要でした。
- Vulkan インストールしました。
- 設定は下記のサイトを参考に最新バージョンに置き換えました。
Vulkan設定(例)
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)
cd ~/.ros/
ls
# fastdds.xmlは念のためリネームしておきます
mv fastdds.xml fastdds.bak
vi fastdds.xml
(その5) IsaacSIM起動前にターミナルを見る
-
コンポーネント不足はないか?
-
今回はROS2チュートリアル5番 Carter Navigationを実行します。
-
不測のコンポーネントがなければ、最初のスクリプトでRvizのNavigation2のステータスがactiveになってくるし、画面もCarterを拾っている模様が見えます。
- 成功例
CUDAのバージョンアップ等で痛い目にあってますので、適宜注意が必要ですね
Discussion