inav-configurator icon indicating copy to clipboard operation
inav-configurator copied to clipboard

[Mission Planner] new features development

Open ArnoTlse opened this issue 4 years ago • 46 comments

Hi,

I am currently planning working on those topics related to Mission planner tab in Inav Configurator :

DONE :

  • [x] All waypoint type : [DONE] : see related PR #1231 and old PR #1173
  • [x] Safe Home : [DONE] add Safe Home settings menu to manage and plot safe home point accessible through a similar button on the map as settings. : see related PR #1231 and issue #1182
  • [x] WP insertion : [DONE] add ability to insert a waypoint in existing mission by clicking on the branch where user wants to insert new point : see related PR #1231
  • [x] loaded mwp filename display : [DONE] see #1267 : display the mission filename loaded in the GUI.
  • [x] INAV new sea level datum option : [DONE] see #1267 : refer to inav #6662
  • [x] Distance Computation : [DONE] cf PR #1267 & #1231 : limitation issue on Distance displayed. Distance does not take into account JUMP loop correctly. Action to solve it.
  • [x] change action saving for Alt and Speed : [DONE] see #1267 : save change once value is change and not when user hit enter.
  • [x] Elevation + altitude mission profile : [see PR #1299 ] display elevation + altitude mission profile on a 2D plot
  • [x] Add WP number in the Edit WP box : [see PR #1299 ]
  • [x] Differentiate Jump Forward and Backward : Change line style for Jump line depending on a forward or backward condition [see PR #1299 ]

On-GOING :

batch 1 target Eo March 2022:

  • [x] mission load on boot : #1270 : add toggle in mission planner to switch on/off auto load on boot
  • [ ] clear a mission on FC : Add a dedicated button to clear mission from FC (upload a single RTH mission)
  • [ ] improve mission status : #1270 : improve mission status display to let user know if there is a mission already in Eeprom or in fc volatile memory
  • [x] RTH option readability : [Under Devpt for Next PR] make set RTH more comprehensive in the non geo marker options
  • [ ] Fly By Home WP management (cf #6920)
  • [x] Add "centre on safehome" button : cf #1311
  • [ ] lon/lat copy or paste with keyboard bug correction : cf #1311
  • [x] Show the "landing" radius : cf #1311
  • [ ] clarify mission validity status : change naming of the icon mission validity to clarify that the mission has been loaded to FC or Eprom and add a new icon about the validity of the mission itself. Cf #1000 request
  • [ ] unit choice as an option : cf #1428

batch 2 target end of july 2022:

  • [ ] connect to airspace area limitation : to display zones with ceilings depending on the national regulation (first draft on France with geoportail api)
  • [ ] mission play : [currently under devlpt] ability to play a mission, i.e having a vehicle icon moving on the mission taking into account POI, SET HEAD, JUMP

TO DO LIST :

  • [ ] Mission pattern template : add mission pattern template such circular, rectangular, scanning with options to modify size and number of WP
  • [ ] mission planner telemetry : ability to plot live or differed telemetry (GPS position, alt, speed and heading at least ) on mission planner. For live telemetry, I would like to be able to extract telemetry data of my taranis xlite through BT and send it to Inav configurator mission planner tab. Hope this is feasible in Inav Configurator? I know thanks to @DzikuVx video we can read live telemetry Data from opentx radio to a telemetry app.
  • [ ] 3D Blackbox mission display : display Blackbox missions on 3d map
  • [ ] multi mission option : related to #6765 inav PR
  • [ ] Overlaying WP : add ability to select underlaying WP when several WP are on the same coordinates (cf #1231)
  • [ ] POI out of WP numbering : Add a specific counter for POI to avoid counting them as GEO-Nav WP. (cf #1231)
  • [ ] On the fly WP Mission Planner telemetry feedback on configurator (cf #6967)

I will update this issue each time a feature is developed.

Arno

ArnoTlse avatar Feb 27 '21 08:02 ArnoTlse

Awesome. All are great, but the safehomes setting would be very useful, even for people who don't fly missions.

MrD-RC avatar Mar 30 '21 19:03 MrD-RC

Fantastic!! All those updates will be awesome. Thanks Arno!

CertainBot avatar Apr 19 '21 10:04 CertainBot

Is it me or is there no button to save the waypoint altitude and speed anymore? Iirc there used to be a button for this, but now I can only save the changes by using the return key. Was this changed?

avsaase avatar Apr 28 '21 14:04 avsaase

Is it me or is there no button to save the waypoint altitude and speed anymore? Iirc there used to be a button for this, but now I can only save the changes by using the return key. Was this changed?

Hi,

yes, I've removed the save button to simplify the integration of Optional Non geo-point, as adding/removing/modifying the non geo-point table is automatically saved now. Thus a Save button would have done the action twice.

Arno

ArnoTlse avatar Apr 28 '21 18:04 ArnoTlse

Okay, that makes sense, but can you also make the changes to the WP altitude and speed save automatically? It doesn't say anywhere that hitting return saves the WP, I only found out accidentally. There is also no feedback that it actually saved. This would be fine if it always saved immediately.

avsaase avatar Apr 28 '21 19:04 avsaase

Just had a play with the new Mission Control which is looking great. A few things I noted in the latest version were :

  1. It's possible to set an intermediary WP as RTH which isn't possible any more, it can only be the last WP.
  2. RTH landing is set by changing the P1 value. Is there an intention to make this more intuitive than knowing to set P1 = 1 ?
  3. Map doesn't focus in on a newly loaded mission leaving you having to zoom out to find it
  4. Would be good if the loaded filename was displayed somewhere

Still a work in progress so I'm sure most of the above are just pending finding the time.

Just need to get absolute (true) altitude datums (https://github.com/iNavFlight/inav/pull/6662) added into the mix and INAV missions will be highly configurable.

Edit: forgot about support for previous versions of INAV which do allow multiple RTHs in a single mission. So scrub comment 1) above.

breadoven avatar Apr 28 '21 22:04 breadoven

Okay, that makes sense, but can you also make the changes to the WP altitude and speed save automatically? It doesn't say anywhere that hitting return saves the WP, I only found out accidentally. There is also no feedback that it actually saved. This would be fine if it always saved immediately.

Hi,

Yes sure, I can change it in this way. I'll put it in my todo list in the next PR.

Arno

ArnoTlse avatar May 04 '21 21:05 ArnoTlse

Just had a play with the new Mission Control which is looking great. A few things I noted in the latest version were :

  1. It's possible to set an intermediary WP as RTH which isn't possible any more, it can only be the last WP.
  2. RTH landing is set by changing the P1 value. Is there an intention to make this more intuitive than knowing to set P1 = 1 ?
  3. Map doesn't focus in on a newly loaded mission leaving you having to zoom out to find it
  4. Would be good if the loaded filename was displayed somewhere

Still a work in progress so I'm sure most of the above are just pending finding the time.

Just need to get absolute (true) altitude datums (iNavFlight/inav#6662) added into the mix and INAV missions will be highly configurable.

Edit: forgot about support for previous versions of INAV which do allow multiple RTHs in a single mission. So scrub comment 1) above.

Hi @breadoven

Thanks for the feedback. I'll take note about the points you mention. I try to have a look on it for the next PR. For the focus in issue, when the pb occurs? It is when you have already a mission loaded and you want to reload another one or at the first loading? Is it from mwp files or from FC/EPROM loading or both?

Arno

ArnoTlse avatar May 04 '21 21:05 ArnoTlse

hi @breadoven ,

On the third point you mention on Map not focusing, I'm not able to reproduce it. When I load a new file, the Map focuses automatically to the first WP. Can you provide me more information on your issue ?

Arno

ArnoTlse avatar May 06 '21 19:05 ArnoTlse

hi @breadoven ,

On the third point you mention on Map not focusing, I'm not able to reproduce it. When I load a new file, the Map focuses automatically to the first WP. Can you provide me more information on your issue ?

Arno

You're right. Loading a mission file works OK. It's actually loading a mission from EEPROM that doesn't auto focus.

breadoven avatar May 06 '21 21:05 breadoven

Ok, I have found the issue for EPROM map focus. I have corrected it. I will push it with the other things (filename display, WP speed & Alt on the fly change, Distance computation with Jump).

Arno

ArnoTlse avatar May 06 '21 23:05 ArnoTlse

Hi @breadoven ,

on the iNavFlight/inav#6662 topic, just to be sure, the P3 parameter to be set for indicating reference from Take-off level or Sea-level is only intended to be used for Non-Geo point, ie Waypoint, Land & PositionHold ?

Arno

ArnoTlse avatar May 08 '21 17:05 ArnoTlse

Correct Arno, the absolute datum is just for geospatial WPs, so Waypoint, Land & PositionHold, i.e. those with an altitude setting. (I assume you meant geospatial rather than Non Geo ?).

Is there any intention of pulling in ground elevation heights from the web to be shown for each WP ? Would be useful in the long run.

breadoven avatar May 08 '21 18:05 breadoven

I have added the P3 interface for Altitude reference like that :

image

ArnoTlse avatar May 08 '21 18:05 ArnoTlse

Correct Arno, the absolute datum is just for geospatial WPs, so Waypoint, Land & PositionHold, i.e. those with an altitude setting. (I assume you meant geospatial rather than Non Geo ?).

Is there any intention of pulling in ground elevation heights from the web to be shown for each WP ? Would be useful in the long run.

Ok, thanks. I have added your point for "elevation" in the ToDo list. It could be interesting to display it as well, sure. I will figure out how to do it.

Arno

ArnoTlse avatar May 08 '21 18:05 ArnoTlse

Correct Arno, the absolute datum is just for geospatial WPs, so Waypoint, Land & PositionHold, i.e. those with an altitude setting. (I assume you meant geospatial rather than Non Geo ?). Is there any intention of pulling in ground elevation heights from the web to be shown for each WP ? Would be useful in the long run.

Ok, thanks. I have added your point for "elevation" in the ToDo list. It could be interesting to display it as well, sure. I will figure out how to do it.

Arno

I've been using https://www.opentopodata.org/ Arno. Don't know if this is suitable for INAV or not. I'm sure there are better sources of DEM data.

breadoven avatar May 12 '21 12:05 breadoven

Correct Arno, the absolute datum is just for geospatial WPs, so Waypoint, Land & PositionHold, i.e. those with an altitude setting. (I assume you meant geospatial rather than Non Geo ?). Is there any intention of pulling in ground elevation heights from the web to be shown for each WP ? Would be useful in the long run.

Ok, thanks. I have added your point for "elevation" in the ToDo list. It could be interesting to display it as well, sure. I will figure out how to do it. Arno

I've been using https://www.opentopodata.org/ Arno. Don't know if this is suitable for INAV or not. I'm sure there are better sources of DEM data.

FYI, mwp is using Bing elevations for its inav 3.0 absolute <=> relative / landing altitude / terrain analysis / clearance features. Whilst it's a closed source, it provides excellent global coverage with the usage / performance issues that some of more open DEM provides have. In any case, to use the configurator's mission planning, Bing is pretty much a requirement anyway (same API key for tiles and elevations).

stronnag avatar May 12 '21 12:05 stronnag

@ArnoTlse I noticed that the Wait time isn't displayed unless the mission data is entered via the CLI. Would you consider adding it to this interface; for more simplicity of use?

mc

rts18 avatar May 13 '21 07:05 rts18

Correct Arno, the absolute datum is just for geospatial WPs, so Waypoint, Land & PositionHold, i.e. those with an altitude setting. (I assume you meant geospatial rather than Non Geo ?). Is there any intention of pulling in ground elevation heights from the web to be shown for each WP ? Would be useful in the long run.

Ok, thanks. I have added your point for "elevation" in the ToDo list. It could be interesting to display it as well, sure. I will figure out how to do it. Arno

I've been using https://www.opentopodata.org/ Arno. Don't know if this is suitable for INAV or not. I'm sure there are better sources of DEM data.

FYI, mwp is using Bing elevations for its inav 3.0 absolute <=> relative / landing altitude / terrain analysis / clearance features. Whilst it's a closed source, it provides excellent global coverage with the usage / performance issues that some of more open DEM provides have. In any case, to use the configurator's mission planning, Bing is pretty much a requirement anyway (same API key for tiles and elevations).

Hi @breadoven, hi @stronnag,

OK, thanks for the feedback. I have a quick look at both sources. Bing is already usable through the map Proxy features, so I guess using elevation from it should be done adapting the existing code for Bing api. I have not use already Bing, but it is the opportunity to do so. However, I wonder also if Google map api could also be used?

ArnoTlse avatar May 13 '21 11:05 ArnoTlse

@ArnoTlse I noticed that the Wait time isn't displayed unless the mission data is entered via the CLI. Would you consider adding it to this interface; for more simplicity of use?

mc

Hi @rts18,

Thanks for the feedback. In the version I have in dev for the next PR coming soon (I try to finish the algorithm to compute mission distance taking into account Jump), this is already corrected.

Arno

ArnoTlse avatar May 13 '21 11:05 ArnoTlse

However, I wonder also if Google map api could also be used?

The Google licensing is rather more problematic compared to the other sources. Bing is easy; simple JSON api, no real world usage restrictions. Beats me why there is not just a product key rather than forcing the user to get one; a number of open source tools have embedded Bing API keys, with, I would anticipate many more users that the Configurator.

stronnag avatar May 13 '21 11:05 stronnag

However, I wonder also if Google map api could also be used?

The Google licensing is rather more problematic compared to the other sources. Bing is easy; simple JSON api, no real world usage restrictions. Beats me why there is not just a product key rather than forcing the user to get one; a number of open source tools have embedded Bing API keys, with, I would anticipate many more users that the Configurator.

OK, I will look first at Bing solution as it is already in place for the tiles. I see that it uses Rest API to request the elevation using lon, lat coordinate un WGS84 Referential (ellipsoid). So, it seems I have to write a send/receive request function and extract the info from the receive JSON to display elevation on the GUI. Just to confirm, in Inav Firmware, the altitude datum is intended to be reference to Geoid SEA level reference not the ellipsoid WGS84?

I have also to figure out the resolution, to see if I can display a plot of the elevation under the mission path at a certain sampling and not only for each waypoint.

Another question on a different topic, according to jump repeat : is a repeat equal to 0 is equivalent to have no jump in fact, or does it mean that the jump is done once only?

ArnoTlse avatar May 13 '21 13:05 ArnoTlse

I see that it uses Rest API to request the elevation using lon, lat coordinate un WGS84 Referential (ellipsoid). So, it seems I have to write a send/receive request function and extract the info from the receive JSON to display elevation on the GUI. Just to confirm, in Inav Firmware, the altitude datum is intended to be reference to Geoid SEA level reference not the ellipsoid WGS84?

In inav, as all altitudes are ultimately from the GPS, hence they are WGS84 ellipsoid.

I have also to figure out the resolution, to see if I can display a plot of the elevation under the mission path at a certain sampling and not only for each waypoint.

Depends on location,but typically 30m, Bing allows you 1024 locations in a single request. mwp terrain analysis requests the lesser of 1024 and "distance_metres"/30, where "distance_metres" ignores jumps because its too confusing to view on an elevation plot (for me at least).

Another question on a different topic, according to jump repeat : is a repeat equal to 0 is equivalent to have no jump in fact, or does it mean that the jump is done once only?

No jump.

stronnag avatar May 13 '21 14:05 stronnag

OK thanks. So it is worth I ask it. From this inav PR , I have understood that It was Sea level reference (geoid) and not WGS84 (ellipsoid). Thus, it was a misunderstanding from my side. I'll request the elevation in WGS84 so.

I wonder on the jump case for elevation, if you do not take them into account to avoid displaying similar branch several times, how do you plot the elevation on the jump branch to rally the jump target? This branch can be useful to display at least no?

ArnoTlse avatar May 13 '21 14:05 ArnoTlse

OK thanks. So it is worth I ask it. From this inav PR , I have understood that It was Sea level reference (geoid) and not WGS84 (ellipsoid). Thus, it was a misunderstanding from my side. I'll request the elevation in WGS84 so.

Just terminology I think; it's impossible for inav to know the local geoid MSL.

I wonder on the jump case for elevation, if you do not take them into account to avoid displaying similar branch several times, how do you plot the elevation on the jump branch to rally the jump target? This branch can be useful to display at least no?

It would be useful, perhaps confusing and I'll have needed to do much more work in order to only display each jump once. Sure, possible, maybe one day, but for now a "ToDo".

stronnag avatar May 13 '21 14:05 stronnag

@ArnoTlse first of all, WOW man! You are doing an amazing job updating and upgrading the mission control! I have recently played with it and have a couple of suggestions over what is already done.

  • would be nice to have different lines showed on the map for backward JUMPs (wp5 to wp3) opposed to forward JUMPs (wp3 to wp5) eg: the current magenta dashed line for one direction and double dashed line for the opposite direction. This came up on a recent quite convoluted test mission I did where later on I had a hard time to find the forward JUMP when all jumps had the same line representation.
  • on the Edit point window would be useful to have the number of the point being currently edited, eg: "Edit point 8"

Thanks for the hard work! :-)

CertainBot avatar May 18 '21 20:05 CertainBot

Hi,

here is a first draw of the Elevation at WP level extracted from Bing Map API. The elevation is updated once the WP Sea Level ref is toggled and when the WP is moved (update only done when mouse action is up to avoid requesting to many times BING Elevation as there is a limitation per year of Bing request). If Bing not selected, Elevation is set to NA.

image

I am now working on the Elevation profile + mission altitude profile plot underneath the Map. Elevation plot will be available by similar button as default settings. Dedicated icon will come.

Arno

ArnoTlse avatar May 19 '21 20:05 ArnoTlse

@ArnoTlse first of all, WOW man! You are doing an amazing job updating and upgrading the mission control! I have recently played with it and have a couple of suggestions over what is already done.

  • would be nice to have different lines showed on the map for backward JUMPs (wp5 to wp3) opposed to forward JUMPs (wp3 to wp5) eg: the current magenta dashed line for one direction and double dashed line for the opposite direction. This came up on a recent quite convoluted test mission I did where later on I had a hard time to find the forward JUMP when all jumps had the same line representation.
  • on the Edit point window would be useful to have the number of the point being currently edited, eg: "Edit point 8"

Thanks for the hard work! :-)

Hi @Mateyhv ,

Thanks a lot for your feedback. It has been also possible thanks to the expertise and advises from Stronnag. I take the point on your suggestions. It is something I can put in the next PR I think.

Edit : It is already done for the Number display beside Edit WP text.

image

Arno

ArnoTlse avatar May 19 '21 20:05 ArnoTlse

Hi,

Here will be the differentiation for Forward vs backward Jump. I have put some arrows to indicate direction of Jump.

image

image

Arno

ArnoTlse avatar May 26 '21 21:05 ArnoTlse

Thanks @ArnoTlse ! Much easier to understand whats going on :-)

CertainBot avatar May 27 '21 09:05 CertainBot