You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am currently trying to figure out an issue with the MAVLink telemetry being sent from the UAV during the flight. It is regarding the GLOBAL_POSITION_INT data packet sent by the UAV.
Current Behavior
While the UAV is sitting on the ground (disarmed) it regularly sends data via MAVLink. One of the data sets being sent is the MAVLink GLOBAL_POSITION_INT and it sends the following data:
Pos Lat / Lng
Altitue (Absolute above MSL)
Relative Altitude (above Launch position)
Heading
Speed in direction X, Y, Z
While on the ground, this seems to work perfectly fine. However, as soon as I launch the plane, something weird happens with the Data Packets being sent. A problem occurs for most packages, which results in only the Lat / Lng position being correctly sent. Altitude data is also being transmitted, however for those they often are wrong in the way that Altitude = Relative Altitude (which would only be correct at sea level). The other values are either out of limits (heading > 65000) or 0 (speeds).
However, this problem does not occur with every package. About 5% of packages are received correctly.
I programmed a tool that records the MAVLink packages being received on the ground, and most of the wrong packages look like this:
Parallel to this issue, an issue with the GPS_RAW_INT data packet seems to occure. Whenever the GLOBAL_POSITION_INT is correct, the GPS_RAW_INT altitude is above MSL. When the GLOBAL_POSITION_INT is inncorect, the GPS_RAW_INT altitude is relative above launch position. According to the MAVLink specification, the GPS_RAW_INT should always read altitude above MSL.
Incorrect GPS_RAW_INT package at a similar time than the incorrect GLOBAL_POSITION_INT:
Observe MAVLink telemetry in disarmed state on the ground
Launch UAV
Observe MAVLink telemetry inflight
Note the lack correct Data in the GLOBAL_POSITION_INT package and compare to the ocassionally correct GLOBAL_POSITION_INT packages.
Expected behavior
Expected behaviour is for the GLOBAL_POSITION_INT packages and the GPS_RAW_INT packages to always read the correct data.
Suggested solution(s)
I tried to look at the MAVLink implementation, but I could not find a clear indicator of what could cause this. Is there a flag somewhere that affects the packets that are being sent?
This discussion was converted from issue #6677 on October 29, 2021 12:25.
Heading
Bold
Italic
Quote
Code
Link
Numbered list
Unordered list
Task list
Attach files
Mention
Reference
Menu
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hi,
I am currently trying to figure out an issue with the MAVLink telemetry being sent from the UAV during the flight. It is regarding the GLOBAL_POSITION_INT data packet sent by the UAV.
Current Behavior
While the UAV is sitting on the ground (disarmed) it regularly sends data via MAVLink. One of the data sets being sent is the MAVLink GLOBAL_POSITION_INT and it sends the following data:
While on the ground, this seems to work perfectly fine. However, as soon as I launch the plane, something weird happens with the Data Packets being sent. A problem occurs for most packages, which results in only the Lat / Lng position being correctly sent. Altitude data is also being transmitted, however for those they often are wrong in the way that Altitude = Relative Altitude (which would only be correct at sea level). The other values are either out of limits (heading > 65000) or 0 (speeds).
However, this problem does not occur with every package. About 5% of packages are received correctly.
I programmed a tool that records the MAVLink packages being received on the ground, and most of the wrong packages look like this:
Sometimes a correct package makes it through, which then looks like this:
Parallel to this issue, an issue with the GPS_RAW_INT data packet seems to occure. Whenever the GLOBAL_POSITION_INT is correct, the GPS_RAW_INT altitude is above MSL. When the GLOBAL_POSITION_INT is inncorect, the GPS_RAW_INT altitude is relative above launch position. According to the MAVLink specification, the GPS_RAW_INT should always read altitude above MSL.
Incorrect GPS_RAW_INT package at a similar time than the incorrect GLOBAL_POSITION_INT:
10:36:14 [DTA]: UAV: 0 - Sat Count: 26 GPS Alt: 1m
Correct GPS_RAW_INT package shortly after receiving a correct GLOBAL_POSITION_INT package:
10:36:20 [DTA]: UAV: 0 - Sat Count: 27 GPS Alt: 883m
Steps to Reproduce
Expected behavior
Expected behaviour is for the GLOBAL_POSITION_INT packages and the GPS_RAW_INT packages to always read the correct data.
Suggested solution(s)
I tried to look at the MAVLink implementation, but I could not find a clear indicator of what could cause this. Is there a flag somewhere that affects the packets that are being sent?
Additional context
Dump:
https://pastebin.com/tm1e04wq
Log-File from my GCS tool were I monitored the issue:
Log-2021-03-04-001.txt
Note: Take-Off is at around 10:16:35 and landing is around 10:38:43.
The first incorrect GLOBAL_POS_INT is received around 10:16:45.
##Version
Best regards,
Jonathan
Beta Was this translation helpful? Give feedback.
All reactions