Meadville Space Center
Welcome, Guest. Please login or register.
August 14, 2020, 07:10:21 PM

Login with username, password and session length
Search:     Advanced search
Project Apollo Beta 7.0 released!
http://nassp.sf.net/wiki/Installation
25068 Posts in 2094 Topics by 2266 Members
Latest Member: twa517
* Home Help Search Login Register
+  Meadville Space Center
|-+  Project Apollo - NASSP
| |-+  Project Apollo - NASSP Development
| | |-+  Programming (Moderators: movieman, dseagrav, Swatch, lassombra)
| | | |-+  NASSP6.x LM Ascent Autopilot Archive
« previous next »
Pages: [1] 2 Print
Author Topic: NASSP6.x LM Ascent Autopilot Archive  (Read 10028 times)
movieman
Moderator
Hero Member
****
Posts: 1710



View Profile
« on: January 24, 2005, 09:21:09 PM »

Ok, I have the first phase of this (program 10 and 11) basically plugged in and working, and closer to the real Apollo interface. The only real issue I have with it is that it's very frame-rate dependant... at 100fps it works fine, at 10fps it pitches up and down in ever-increasing oscillations until it flips right over and goes out of control: I also had to change the sign of the yaw code to make it turn to the right heading... originally it was starting at 280 degrees and did a 350 degree turn to get to 270 degrees Happy.

I'm not sure what to do about the oscillation problem: I'm guessing that the autopilot needs to hold the pitch rate as well as the pitch.
Logged
Zachstar
Sr. Member
****
Posts: 317

Is it Star Trek?


View Profile
« Reply #1 on: January 24, 2005, 10:24:40 PM »

I dont know if this could help but I knoticed that McDope's and Estars autopilots are the most stable ive used yet.
Logged


-------------------------------------------
Cale
Full Member
***
Posts: 92

cale905@hotmail.com
View Profile Email
« Reply #2 on: January 24, 2005, 11:24:39 PM »

Mark, are you talking about Rodrigo's LM autopilot, or one you configured yourself?  I've tried his beta-2 release, and so far no problems with the orbit, although the launch azimuth control doesn't work. Rolling Eyes

I downloaded the beta-3 source code, but as I don't have a compiler, I think I need the complete module.  Will leave a post for Rodrigo in the main forum to see if he has the module ready for download yet.

In terms of getting all these different programs organized into one downloadable mission package, I'm afraid I won't be able to be of much help due to my programming limitations.  However, I am willing to do both beta-testing and am also willing of doing a complete launch-to-splashdown tutorial (similar to what John Dunn did for the 4.X NASSP series) that could go with the package.  I found John's tutorials to be a HUGE help, so I'd be glad to make a similar contribution for this version. Happy

I could probably get most of it done in the next month once things are more cohesive in the programming dept.  Let me know if you guys want me to do this.

Cheers,

Cale
Logged

"Quarter-million miles from home, diarhhea's nothing to sneeze at". - Chuck Berry

"I know...man, it's gotta smell bad up there" - Chris Kraft
movieman
Moderator
Hero Member
****
Posts: 1710



View Profile
« Reply #3 on: January 25, 2005, 08:11:23 AM »

It gets into orbit OK, the problem is that the RCS thrusters are firing non-stop: the problem may just be that it thrusts far too much in both directions and that's what causes the oscillations if the frame rate gets too low.

My guess is that a real LEM either used a constant pitch rate, or a stepped pitch program, rather than one that changes continuously... certainly it had a lot less processing power available to it than a modern CPU running the timestep program every ten milliseconds!

I'll release the current version as is once I have the final orbit adjustment working, but it will need some rethinking to make it more robust with low frame-rates and time acceleration (100fps at 10x time acceleration will be just as bad as 10fps at 1x).
Logged
movieman
Moderator
Hero Member
****
Posts: 1710



View Profile
« Reply #4 on: January 25, 2005, 11:48:07 AM »

BTW, thanks for volunteering for the tutorial: once the other programs (lunar landing, etc) are integrated that would probably be a good time to write one...
Logged
RMaia
Project Team Member
Full Member
****
Posts: 33



View Profile WWW
« Reply #5 on: January 25, 2005, 11:51:14 AM »

OK, registered here and will this discussion stay here?? No more discussion at the Orbiter forum?? Just to know and avoid having to post 2 times the same thing....

Let's go the LM autopilot then. Yes, I'm afraid it's fps dependant. It adjusts the pitch at every simulation frame. While in the pitching phase, this is OK, because the change is constant. The problem I believe is when the pitching phase is over, and it "locks" at -83 degs. There, if the thrusters are turned off, it will just lose it's orientation and the vertical speed will never get as close to 0 as is possible. So, at every sim frame (timestep le't say), it evaluates the current pitch and calculates the difference from the "ideal" pitch. Then it fires the thrusters in order to correct that pitch. As it changes with every timestep, it fires  the thruster at each time-step. I tried, before adapting this method, to activate the KILLROT navmode at each time step, but it won't work. A possible workaround would be to control the engine gimbal, but wouldn't be historically accurate due to the Ascent Stage engine have no gimballing at all (I'm pretty sure that's the case, but I may be wrong...). For me, it works fine with 10x acc, more it looses control. The real instability problem is the PROG12, the second phase, there if you use time acc, it's going to tumble out of control.

If  working under low fps environments is really desirable, what could be done is instead of adjusting the pitch at every time frame, when the difference sometimes is just 0.0001 degs, it could eavaluate the pitch diference, and if larger than 0.5 degs (or some other number), fire the thtusters to adjust. More or less like the Prograde navmode works. That mode works well even in 100x acc. The code will be a little more complicated, but should be more low fps friendly.

And then there's the possibility to change the pitch control completely. The method I used was devised as the easiest, and not necessarily the most historically accurate. Actually, I don't know how the real ascent profile was, and if someone knows, and it's different  (something I heard of is that they pitched do -54 degs and tried to maintain more or less 50 m/s vertical speed, until the orbit was achieved, was it really this way?), I'd gladly try to implement the most "realistic" one. From there on, we can try to develop more stable ways of controlling the pitch.

An even more ambicious plan would be to implement some kind of orbit orientation which will automatically result in a coplanar orbit with the CSM's orbit. Maybe implementing some of the Align MFD methods (as we don't have direct acces to the code), and trying to insert the LM in an orbit already aligned with the CSM orbit. Maybe I have the ideas for beta4 already outlined... :lol:

movieman,
Now that I finished downloading the A15Delco.pdf file, and took some time to read it, I realise how different my ascent implementation was from the real one. It only resembles the real thing. Maybe, if you want, I can try to rewrite everything to more closely match the real thing, if you haven't already done so. If so, I will develop beta4 from the changes you have made. Let's try to make this thing better and better each day.

Cale,
I have seen you post in the Orbiter forum. Unfortunately, I won't have means of uploading the full beta3 module (together with compatible Sat5_NASP and Sat5_LEVA modules, what will prevent a CTD when extracting the LM from the SIV-B) today. But tomorrow will be OK, then I will upload it. I will let you know.
Logged

Rodrigo Merce Maia

- Sometimes, simplicity is the best answer to complexity.

Physics is FUN!
RMaia
Project Team Member
Full Member
****
Posts: 33



View Profile WWW
« Reply #6 on: January 25, 2005, 11:57:27 AM »

Quote from: movieman

I'll release the current version as is once I have the final orbit adjustment working, but it will need some rethinking to make it more robust with low frame-rates and time acceleration (100fps at 10x time acceleration will be just as bad as 10fps at 1x).


Are you talking about the PROG12 in the LM ascent code?? If so, what problems are you having??
Logged

Rodrigo Merce Maia

- Sometimes, simplicity is the best answer to complexity.

Physics is FUN!
movieman
Moderator
Hero Member
****
Posts: 1710



View Profile
« Reply #7 on: January 25, 2005, 12:00:51 PM »

Quote
it could eavaluate the pitch diference, and if larger than 0.5 degs (or some other number), fire the thtusters to adjust.


I tried that, and with the current code it made things worse: I think again it's probably thrusting too much once it gets far out of orientation... it overcompensates for the misalignment, then overcompensates trying to resolve the overcompensation, and runs off into infinity.

The way I've hooked it in isn't meant to really simulate the program in the Delco manual, but it's supposed to give the feel of the interface without needing to calculate all the data. If you want to do a more realistic version after this one is released, feel free!

Hopefully I can do another release tonight and call it done for the time being so the rest of you can work on it. I have the launch autopilot working with my changes up to the final apogee setting, but the engine doesn't cut off for some reason... I just need to figure out what's wrong there and make sure I haven't broken the other parts of the code.
Logged
RMaia
Project Team Member
Full Member
****
Posts: 33



View Profile WWW
« Reply #8 on: January 25, 2005, 12:07:57 PM »

Quote from: Cale
Mark, are you talking about Rodrigo's LM autopilot, or one you configured yourself?  I've tried his beta-2 release, and so far no problems with the orbit, although the launch azimuth control doesn't work. Rolling Eyes

I downloaded the beta-3 source code, but as I don't have a compiler, I think I need the complete module.  Will leave a post for Rodrigo in the main forum to see if he has the module ready for download yet.

In terms of getting all these different programs organized into one downloadable mission package, I'm afraid I won't be able to be of much help due to my programming limitations.  However, I am willing to do both beta-testing and am also willing of doing a complete launch-to-splashdown tutorial (similar to what John Dunn did for the 4.X NASSP series) that could go with the package.  I found John's tutorials to be a HUGE help, so I'd be glad to make a similar contribution for this version. Happy

I could probably get most of it done in the next month once things are more cohesive in the programming dept.  Let me know if you guys want me to do this.

Cheers,

Cale


Your tutorial idea sounds GREAT!!
It will really be a nice addition to the package, as it's really a bit difficult to figure out for the first timer...
BTW, I'm implementing some more functions in the CSM computer (the generic DeltaV development is going well, I just won't be able to continue it for the next 2 days, but by friday, everything should be back on track) like additional nouns and such. I plan on doing the same on the LM computer, all based on the real thing (yes movieman, the A15Delco.pdf is really an AGC "bible", it's guiding my path as well as bringing inspiration):lol::lol::lol:
After some of them are already implemented, I also plan on writing a reference (not a guide, a reference) manual for the AGC, with description of all it's current functions. Then I belive that with the tutorial, the NCPP/NASSP usage documentation would be complete. Happy  Happy
Logged

Rodrigo Merce Maia

- Sometimes, simplicity is the best answer to complexity.

Physics is FUN!
Cale
Full Member
***
Posts: 92

cale905@hotmail.com
View Profile Email
« Reply #9 on: January 25, 2005, 02:42:30 PM »

Okay,  I'll start working on it ASAP.  I can pretty much do the launch, TLI, some of the lunar orbit manoevers (DOI, rendezvous & TEI) that aren't currently AGC-dependent as a beginning.  I'm going to email John Dunn for permission to reference his tutorial for this updated version.

Rodrigo, with regards to the LM ascent program, I'm not 100% sure of this, but I thought that the historical lunar ascent orbit insertion had different ApD and PeD values than what are programmed in your version.  According to John's tutorial (which extensively reference to the historical mission values), the original orbit values were approximately 15km X 80km.   True, the eccentricity of this type of orbit is greater than your program, but the offsetting benefit is a more favourable fuel reserve to perform the rendezvous with the CSM.  I can email you the tutorial if you want to check it out when I get home from my mid-term exam.  Anyways, just some food for thought.  Mark, since you're doing a parallel project with Program 10/12, let me know if you have any thoughts on this. Wink

Lastly, with regards to using this forum as opposed to the main O6 forum, it seems that the load times for this board is lot faster.  Especially in terms of development, it's probably a better idea to use this one more or less exclusively, and leave the main forum to deal with more general questions about the add-on.

Okay, gotta run.  My Int'l Relations exam is in about ten minutes.  Wish me luck! Shocked

Cheers,

Cale
Logged

"Quarter-million miles from home, diarhhea's nothing to sneeze at". - Chuck Berry

"I know...man, it's gotta smell bad up there" - Chris Kraft
robertsconley65
Administrator
Full Member
*****
Posts: 149


View Profile Email
« Reply #10 on: January 25, 2005, 11:46:07 PM »

Quote from: Zachstar
I dont know if this could help but I knoticed that McDope's and Estars autopilots are the most stable ive used yet.


The trick so far has been controlling rate instead of pitch angle. The atlas autopilot uses this technique.

Rob Conley
Logged
RMaia
Project Team Member
Full Member
****
Posts: 33



View Profile WWW
« Reply #11 on: February 01, 2005, 07:25:19 AM »

Although the development has been slowed down a bit due to some graphic card problems I'm having, which keeps me from testing what I'm doing, it's still going on. I have rewritten the whole auto-pilot code, as well as it's structure, to more accurately reflect the real LM powered ascent program, and I think I finally found a way to work around the control instability problems. But then comes a question. I'm thinking about changing the guidance algorithm too, to reflect the real one which is very different from the one currently implemented. The problem is that it will insert you into a pre-set orbit, which can't be changed much, as the guidance takes into account burntime and injection speed, not injection orbit geometry. So instead of inserting you into a semi-defined orbit, as it currently is (you define the insertion apogee), you wouldn't have much option of insertion geometry, all you would define is the launch azimuth...
Later on, the computer would make the necessary burns to bring the orbit to to final orbit geometry as well as making it as coplanar to the CSM orbit as possible. It's going to be much more historically accurate, as well as a little more complex to use and it would take a little more time to achieve the final target orbit. So I ask, do you want the current guidance system, or the most historically accurate (and a little more difficult to use)??
Logged

Rodrigo Merce Maia

- Sometimes, simplicity is the best answer to complexity.

Physics is FUN!
movieman
Moderator
Hero Member
****
Posts: 1710



View Profile
« Reply #12 on: February 01, 2005, 07:52:55 AM »

My vote goes for more accurate, provided it's flyable in Orbiter by someone with at least half a clue...
Logged
gimp1992
Full Member
***
Posts: 190


View Profile
« Reply #13 on: February 01, 2005, 07:58:12 AM »

I also think you should gowith the more Historic one.
Logged

Joe Brown
Apassi
Full Member
***
Posts: 65


View Profile
« Reply #14 on: February 01, 2005, 08:03:28 AM »

Hi
   
I would like to see the accurate one.

And if you are changing guidance algorithm this might help implement realistic descent autopilot too.. right?
Logged
Pages: [1] 2 Print 
« previous next »
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.10 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!