Gazebo URDF model vanishes

asked 2023-04-29 10:24:29 -0500

A_J gravatar image

Hello,

I am trying to make a simple URDF model of a manipulator with 4 links and 3 joints (2 spherical and 1 revolute), but as I launch the model in gazebo, it crashes and all the links overlap at the origin. I tried remaking the model many times altering different values to get to the issue and have observed if I add the joint in the z axis, it crashes. I can add the y and x joints and it has no issues. What confuses me more is that I use the same joint parameters I have used in the first spherical joint.

Am I missing something or doing something wrong? Will appreciate any help and guidance. Here is my URDF file

<?xml version="1.0"?>
<robot name="pend_bot"
    xmlns:xacro="http://www.ros.org/wiki/xacro">

    <!-- <xacro:include filename="$(find robot)/urdf/my_robot.gazebo" /> -->

    <!-- <xacro:include filename="$(find robot)/urdf/materials.xacro" /> -->
    <!-- <robot name="pendulum_robot"> -->
    <link name="world">
    </link>

    <joint name="base_joint" type="fixed">
        <parent link="world"/>
        <child link="body_link"/>
        <axis xyz="0.0 0.0 0.0"/>
        <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
    </joint>

    <!-- First Link -->
    <link name="body_link">
        <visual>
            <origin xyz="0 0 0.75" rpy="0 0 0"/>
            <geometry>
                <box size="0.1 0.1 1.5"/>
            </geometry>
        </visual>

        <!-- <collision>
            <origin xyz="0 0 0.75" rpy="0 0 0"/>
            <geometry>
                <box size="0.1 0.1 1.0"/>
            </geometry>
        </collision> -->

        <inertial>
            <origin xyz="0 0 0.75" rpy="0 0 0"/>
            <mass value="1"/>
            <inertia ixx="0.18833" ixy="0.0" ixz="0.0" iyy="0.18833" iyz="0.0" izz="0.001666667"/>
        </inertial>
    </link>


    <!-- Shoulder Joint -->
    <joint name="shoulder_y" type="continuous">
        <parent link="body_link"/>
        <child link="dummy_link_1"/>
        <axis xyz="0 1 0" />
        <origin xyz="0.0 0 1.55" rpy="0 0 0"/>
        <!-- <limit effort="50" velocity="2.0"/> -->
        <dynamics damping="0.2"/>
    </joint>

    <link name="dummy_link_1">
        <inertial>
            <mass value="0.025" />
            <inertia ixx="5.8083e-4" ixy="0" ixz="0" iyy="3.0833e-5" iyz="0" izz="5.9083e-4" />
        </inertial>
    </link>

    <joint name="shoulder_z" type="continuous">
        <parent link="dummy_link_1"/>
        <child link="dummy_link_2"/>
        <axis xyz="0 0 1" />
        <dynamics damping="0.2"/>
        <!-- <limit effort="50" velocity="2.0"/> -->
    </joint>

    <link name="dummy_link_2">
        <inertial>
            <mass value="0.025" />
            <inertia ixx="5.8083e-4" ixy="0" ixz="0" iyy="3.0833e-5" iyz="0" izz="5.9083e-4" />
        </inertial>
    </link>

    <joint name="shoulder_x" type="continuous">
        <parent link="dummy_link_2"/>
        <child link="bicep_link"/>
        <axis xyz="1 0 0" />
        <dynamics damping="0.2"/>
        <!-- <limit effort="50" velocity="2.0 ...
(more)
edit retag flag offensive close merge delete