ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Best method for merging rotation data

asked 2017-03-27 14:04:28 -0500

Cerin gravatar image

I have two sensors providing a z-axis rotation estimate on a two-wheeled differential drive platform:

  1. motor encoders
  2. a compass-aligned gyroscope

Does it make sense to use some algorithm to merge these two, or should I just rely on the gyro? If I should combine them, what's the proper algorithm to use (Kalman filter, Complementary filter, simple moving average, etc)?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2017-03-28 02:51:47 -0500

Chaos gravatar image

I suggest you to use an Extended Kalman Filter. It can provide an estimation of the robot's orientation by filtering both wheel's and gyro's drifts.

edit flag offensive delete link more


Is there a simple implementation you can recommend, preferably that could run on an Arduino? All the ones I've found seem terribly complicated, and assume you're trying to merge two three-dimensional vectors representing accelerometer and gryoscope readings, not simple scalars, as I'm trying to do.

Cerin gravatar image Cerin  ( 2017-03-28 11:34:37 -0500 )edit

The implementation of the EKF strongly depends on the application. If the state you have to estimate is just the position of the robot you can use something like this. The EKF should work without problems on Arduino.

Chaos gravatar image Chaos  ( 2017-03-29 02:42:28 -0500 )edit

Question Tools



Asked: 2017-03-27 14:04:28 -0500

Seen: 296 times

Last updated: Mar 28 '17