Gazebo | Ignition | Community
Ask Your Question
0

Why does my differential drive robot wheels move as if flushed in a toilet?

asked 2020-12-14 01:14:53 -0600

jcjmagno gravatar image

updated 2020-12-14 20:35:21 -0600

Hi. I'm new to ROS and Gazebo simulation. I tried to create a differential drive robot for various experiments such sa SLAM etc.

My problem right now is that my driven wheels drift as if they're not attached to the main link and whenever I run teleop, they rotate and move as if they were flushed in a toilet and the wheels suddenly stick together and continue to rotate.

Here is a link to a video I took showing my problem. https://www.youtube.com/watch?v=0gAox...

Here is a link where I uploaded my files as pasting them here would make this post really long. I would really appreciate it if you would have a look. https://github.com/jcjmagno/test_robot

Here is a snippet of the urdf code:

<link name="base_link">
</link>

<joint name="base_joint" type="fixed">
    <parent link="base_link"/>
    <child link="chassis"/>
</joint>

<link name="chassis">

    <inertial>
        <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
        <mass value="25"/>
        <inertia ixx="3.002" ixy="0.0" ixz="0.0" iyy="4.011" iyz="0.0" izz="2.8465"/>
    </inertial>
    <visual name="chassis_visual">
        <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
        <geometry>
            <box size="0.962 0.664 1" />
        </geometry>
    </visual>
    <collision name="chassis_collision">
        <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
        <geometry>
            <box size="0.962 0.664 1" />
        </geometry>
    </collision>
</link>

<link name="front_left_wheel">
    <inertial>
        <origin xyz="0.3 0.232 -0.525" rpy="0.0 1.5707 1.5707"/>
        <mass value="5"/>
        <inertia ixx="0.02" ixy="0.0" ixz="0.0" iyy="0.02" iyz="0.0" izz="0.02"/>
    </inertial>
   <visual name="front_left_wheel_visual">
        <origin xyz="0.3 0.232 -0.525" rpy="0.0 1.5707 1.5707"/>
        <geometry>
            <cylinder radius="0.1" length="0.1"/>
        </geometry>
    </visual>
    <collision name="front_left_wheel_collision">
        <origin xyz="0.3 0.232 -0.525" rpy="0.0 1.5707 1.5707"/>
        <geometry>
            <cylinder radius="0.1" length="0.1"/>
        </geometry>
    </collision>
</link>

<link name="front_right_wheel">
    <inertial>
        <origin xyz="0.3 -0.232 -0.525" rpy="0.0 1.5707 1.5707"/>
        <mass value="5"/>
        <inertia ixx="0.02" ixy="0.0" ixz="0.0" iyy="0.02" iyz="0.0" izz="0.02"/>
    </inertial>
    <visual name="front_right_wheel_visual">
        <origin xyz="0.3 -0.232 -0.525" rpy="0.0 1.5707 1.5707"/>
        <geometry>
            <cylinder radius="0.1" length="0.1"/>
        </geometry>
    </visual>
    <collision name="front_right_wheel_collision">
        <origin xyz="0.3 -0.232 -0.525" rpy="0.0 1.5707 1.5707"/>
        <geometry>
            <cylinder radius="0.1" length="0.1"/>
        </geometry>
    </collision>
</link>

<link name="rear_left_wheel">
    <inertial>
        <origin xyz="-0.3 0.232 -0.525" rpy="0.0 1.5707 1.5707"/>
        <mass value="5"/>
        <inertia ixx="0.02" ixy="0.0" ixz="0.0" iyy="0.02" iyz="0.0" izz="0.02"/>
    </inertial>
    <visual name="rear_left_wheel_visual">
        <origin xyz="-0.3 0.232 -0.525" rpy ...
(more)
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2020-12-18 13:12:21 -0600

claireyywang gravatar image

While I don't have a straightforward answer to urdf, but we have diff_drive demo available in sdf used in Ignition. I believe Gazebo supports both urdf and sdf, so if you need a reference to compare against, it might be helpful to take a look here https://github.com/ignitionrobotics/i... and this is the demo plugin used in Ignition https://github.com/ignitionrobotics/i...

Hope this helps

edit flag offensive delete link more
Login/Signup to Answer

Question Tools

1 follower

Stats

Asked: 2020-12-14 01:14:53 -0600

Seen: 78 times

Last updated: Dec 18 '20