LORD-MicroStrain/microstrain_inertial

Use TF tree for configuring antenna offsets, and the sensor2vehicle transformation

Closed this issue · 3 comments

Is your feature request related to a problem? Please describe.
Currently, GNSS antenna offsets and the sensor2vehicle transformation are configured with ROS parameters. This makes it difficult to visualize using ROS tooling, which can be helpful in troubleshooting.

Describe the solution you'd like
Instead of reading parameters for the antenna offsets, the driver simply looks up the transform from the gq7 vehicle frame to the antenna offsets in TF. These would likely be configured in the robot description, and then published to /tf_static via robot_state_publisher.

This way, you will be able to visualize the antenna locations you have configured in something like Rviz or Foxglove Studio.

Also the names of the frames should be parameterized, so you should have control over:

  • sensor frame
  • vehicle frame
  • antenna frames

While not explicitly required, this could also be the first step in publishing TFs for individual antennas to visualize their relative motion at runtime.

Describe alternatives you've considered
This could be done outside the driver, with something that reads the robot description and then generates the proper parameters, but it would be pretty hacky.

Additional context
Getting the transforms and offsets correct is critical, and so visualization can help to weed out common mistakes.

The ability to configure GNSS antenna offsets was added in 4.0.0. See gnss1_antenna_offset_source for more information.

We chose not to pull the sensor2vehicle configuration from the transform tree as it got extremely confusing with the difference between our vehicle frame, and ROS's vehicle frame.

This issue is stale because it has been open for 2 weeks with no activity. If the issue is still not resolved, please leave a comment describing what is still not working

This issue was closed because it has been inactive for 2 weeks since being marked as stale. If the issue is still not resolved, please reopen the issue, and leave a comment describing what is still not working