[RViz2] urdf モデルのインポート時にエラーが報告されます: リソース xxx をロードできませんでした、ファイル xxx を開けません、ファイル xxx の取得中にエラーが発生しました

プロジェクトのシナリオ:

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',
    ]),

結果は次のとおりです。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_43557907/article/details/125869467