Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The IMU data interval is unstable with high update frequency. #619

Closed
Rubbishwang opened this issue Oct 17, 2024 · 2 comments
Closed

The IMU data interval is unstable with high update frequency. #619

Rubbishwang opened this issue Oct 17, 2024 · 2 comments
Labels
enhancement New feature or request

Comments

@Rubbishwang
Copy link

Rubbishwang commented Oct 17, 2024

I used Gazebo 9.19.0, ros noetic, mavros, mavlink and px4 in Ubuntu20.04 environment for co-simulation. Run the rosservice call /mavros/set_message_interval 31 100 command to set the IMU update frequency at 100 Hz. I expect the IMU to refresh at a constant 10ms interval, but in practice it always fluctuates between 8-12ms. I tried to modify max_step_size and real_time_update_rate in the world file, but the problem persisted.What can I do to keep the IMU update rate as stable as possible at 10ms?
Part of my world file is as follows:

<physics name='default_physics' default='0' type='ode'>
  <ode>
    <solver>
      <type>quick</type>
      <iters>200</iters>
      <sor>1.3</sor>
      <use_dynamic_moi_rescaling>0</use_dynamic_moi_rescaling>
    </solver>
    <constraints>
      <cfm>0</cfm>
      <erp>0.2</erp>
      <contact_max_correcting_vel>100</contact_max_correcting_vel>
      <contact_surface_layer>0.001</contact_surface_layer>
    </constraints>
  </ode>
  <max_step_size>0.0001</max_step_size>
  <real_time_factor>1</real_time_factor>
  <real_time_update_rate>10000</real_time_update_rate>
</physics>

<plugin name='rotors_gazebo_imu_plugin' filename='libgazebo_imu_plugin.so'>
    <robotNamespace/>
    <linkName>iris::/imu_link</linkName>
    <imuTopic>/imu</imuTopic>
    <gyroscopeNoiseDensity>0.0</gyroscopeNoiseDensity>
    <gyroscopeRandomWalk>0</gyroscopeRandomWalk>
    <gyroscopeBiasCorrelationTime>1000000.0</gyroscopeBiasCorrelationTime>
    <gyroscopeTurnOnBiasSigma>0.0</gyroscopeTurnOnBiasSigma>
    <accelerometerNoiseDensity>0.0</accelerometerNoiseDensity>
    <accelerometerRandomWalk>0.0</accelerometerRandomWalk>
    <accelerometerBiasCorrelationTime>1000000.0</accelerometerBiasCorrelationTime>
    <accelerometerTurnOnBiasSigma>0.0</accelerometerTurnOnBiasSigma>
  </plugin>

I have been puzzled by this question for a long time. I hope for you answer. Thank you!

@Rubbishwang Rubbishwang added the enhancement New feature or request label Oct 17, 2024
@azeey
Copy link
Contributor

azeey commented Oct 17, 2024

This seems like a question better suited for robotics.stackexchange.com. I encourage you to post your question there.
Also, it looks like you're using Gazebo-classic, but this repository is for the new Gazebo. It would help if you make the distinction when you ask the question by putting the gazebo-classic tag.

@azeey azeey closed this as not planned Won't fix, can't repro, duplicate, stale Oct 17, 2024
@Rubbishwang
Copy link
Author

This seems like a question better suited for robotics.stackexchange.com. I encourage you to post your question there. Also, it looks like you're using Gazebo-classic, but this repository is for the new Gazebo. It would help if you make the distinction when you ask the question by putting the gazebo-classic tag.

Thanks for you reply! I will try to post my question on robotics.stackexchange.com.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Archived in project
Development

No branches or pull requests

2 participants