URDFモデルファイルの質量が正しく読み込まれないようです.

choreonoidを自作ロボットのシミュレーションに活用しようとしています.
ロボットのモデルファイルとしてURDFモデルファイルを記述し,ロードしたところ,choreonoidのアイテムプロパティビューに表示される質量がモデルファイルに記述したリンクの質量の合計と異なることに気づきました.

問題を再現する方法

以下のURDFファイルをボディモデルの読み込みの方法で読み込みます.
このURDFファイルで質量があるのはlink1の0.3 kgのみですが,アイテムプロパティビューには1.300(1.3 kg)と表示されます.

<robot name="test_robot">
    <link name="base_link"/>
    <link name="link1">
        <inertial>
            <mass value="0.3"/>
            <inertia ixx="0.2" iyy="0.2" izz="0.2" ixy="0" ixz="0" iyz="0"/>
        </inertial>
        <visual>
            <geometry>
                <box size="2 2 2"/>
            </geometry>
        </visual>
        <collision>
            <geometry>
                <box size="2 2 2"/>
            </geometry>
        </collision>
    </link>
    <joint name="joint1" type="fixed">
        <origin xyz="0 0 0" rpy="0 0 0"/>
        <parent link="base_link"/>
        <child link="link1"/>
    </joint>
</robot>

また,linkノードの説明にある「最も簡単なlinkノード」の数を変えるとアイテムプロパティビューの質量が1 kg変わるようです.
以下の例ではコメントを外して読み込みなおすと質量が1 kgから2 kgに変化します.

<robot name="test_robot">
    <link name="base_link"/>
    <!--
    <link name="link1"/>
    <joint name="joint1" type="fixed">
        <origin xyz="0 0 0" rpy="0 0 0"/>
        <parent link="base_link"/>
        <child link="link1"/>
    </joint>
    -->
</robot>

暫定的な処置

名前だけを持つノードを編集してロボットの運動にはほとんど影響を与えないであろう小さな質量(1 mg)を設定してみています.
(0 kgに設定した場合はエラーが出て読み込みに失敗しました.)

相談したいこと

  1. アイテムプロパティビューに表示される質量はURDFファイルで設定した質量と異なりますが,シミュレーションの計算で使われるモデルもURDFファイルの記述とは異なるものになってしまっているのでしょうか?
  2. (URDFファイルと計算に使われるモデルが異なる場合)シミュレーションで妥当な結果を得るために他にもすべきことはありますか?(慣性テンソルに小さな値を設定するなど)

なお,私はwindows11を使用しておりwslのubuntu 22.04.4 LTSにchoreonoid 2.2をインストールして使用しています.

URDFローダ開発者です.

この事象は,URDF読み込み時,質量が設定されていないリンクに,1kgの質量を設定するという仕様に由来します.今回の場合, base_link がそれに該当し,1 kgの質量が設定されているものと存じます.

これはシミュレーションの発散を防ぐ目的で作成しています.本来はfixedジョイントなどを自動検出して質量を設定すべきなのですが,そこまで実装ができておりません.またこの仕様,マニュアルには記載ができておらず,申し訳ございませんでした.

質量については,こちらの対応が,現在のところ正しく動くものと考えます.
同様に,慣性モーメントについても,URDFに記述がない場合,単位行列が設定されますので,微小な値の対角行列を入れていただくのが良いかと思います.

取り急ぎ,よろしくお願いします.

素早く返信していただきありがとうございます.

URDFに微小な質量を記述するのに加えて,微小な値の慣性モーメントも記述してみます.