Orbiter-Forum  

Go Back   Orbiter-Forum > Far Side of the Moon > Math & Physics
Register Blogs Orbinauts List Social Groups FAQ Projects Mark Forums Read

Math & Physics Mathematical and physical problems of space flight and astronomy.

Reply
 
Thread Tools
Old 12-22-2017, 10:33 AM   #16
Thorsten
Orbinaut
 
Thorsten's Avatar
Default

Quote:
then there is, guaranteed, no legal trouble you would run into developing an Orbiter addon from your code yourself.
Since I am the copyright holder of my own code and it's up to the copyright holder to care for enforcing the license, this would seem self-evident (as long as no other person adds to the code).

But in fact the vision / hope I have is that this goes the piece of other GPL codes and potentially finds other interested developers who contribute bits and pieces, or that it gets used by teachers or even in research environments.

My primary motivation or goal is not to provide an Orbiter addon - it's to supply a planning tool for my FG Space Shuttle project making up for the fact that there's no MCC in the sim with the hope to provide a more generally useful GPL tool. This could be equally useful for Orbiter and I'm happy to share and take feature requests, but not to the point that I license the code such that it can be more easily be used in a closed source environment or allows other developers to take pieces and close them off.

I hope that makes it clear.

Edit: For anyone interested in an overview of licensing questions, here's the human-readable FAQ I've compiled for the Flightgear project:

https://forum.flightgear.org/viewtop...287613#p287614

(the text has been proof-read by several other project members, including FSF members and people who also work in Linux distribution projects, so I believe it is fairly sound)

Last edited by Thorsten; 12-22-2017 at 10:56 AM.
Thorsten is offline   Reply With Quote
Old 12-22-2017, 11:22 AM   #17
Face
Beta Tester
 
Face's Avatar

Default

Quote:
Originally Posted by Thorsten View Post
 This could be equally useful for Orbiter and I'm happy to share and take feature requests, but not to the point that I license the code such that it can be more easily be used in a closed source environment or allows other developers to take pieces and close them off.
Let's say you create an Orbiter addon that links to the OAPI and your code. Now along comes someone with the notion that GPL is not "applicable" to Orbiter addons anyway, so takes your code and uses it in a closed-source Orbiter addon. What would you do?

I think you can't do anything about it but complaining loudly. I think so because I don't trust the community to respect the GPL on addons anymore. After all, no real-world court would accept a lawsuit based on free-to-begin-with software.

Now you can say that it doesn't matter, at least it was used for Orbiter and you don't have to pay for it. But from your explanations, I guess you won't be happy with that.

That's one of the reasons why my advice would be to not touch the OAPI with GPLed software. Keep it separated.
Face is offline   Reply With Quote
Old 12-22-2017, 11:32 AM   #18
Thorsten
Orbinaut
 
Thorsten's Avatar
Default

Quote:
Let's say you create an Orbiter addon that links to the OAPI and your code. Now along comes someone with the notion that GPL is not "applicable" to Orbiter addons anyway, so takes your code and uses it in a closed-source Orbiter addon. What would you do?
The usual chain of escalation: First talk to the person, explaining the license and ask to adhere to it, if that doesn't lead anywhere send a copyright violation note to the server administrator on which the content is located to remove it, and if that doesn't help, write to the FSF, identifying myself as the copyright holder of a GPL-licensed piece of code in need - and they'll look over and if the case is clear, they might do the court proceedings or advise me what to do.

Quote:
After all, no real-world court would accept a lawsuit based on free-to-begin-with software.
That's where you are wrong - generically violating the terms of the GPL is a copyright violation - and in any legal system where there is copyright protection, there's protection for the GPL. There have been several court cases in which this was solidly established.

Also, GPL software is free as in you can always see the source code, but it can be sold (to people who don't compile themselves or coming with extra support or services - Linux is a good example), so there can even be substantial damages for a copyright violation.
Thorsten is offline   Reply With Quote
Old 12-22-2017, 11:48 AM   #19
Face
Beta Tester
 
Face's Avatar

Default

Quote:
Originally Posted by Thorsten View Post
 That's where you are wrong - generically violating the terms of the GPL is a copyright violation - and in any legal system where there is copyright protection, there's protection for the GPL.
Well, in theory, practice and theory are the same. In practice, they are not.
I know that in Austria, no judge would accept an Orbiter addon vs. Orbiter addon case based purely on GPL violations, simply because there is no money involved anywhere. Yeah, we are that materialistic here.

But anyway, it is just an advice. I'll be the first one to applaud a GPL Orbiter addon, and certainly the last one to violate it. Good luck!
Face is offline   Reply With Quote
Old 12-22-2017, 03:51 PM   #20
Thorsten
Orbinaut
 
Thorsten's Avatar
Default

Well, back from legal niceties to orbital stuff - here's another interesting one - a circularization using an ion-thruster (well, conceptually - if I insert realistic thrust, the orbits are too close to plot, though it does run fine...)



The simulation starts out on the periapsis of an eccentric orbit, and the ion thruster fires for an arc around the apoapsis - as a result the periapsis slowly grows. So does the apoapsis, because of course the arc is fairly long, so this is not really an 'at apsis' burn. However, if the threshold is narrowed, the apoapsis growth shrinks as expected (but circularization time grows).

So if anyone has a need for low thrust trajectory simulation, that's going to happen.
Thorsten is offline   Reply With Quote
Thanked by:
Old 12-28-2017, 07:54 AM   #21
Thorsten
Orbinaut
 
Thorsten's Avatar
Default

I have now added the ability to define a rocket engine with a limited propellant quantity and a given ISP which allows some mission planning.

As a proof of concept, I've calculated a geosync insertion using three burns of a liquid propellant 1500 N apogee kick motor.

The scenario starts from a highly eccentric orbit reaching the apogee over the equator with 23 deg inclination (I assume the launcher rocket dropped me into that orbit), and over the next three burns at apogee, the orbit is gradually brought to zero inclination and circularized.

This is a 3d visualization of the orbit (as you can see, my gnuplot-fu has increased somewhat...):



Here's the rather peculiar groundtrack of the trajectory, which creeps to a standstill at the lest-most branch where it touches the equator (as seen in the 3d plot, it actually does a full circular orbit - all concentrated in the end of the groundtrack, so it really gets stationary).



From here it's basically a stationkeeping problem... and we learn how much propellant a given rocket engine needs to park a satellite there.
Thorsten is offline   Reply With Quote
Thanked by:
Old 12-29-2017, 05:54 AM   #22
boogabooga
Bug Crusher
 
boogabooga's Avatar
Default

Thorsten, have you seen this:

https://software.nasa.gov/software/GSC-17177-1
boogabooga is offline   Reply With Quote
Old 12-29-2017, 06:48 AM   #23
Thorsten
Orbinaut
 
Thorsten's Avatar
Default

No - I sort of assumed its existence though, it's too easy and too interesting not to write this kind of stuff, so I can't be the first to have thought of doing it.

Edit: After skimming the manual, I somehow doubt it's an appealing option for the majority of users to quickly compute a de-orbit solution for a Shuttle flight.

Last edited by Thorsten; 12-29-2017 at 07:04 AM.
Thorsten is offline   Reply With Quote
Old 01-10-2018, 06:12 PM   #24
statickid
CatDog from Deimos
 
statickid's Avatar
Default

Here's a surface that closely resembles your ion transfer- its a plot of eccentricities from a given point starting with a circle (the intersecting plane). Just thought you might like it.

statickid is offline   Reply With Quote
Old 01-13-2018, 08:01 AM   #25
Thorsten
Orbinaut
 
Thorsten's Avatar
Default

I've just put v0.2 of the code online - this (among other things) adds the capability to define different spacecraft and rocket engines and contains support for the ion thruster computations.

As usual all can be found on my page and I'll add tutorials for the new functions over the next days.

Enjoy!
Thorsten is offline   Reply With Quote
Thanked by:
Old 01-13-2018, 10:28 AM   #26
Face
Beta Tester
 
Face's Avatar

Default

Windows executable of your 0.2 code: https://snoopie.at/face/beta/leo_targeting.exe

I've tested it with the ion insertion config, resulting in this 3D animated plot:


I've used Python's matplotlib for it like so:
Code:
import matplotlib as mpl
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

mpl.rcParams['legend.fontsize'] = 10

fig = plt.figure()
ax = fig.gca(projection='3d')
f = open("S:\Development\leo_targeting\src\Release\geosync_insertion_ion_3d.dat")
data = zip(*[(float(l.split()[0]),float(l.split()[1]),float(l.split()[2])) for l in f])
f.close()
line, = ax.plot(data[0], data[1], data[2], label='Plot')

def update(num, x, y, z, line):
    line.set_data(x[:num], y[:num])
    line.set_3d_properties(z[:num])
    return line,

ani = animation.FuncAnimation(fig, update, len(data[0]), fargs=[data[0], data[1], data[2], line], interval=1, blit=True)
ax.legend()

plt.show()
Face is offline   Reply With Quote
Thanked by:
Old 01-13-2018, 11:20 AM   #27
Thorsten
Orbinaut
 
Thorsten's Avatar
Default

Thanks - the plot looks about right.

I've just put the windows executable online, and a first tutorial for how to use the spacecraft block has also been added.

Quick question - did you have to still add the extra header, or did I manage this time to eliminate all 'or' and 'and'?
Thorsten is offline   Reply With Quote
Old 01-13-2018, 12:07 PM   #28
Face
Beta Tester
 
Face's Avatar

Default

Quote:
Originally Posted by Thorsten View Post
 Quick question - did you have to still add the extra header, or did I manage this time to eliminate all 'or' and 'and'?
Everything worked out of the box, no tweaking needed this time.
Face is offline   Reply With Quote
Old 01-13-2018, 01:43 PM   #29
Wolf
Donator
 
Wolf's Avatar
Default

Would it be possible to make this an “in game” tool, like an MFD or some aid like those in the Orbiter Utility folder?
Wolf is offline   Reply With Quote
Thanked by:
Old 01-18-2018, 08:09 AM   #30
Thorsten
Orbinaut
 
Thorsten's Avatar
Default

I'm currently adding 3rd body perturbations and have finished the framework to define and instance such bodies yesterday. Now I'm cross-checking the results against analytical, but since I didn't find overly much on detailed plots of lunar perturbations, I've decided I might just as well let a spacecraft orbit the Moon while it moves around Earth and check orbital period against the radius relative to the Moon.

In the course of that, I happened to generate this funny picture - it's how the orbit of a craft orbiting the moon about 1500 km above the surface looks in Earth-centered coordinates.



The small wiggles are the orbits around the Moon and the arc is the movement of the Moon itself.

(so while I originally only wanted to study Earth orbits, this is actually sufficient to investigate a lunar transfer orbit or Lagrange point dynamics just as well...)
Thorsten is offline   Reply With Quote
Reply

  Orbiter-Forum > Far Side of the Moon > Math & Physics


Thread Tools

Posting Rules
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
Forum Jump


All times are GMT. The time now is 11:45 PM.

Quick Links Need Help?


About Us | Rules & Guidelines | TOS Policy | Privacy Policy

Orbiter-Forum is hosted at Orbithangar.com
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Copyright 2007 - 2017, Orbiter-Forum.com. All rights reserved.