0
$\begingroup$

I'm trying to fuse gps and imu data through the robot_localization package. According to the package description, the robot_localization package assumes an ENU frame for IMU data, which I don't understand very well. If IMU data assumes an ENU frame, does it get an absolute orientation value where yaw value becomes 0 when looking east? Also, I'm not sure which sensor to buy for this. Currently I have a 6-axis IMU that publishes only the acceleration and angular velocity values, do I need to buy a new IMU?

$\endgroup$
2

1 Answer 1

1
$\begingroup$

ENU frame is the accronym of East North Up (XYZ). Which means that robot_localization expects your IMU to publish 0 degree rotation when the X axis of your IMU sensor is alligned with East, Y axis with North and Z axis pointing up. I recommend you to check REPs such as REP-103 in order to know the coordinate frame conventions used in ROS as well as the wiki of robot_localization. You have details about how the IMU should perform in order to use it in the package. Feel free to ask again if you need more clarification.

$\endgroup$
2
  • $\begingroup$ Thank you. Then, what principle makes the IMU frame follow the ENU frame? Can I do this by using a 9-axis AHRS sensor with an added geomagnetic sensor? $\endgroup$
    – hojin sun
    Commented Apr 2 at 4:30
  • $\begingroup$ Indeed, normally, IMU's have some geomagnetic sensors in order to detect where is North. If yours doesn't have it, you could buy the sensor individually, and then use some known packages such as imu_filter_madgwick in order to fuse both and get a rotation respect to the earth or world frame. $\endgroup$
    – ÁngeLoGa
    Commented Apr 2 at 6:05

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.