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

how to interface ENU IMU to Robot localization

asked 2020-10-02 18:16:51 -0600

mugetsu gravatar image

I have a NED IMU that is is flipped upside down on my robot.

The imu_link frame is represented as X forward, y left and z up to indicate the flip of the IMU. So its represented like: image description

Now, to use this with robot localization I swap x with y and invert Z, that converts NED to ENU. However, the IMU topic still gets published on the imu_link.

Is that the proper way? Or does robot localization expect a frame_id that is in the ENU convention?

edit retag flag offensive close merge delete


All data that ever gets published from the IMU will ALWAYS be in the "imu_link" regardless of the values of xyz/rpy or coordinate convention right?

JackB gravatar image JackB  ( 2020-10-02 19:51:58 -0600 )edit

yes that's right. should I instead set imu_link to ENU but flipped upside down?

mugetsu gravatar image mugetsu  ( 2020-10-02 20:12:58 -0600 )edit

You need to do whatever you need to do (read: apply the right rotation) to get your imu reporting data in the ENU frame, and then consider its translation (read: y,y,z) from base_link. You can capture both of those things in a single static transform from base_link to imu_link

JackB gravatar image JackB  ( 2020-10-02 21:23:28 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2020-10-12 03:27:35 -0600

Tom Moore gravatar image

Similar to what @JackB said, if I were you, I'd modify the IMU driver to put out the data in ENU, and then make the base_link->imu_link transform represent the sensor's pose (given its new ENU frame) w.r.t. the base_link frame.

edit flag offensive delete link more

Question Tools



Asked: 2020-10-02 18:16:51 -0600

Seen: 588 times

Last updated: Oct 12 '20