Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ros2, 4.2.0 Microstrain driver publishes periodically to tf_static instead of tf #69

Open
vinnnyr opened this issue Apr 24, 2024 · 0 comments

Comments

@vinnnyr
Copy link

vinnnyr commented Apr 24, 2024

I have recently updated to Driver 4.2.0, and I am getting unexpected behavior on my system due to the driver publishing periodically on /tf_static , typically reserved for "unchanging" transforms.

See: Section 4.8 http://wiki.ros.org/tf2 on tf_static v.s. tf.

I propose the frequently updating, periodic transforms get published to /tf rather than /tf_static and the static transformation (sensor->odometer_link ) get published once, since that is expected to be unchanging.

I can see that sensor->gnss_1_antenna_link sensor->gnss_2_antenna_link and sensor->odometry_link are being published . The sensor->gnss_*_antenna links are changing (maybe because of antenna calibration).

transforms:
- header:
    stamp:
      sec: 1713981065
      nanosec: 381180072
    frame_id: sensor
  child_frame_id: gnss_1_antenna_link
  transform:
    translation:
      x: 0.02978402527514845
      y: -0.00020700725144706666
      z: 0.14986532399780117
    rotation:
      x: 0.0
      y: 0.0
      z: 0.0
      w: 1.0
- header:
    stamp:
      sec: 1713981065
      nanosec: 381417655
    frame_id: sensor
  child_frame_id: gnss_2_antenna_link
  transform:
    translation:
      x: -1.310959527589148
      y: -0.0001696325052762404
      z: 0.2297012535855174
    rotation:
      x: 0.0
      y: 0.0
      z: 0.0
      w: 1.0
- header:
    stamp:
      sec: 1713979389
      nanosec: 769265534
    frame_id: sensor
  child_frame_id: odometer_link
  transform:
    translation:
      x: 0.0
      y: 0.0
      z: 0.0
    rotation:
      x: 0.0
      y: 0.0
      z: 0.0
      w: 1.0
---

https://github.com/LORD-MicroStrain/microstrain_inertial_driver_common/blob/6d62789b0492e28a0e4b86be8b4dc0e562d08a5e/src/publishers.cpp#L1740C34-L1740C47

I think this is one o the offending lines?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant