ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A
Ask Your Question

Why no frame lever-arm (translation) parameters are used when transforming acceleration measurements in imu_transformer?

asked 2019-05-29 07:57:01 -0500

lealem gravatar image

updated 2019-05-29 07:58:08 -0500

I see that the ROS imu_transformer node does not consider the lever-arm (translation) parameters between the two frames. Transforming acceleration data needs knowledge of the lever-arm parameters since it can be subject to centrifugal acceleration. Is this ignored on purpose, assuming such effect might not "significantly" bias the measurements?

edit retag flag offensive close merge delete


I see that the ROS imu_transformer node [..]

pedantic, but: this is not the ROS imu_transformer node, but a implementation of a node that allows you to transform sensor_msgs/Imu msgs from one frame to another.

Your question is specifically about that particular implementation.

gvdhoorn gravatar image gvdhoorn  ( 2019-05-29 08:33:47 -0500 )edit

Well, that's what the imu_transformer claims to do. It transforms sensor_msgs/Imu from one frame to another. It actually calls a transform method on tf2 object, which in turn calls a doTransform method which is implemented here

lealem gravatar image lealem  ( 2019-05-29 16:24:20 -0500 )edit

I don't believe I write anything differently. My comment was about the fact that you write you are looking at the ROS imu_transformer. In fact, it's "just" a node created by a community contributor. By using "the", you are implying there has been some sort of vetting process and imu_process has been nominated as the official -- and correct -- implementation of this functionality. That's not true and is, I believe, an important distinction to make.

gvdhoorn gravatar image gvdhoorn  ( 2019-05-30 01:23:20 -0500 )edit

I see. Thanks for the insight.

lealem gravatar image lealem  ( 2019-05-30 02:00:59 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2019-05-29 08:57:41 -0500

From a very quick glance, it is transforming all the IMU data .

It looks like your beef might be more with how the tf2_ros::Buffer handles IMU data.

edit flag offensive delete link more


Thanks, but the implementation is here. And I don't see the acceleration being treated any different than other vectors. My concern is in the case (which almost always is) where the IMU is not located aligned with the true axes of rotation of the robot. Let me know if you are aware auch cases being handled in ROS.

lealem gravatar image lealem  ( 2019-05-29 17:00:42 -0500 )edit

Its not that ROS or not-ROS is handling it one way or another, this is just one tool in the ecosystem. If you feel it's not doing what you expect, file a ticket or submit a PR. I can't tell you if its right for your application or not. As far as I'm aware, I haven't noticed an issue with the IMU transformations.

stevemacenski gravatar image stevemacenski  ( 2019-05-30 20:12:00 -0500 )edit

Your Answer

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

Add Answer

Question Tools



Asked: 2019-05-29 07:57:01 -0500

Seen: 253 times

Last updated: May 29 '19