Robotics StackExchange | Archived questions

imu sensor on actor not recording angular velocity

Hi,

I added an imu sensor to a link placed in an animated actor object

<actor name="imu_cam">
<link name="imu_link">
    <sensor name="imu" type="imu">...
    </sensor>
</link>
<script>
    <loop>true</loop>
    <delay_start>0.000000</delay_start>
    <auto_start>true</auto_start>
    <trajectory id="0" type="__default__">
        <waypoint>
            <time>0.022000</time>
            <pose>-0.1325 0.3200 0.6535 -1.6478 0.0000 0.0340</pose>
        </waypoint>
        <waypoint>
            <time>0.050000</time>
            <pose>-0.1325 0.3200 0.6535 -1.6466 0.0000 0.0321</pose>
        </waypoint>
        ...
    </trajectory>
</script>

However, when I read the published sensor data, all I get as angular velocity values is noise. I am guessing (but this is a little harder to confirm) that the linear acceleration values are also only noise values added to the projected gravitational vector.

Is this a bug? Or are animated actor objects not intended for this kind of experiment? The orientation is reported correctly, and also the camera sensor data is recorded correctly. The only problem is that the link object virtually seems to have no velocity component (not linear and not angular).

Can someone think of a workaround to this problem?

The main reason for using the animated actor object is because I want to simulate (pseudo random) head movement. If there is a better way of simulating this, it could also solve my problem.

Asked by Edwin Walsh on 2017-09-08 03:27:01 UTC

Comments

Answers

As you suspected, actors are not the right tool for this experiment. They are animated instead of simulated, which means their pose is set to precise values at every time-step, instead of through the application of forces and dynamics.

One workaround would be to compute the velocity yourself based on position data over time.

Other solutions might involve not using actors, but a rigid model of a head, and making it move randomly by applying random forces every time-step.

This issue is also relevant.

Asked by chapulina on 2017-09-08 09:49:42 UTC

Comments