Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(演習第3回:メカトロボット)WSL2を使用するとrobot.urdfに記述したSTLファイルがRvizで見えない #440

Closed
Masanori-Konishi opened this issue Nov 23, 2023 · 2 comments

Comments

@Masanori-Konishi
Copy link

Masanori-Konishi commented Nov 23, 2023

確認した環境

  • windows:windows10 version 22H2 (OS build 19045.3693)
  • WSL2
    • ubuntu20.04
    • ROS:noetic
    • その他:演習の環境構築方法に従う(ただし$ rosrun kobuki_ftdi create_udev_rules以外)

概要

  • 演習第3回(メカトロボットの回)でWSL2を使用するとrobot.rvizに記述したSTLファイルがRvizで見えない
  • STLファイルが表示されないこと以外は正常に動作する
  • VMwareでは表示されたため、WSL固有の問題である可能性が高い

症状

モータと超音波センサのSTLが表示されない

演習資料に従い以下を実行したが、STLのみ表示されなかった

  • $ roslaunch mechatrobot mechatrobot_driver.launch
  • $ roslaunch mechatrobot mechatrobot_controller.launch
  • $ roslaunch mechatrobot mechatrobot_display.launch
  • エラーに応じて$ rosrun controller_manager controller_manager start position_trajectory_controller joint_state_controller

STLファイルが表示されないこと以外は正常に動作する

  • rqt joint trajectory controllerでモータ実機とRvizのモータの先についているリンクの両方が動いた
  • 超音波センサの測定値を示す円錐が測定距離に応じて正しく動いていた

試したがうまくいかなかったこと

  • meshlabでSTLファイルが壊れていないか確認した
  • robot.urdf内のSTLファイルのパスを確認した
  • robot.urdf内のSTLファイルのパスを/home/~の絶対パスで指定した
  • robot.urdf内のSTLファイルのscaleを変更した(デフォルトでは0.001で、10、1、0.1、0.01を試した)
  • robot.urdf内でSTLの代わりになどとしてダミーのboxを記述したところ、Rvizにダミーのboxが問題なく表示された
  • robot.urdfと同一ディレクトリ内に他の簡単なSTLファイル(長方形)を置いて、robot.urdfに記述した
@k-okada
Copy link
Member

k-okada commented Nov 24, 2023

  1. 問題を再現できる最小限の方法を探す
    roslaunch --screen urdf_tutorial display.launch model:=$(rospack find mechatrobot)/urdf/robot.urdf
    → これで動かない、となると、問題はrobot-programming のパッケージではない可能性が高い。mechatrobot のurdf/stl が悪いのか、あるいは、一般的にstl を表示する機能が動いていないのか、問題を切り分ける
  2. みんなが使っていそうなファイルや構成で確かめる
    roslaunch --screen urdf_tutorial display.launch model:=$(rospack find pr2_description)/robots/pr2.urdf.xacro
    → 今どきはpandaかもしれないけど、僕の世代だと信頼と安心のpr2 で確認。同じ問題が起きている。これで、研究室内の問題ではなくて、地球規模の問題になっていると判断できるので、ググる。
  3. https://www.google.com/search?q=wsl+rviz+stl+not+working を見ると、一番上に出てくるRViz cannot display the STL format model file in the noetic version of ROS under Ubuntu20.04 microsoft/WSL#10002 がそれっぽい。そこから Meshes do not display with WSLg on NVIDIA graphics ros-visualization/rviz#1748 にリンクがある。rhaschke が説明しているので信用できそう。
    LIBGL_ALWAYS_SOFTWARE=true roslaunch --screen urdf_tutorial display.launch model:=$(rospack find pr2_description)/robots/pr2.urdf.xacro でとりあえずは回避できることを確認。最終的には、
    OGRE doesn't display meshes anymore with Intel GPU enabled microsoft/wslg#744 をフォローしたらよいのかな。LIBGL_ALWAYS_SOFTWARE=true
    https://wiki.ros.org/rviz/Troubleshooting の時代から、よくある解決策なので、まあしょうがないかな。

@Masanori-Konishi
Copy link
Author

こちらの方法でうまくいきました、ありがとうございます!デバッグの仕方も大変参考になりました

スクリーンショット (335)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants