MechJeb2

MechJeb2

4M Downloads

Landing Guidance feature: Don't land on top of other ships

henrybauer opened this issue ยท 10 comments

commented

When choosing an existing landed ship as the landing target, Landing Guidance lands on top of it. This is not good for the base or the lander, and I wind up manually landing nearby using Translatron and Smart A.S.S.

This was not previously a problem, because Landing Guidance wasn't as accurate and would only get within about 200m or so.. but Landing Guidance is much more accurate these days.
A workaround is to plant a flag nearby and aim for the flag instead of the base, but this adds clutter to my save file.

One fix would be to add an option for "minimum distance" from the target. I could put in 100m, and then Landing Guidance could try to land at the target + 100m in any direction. Or really, it would stop optimizing once the predicted landing site was 100m from the target.

A more complex fix would be to set that minimum distance automatically. Get the bounding box for landing target and figure out a minimum safe radius, and do the same for the lander, then add those numbers. If the bounding boxes are only available in physics range, MechJeb could do some caching - when a landed ship is in range, calculate the minimum safe radius when leaving the scene, and store it. Then when using that ship as a landing target, retrieve that minimum safe radius from storage and use it in the calculation.

commented

I like your definition of simple...

commented

what does anything important mean? a rock isn't important but could wreck the ship, exactly what algorithm describes what should be avoided?

rather better to have the option automatically hit a hover at X altitude then manually re-position the ship, once done then set the vertical hold to (say) -2 and land.... this allows the most intelligent asset to make the over sight decision and the least intelligent to do the difficult but detailed work...

commented

@RealKolago the logic necessary for your "land nearby" button is what I described in the more complex option.

@chriscamacho you want an automatic option to switch to manual control? It seems like if you're sitting there in front of the keyboard, ready to take control, you could just do that manually. Nothing against such an option, but it seems like it's against the spirit of a totally automated landing.

I want the landing to be fully automated, so that I can go off and make a sandwich, and when I come back my ship is sitting next to my base, not on top of it. :)

commented

I'd love switch to translation at altitude x.... Option

commented

Or a simple button "land nearby"

commented

Exactly what does "nearby" mean? On top of the rocky outcrop next to the target?

commented

"nearby" means don't hit anything important :-)

commented

... what could possibly go wrong.... ;)

commented

@henrybauer by the time you have switched the translatron on, you've probably crashed, you've NOT described ANY kind of algorithm or set of rules they would determine what "land nearby" means in terms of code - to be sure you'd need to do multiple collision tests with the physics engine (which might not be possible depending how its used) what you're asking is FAR more complex than you realise... 9/10 you'll come back from your sandwich to discover a disaster....

commented

There, you can now move the landing coordinate by 10m. If you need something more complex feel free to write a pull request.