Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  INFLIGHT_ALIGNMENT_ROUTINES.agc  Sprache: unbekannt

 
# Copyright: Public domain.
# Filename: INFLIGHT_ALIGNMENT_ROUTINES.agc
# Purpose:  Part of the source code for Luminary 1A build 099.
# It is part of the source code for the Lunar Module's (LM)
# Apollo Guidance Computer (AGC), for Apollo 11.
# Assembler: yaYUL
# Contact: Ron Burkey <info@sandroid.org>.
# Website: www.ibiblio.org/apollo.
# Pages: 1249-1258
# Mod history: 2009-05-26 RSB Adapted from the corresponding
# Luminary131 file, using page
# images from Luminary 1A.
#
# This source code has been transcribed or otherwise adapted from
# digitized images of a hardcopy from the MIT Museum.  The digitization
# was performed by Paul Fjeld, and arranged for by Deborah Douglas of
# the Museum.  Many thanks to both.  The images (with suitable reduction
# in storage size and consequent reduction in image quality as well) are
# available online at www.ibiblio.org/apollo.  If for some reason you
# find that the images are illegible, contact me at info@sandroid.org
# about getting access to the (much) higher-quality images which Paul
# actually created.
#
# Notations on the hardcopy document read, in part:
#
# Assemble revision 001 of AGC program LMY99 by NASA 2021112-061
# 16:27 JULY 14, 1969

# Page 1249
  BANK 22
  SETLOC INFLIGHT
  BANK

  EBANK= XSM

# CALCGTA COMPUTES THE GYRO TORQUE ANGLES REQUIRED TO BRING THE STABLE MEMBER INTO THE DESIRED ORIENTATION.
#
# THE INPUT IS THE DESIRED STABLE MEMBER COORDINATES REFERRED TO PRESENT STABLE MEMBER COORDINATES.  THE THREE
# HALF-UNIT VECTORS ARE STORED AT XDC, YDC, AND ZDC.
#
# THE OUTPUTS ARE THE THREE GYRO TORQUE ANGLES TO BE APPLIED TO THE Y, Z, AND X GYROS AND ARE STORED DP AT IGC,
# MGC, AND OGC RESPECTIVELY.

  COUNT* $$/INFLT
CALCGTA  ITA DLOAD  # PUSHDOWN 00-03, 16D-27D, 34D-37D
   S2  # XDC = (XD1 XD2 XD3)
   XDC  # YDC = (YD1 YD2 YD3)
  PDDL PDDL  # ZDC = (ZD1 ZD2 ZD3)
   HI6ZEROS
   XDC  +4
  DCOMP VDEF
  UNIT
  STODL ZPRIME  # ZP = UNIT(-XD3 0 XD1) = (ZP1 ZP2 ZP3)
   ZPRIME

  SR1
  STODL SINTH  # SIN(IGC) = ZP1
   ZPRIME  +4
  SR1
  STCALL COSTH  # COS(IGC) = ZP3
   ARCTRIG

  STODL IGC  # Y GYRO TORQUING ANGLE   FRACTION OF REV.
   XDC  +2
  SR1
  STODL SINTH  # SIN(MGC) = XD2
   ZPRIME

  DMP PDDL
   XDC  +4 # PD00 = (ZP1)(XD3)
   ZPRIME  +4

  DMP DSU
   XDC  # MPAC = (ZP3)(XD1)
  STADR
  STCALL COSTH  # COS(MGC) = MPAC - PD00
   ARCTRIG
# Page 1250
  STOVL MGC  # Z GYRO TORQUING ANGLE   FRACTION OF REV.
   ZPRIME
  DOT
   ZDC
  STOVL COSTH  # COS(OGC) = ZP . ZDC
   ZPRIME
  DOT
   YDC
  STCALL SINTH  # SIN(OGC) = ZP . YDC
   ARCTRIG

  STCALL OGC  # X GYRO TORQUING ANGLE   FRACTION OF REV.
   S2

# Page 1251
# ARCTRIG COMPUTES AN ANGLE GIVEN THE SINE AND COSINE OF THIS ANGLE.
#
# THE INPUTS ARE SIN/4 AND COS/4 STORED DP AT SINTH AND COSTH.
#
# THE OUTPUT IS THE CALCULATED ANGLE BETWEEN +.5 AND -.5 REVOLUTIONS AND STORED AT THETA.  THE OUTPUT IS ALSO
# AVAILABLE AT MPAC.

ARCTRIG  DLOAD ABS  # PUSHDOWN  16D-21D
   SINTH
  DSU BMN
   QTSN45  # ABS(SIN/4) - SIN(45)/4
   TRIG1  # IF (-45,45) OR (135,-135)

  DLOAD SL1  # (45,135) OR (-135,-45)
   COSTH
  ACOS SIGN
   SINTH
  STORE THETA  # X = ARCCOS(COS) WITH SIGN(SIN)
  RVQ

TRIG1  DLOAD SL1  # (-45,45) OR (135,-135)
   SINTH
  ASIN
  STODL THETA  # X = ARCSIN(SIN) WITH SIGN(SIN)
   COSTH
  BMN
   TRIG2  # IF (135,-135)

  DLOAD RVQ
   THETA  # X = ARCSIN(SIN)   (-45,45)

TRIG2  DLOAD SIGN  # (135,-135)
   HIDPHALF
   SINTH
  DSU
   THETA
  STORE THETA  # X = .5 WITH SIGN(SIN) - ARCSIN(SIN)
  RVQ   # (+) - (+) OR (-) - (-)

# Page 1252
# SMNB, NBSM, AND AXISROT, WHICH USED TO APPEAR HERE, HAVE BEEN
# COMBINED IN A ROUTINE CALLED AX*SR*T, WHICH APPEARS AMONG THE POWERED
# FLIGHT SUBROUTINES.

# Page 1253
# CALCGA COMPUTES THE CDU DRIVING ANGLES REQUIRED TO BRING THE STABLE MEMBER INTO THE DESIRED ORIENTATION.
#
# THE INPUTS ARE  1) THE NAVIGATION BASE COORDINATES REFERRED TO ANY COORDINATE SYSTEM.  THE THREE HALF-UNIT
# VECTORS ARE STORED AT XNB, YNB, AND ZNB.  2) THE DESIRED STABLE MEMBER COORDINATES REFERRED TO THE SAME
# COORDINATE SYSTEM ARE STORED AT XSM, YSM, AND ZSM.
#
# THE OUTPUTS ARE THE THREE CDU DRIVING ANGLES AND ARE STORED SP AT THETAD, THETAD +1, AND THETAD +2.

CALCGA  SETPD   # PUSHDOWN 00-05, 16D-21D, 34D-37D
   0
  VLOAD VXV
   XNB  # XNB = OGA (OUTER GIMBAL AXIS)
   YSM  # YSM = IGA (INNER GIMBAL AXIS)
  UNIT PUSH  # PD0 = UNIT(OGA X IGA) = MGA

  DOT ITA
   ZNB
   S2
  STOVL COSTH  # COS(OG) = MGA . ZNB
   0
  DOT
   YNB
  STCALL SINTH  # SIN(OG) = MGA . YNB
   ARCTRIG
  STOVL OGC
   0

  VXV DOT  # PROVISION FOR MG ANGLE OF 90 DEGREES
   XNB
   YSM
  SL1
  STOVL COSTH  # COS(MG) = IGA . (MGA X OGA)
   YSM
  DOT
   XNB
  STCALL SINTH  # SIN(MG) = IGA . OGA
   ARCTRIG
  STORE MGC

  ABS DSU
   .166...
  BPL
   GIMLOCK1 # IF ANGLE GREATER THAN 60 DEGREES

CALCGA1  VLOAD DOT
   ZSM
   0
  STOVL COSTH  # COS(IG) = ZSM . MGA
   XSM
# Page 1254
  DOT STADR
  STCALL SINTH  # SIN(IG) = XSM . MGA
   ARCTRIG

  STOVL IGC
   OGC
  RTB
   V1STO2S
  STCALL THETAD
   S2

GIMLOCK1 EXIT
  TC ALARM
  OCT 00401
  TC UPFLAG  # GIMBAL LOCK HAS OCCURRED
  ADRES GLOKFAIL

  TC INTPRET
  GOTO
   CALCGA1

# Page 1255
# AXISGEN COMPUTES THE COORDINATES OF ONE COORDINATE SYSTEM REFERRED TO ANOTHER COORDINATE SYSTEM.
#
# THE INPUTS ARE  1) THE STAR1 VECTOR REFERRED TO COORDINATE SYSTEM A STORED AT STARAD.  2) THE STAR2 VECTOR
# REFERRED TO COORDINATE SYSTEM A STORED AT STARAD +6.  3) THE STAR1 VECTOR REFERRED TO COORDINATE SYSTEM B STORED
# AT LOCATION 6 OF THE VAC AREA.  4) THE STAR2 VECTOR REFERRED TO COORDINATE SYSTEM B STORED AT LOCATION 12D OF
# THE VAC AREA.
#
# THE OUTPUT DEFINES COORDINATE SYSTEM A REFERRED TO COORDINATE SYSTEM B.  THE THREE HALF-UNIT VECTORS ARE STORED
# AT LOCATIONS XDC, XDC +6, XDC +12D, AND STARAD, STARAD +6, STARAD +12D.

AXISGEN  AXT,1 SSP  # PUSHDOWN 00-30D, 34D-37D
   STARAD  +6
   S1
   STARAD  -6

  SETPD
   0
AXISGEN1 VLOAD* VXV*  # 06D UA = S1
   STARAD  +12D,1 # STARAD +00D UB = S1
   STARAD  +18D,1
  UNIT   # 12D VA = UNIT(S1 X S2)
  STORE STARAD  +18D,1 # STARAD +06D VB = UNIT(S1 X S2)
  VLOAD*
   STARAD  +12D,1

  VXV* VSL1
   STARAD  +18D,1 # 18D WA = UA X VA
  STORE STARAD  +24D,1 # STARAD +12D WB = UB X VB

  TIX,1
   AXISGEN1

  AXC,1 SXA,1
   6
   30D

  AXT,1 SSP
   18D
   S1
   6

  AXT,2 SSP
   6
   S2
   2

AXISGEN2 XCHX,1 VLOAD*
   30D  # X1=-6 X2=+6 X1=-6 X2=+4 X1=-6 X2=+2
   0,1

# Page 1256
  VXSC* PDVL*  # J=(UA)(UB1) J=(UA)(UB2) J=(UA)(UB3)
   STARAD  +6,2
   6,1
  VXSC*
   STARAD  +12D,2
  STOVL* 24D  # K=(VA)(VB1) J=(VA)(VB2) J=(VA)(VB3)
   12D,1

  VXSC* VAD
   STARAD  +18D,2 # L=(WA)(WB1) J=(WA)(WB2) J=(WA)(WB3)
  VAD VSL1
   24D
  XCHX,1 UNIT
   30D
  STORE XDC  +18D,1 # XDC = L+J+K YDC = L+J+K ZDC = L+J+K

  TIX,1
   AXISGEN3

AXISGEN3 TIX,2
   AXISGEN2

  VLOAD
   XDC
  STOVL STARAD
   YDC
  STOVL STARAD  +6
   ZDC
  STORE STARAD  +12D

  RVQ

# Page 1257
QTSN45  2DEC .1768

.166...  2DEC .1666666667

# Page 1258 (empty page)


Messung
CHZG
100100100100

[Dauer der Verarbeitung: 0.13 Sekunden, vorverarbeitet 2026-11-01]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1104839
#Domains=499078