Gazebo | Ignition | Community
Ask Your Question

Revision history [back]

IMU sensor plugin libgazebo\_ros\_imu.so: strange data

Hello community,

I have a problem with the simulated data of the "libgazebo_ros_imu.so" plugin.

Here is my urdf code:

<robot>
<link name="imu_link">
    <inertial>
        <mass value="${dummy_mass}" />
        <origin xyz="0 0 0" />
        <inertia ixx="${dummy_inertia}" ixy="0.0" ixz="0.0"
                 iyy="${dummy_inertia}" iyz="0.0" 
                 izz="${dummy_inertia}" />
    </inertial>     
        <visual>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
            <box size = "0.1 0.1 0.1"/> 
                </geometry>
        </visual>
    <collision>         
        <geometry>
            <box size = "0.1 0.1 0.1"/> 
        </geometry>
    </collision>     
    </link>

<joint name="imu_joint" type="fixed">
    <axis xyz="0 0 0"/>
    <origin xyz="0.05 0 0.15" rpy="0 0 0" />
    <parent link="base_link"/>
    <child link="imu_link" />
</joint>

<gazebo>    
    <plugin name="imu_plugin" filename="libgazebo_ros_imu.so">
        <alwaysOn>true</alwaysOn>       
        <bodyName>imu_link</bodyName>
        <topicName>imu_data</topicName>
        <serviceName>imu_service</serviceName>
        <gaussianNoise>0.0</gaussianNoise>
        <updateRate>10.0</updateRate> 
    </plugin>
</gazebo>

</robot>

With these settings I can read from the rostopic "imu_data", but the simulated data is really strange and not fitting to the movement of the robot at all. It seems as it just ignores the movement. For example, even when standing completely still, I see very high values for up / down movement, they just seem randomly generated.

When moving forward or backward, it doesnt seem to affect the simulated imu data as well.

Any tips for improvement?

regards psei

IMU sensor plugin libgazebo\_ros\_imu.so: libgazebo_ros_imu.so: strange data

Hello community,

I have a problem with the simulated data of the "libgazebo_ros_imu.so" plugin.

Here is my urdf code:

<robot>
<link name="imu_link">
    <inertial>
        <mass value="${dummy_mass}" />
        <origin xyz="0 0 0" />
        <inertia ixx="${dummy_inertia}" ixy="0.0" ixz="0.0"
                 iyy="${dummy_inertia}" iyz="0.0" 
                 izz="${dummy_inertia}" />
    </inertial>     
        <visual>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
            <box size = "0.1 0.1 0.1"/> 
                </geometry>
        </visual>
    <collision>         
        <geometry>
            <box size = "0.1 0.1 0.1"/> 
        </geometry>
    </collision>     
    </link>

<joint name="imu_joint" type="fixed">
    <axis xyz="0 0 0"/>
    <origin xyz="0.05 0 0.15" rpy="0 0 0" />
    <parent link="base_link"/>
    <child link="imu_link" />
</joint>

<gazebo>    
    <plugin name="imu_plugin" filename="libgazebo_ros_imu.so">
        <alwaysOn>true</alwaysOn>       
        <bodyName>imu_link</bodyName>
        <topicName>imu_data</topicName>
        <serviceName>imu_service</serviceName>
        <gaussianNoise>0.0</gaussianNoise>
        <updateRate>10.0</updateRate> 
    </plugin>
</gazebo>

</robot>

With these settings I can read from the rostopic "imu_data", but the simulated data is really strange and not fitting to the movement of the robot at all. It seems as it just ignores the movement. For example, even when standing completely still, I see very high values for up / down movement, they just seem randomly generated.

When moving forward or backward, it doesnt seem to affect the simulated imu data as well.

Any tips for improvement?

regards psei

IMU sensor plugin libgazebo_ros_imu.so: strange data

Hello community,

I have a problem with the simulated data of the "libgazebo_ros_imu.so" plugin.

Here is my urdf code:

<robot>
<link name="imu_link">
    <inertial>
        <mass value="${dummy_mass}" />
        <origin xyz="0 0 0" />
        <inertia ixx="${dummy_inertia}" ixy="0.0" ixz="0.0"
                 iyy="${dummy_inertia}" iyz="0.0" 
                 izz="${dummy_inertia}" />
    </inertial>     
        <visual>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
            <box size = "0.1 0.1 0.1"/> 
                </geometry>
        </visual>
    <collision>         
        <geometry>
            <box size = "0.1 0.1 0.1"/> 
        </geometry>
    </collision>     
    </link>

<joint name="imu_joint" type="fixed">
    <axis xyz="0 0 0"/>
    <origin xyz="0.05 0 0.15" rpy="0 0 0" />
    <parent link="base_link"/>
    <child link="imu_link" />
</joint>

<gazebo>    
    <plugin name="imu_plugin" filename="libgazebo_ros_imu.so">
        <alwaysOn>true</alwaysOn>       
        <bodyName>imu_link</bodyName>
        <topicName>imu_data</topicName>
        <serviceName>imu_service</serviceName>
        <gaussianNoise>0.0</gaussianNoise>
        <updateRate>10.0</updateRate> 
    </plugin>
</gazebo>

</robot>

With these settings I can read from the rostopic "imu_data", but the simulated data is really strange and not fitting to the movement of the robot at all. It seems as it just ignores the movement. For example, even when standing completely still, I see very high values for up / down movement, they just seem randomly generated.

When moving forward or backward, it doesnt seem to affect the simulated imu data as well.

Here are some screenshots. Position of the camera was behind the robot looking forward. Imagine that the arrow that shows the imu sensor data flips up and down at a very high rate during a short period of time. The robot isnt moving at all.

IMU data 1 IMU data 3 IMU data 4

Any tips for improvement?

regards psei

IMU sensor plugin libgazebo_ros_imu.so: strange data

Hello community,

I have a problem with the simulated data of the "libgazebo_ros_imu.so" plugin.

Here is my urdf code:

<robot>
<link name="imu_link">
    <inertial>
        <mass value="${dummy_mass}" />
        <origin xyz="0 0 0" />
        <inertia ixx="${dummy_inertia}" ixy="0.0" ixz="0.0"
                 iyy="${dummy_inertia}" iyz="0.0" 
                 izz="${dummy_inertia}" />
    </inertial>     
        <visual>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
            <box size = "0.1 0.1 0.1"/> 
                </geometry>
        </visual>
    <collision>         
        <geometry>
            <box size = "0.1 0.1 0.1"/> 
        </geometry>
    </collision>     
    </link>

<joint name="imu_joint" type="fixed">
    <axis xyz="0 0 0"/>
    <origin xyz="0.05 0 0.15" rpy="0 0 0" />
    <parent link="base_link"/>
    <child link="imu_link" />
</joint>

<gazebo>    
    <plugin name="imu_plugin" filename="libgazebo_ros_imu.so">
        <alwaysOn>true</alwaysOn>       
        <bodyName>imu_link</bodyName>
        <topicName>imu_data</topicName>
        <serviceName>imu_service</serviceName>
        <gaussianNoise>0.0</gaussianNoise>
        <updateRate>10.0</updateRate> 
    </plugin>
</gazebo>
</robot>

</robot>

With these settings I can read from the rostopic "imu_data", but the simulated data is really strange and not fitting to the movement of the robot at all. It seems as it just ignores the movement. For example, even when standing completely still, I see very high values for up / down movement, they just seem randomly generated.

When moving forward or backward, it doesnt seem to affect the simulated imu data as well.

Here are some screenshots. Position of the camera was behind the robot looking forward. Imagine that the arrow that shows the imu sensor data flips up and down at a very high rate during a short period of time. The robot isnt moving at all.

IMU data 1 IMU data 3 IMU data 4

Any tips for improvement?

regards psei

IMU sensor plugin libgazebo_ros_imu.so: strange data

Hello community,

I have a problem with the simulated data of the "libgazebo_ros_imu.so" plugin.

Here is my urdf code:

<robot>
<link name="imu_link">
    <inertial>
        <mass value="${dummy_mass}" />
        <origin xyz="0 0 0" />
        <inertia ixx="${dummy_inertia}" ixy="0.0" ixz="0.0"
                 iyy="${dummy_inertia}" iyz="0.0" 
                 izz="${dummy_inertia}" />
    </inertial>     
        <visual>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
            <box size = "0.1 0.1 0.1"/> 
                </geometry>
        </visual>
    <collision>         
        <geometry>
            <box size = "0.1 0.1 0.1"/> 
        </geometry>
    </collision>     
    </link>

<joint name="imu_joint" type="fixed">
    <axis xyz="0 0 0"/>
    <origin xyz="0.05 0 0.15" rpy="0 0 0" />
    <parent link="base_link"/>
    <child link="imu_link" />
</joint>

<gazebo>    
    <plugin name="imu_plugin" filename="libgazebo_ros_imu.so">
        <alwaysOn>true</alwaysOn>       
        <bodyName>imu_link</bodyName>
        <topicName>imu_data</topicName>
        <serviceName>imu_service</serviceName>
        <gaussianNoise>0.0</gaussianNoise>
        <updateRate>10.0</updateRate> 
    </plugin>
</gazebo>
</robot>

With these settings I can read from the rostopic "imu_data", but the simulated data is really strange and not fitting to the movement of the robot at all. It seems as it just ignores the movement. For example, even when standing completely still, I see very high values for up / down movement, they just seem randomly generated.

When moving forward or backward, it doesnt seem to affect the simulated imu data as well.

Here are some screenshots. Position of the camera was behind the robot looking forward. Imagine that the arrow that shows the imu sensor data flips up and down at a very high rate during a short period of time. The robot isnt moving at all.

IMU data 1 IMU data 3 IMU data 4IMU data 1 IMU data 3 IMU data 4

Any tips for improvement?

regards psei