ArduPilot / ArduPilot/MissionPlanner

log-to-waypoint extraction creates extra missions

Open
#1,718 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
C#
Stars
2.4k
Forks
2.9k
Avg merge
19h 16m
Merged PRs (30d)
4

Description

when I analyze a plane log I usually "create KML+gpx" to get the param and waypoints file(s). However, there are always extra tiny missions in the log. This is part autopilot problem, part parser problem.

The whole goal is to get to the mission that flew in th elog. i understand that multiple missions coudl be uploaded, and flown, so the potential to get messy is there, but we should at least try to clean it up a little.

Desired behavior:
- don't extract partial or useless missions that only last a few seconds
- first logname is always the boot-up mission, say so in the filename
- log filename is appended with _armed.binXwp.txt if the aircraft was armed while that mission was in memory.

(begin rant)
I'll explain how it looks we'll see where the parser can get smarter and where the autopilot can get less dumb.
1) As a mission is uploaded, for every single mission item that gets added we get a log entry of (for example):
`PARM, 131979548, MIS_TOTAL, 12`

2) on boot the currently stored mission gets dumped out and it starts with:
`MSG, 131979649, New mission`

3) on every full mission that is received we get:
` MSG, 131979590, Flight plan received`

4) when home changes, the home in the mission changes (generates an extra mission file)

So, for example, this particular log I'm looking at has the string counts:
3 = "New mission"
2 = "Flight plan received" (always comes before "New mission" when a new one is uploaded)
35 = "MIS_TOTAL" (including the 1 from the initial boot-up param dump)
but it dumped out 5 binxwp.txt files.
One of the "Flight Plan Received" ones was empty, contained a single waypoint index 0 (home).
There was only 1 uploaded mission which was flown

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce “create KML+gpx” with a representative plane log, then inspect how the parser groups “New mission”, “Flight plan received”, MIS_TOTAL, and home-change entries. Done means partial or useless missions are omitted, the boot-up mission is identified in its filename, and armed missions receive the requested suffix.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.