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

Heartbeats from multiple component IDs handled incorrectly #1107

Closed
edwinhayes opened this issue Oct 26, 2018 · 2 comments
Closed

Heartbeats from multiple component IDs handled incorrectly #1107

edwinhayes opened this issue Oct 26, 2018 · 2 comments

Comments

@edwinhayes
Copy link

edwinhayes commented Oct 26, 2018

Issue details

On a system which has multiple MAVLink components, MAVROS will see heartbeat messages from multiple components, only one of which will be the flight controller (probably). These might not all have the same status. At present, the topic /mavros/state seems to get published repeatedly for the different components, but the topic has no field to differentiate different components, so the published state might: a - fluctuate between one or more states, b - not be representative of the flight controller state.

I haven't investigated, but I assume this same thing applies to other topics as well? What happens to a topic publishing attitude if you have both a flight controller and gimbal publishing attitude information?

There is a parameter /mavros/target_component_id but I'm not sure what that actually does? I feel like it should be filtering the handling of incoming messages so that topics which are supposed to represent the state of the vehicle are only using flight controller messages.

Has this been considered, and what is the design intent here?

MAVROS version and platform

Mavros: 0.26.3?
ROS: Kinetic
Ubuntu: 16.04

Autopilot type and version

[x] ArduPilot
[ ] PX4

Version: Currently 3.6-rc12, but other versions too.

@vooon
Copy link
Member

vooon commented Oct 26, 2018

https://github.com/mavlink/mavros/blob/master/mavros/src/plugins/sys_status.cpp#L644

HB only checks system id, and i don't remember why...

nicovanduijn pushed a commit to nicovanduijn/mavros that referenced this issue May 3, 2019
This addresses mavlink#1107 and mavlink#1227, by filtering incoming heartbeats
by component ids before publishing the state.
TSC21 pushed a commit that referenced this issue May 3, 2019
This addresses #1107 and #1227, by filtering incoming heartbeats
by component ids before publishing the state.
@TSC21
Copy link
Member

TSC21 commented May 5, 2019

Fixed in #1228.

@TSC21 TSC21 closed this as completed May 5, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants