0. 更新が止まって、もがきにもがく
- 2022年は9月末の更新を最後に更新が実質止まってしまいました。
- カンタンにいうと開発機の環境保存が甘く、ドハマり・不具合等々です。
小トラブル
- IsaacSIMを動かした環境にStable Diffusionなど試した時、一瞬画面がブツッとなった。
- CUDAが11.8になったときに画面表示しなくなりました。(Developerフォーラムでもネタあがってました・・・この時はバージョン落として対応。
- Chromeのバージョンを上げたら同画面接続の変更箇所が増えた!
IsaacSIM(ROS2 Bridge)が使えなくトラブル
- IsaacSIM 入口のTurtlebot3が普通に動かないor全く動かない
- Navigation2がまったく使えてない
- ROS2だけでみるとTurtlebot3xGazeboは全く問題なし
- ROS絡めなければIsaacSIMのExampleは動作する
1. 問題を検証してみる
解決手順はこちらに記載しました
- TFの発行ができてない・・・(IsaacSIM チュートリアルROS2 Bridge 5章より)
類似の問題はDeveloper forum等で散見しましたが、static publishする
という回答ばかりでした。
ros2 topic listの表示
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
- ros2 run tf2_tools view_frames.pyを上記状態で実行すると無残な事に・・・
手当たり次第、出現したエラー・情報で解決を試みる
- 上記の状態からなんとしてもTFをどうしなくてはとトライアンドゴーしまくりました。
- ROS2の再インストールは下記でやっています。
問題点は早くからわかっていたのですが、原因がつかず・・・
- あっちこっちで質問しても、だれも回答無し(さびしい)
* 同じエラーを出力している問題はあるものの、その人たちもスルーされていたり。
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をいじった
- こちらを参考にパラメータをいじってRvizでLocationがActiveになった。
- ロボットは動かないけど、Rviz上でちょっと進展がみられた。
Navigation2
LocationがActiveになり、paramファイルが位置情報に関係する事が理解できました( ^ω^)・・・
プライドを捨ててtf_staticに走る
- ロボットが持つLink分ツリーがつながるように作らないとならないという問題有。
- Omniverseのコンソールを見れば分かりますが、Wheelがどうしてもいうことを聞いてくれず、図のような状態に・・・
- Rviz上ではそれっぽくなりますが、よく考えると他のJointのリンク・ツリー構成をつなげるためにめちゃめちゃターミナルを立ち上げます。
Rviz画面内ではさも動いているように見えますが、
IsaacSIMにいる実態はウンスンでございます。
スレにレスが入った!(質問+アドバイス?)
-
2か月くらい個人ブログと化したスレに質問が入りました。
- 某国人「問題の原因と解決の目星は立ってる」?
- 私「ROS2のところ、〇〇や△△があやしくてうごかしたいんだ・・・
-
Employeeな人からキー操作できるか?と質問入る
- (動かないけど)動くと答えておく
質問くれた方からExtensionの設定してなかったテヘ。ありがとう!とレスが来ました。
・・・もしかして、自分の環境汚しまくって何か足りないんじゃないか⁉
2. 解決にあたって
- OS自体再インストールしても直らなかったものの、質問をくれた方のシンプル発言で閃く。
- 基本に立ち返って漏れがないかチェックをすることが必要。
- Anacondaは仮想環境つくりにはホント使い易いですが、今回の件でTensorFlow/Prtorchだけでなく、新しい事は積極的に環境を作っておこうと思いました。
上の方にも記載しましたが、まじめなネタ(手順など)Zennに書いておきました。
まだ決めていませんが、両サイトを使い分けしていこうと思っています。