One of the failings of silver ball was that I never got an accurate hardware in the loop simulator running.
On this project I'm not going to make the same error.
After evaluating a number of possible solutions I've decided to use JSBSim and I've secured the assistance of the
Jon Berndt, Development coordinator and chief architect for the JSBSIM, in getting that done. (I've made an arrangement where he will help me get started for a consulting fee, his time permitting)
One of my questions to him was:
>A details question.... I realize that JSBSim was built to be a flight simulator.
>I'm trying to repurpose it as a rocket simulator....
>Internally you seem to use ECEF coordinates.... I have not dug deep enough to figure out
>if you model the inertial effects of a rotating earth...
>will one see a performance difference between an equatorial launch and aa polar launch?
>If I have a vehicle attached to the surface of the earth will it show the rotation rates of 0, or will it show the
>the rotations rates one would see in an Earth centered inertial frame?
His answer greatly increased my confidence that I made the correct selection...
And, yes, JSBSim had a full overhaul of its EOM many years ago for full and complete EOM. It was the only non-NASA sim used in a large check case development effort that is published here: http://nescacademy.nasa.
The EOM integration takes place in ECI, full rotation effects are factored in and – yes – you would see the benefit from an equatorial launch compared to a higher-latitude launch. It is a full, vehicle simulator that can model anything from a rocket to a ball to a blimp to a sub/supersonic aircraft.
The vehicle sitting on the launch pad should show no Earth relative motion, but should show a translation and rotation relative to inertial. This was one aspect that was compared across NASA sims and JSBSim in the check case effort, and the comparison effort investigated tiny differences to make sure we were all on the same page and using the same Earth rotation rate. At this stage, I am very confident in JSBSim. That’s one nice thing about open source and broad use: the more people use it in different ways, the better the development effort goes, and the more robust the code becomes.
The simulator in general is designed to be data driven via external XML files. So one can model things like autopilot loops etc...I really want this to be a hardware in loop simulator so one of the modifications I'm asking Jon to help me put my c/c++ code into the control loop. Eventually this will entail me taking the current state, simulating the IMU and GPS outputs feeding it into flight avionics and then taking the response from the flight avionics and giving it back to the sim to have it operate on the commanded changes.