ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A answers.ros.org

Ignition Math to TF?

Did you guys think about kicking out LinearMath out of tf2 in ROS 2 and using Ignition Math instead?

I’m not sure if IM has all the SIMD accelerations, but if it doesn’t, it could still make sense to move them there and use IM, couldn’t it?

Maybe we could start by creating a conversion package for ignition math types similar to http://wiki.ros.org/tf2_eigen

I think that would make it easier to write some benchmarks and compare performance between the different types.

As an aid to discussion for the uninformed (and curious :wink:) what are the benefits of switching to Ignition Math?

Just excerpts from ignitionrobotics.org:

Why Ignition?

Ignition is a set of simple libraries that provide useful functionality to bootstrap robot applications. The included libraries encapsulate all the essentials, such as common math data types, console logging, 3D mesh management, and asynchronous message passing. Grab the code, start developing, and easily access other applications like the Gazebo robot simulator.

Math ign-math
Version: 1.0.0

A small, fast, and high performance math library. This library is a self-contained set of classes and functions suitable for robot applications.

I’m also curious: @peci1: is the main benefit on the dependencies side, or are there other aspects where you think ign-match is a good replacement of what is currently being used?

My main idea is that the functions/implementations are now duplicated even among projects led by OSRF itself.

The other idea is that the ignition math library seems to contain functions that usual ROS users would benefit from. It makes sense to me to provide some basic maths library to roboticists, that is “easier to use” than Eigen and speaks natively the formats used in ROS :slight_smile:

ignition math 5.0+ and 6.1+ have an optional component with conversion functions for some types to/from Eigen types. So that’s another option.