Meadville Space Center Forum Index Meadville Space Center
Know the future through the past
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Virtual AGC
Goto page Previous  1, 2, 3, ... 16, 17, 18  Next
 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    Meadville Space Center Forum Index -> Programming
View previous topic :: View next topic  
Author Message
x15



Joined: 12 Jul 2005
Posts: 63

PostPosted: Sat Aug 13, 2005 7:31 pm    Post subject: Reply with quote

Tschachim wrote:

Ron and I already did a slightly improved version, there was a bug in the MINC and DINC instruction, so that for example the "dirty gravity cheating" you already marked with MUSTFIX is no longer necessary. It's a very small fix, I'll do later.



BTW

what about this bug, is it a fix in the virtual AGC (which has just been updated by Movieman) or do we still need some more fixes
thanks
Back to top
View user's profile Send private message
Tschachim



Joined: 26 Nov 2004
Posts: 1272

PostPosted: Sat Aug 13, 2005 7:37 pm    Post subject: Reply with quote

It's also necessary to change the PulsePIPA function in the IMU: We have to use the CounterPINC/MINC functions of the yaAGC instead of setting the value to the PIPA registers directly. I was still not able to take a look at the current sources, so I don't know if this is fixed, but hopefully I can check it in a few days...

Cheers
Tschachim
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Tschachim



Joined: 26 Nov 2004
Posts: 1272

PostPosted: Sun Aug 14, 2005 5:51 pm    Post subject: Reply with quote

OK, after my hopefully now properly working "LM excursions" I finally was able to try Apollo 11 earth orbit insertation. The basic functionallity of the Virtual AGC was fine, but the AGC orbit parameters were horrible wrong... (negative periapsis altitude -> crashing in the ground Wink )

I'll take a closer look to figure out the problems...

Cheers
Tschachim

PS: I made this topic sticky and removed the Virtual Apollo announcement, I think we can fix the remaining bugs soon and then Virtual Apollo is finally obsolete.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
LazyD



Joined: 10 May 2005
Posts: 406

PostPosted: Mon Aug 15, 2005 9:13 pm    Post subject: Reply with quote

Hi Tschachim & movieman,

I started learning about virtual AGC - now that it is in the LM, I'm really interested.

I have a question you may know the answer to. Can you tell me how the FDAI pitch, roll and yaw angles were defined WRT the local vertical coord system? I want to get it right for the C++ AGC so things will correspond.

After my first look, it seems we will really need some sort of MCC analog for VAGC - even more than we need it now.

This is amazing stuff, running the actual AGC code!

D.
Back to top
View user's profile Send private message Send e-mail
movieman



Joined: 25 Nov 2004
Posts: 1018

PostPosted: Mon Aug 15, 2005 9:40 pm    Post subject: Reply with quote

BTW, there's a bug in the Virtual AGC right now which prevents it running Luminary properly: apparently it's using some obscure undocumented instruction which isn't in Colossus and was never intended to be used in the real world, so no-one's really quite sure what the instruction is meant to do Smile. Hopefully they'll figure it out for the next release.

Also the current version is the Apollo 13 LEM software, so we won't get the '1201' and '1202' alarms when landing Apollo 11: that bug was fixed in this version. We may get the Apollo 11 version later, people are trying to track down a printout.

I never figured out the FDAI stuff myself, so Tschachim is probably a better bet for that one.
Back to top
View user's profile Send private message
Tschachim



Joined: 26 Nov 2004
Posts: 1272

PostPosted: Mon Aug 15, 2005 10:58 pm    Post subject: Reply with quote

You mean EDRUPT as discussed in the mailing list? Yes, hopefully Ron or x15 can fix it soon. AFAIK the fact that x15 gets the bug means he already has enabled the attitude hold mode in the LM... Smile

LazyD, I'm not sure if I understand your question right, if you mean how the LM spacecraft axes are defined, I don't know, but I can dig out some documentation (I'm more a CSM guy), if you like.
In the CSM the FDAI can show the IMU total attitude or the GDC attitude and a couple of other things, but it's no "artificial horizon" showing the pitch, roll and yaw angles like in an aircraft (The IMU uses different Euler angles).

Cheers
Tschachim
Back to top
View user's profile Send private message Send e-mail Visit poster's website
x15



Joined: 12 Jul 2005
Posts: 63

PostPosted: Tue Aug 16, 2005 4:52 pm    Post subject: Reply with quote

D

Have you read this document ?

http://www.ibiblio.org/apollo/NARA-SW/R-567-sec3-rev4.pdf


it is the absolute bible for the lm autopilot design

this link come from the virtual AGC links page (thanks Ron Very Happy )


cheers

x15
Back to top
View user's profile Send private message
LazyD



Joined: 10 May 2005
Posts: 406

PostPosted: Tue Aug 16, 2005 10:45 pm    Post subject: Reply with quote

x15,

Thanks! Now I can make noun 18 display something sensible.

D.
Back to top
View user's profile Send private message Send e-mail
x15



Joined: 12 Jul 2005
Posts: 63

PostPosted: Wed Aug 17, 2005 4:20 pm    Post subject: Reply with quote

I am sorry to inform you that the LM software team is fighting hard to solve the infamous EDRUPT problem but it is not solved at this time.

so I recommend that we fly the next apollo flight to the moon without the LM (given that the LM is too heavy to fly to the moon with two software engineers hidden behind the DSKY)

all my best wishes to the CCSM team (especially Markus and Movieman honorary members of the Courageous CSM devpt team)

Signed :
x15
apprentice member of the proud LLM team (new acronym meaning
Lazy Lunar Module devpt team to pay tribute to our respected "not so lazy" software engineer named D)
Back to top
View user's profile Send private message
Tschachim



Joined: 26 Nov 2004
Posts: 1272

PostPosted: Wed Aug 17, 2005 8:33 pm    Post subject: Reply with quote

x15 wrote:
so I recommend that we fly the next apollo flight to the moon without the LM (given that the LM is too heavy to fly to the moon with two software engineers hidden behind the DSKY)

LOL! Laughing Laughing Laughing

Thanks for your kind words!
And please don't give up, problems like this are normally if you're doing "computer archeology" like this is. It took me 6 month last year to figure out the CSM stuff and most of the time was needed for reading AGC code or pointing out memory locations for pad loads and things like this.
I still hope Ron or Hugh can fix EDRUPT, it's only a matter of time...

BTW: I'm still fixing things to get the CSM stuff running in Project Apollo, but it's looking good, hopefully I can reproduce the "Virtual Apollo" results in a few days and then we can look at the next steps (perhaps the DAP).

Cheers
Tschachim
Back to top
View user's profile Send private message Send e-mail Visit poster's website
LazyD



Joined: 10 May 2005
Posts: 406

PostPosted: Thu Aug 18, 2005 2:23 pm    Post subject: Reply with quote

Tschachim or movieman,

I'm getting a build error for lmpkd - seems the dsky function is short one argument? I don't understand enough C++ to know how to fix it.

D.
Back to top
View user's profile Send private message Send e-mail
movieman



Joined: 25 Nov 2004
Posts: 1018

PostPosted: Thu Aug 18, 2005 2:48 pm    Post subject: Reply with quote

Weird: didn't that change get checked in?

Put '015' as the second parameter and it should all work. Or change the definition to default to 015.

Note that you need the 0 at the start as it's an octal value.
Back to top
View user's profile Send private message
LazyD



Joined: 10 May 2005
Posts: 406

PostPosted: Thu Aug 18, 2005 3:05 pm    Post subject: Reply with quote

movieman, Thanks! That fixed it - I think you meant tthe third parameter?

I'll update it.

D.
Back to top
View user's profile Send private message Send e-mail
x15



Joined: 12 Jul 2005
Posts: 63

PostPosted: Thu Aug 18, 2005 8:24 pm    Post subject: Reply with quote

Tschachim,

I prepare myself to debugging sessions on the virtual AGC in the lem

so I am adding the possibility to work with Ron's YAAGC connected by sockets (because it has a cool source level debugger now)

I have a functional DSKY, but i see some direct access to the agc erasable memory in the IMU part

I know that you are working on it presently, does the new version
work with i/o channels ?(and is it very different from the one in the cvs ?)

thanks

x15
Back to top
View user's profile Send private message
Tschachim



Joined: 26 Nov 2004
Posts: 1272

PostPosted: Fri Aug 19, 2005 2:45 pm    Post subject: Reply with quote

I just committed a couple of small fixes regarding the Virtual AGC integration (Config, Textures, Scenarios and Source folder). I had only to do very small fixes, movieman did already a great job integrating this stuff! Smile Smile

* Lamp test (V35) is fixed, the RESTART and STBY lights are controlled by the test alarm bit of channel 013 in that case.

* The KEY REL and OP ERR lights are now flashing like the real thing.

* Releasing the PRO key was buggy.

* I fixed the missing display element on the DSKY, now only the bitmaps for the pressed keys are missing (Moonwalker... ?)

* I did the right FDAI, it only displays IMU total attitude at the moment.

* I disabled the "AGC cycle limitation" in ApolloGuidance::GenericTimestep for the moment, because if I have a long timestep during test flights and the cycles get limited, the AGC loses time synchronisation and everything is messed up. Movieman, if you really want to have that in, we should perhaps do a scenario file flag for that?

* I did a warning using DebugString in case you forgot to enable nonspherical gravity sources because this is necessary for the Virtual AGC and not settable by code.

* I changed the IMU cage switch slightly: After the IMU is turned on by disabling caging it's working like the real IMU switch and just cages the IMU (instead of turning it off). Hopefully Moonwalker will do panel 100, then we could use the correct G/N power switch...

* In debug configuration the IMU logs it's status in "ProjectApollo IMU.log". This is important for me because of testing.

* The Virtual AGC scenarios are now in a subfolder and use a different earth which has a slightly different size, because the AGC calculates with pad radius instead of mean radius. These scenarios already uses Orbiterfan's new KSC, but the mesh alignment is messed up at the moment. Hopefully we get the new and better ML/LUT soon, then we can fix this.

* The IMU now uses the new fictitious channels 0174-0177.

* PIPA pulsing now uses the MINC/DINC instructions by using the UnprogrammedIncrement function, this fixes the -0/1 transitions in 1's-complement arithmetic.

x15, if you want to use the socket interface, you have to foreward the received data to IMU::ChannelOutput and to change ApolloGuidance::PulsePIPA so that it uses the TCP connection instead of calling UnprogrammedIncrement directly. And you have to change IMU::DriveGimbal so that it uses MCDU/PCDU via UnprogrammedIncrement and the TCP connection instead of changing the erasable memory directly, then it should work with a standalone AGC.

BTW: I still cannot hear the DSKY click sound, did you already commit your change?


* The perhaps biggest fix is in the AGC itself because of coarse align, the Virtual AGC mailing list people know what I mean. I committed my fix in agc_engine.c until Ron released a new version with his solution of that problem.


Using the Virtual Apollo instructions (but the new IMU power on) I get quite good results. I'll do some further testing and post the results of earth orbit insertation soon.

But I noticed something strange: After SII/SIVB separation the LV begins to roll, do we have a guidance problem with the IU? I had no time to check the non-Virtual AGC mode with nonspherical gravity sources disabled.

But I'll be on vacation next week so I had to hurry a little bit, hopefully I didn't mess up anything. And since I won't have much internet access on vacation, I'll continue with the ECS and try to understand the water-gycol cooling, so movieman and x15: The Virtual AGC/DSKY are yours again!

Cheers
Tschachim
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    Meadville Space Center Forum Index -> Programming All times are GMT
Goto page Previous  1, 2, 3, ... 16, 17, 18  Next
Page 2 of 18

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group