Части отваливаются от модели SDF в Беседке - PullRequest
0 голосов
/ 16 апреля 2020

Я пытаюсь написать SDF-файл для таблицы по хоккею с шайбой, к которой позже будет добавлена ​​модель робота, играющего в аэрохоккей. Модель, которую я начал, имеет большой блок для стола и маленькие прямоугольники для сторон (на данный момент их всего 3). В настоящее время верхняя и правая стороны падают со стола, когда появляются в Беседке. Я не уверен почему. Левая сторона не двигается. Я основал массу сторон на плотности алюминия и объеме каждой боковой части (все в метрах и кг). У меня есть файл SDF в папке .gazebo, который поставляется с ROS 1.0. Любая помощь будет оценена!

<?xml version="1.0" ?>
<sdf version="1.5">
  <model name="table_sdf">

    <joint name="worldJoint" type="fixed">
            <parent link="world"/>
            <child link="base_link"/>
    </joint>

      <pose>0 0 0 0 0 0</pose>
    <self_collide>true</self_collide>
    <link name="base_link">
      <pose>0 0 0  0 0 0</pose>
      <inertial>
        <mass>1065.54</mass>
        <inertia>
          <ixx>1</ixx>
          <iyy>1</iyy>
          <izz>1</izz>
          <ixy>0.0</ixy>
          <ixz>0.0</ixz>
          <iyz>0.0</iyz>
        </inertia>
      </inertial>
      <collision name="tableCollision">
        <geometry>
          <box>
            <size>1.275 2.27 .869</size>
          </box>
        </geometry>
        <surface>
            <contact>
              <ode>
                <max_vel>0</max_vel>
                <min_depth>0.001</min_depth>
              </ode>
            </contact>
        </surface>
      </collision>
      <visual name="tableVisual">
        <geometry>
          <box>
            <size>1.275 2.27 .869</size>
          </box>
        </geometry>
        <material>
          <script>
            <uri>file://media/materials/scripts/gazebo.material</uri>
            <name>Gazebo/Wood</name>
          </script>
        </material>
      </visual>
    </link>

    <joint name="LLJ" type="fixed">
            <pose>-.553805 0 .452  0 0 0</pose>
        <parent link="base_link"/>
            <child link="left_side"/>
    </joint>

    <self_collide>true</self_collide>
    <link name="left_side">
      <pose>-.553805 0 .452  0 0 0</pose>
      <inertial>
        <mass>1.287</mass>
        <inertia>
          <ixx>1</ixx>
          <iyy>1</iyy>
          <izz>1</izz>
          <ixy>0.0</ixy>
          <ixz>0.0</ixz>
          <iyz>0.0</iyz>
        </inertia>
      </inertial>
      <collision name="leftSideCollision">
        <geometry>
          <box>
            <size>.00649 2.0978 .03501</size>
          </box>
        </geometry>
        <surface>
            <contact>
              <ode>
                <max_vel>0</max_vel>
                <min_depth>0.001</min_depth>
              </ode>
            </contact>
        </surface>
      </collision>
      <visual name="leftSideVisual">
        <geometry>
          <box>
            <size>.00649 2.0978 .03501</size>
          </box>
        </geometry>
        <material>
          <script>
            <uri>file://media/materials/scripts/gazebo.material</uri>
            <name>Gazebo/Wood</name>
          </script>
        </material>
      </visual>
    </link>

    <joint name="RLJ" type="fixed">
            <pose>.553805 0 .452  0 0 0</pose>
        <parent link="base_link"/>
            <child link="right_side"/>
    </joint>

    <self_collide>true</self_collide>
    <link name="right_side">
      <pose>.553805 0 .452  0 0 0</pose>
      <inertial>
        <mass>1.287</mass>
        <inertia>
          <ixx>1</ixx>
          <iyy>1</iyy>
          <izz>1</izz>
          <ixy>0.0</ixy>
          <ixz>0.0</ixz>
          <iyz>0.0</iyz>
        </inertia>
      </inertial>
      <collision name="rightSideCollision">
        <geometry>
          <box>
            <size>.00649 2.0978 .03501</size>
          </box>
        </geometry>
      </collision>
      <visual name="rightSideVisual">
        <geometry>
          <box>
            <size>.00649 2.0978 .03501</size>
          </box>
        </geometry>
        <surface>
            <contact>
              <ode>
                <max_vel>0</max_vel>
                <min_depth>0.001</min_depth>
              </ode>
            </contact>
        </surface>
        <material>
          <script>
            <uri>file://media/materials/scripts/gazebo.material</uri>
            <name>Gazebo/Wood</name>
          </script>
        </material>
      </visual>
    </link>

    <joint name="topJ" type="fixed">
            <pose>0 1.05131 .452  0 0 0</pose>
        <parent link="base_link"/>
            <child link="top_side"/>
    </joint>

    <self_collide>true</self_collide>
    <link name="top_side">
      <pose>0 1.05131 .452  0 0 0</pose>
      <inertial>
        <mass>.666145</mass>
        <inertia>
          <ixx>1</ixx>
          <iyy>1</iyy>
          <izz>1</izz>
          <ixy>0.0</ixy>
          <ixz>0.0</ixz>
          <iyz>0.0</iyz>
        </inertia>
      </inertial>
      <collision name="topSideCollision">
        <geometry>
          <box>
            <size>1.085846 .00649 .03501</size>
          </box>
        </geometry>
      </collision>
      <visual name="topSideVisual">
        <geometry>
          <box>
            <size>1.085846 .00649 .03501</size>
          </box>
        </geometry>
        <surface>
            <contact>
              <ode>
                <max_vel>0</max_vel>
                <min_depth>0.001</min_depth>
              </ode>
            </contact>
        </surface>
        <material>
          <script>
            <uri>file://media/materials/scripts/gazebo.material</uri>
            <name>Gazebo/Wood</name>
          </script>
        </material>
      </visual>
    </link>

  </model>
</sdf>
...