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

SensorQoS necessary for gp_origin? #1911

Open
haavarpb opened this issue Oct 18, 2023 · 4 comments
Open

SensorQoS necessary for gp_origin? #1911

haavarpb opened this issue Oct 18, 2023 · 4 comments
Labels

Comments

@haavarpb
Copy link
Contributor

Issue details

Hi,

I'm currently working on a ros package and here I subscribe to gp_origin from the mavros global position plugin. At least in my setup using Ardupilot SITL this is published once when GPS_GLOBAL_ORIGIN is emitted. This means my nodes requiring this information must be subscribed before this event happens because of the Sensor Quality of Service. Is this really necessary? In my mind it would be nice to allow late-joining of subscribers using another durability setting i.e. transient_local. I am not an expert at ROS, so I'm not sure of all the implications, but I would like to ask anyways.

MAVROS version and platform

Mavros: 2.6.0
ROS: Humble
Ubuntu: 22.04

Autopilot type and version

[x] ArduPilot
[ ] PX4

Version: 4.4.1

@vooon
Copy link
Member

vooon commented Oct 19, 2023

Well, i'm unsure what's best QoS here. Let's try that PR.

@haavarpb
Copy link
Contributor Author

Sorry for linking to the PR without more context, I was a bit short on time. The PR updates the guided target subscription side. I believe the author @kribe48 can best explain why, but it's a necessary update for the subscription callback to fire (by having the same QoS as the publisher). By linking the PR I hoped he maybe could chime in on the discussion.

I'm raising the question of possibly reviewing the QoS publisher side on the gp_origin publisher, and perhaps on others aswell.

I can atleast list one pro with having a durability setting since it allows late-joining of subscribers that need this information. The situation right now requires the subscriber to be ready before gp_origin is published or perhaps requiring to use MavLink messages to directly fetch it by itself.

@kribe48
Copy link
Contributor

kribe48 commented Oct 26, 2023

I updated the subscriber QoS since it did not subscribe to data with the current setting. I am not sure about what QoS to use, but they need to be the same on both sides :) Your suggestion sounds reasonable to me!

@DronecodeBot
Copy link

This issue has been mentioned on Discussion Forum for PX4, Pixhawk, QGroundControl, MAVSDK, MAVLink. There might be relevant details there:

https://discuss.px4.io/t/report-an-error-when-rotorcraft-flys-warn-positiontargetglobal-failed-because-no-origin/29627/4

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

No branches or pull requests

4 participants