Ask Your Question
0

How to transform acceleration data to velocity data

asked 2014-09-18 20:55:31 -0500

smartkian88@gmail.com gravatar image

My IMU( Xsens MTi-28A53G35) only puts out orientation, angular velocity and linear acceleration. I want to use this data to help improve the accuracy of odom of the robot.

The Robot_localization doesn't support acceleration data from IMU so I have to transform acceleration into velocity first. I am wondering whether there are any nodes that can do this or I have write a node for it?

edit retag flag offensive close merge delete

3 Answers

Sort by ยป oldest newest most voted
0

answered 2014-09-19 01:56:35 -0500

ROSCMBOT gravatar image

Why don't you just ignore linear acceleration? Check this tutorial. In the config param of your imu in the launch file, you can set the variables related to orientation and angular velocity as true and the rest as false. So your config param for imu should look like this:

<rosparam param="imu0_config">[false, false, false, 
                                     true,  true,  true, 
                                     false, false, false, 
                                     true,  true,  true]</rosparam>
edit flag offensive delete link more
2

answered 2014-09-23 02:40:16 -0500

zumili gravatar image

Usually if you want to integrate different types of data like GPS, Odometry, Acceleration, Rotation, ect. to correct your actual position you will use a so called EKF (extended kalman filter). You will find a ready to use ros node to do this http://wiki.ros.org/robot_pose_ekf or you have to this be yourself in special cases!

edit flag offensive delete link more
0

answered 2014-09-20 00:19:04 -0500

jseal gravatar image

You just have to integrate the accelerations to get velocity data. Something like this:

velocity_x = velocity_x_previous + accel_x * dt;

It will depend on how good your accelerometers are whether you get a good estimate of the velocities. Also another good use for accelerometers is determining your pitch and roll from the gravity vector, it can help determine if your robot is stuck/tilted.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2014-09-18 20:55:31 -0500

Seen: 1,548 times

Last updated: Sep 23 '14