IsaacSIM・Anacondaでトラブル@備忘録1

# 0. 更新が止まって、もがきにもがく

* 2022年は9月末の更新を最後に更新が実質止まってしまいました。
* カンタンにいうと開発機の環境保存が甘く、ドハマり・不具合等々です。

<details><summary>小トラブル</summary>

* IsaacSIMを動かした環境にStable Diffusionなど試した時、一瞬画面がブツッとなった。
* CUDAが11.8になったときに画面表示しなくなりました。(Developerフォーラムでもネタあがってました・・・この時はバージョン落として対応。
* Chromeのバージョンを上げたら同画面接続の変更箇所が増えた！  

</details>

## IsaacSIM(ROS2 Bridge)が使えなくトラブル

1. IsaacSIM 入口のTurtlebot3が普通に動かないor全く動かない
2. Navigation2がまったく使えてない
3. ROS2だけでみるとTurtlebot3ｘGazeboは全く問題なし
4. <font color="Red">ROS絡めなければIsaacSIMのExampleは動作する</font>

# 1. 問題を検証してみる

:::note info

解決手順はこちらに記載しました

:::

https://zenn.dev/manyan3/articles/848b910b98786b


1. TFの発行ができてない・・・(IsaacSIM チュートリアルROS2 Bridge 5章より)

:::note info

類似の問題はDeveloper forum等で散見しましたが、static publishする
という回答ばかりでした。

:::


![Carter.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2155177/14fe6e9e-eb71-e772-a773-60b98f611e9f.png)

<details><summary>ros2 topic listの表示</summary>

```bash:Ubuntu_ROS2画面
~/Desktop$ ros2 topic list
/clicked_point
/clock
/downsampled_costmap
/downsampled_costmap_updates
/global_costmap/costmap
/global_costmap/costmap_updates
/global_costmap/voxel_marked_cloud
/initialpose
/local_costmap/costmap
/local_costmap/costmap_updates
/local_costmap/published_footprint
/local_costmap/voxel_marked_cloud
/local_plan
/map
/map_updates
/mobile_base/sensors/bumper_pointcloud
/parameter_events
/particlecloud
/plan
/robot_description
/rosout
/scan
/tf
/tf_static
/waypoints
(base) youiengi@youiengi-MS-7C94:~/Desktop$ ros2 topic list
/amcl/transition_event
/amcl_pose
/bt_navigator/transition_event
/clicked_point
/clock
/cmd_vel
/controller_server/transition_event
/cost_cloud
/downsampled_costmap
/downsampled_costmap_updates
/evaluation
/global_costmap/clearing_endpoints
/global_costmap/costmap
/global_costmap/costmap_raw
/global_costmap/costmap_updates
/global_costmap/footprint
/global_costmap/global_costmap/transition_event
/global_costmap/published_footprint
/global_costmap/voxel_grid
/global_costmap/voxel_marked_cloud
/goal_pose
/initialpose
/local_costmap/costmap
/local_costmap/costmap_raw
/local_costmap/costmap_updates
/local_costmap/footprint
/local_costmap/local_costmap/transition_event
/local_costmap/published_footprint
/local_costmap/voxel_marked_cloud
/local_plan
/map
/map_server/transition_event
/map_updates
/marker
/mobile_base/sensors/bumper_pointcloud
/odom
/parameter_events
/particle_cloud
/particlecloud
/plan
/planner_server/transition_event
/received_global_plan
/recoveries_server/transition_event
/robot_description
/rosout
/scan
/tf
/tf_static
/transformed_global_plan
/waypoint_follower/transition_event
/waypoints
```

</details>


---------------------------------------
* ros2 run tf2_tools view_frames.pyを上記状態で実行すると無残な事に・・・
 
![treeview.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2155177/e63e6b67-9a32-8ff8-d8d5-b57fdfcd4b18.png)

## 手当たり次第、出現したエラー・情報で解決を試みる

* 上記の状態からなんとしてもTFをどうしなくてはとトライアンドゴーしまくりました。
* ROS2の再インストールは下記でやっています。

https://qiita.com/Manyan3/items/f6e85eb33c43073cfd47

**問題点は早くからわかっていたのですが、原因がつかず・・・**

* あっちこっちで質問しても、だれも回答無し（さびしい）
*　同じエラーを出力している問題はあるものの、その人たちもスルーされていたり。

```bash:ROS2_RvizLaunch後

[rviz2-1] Warning: Invalid frame ID “map” passed to canTransform argument target_frame - frame does not exist
[rviz2-1] at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.13/src/buffer_core.cpp
[rviz2-1] Warning: Invalid frame ID “map” passed to canTransform argument target_frame - frame does not exist
[rviz2-1] at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.13/src/buffer_core.cpp
[rviz2-1] Warning: Invalid frame ID “map” passed to canTransform argument target_frame - frame does not exist
[rviz2-1] at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.13/src/buffer_core.cpp
[rviz2-1] Warning: Invalid frame ID “map” passed to canTransform argument target_frame - frame does not exist
[rviz2-1] at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.13/src/buffer_core.cpp

```

### コンパイルしたファイルのParamをいじった

https://navigation.ros.org/configuration/index.html

* こちらを参考にパラメータをいじってRvizでLocationがActiveになった。
* ロボットは動かないけど、Rviz上でちょっと進展がみられた。

![Param.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2155177/70123e8d-96fa-b10b-f3e3-25330286f84a.png)

:::note info
Navigation2
LocationがActiveになり、paramファイルが位置情報に関係する事が理解できました（　＾ω＾）・・・

:::

## プライドを捨ててtf_staticに走る
* ロボットが持つLink分ツリーがつながるように作らないとならないという問題有。
* Omniverseのコンソールを見れば分かりますが、Wheelがどうしてもいうことを聞いてくれず、図のような状態に・・・

![wheelabno.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2155177/fa398cb4-0b6a-3b03-293c-016b58492c60.png)


* Rviz上ではそれっぽくなりますが、よく考えると他のJointのリンク・ツリー構成をつなげるためにめちゃめちゃターミナルを立ち上げます。

https://stackoverflow.com/questions/52420672/ros-rviz-how-to-visualize-a-point-cloud-that-doesnt-have-a-fixed-frame-transfo

https://ros2-industrial-workshop.readthedocs.io/en/latest/_source/navigation/ROS2-TF2.html#static-transform-broadcaster


:::note info

Rviz画面内ではさも動いているように見えますが、
IsaacSIMにいる実態はウンスンでございます。

:::

## スレにレスが入った！（質問＋アドバイス？）

* 2か月くらい個人ブログと化したスレに質問が入りました。
    * 某国人「問題の原因と解決の目星は立ってる」？
    * 私「ROS2のところ、〇〇や△△があやしくてうごかしたいんだ・・・

* Employeeな人からキー操作できるか？と質問入る
    * （動かないけど）動くと答えておく

 :::note info

質問くれた方からExtensionの設定してなかったテヘ。ありがとう！とレスが来ました。
・・・もしかして、自分の環境汚しまくって何か足りないんじゃないか⁉

:::     

# 2. 解決にあたって

* OS自体再インストールしても直らなかったものの、質問をくれた方のシンプル発言で閃く。
* 基本に立ち返って漏れがないかチェックをすることが必要。
* Anacondaは仮想環境つくりにはホント使い易いですが、今回の件でTensorFlow/Prtorchだけでなく、新しい事は積極的に環境を作っておこうと思いました。

 :::note warn

上の方にも記載しましたが、まじめなネタ（手順など）Zennに書いておきました。
まだ決めていませんが、両サイトを使い分けしていこうと思っています。

:::