Robotic-Decision-Making-Lab / waterlinked_dvl

C++ library and ROS 2 driver for the Water Linked DVL-A50 and DVL-A125.
MIT License
1 stars 0 forks source link

[FEATURE]: Publish estimates as TwistWithCovarianceStamped to support estimators #7

Open evan-palmer opened 2 weeks ago

evan-palmer commented 2 weeks ago

Feature Type

Adding new functionality to the project

Problem Description

The current implementation publishes the state information using the marine_msgs DVL message. This should continue to be used. However, this message is not accepted by various estimators supported by ROS.

Feature Description

Create a new second publisher, which publishes the velocity estimates transformed into the appropriate coordinate frame and as a TwistWithCovarianceStamped. This will ensure that estimators such as the robot_localization and fuse can interpret the message.

Alternative Solutions

I need to verify that the model used by fuse will accept this message type. The message type supported by fuse should be preferred over the robot_localization message type as the robot_localization package has been deprecated in favor of fuse.

Additional Context

No response

rakeshv24 commented 2 weeks ago

@evan-palmer is the expected coordinate frame for the estimators base_link or base_link_fsd?

evan-palmer commented 2 weeks ago

This would be base_link

rakeshv24 commented 2 weeks ago

Also, TwistWithCovariance is part of Odometry. Do we still need a separate publisher?

evan-palmer commented 2 weeks ago

Oh I completely forgot that I added that. Maybe we should put the existing publisher on the odom_fsd frame and the new one on odom. We should double check how Fuse handles transforms. If it expects everything to be at the base frame, we might also want to think about a way to apply the adjoint transformation to that frame

rakeshv24 commented 2 weeks ago

Makes sense!