Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
Cyborgscode opened this issue Oct 15, 2019 · 10 comments

Comments

@Cyborgscode
Copy link

@Cyborgscode Cyborgscode commented Oct 15, 2019

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

This comment has been minimized.

Copy link
Author

@Cyborgscode Cyborgscode commented Oct 15, 2019

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

@WKFO

This comment has been minimized.

Copy link
Contributor

@WKFO WKFO commented Oct 15, 2019

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.

@Cyborgscode

This comment has been minimized.

Copy link
Author

@Cyborgscode Cyborgscode commented Oct 15, 2019

"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?

@WKFO

This comment has been minimized.

Copy link
Contributor

@WKFO WKFO commented Oct 15, 2019

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.

@nozmajner

This comment has been minimized.

Copy link
Contributor

@nozmajner nozmajner commented Oct 16, 2019

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.

@fluffyfreak

This comment has been minimized.

Copy link
Contributor

@fluffyfreak fluffyfreak commented Oct 16, 2019

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?

@Cyborgscode

This comment has been minimized.

Copy link
Author

@Cyborgscode Cyborgscode commented Oct 16, 2019

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.

@fluffyfreak

This comment has been minimized.

Copy link
Contributor

@fluffyfreak fluffyfreak commented Oct 16, 2019

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.

@Cyborgscode

This comment has been minimized.

Copy link
Author

@Cyborgscode Cyborgscode commented Oct 16, 2019

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 ;)

@craigo-

This comment has been minimized.

Copy link
Contributor

@craigo- craigo- commented Oct 16, 2019

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants
You can’t perform that action at this time.