プロジェクトのシナリオ:
ROS2初心者、RViz2でurdfモデルを表示したい。.urdf ファイルは外部メッシュ フォルダーを参照します。
問題の説明
RViz でロボット説明トピックにアクセスすると、次のエラーが発生します
原因分析:
エラーの説明によると、メッシュ内のファイルが環境変数に正しくインポートされていないことが原因であるはずです。
install/pkg/share フォルダー内の Meshes ファイルがワークスペースに正しく表示されるかどうかを確認します。
ビジュアル フォルダーと衝突フォルダーが存在しないことが判明しました。
したがって、setup.py ファイルを変更して正しくインクルードする必要があります。
解決:
urdf ファイル内のメッシュのインポートでは、次の形式を使用する必要があります。
<mesh filename="package://webots_ros2_ur_demo/meshes/visual/base.dae"/>
<mesh filename="file://$(find ur5_pick_and_place)/meshes/visual/base.dae"/>
のような形式ではなく、.
setup.py ファイルを修正して、data_files パラメータに次の内容を追加します。
('share/' + package_name + '/meshes/visual', [
'meshes/visual/base.dae',
'meshes/visual/forearm.dae',
'meshes/visual/shoulder.dae',
'meshes/visual/upperarm.dae',
'meshes/visual/wrist1.dae',
'meshes/visual/wrist2.dae',
'meshes/visual/wrist3.dae',
]),
('share/' + package_name + '/meshes/collision', [
'meshes/collision/base.stl',
'meshes/collision/forearm.stl',
'meshes/collision/shoulder.stl',
'meshes/collision/upperarm.stl',
'meshes/collision/wrist1.stl',
'meshes/collision/wrist2.stl',
'meshes/collision/wrist3.stl',
]),
結果は次のとおりです。