pioneer icon indicating copy to clipboard operation
pioneer copied to clipboard

autopilot: Sears Citadel / Gliese 674 good chance of not auto docking

Open Cyborgscode opened this issue 5 years ago • 12 comments

Version: 20191009

Travelling between Ross 154 and Gliese 674 a lot, i noticed an above 50% chance of not auto docking at sears station.

The autopilots also takes a VERY low flightpath through the atmosphere of "Harris's Rock" sometimes, taking 25% heat damage or crashing into it.

Cyborgscode avatar Oct 15 '19 09:10 Cyborgscode

Could that be to a lack of skills at piloting? (15)

Cyborgscode avatar Oct 15 '19 10:10 Cyborgscode

Sears Citadel is in a low, high velocity orbit which may be causing trouble. The autopilot would constantly try to adjust the trajectory to keep the velocity vector on the station as it "wobbles" around the planet.

WKFO avatar Oct 15 '19 18:10 WKFO

"wobbles" is a good word for it.. if i where flying i that ship, i would starve to death ;)

Is it possible to fix it?

Cyborgscode avatar Oct 15 '19 19:10 Cyborgscode

I am not expert, but I think the current autopilot has a too simple design - it can barely handle anything other than a brachistochrone transfer.

"Fixing" that could involve a lot of effort and time.

WKFO avatar Oct 15 '19 20:10 WKFO

Yeah, destinations on low orbits can throw a wrench in the autopilot. Once it drank up almost all my propellant, and had to do a rescue with 5% deltaV, including a scooping maneuver. One solution is to target the parent body and instruct the autopilot to fly there, and then switch to your destination after that. But this won't work in all cases either, sometimes you need to watch your position to your target precisely. The more finicky way is to fly manually. It can be a lot of work and hassle, but can be satisfying. Once I was able to do it with like 500m precision, I stopped right at the gate of an orbital station.

bszlrd avatar Oct 16 '19 08:10 bszlrd

We've tried to work this out before but I really don't understand the maths. I mean is there some official way of doing it that's well known that we just don't implement? How do other space games do it?

fluffyfreak avatar Oct 16 '19 19:10 fluffyfreak

i think the math is ok, but sometimes the flightpath makes it necessary to do extra maneuvers and as a result, the docking timer runs out.

A solution would be to call the docking routine, when your <100km of the target and not earlier.

Cyborgscode avatar Oct 16 '19 19:10 Cyborgscode

it's more complex than that, you often burn through fuel needlessly correcting as the station/planet/etc orbit each other. A more competent autopilot solution would predict where the target would be in it's orbit at your time of arrival and you would then fly to that point to meet the station when it arrived there at the same time as you did.

That feels quite complex to me but I bet it could be done iteratively somehow to get to a close-enough approximation.

fluffyfreak avatar Oct 16 '19 19:10 fluffyfreak

To solve the actual problem, a later point in time to make the clearance call would all it takes.

If you wanne write a new autopilot, that also avoids objects in it's way and calculates if it has enough fuel for it, have fun. It will be an interesting coding expirience for sure ;)

Cyborgscode avatar Oct 16 '19 20:10 Cyborgscode

I think we're looking at two separate issues here.

The first issue is the autopilot's ability to navigate to difficult locations (high velocity and small diameter orbits, deep gravity wells, star in the way etc.) leading to ~~crashing into stuff~~ unplanned lithobraking, ~~cooking trumbles~~ atmospheric friction, fuel depletion due to excessive microcorrection etc. I think we all know that the autopilot is fairly lacking in this regard and there are plenty of historical issues to this effect. I'd love for this to be solved, but as has been mentioned, this is programatically hard. I unfortunately cannot contribute any code, but might be able to offer suggestions... e.g. I had a fleeting thought regarding using a reverse Fibonacci sequence to determine the autopilot correction interval. Or even something as basic as 'recalculate destination after you've travelled 30% of the distance of the previous calculation' (which would probably result in the same thing).

The second issue is an expired clearance call. I've experienced this (we probably all have), with a ship left 'hovering' 15km above a spaceport. Not a biggie, you just reselect autopilot, but it's a small inconvenience that is probably not that programatically hard to solve..? I'm not sure how this is handled in the code, but @Cyborgscode's suggestion of initiating the clearance request closer to the spaceport seems like a good place to start.

craigo- avatar Oct 16 '19 21:10 craigo-

Gliese 674 System is another one in actual master 20210123; no problems found to dock with autopilot on Gilbert Commercial Center Spaceport (5 tries).

Bodasey avatar Jan 23 '21 15:01 Bodasey

@Bodasey I appreciate the deluge of bug status updates, but this one is definitely still a thorn in our side even if the precise reproduction case is no longer there.

sturnclaw avatar Jan 23 '21 19:01 sturnclaw