Rosanswers logo

Hello everyone,

This is a 2 part question:

  1. I am building a differential drive robot. Which uses encoders and imu to get the orientation of the robot. The imu is an MPU9150 with TM4c1294xl microcontroller. I have successfully fused the gyro and magnetometer via a kalman filter to get an estimate of yaw (referenced with the initial conditions). I want to be able to publish yaw output from my imu via the rosserial package. I will be publishing the yaw output only, so my euler orientation should be (0,0,yaw) right? And which orientation convention does ros use. I am using North-East-Down(NED). I am using udoo board which is running rosserial on its arduino compatible microcontroller. The udoo is connected via i2c to my TM4c1294xl. My question is , does ros provide standard msg type to support euler angles from an imu ? could anyone please point me into the right direction.

  2. Would i be better off by tilt compensating my magnetometer rather than just assume that the robot drives on plane surface through out. What are the pros and cons of not implementing it.

Originally posted by asusrog on ROS Answers with karma: 63 on 2015-02-03

Post score: 0


1 Answer 1


Rosanswers logo

As for the ROS axis convention, have a look at REP 103. Moreover, ROS has defined the IMU msg format to hold data from an IMU.

Originally posted by Kristof with karma: 141 on 2015-02-03

This answer was ACCEPTED on the original site

Post score: 1

Original comments

Comment by Thomas D on 2015-02-03:
See also this answer.

Comment by asusrog on 2015-02-05:
@Kristof: According to REP-103 & 105. The body frame is to be oriented (+X- north, +Y-west, +z-up). My imu uses (+Y-north, +X-east, +Z-up). should i be converting these orientations in the imu processing itself or i could somehow convert these notations under ROS?.

Comment by Kristof on 2015-02-06:
@asusrog It is probably best to convert to the ROS orientations at the moment you put the information from your imu into a ROS IMU msg. If you have full control over the firmware of your imu, you could also change it there - but this might be harder to maintain.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.