General Question Mission Control Simulation

icedown

New member
Joined
Sep 5, 2011
Messages
115
Reaction score
0
Points
0
We all like to fly our little probes around and there have been attempts at mission control software in the past but they all end up failing at one general point: Why look at it's data when you can be flying it.

I've come up with an idea and I'd like to run it by you guys that know the ins and outs of the SDK a little better to see if it's even possible.

How about running the orbiter in pure server mode, no graphics, real time. have an addon to allow vessel control via scripts, eg lua. and an interface that allows you to see the data. There will be NO direct control link between humans and the vessels. I'm thinking something like a web interface. You plan and script everything from launch to course corrections, even possibly reentry. Vessels like the XR series will require advanced autopilots, and actual rockets will be more of the primary launch vehicles.

I know there are a lot of questions still to be answered in implementation but I'm just wandering if running orbiter like this, just outputting raw data and causing timed burns would be possible. All this done by programming rather then direct intervention.
 

TMac3000

Evil Republican
Joined
Nov 16, 2008
Messages
2,773
Reaction score
0
Points
36
Location
Flying an air liner to the moon
Very interesting idea for Iron Hill/RTI.
Agreed:thumbup:
But alls I need to do is hit Ctrl-I to bring up the data for all space traffic. And if we're in chat, our MCC boss can just instruct people to do what he/she needs them to do. And if we're using Twitch, WAMC can view the results in real time. Otherwise, the person can just post the results of the latest actions in Dropbox. What the OP is talking about sounds more like OMP:)
 

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,403
Reaction score
581
Points
153
Location
Vienna
We all like to fly our little probes around and there have been attempts at mission control software in the past but they all end up failing at one general point: Why look at it's data when you can be flying it.

I've come up with an idea and I'd like to run it by you guys that know the ins and outs of the SDK a little better to see if it's even possible.

How about running the orbiter in pure server mode, no graphics, real time. have an addon to allow vessel control via scripts, eg lua. and an interface that allows you to see the data. There will be NO direct control link between humans and the vessels. I'm thinking something like a web interface. You plan and script everything from launch to course corrections, even possibly reentry. Vessels like the XR series will require advanced autopilots, and actual rockets will be more of the primary launch vehicles.

I know there are a lot of questions still to be answered in implementation but I'm just wandering if running orbiter like this, just outputting raw data and causing timed burns would be possible. All this done by programming rather then direct intervention.

Interesting idea. I'm sure it is possible to do, because I already use a headless Orbiter session as OMP server (where the network is between the "player" and the "simulation"), and just letting the vessel fly on its own is something I do regularly now (to test some features).

The only question I would have for creating such a numbers-only Mission Control Simulation is: why? Why not open Orbiter in window mode, spawn some ExtMFDs, open RemoteControl dialog and hide the Orbiter window again. Then you won't see the graphics, can't control the vessel directly, and have to resort to reading the numbers, hoping for the auto-pilot and maybe do some triggers remotely.

That said, such a system could possibly offer a nice framework for competition-like multiplayer happenings, like e.g. a race to a certain spot on the moon, only by means of sending in a lua script to control a rocket's trajectory. Of course you would have to set some rules (e.g. no state setting, just RCS and thruster controlling, etc.) and make some parameters arbitrary (e.g. no exact timing, just launch windows), but given that it is a lua script, reviewing to have those rules followed should be easier than inspecting a DLL. Results of the race could be presented in reduced graphical form (and numbers, of course) online for all participants to see.

regards,
Face
 

STS

Well-known member
Joined
Feb 1, 2009
Messages
532
Reaction score
274
Points
78
Location
Vigo
Website
orbisondas.es
Look at my Simgroup´s spacestation in realtime (webpage translation with google translator works nice, if you have interest in digging more in the webpage):

http://www.orbisondas.es/index.php/estacion-espacial

It´s using OrbConnect to get the data, and a Orbiter running in a VPS. nobody interacts directly with the station except when the server falls and a slightly time acceleration is required.

So, your idea is really possible.

But it´s different point of view since our idea is to simulate a MCC and yours is a full automatic vessel.

We never flyed a automatic spacecraft without direct interaction, but I have in mind to use UAP for that in near future.

Your idea is really possible! :tiphat:
 
Last edited:

icedown

New member
Joined
Sep 5, 2011
Messages
115
Reaction score
0
Points
0
That said, such a system could possibly offer a nice framework for competition-like multiplayer happenings, like e.g. a race to a certain spot on the moon, only by means of sending in a lua script to control a rocket's trajectory. Of course you would have to set some rules (e.g. no state setting, just RCS and thruster controlling, etc.) and make some parameters arbitrary (e.g. no exact timing, just launch windows), but given that it is a lua script, reviewing to have those rules followed should be easier than inspecting a DLL. Results of the race could be presented in reduced graphical form (and numbers, of course) online for all participants to see.

regards,
Face

That's basically my thought. Have a persistent online server. There would be a website and/or program that you would use to view data from your craft and to upload new software. Exact timing wouldn't be a problem, but it has to be scripted. I'm also considering data delay to due to distance and even outages. The scripting would be strictly for the server, not the lua scripting built into orbiter. No direct interface with the vessels. As close to the real thing as possible.

It would make for interesting competitions. Not really races per say but for precision and efficiency. This would allow for multiple vessels per person and plenty of time planning ahead.

One thing I really hate about orbiter is the scenario editor. It's to tempting to fix screw ups or just restart and skip ahead.

Another interesting limitation would be that all vessels would be build using a spacecraft.dll type of building. Custom dlls would require a server restart. Though I may allow for some type of station keeping scripting.
 
Last edited:

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,403
Reaction score
581
Points
153
Location
Vienna
There would be a website and/or program that you would use to view data from your craft and to upload new software. Exact timing wouldn't be a problem, but it has to be scripted. I'm also considering data delay to due to distance and even outages. The scripting would be strictly for the server, not the lua scripting built into orbiter.

Hm. Coding a scripting engine is not really simple, but I see your point. A DSL would make "cheating" harder than a lua script, but it would take much longer to develop. Allowing lua scripts OTOH would mean human reviewers and would thus not encourage "firmware" uploads (due to time restrictions).

Delay and outages are nice ideas, but I don't think it would be worth the effort to code in delays (already did that in OMP), and outages would mean either a very reduced feature set (say only so much rockets to choose from) for having automatic distribution... or a human supervisor. And a human supervisor could easily be accused of being biased ;) .

As a first prototype, a lua-driven, reviewed "send-your-autopilot" event for a race could work. Too much could make your idea fail too early, and subsequently make people to lose interest in it. And as I see it, your idea makes only sense with more than one person participating. For other cases, the already mentioned solutions (OMP, OrbConnect) are a better fit IMHO.

regards,
Face
 

icedown

New member
Joined
Sep 5, 2011
Messages
115
Reaction score
0
Points
0
What I meant by outages would be like as a craft swings around the other side of the moon from the earth, you would have to have your burn script uploaded prior to signal loss and wouldn't know if it completed successfully until the craft swung around the other side.

But that said, I plan on starting simple. I don't want to compete with OMP, it has it's own place. I'm thinking more of a realistic satellite/probe simulation. What made me think of this was watching a documentary on Spirit/Opportunity. By the time the reentry program data started showing up, the actual landing had long been complete. All they could do is sit there and watch the data as it finally got there.

In OMP you have all of your mfds to constantly help you. You know instantly if your screwing up. They do all these calculations for you. I'm looking for something a little more challenging. Will this appeal to a lot of people, probably not, but I will have fun with it
 

4throck

Enthusiast !
Joined
Jun 19, 2008
Messages
3,502
Reaction score
1,008
Points
153
Location
Lisbon
Website
orbiterspaceport.blogspot.com
What's the difference between the proposed Mission Control automated scripts and a multistage rocket where you press P to launch?

You see, I ended up playing mission control when I was developing the VLS-1 rocket. I launched, saw the resulting Orbiter, tweaked the guidance parameters, launch again, etc, etc...


The novelty here is the communication blackout by being on the other side of the Moon (for example). This could be a nice feature for all spacecraft: no control / switching to when out of sight of control base.
 

icedown

New member
Joined
Sep 5, 2011
Messages
115
Reaction score
0
Points
0
What's the difference between the proposed Mission Control automated scripts and a multistage rocket where you press P to launch?

You see, I ended up playing mission control when I was developing the VLS-1 rocket. I launched, saw the resulting Orbiter, tweaked the guidance parameters, launch again, etc, etc...

Am I missing something?


Yes P can get you to orbit, but what if the target is something beyond a basic orbit. And full autopilots tend to be very cpu intensive. What I'm looking at only allows full autopilot in small short spurts: launch, course corrections and landing.
 

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,403
Reaction score
581
Points
153
Location
Vienna
In OMP you have all of your mfds to constantly help you. You know instantly if your screwing up. They do all these calculations for you. I'm looking for something a little more challenging.

But you do not have to use the MFDs. If you do not use TransX or IMFD, an interplanetary mission is challenging enough, as I often experienced myself in the early days of Orbiter. That's why I mentioned the "just minimize the Orbiter window" scenario.

Nobody stops you from implementing an autopilot, launching the mission, and just watch the show on e.g. ExtMFD with orbit mode. Then stop it, fix your autopilot, continue. You could even make this into a simple bash script.

Will this appeal to a lot of people, probably not, but I will have fun with it

Nobody stops you from implementing your idea, of course. My impression was that you wanted feedback on your idea, especially regarding feasibility of implementation. My opinion is that it is doable, but doesn't make much sense in the standard sandbox single-player mode that is Orbiter.

Making an event out of it, however, is a different thing.
 

icedown

New member
Joined
Sep 5, 2011
Messages
115
Reaction score
0
Points
0
I understand what your saying. My problem tends to be keeping the dang thing running. I've tried that many times. Power outtages, crashes, and other things of that nature tend to cut my missions short. Go to bed and wake up to a freshly booted computer and the last save was hours ago. I'm going to put this on my dedicated server so that isn't a problem. Before the last hardware failure, I had been over 300 days without a reboot. it gives it a stability my home machine lacks.

And don't take what I've said wrong. I'm still trying to define what I'm going to do. Your feed back has brought things to light I hadn't thought about yet.

And on the "don't have to use it" I'm lazy, like the scenario editor. If it's there I'm tempted to use it. That's part of the reasoning for the very strict rule part of it. The other thing is that if you can't just redo it, or pull back up your last save, you'll put a little more effort into doing it right the first time.

---------- Post added at 15:12 ---------- Previous post was at 15:04 ----------

Nobody stops you from implementing your idea, of course. My impression was that you wanted feedback on your idea, especially regarding feasibility of implementation. My opinion is that it is doable, but doesn't make much sense in the standard sandbox single-player mode that is Orbiter.

Making an event out of it, however, is a different thing.

That is one of my main motivations. That way I can "manage" multiple vessels, rather than just flying one. So opening this up to other people is part of my plans. A single persistant world with multiple missions running at once without the need for direct intervention. I drop the next burn program into the site and then go to bed.
 
Last edited:

Black Phoenix

New member
Joined
Dec 8, 2011
Messages
14
Reaction score
0
Points
0
Website
brain.wireos.com
I am working on this. I have already had this running for some time - using an older simulator I wrote. See http://vsfl.wireos.com/ (the simulation server is down at the moment though).

This is a whole new simulation - I've been recently working on the new physics engine and tools to make models. In few words, the plan is to (apart from having a full aerospace simulator) to have a persistent online world, each satellite having internal systems modeled. The simulator and its tools are open source.

This is not related to Orbiter, and all rocket launches would be done from within the online server (although in far future networking capability should allow making launches from other machines - to relieve load from the server).

My previous launches have used X-Plane for launch and then switched over to simulation (the simulator wasn't advanced enough) - I managed to do a couple launches. The rocket and spacecraft used custom guidance software.

If you're interested, I can PM or post here more information. I guess the main information piece is that I store state to disk every couple minutes and MOST of the state can be restored (excluding: state of virtual computers in satellites, and all the digital radio signals that have been flying in space at the moment of failure).

P.S. You can come to Orbiter IRC at #orbiter-forum @ irc.systemnet.info
 

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,403
Reaction score
581
Points
153
Location
Vienna
And on the "don't have to use it" I'm lazy, like the scenario editor. If it's there I'm tempted to use it. That's part of the reasoning for the very strict rule part of it. The other thing is that if you can't just redo it, or pull back up your last save, you'll put a little more effort into doing it right the first time.

I see your point, but forgive me that I don't buy that argument. In the hypothetical case that you suddenly get such a solution out of the blue onto your computer, what will stop you from being like "screw it, this is much too hard, I'll simply start Orbiter and simulate my flight to see if it'll work, only then run it in the 'real' thing"?

Do you know that in the beginnings of Orbiter there was no ScnEditor and no IMFD at all? And one of the first thing people discussed was "hey, what about an MFD mode that helps you plotting your course", or "hey, it would be cool to spawn vessels on the fly instead of having to close the sim and edit a file".

You even have to activate the modules to have those features in your simulation, so if you are really that lazy, do yourself a favor and go ahead deleting the modules from the plugins folder. That way you can't use them anymore and are not tempted to "cheat" your way through the simulation.

Of course that is all tongue in cheek, but I hope you see my point about rejecting the laziness argument.
 
Top