Reorganized files to separate Luminary099 source code from Comanche055 source code
This commit is contained in:
499
Comanche055/AUTOMATIC_MANEUVERS.s
Normal file
499
Comanche055/AUTOMATIC_MANEUVERS.s
Normal file
@ -0,0 +1,499 @@
|
||||
# Copyright: Public domain.
|
||||
# Filename: AUTOMATIC_MANEUVERS.agc
|
||||
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Ron Burkey <info@sandroid.org>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Pages: 1025-1036
|
||||
# Mod history: 2009-05-13 RSB Adapted from the Colossus249/ file of the
|
||||
# same name, using Comanche055 page images.
|
||||
#
|
||||
# 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 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. 10:28 APR. 1, 1969
|
||||
#
|
||||
# This AGC program shall also be referred to as
|
||||
# Colossus 2A
|
||||
|
||||
# Page 1025
|
||||
BANK 21
|
||||
SETLOC DAPS3
|
||||
BANK
|
||||
|
||||
COUNT 21/DAPAM
|
||||
|
||||
EBANK= KMPAC
|
||||
AHFNOROT EXTEND
|
||||
READ CHAN31
|
||||
MASK BIT14
|
||||
EXTEND
|
||||
BZMF FREECONT
|
||||
CA RCSFLAGS # SEE IF RATE FILTER HAS BEEN INITIALIZED
|
||||
MASK BIT14
|
||||
CCS A # IF SO, PROCEED WITH ATTITUDE CONTROL
|
||||
TCF REINIT # IF NOT, RECYCLE TO INITIALIZE FILTER
|
||||
# AUTOMATIC CONTROL YET
|
||||
EXTEND
|
||||
READ CHAN31
|
||||
MASK BIT13
|
||||
EXTEND
|
||||
BZMF HOLDFUNC
|
||||
|
||||
AUTOCONT CA HOLDFLAG # IF HOLDFLAG IS +, GO TO GRABANG.
|
||||
EXTEND # OTHERWISE, GO TO ATTHOLD.
|
||||
BZMF ATTHOLD
|
||||
TCF GRABANG
|
||||
|
||||
# MINIMUM IMPULSE CONTROL
|
||||
|
||||
FREECONT CAF ONE
|
||||
TS HOLDFLAG # RESET HOLDFLAG
|
||||
# INHIBIT AUTOMATIC STEERING
|
||||
EXTEND
|
||||
READ CHAN32
|
||||
TS L
|
||||
COM
|
||||
MASK MANROT
|
||||
MASK CHANTEMP
|
||||
LXCH CHANTEMP
|
||||
TC STICKCHK
|
||||
INDEX RMANNDX
|
||||
CA MINTAU # MINTAU +0
|
||||
TS TAU # +1 +14MS MINIMUM IMPULSE
|
||||
INDEX PMANNDX # +2 -14MS TIME
|
||||
CA MINTAU # +3 +0
|
||||
TS TAU1
|
||||
INDEX YMANNDX
|
||||
CA MINTAU
|
||||
# Page 1026
|
||||
TS TAU2
|
||||
TCF T6PROGM
|
||||
|
||||
MINTAU DEC 0
|
||||
DEC 23 # = 14MS
|
||||
DEC -23 # = -14MS
|
||||
DEC 0
|
||||
|
||||
# Page 1027
|
||||
# CALCULATION OF ATTITUDE ERRORS:
|
||||
# _ * _ _ _
|
||||
# AK = AMGB (CDUX - THETADX) + BIAS
|
||||
#
|
||||
# I.E., *AK * * 1 SIN(PSI) 0 ** CDUX - THETADX * *BIAS *
|
||||
# * * * ** * * *
|
||||
# *AK1* = * 0 COS(PSI)COS(PHI) SIN(PHI)** CDUY - THETADY * + *BIAS1*
|
||||
# * * * ** * * *
|
||||
# *AK2* * 0 -COS(PSI)SIN(PHI) COS(PHI)** CDUZ - THETADZ * *BIAS2*
|
||||
#
|
||||
# THE BIASES ARE ADDED ONLY WHILE PERFORMING AUTOMATIC MANEUVERS (ESP KALCMANU) TO PROVIDE ADDITIONAL LEAD
|
||||
# AND PREVENT OVERSHOOT WHEN STARTING AN AUTOMATIC MANEUVER. NORMALLY THE REQUIRED LEAD IS ONLY 1-2 DEGREES.
|
||||
# BUT DURING HIGH RATE MANEUVERS IT CAN BE AS MUCH AS 7 DEGREES. THE BIASES ARE COMPUTED BY KALCMANU AND REMAIN
|
||||
# FIXED UNTIL THE MANEUVER IS COMPLETED AT WHICH TIME THEY ARE RESET TO ZERO.
|
||||
|
||||
ATTHOLD CA CDUX
|
||||
EXTEND
|
||||
MSU THETADX
|
||||
TS ERRORX
|
||||
CA CDUY
|
||||
EXTEND
|
||||
MSU THETADY
|
||||
TS T5TEMP
|
||||
EXTEND
|
||||
MP AMGB1
|
||||
ADS ERRORX
|
||||
CA T5TEMP
|
||||
EXTEND
|
||||
MP AMGB4
|
||||
TS ERRORY
|
||||
CA T5TEMP
|
||||
EXTEND
|
||||
MP AMGB7
|
||||
TS ERRORZ
|
||||
CA CDUZ
|
||||
EXTEND
|
||||
MSU THETADZ
|
||||
TS T5TEMP
|
||||
EXTEND
|
||||
MP AMGB5
|
||||
ADS ERRORY
|
||||
CA T5TEMP
|
||||
EXTEND
|
||||
MP AMGB8
|
||||
ADS ERRORZ
|
||||
CS HOLDFLAG
|
||||
EXTEND
|
||||
# Page 1028
|
||||
BZMF JETS
|
||||
CA BIAS # AD BIASES ONLY IF PERFORMING AUTOMATIC
|
||||
ADS ERRORX
|
||||
CA BIAS1
|
||||
ADS ERRORY
|
||||
CA BIAS2
|
||||
ADS ERRORZ
|
||||
TCF JETS
|
||||
|
||||
HOLDFUNC CCS HOLDFLAG
|
||||
TCF +3
|
||||
TCF ATTHOLD
|
||||
TCF +1
|
||||
GRABANG CAF ZERO # ZERO WBODYS AND BIASES
|
||||
TS WBODY
|
||||
TS WBODY +1
|
||||
TS WBODY1
|
||||
TS WBODY1 +1
|
||||
TS WBODY2
|
||||
TS WBODY2 +1
|
||||
TS BIAS
|
||||
TS BIAS1
|
||||
TS BIAS2
|
||||
|
||||
CA RCSFLAGS
|
||||
MASK OCT16000
|
||||
EXTEND # IS RATE DAMPING COMPLETED
|
||||
BZF ENDDAMP # IF SO, GO TO ENDDAMP
|
||||
CAF ZERO # OTHERWISE, ZERO ERRORS
|
||||
TS ERRORX
|
||||
TS ERRORY
|
||||
TS ERRORZ
|
||||
TCF JETS
|
||||
|
||||
ENDDAMP TS HOLDFLAG # SET HOLDFLAG +0
|
||||
EXTEND
|
||||
DCA CDUX # PICK UP CDU ANGLES FOR ATTITUDE HOLD
|
||||
DXCH THETADX # REFERENCES
|
||||
CA CDUZ
|
||||
TS THETADZ
|
||||
TCF ATTHOLD
|
||||
|
||||
# Page 1029
|
||||
# JET SWITCHING LOGIC AND CALCULATION OF REQUIRED ROTATION COMMANDS
|
||||
#
|
||||
# DETERMINE THE LOCATION OF THE RATE ERROR AND THE ATTITUDE ERROR RELATIVE TO THE SWITCHING LOGIC IN THE PHASE
|
||||
# PLANE.
|
||||
#
|
||||
# COMPUTE THE CHANGE IN RATE CORRESPONDING TO THE ATTITUDE ERROR NECESSARY TO DRIVE THE S/C INTO THE
|
||||
# APPROPRIATE DEADZONE.
|
||||
#
|
||||
# .
|
||||
# R22 RATE . ERROR
|
||||
# WL+H .
|
||||
# ********************************* . ***** SWITCH LINES ENCLOSING DEADZONES
|
||||
# R23 WL * .
|
||||
# ----------------------------------* . ----- DESIRED RATE LINES
|
||||
# R23 WL-H - *.
|
||||
# ****************** - . R20, R21, R22, ETC REGIONS IN PHASE
|
||||
# * - .* R18 R20 R21 PLANE FOF COMPUTING DESIRED RESPONSE
|
||||
# * . *
|
||||
# *- . *
|
||||
# R22 R24*- R23 . *
|
||||
# * . *
|
||||
# * . *
|
||||
# + -ADB . * AF ATTITUDE
|
||||
# ........................+--+---------------+--+........................
|
||||
# AF * . +ADB + ERROR
|
||||
# * . *
|
||||
# * . -*
|
||||
# * . -*
|
||||
# * . -*
|
||||
# * . *
|
||||
# *. - *
|
||||
# . - *****************
|
||||
# .*-
|
||||
# . * --------------------------------
|
||||
# .
|
||||
# .
|
||||
# FIG. 1 PHASE PLANE SWITCHING LOGIC
|
||||
#
|
||||
# CONSTANTS FOR JET SWITCHING LOGIC
|
||||
|
||||
WLH/SLOP DEC .00463 # = WL+H/SLOPE = .83333 DEG $180
|
||||
WL-H/SLP DEC .00277 # = WL-H/SLOPE = .5 DEG $180
|
||||
WLH 2DEC .0011111111 # = WL+H = 0.5 DEG/SEC $450
|
||||
|
||||
WLMH 2DEC .0006666666 # = WL-H = 0.3 DEG/SEC $450
|
||||
|
||||
WL 2DEC .0008888888 # = WL = 0.4 DEG/SEC $450
|
||||
|
||||
# Page 1030
|
||||
SLOPE2 DEC .32 # = 0.8 DEG/SEC/DEG $450/180
|
||||
JETS CA ADB
|
||||
AD FOUR # AF = FLAT REGION = .044 DEG
|
||||
TS T5TEMP # ADB+AF
|
||||
CAF TWO
|
||||
JLOOP TS SPNDX
|
||||
DOUBLE
|
||||
TS DPNDX
|
||||
EXTEND
|
||||
INDEX A
|
||||
DCA ADOT
|
||||
DXCH EDOT
|
||||
CA HOLDFLAG # HOLDFLAG = +0 MEANS THAT DAP IS IN
|
||||
EXTEND # ATTITUDE HOLD AND RATE DAMPING IS OVER.
|
||||
BZF INHOLD # IF THIS IS THE CASE, BYPASS ADDITION
|
||||
# OF WBODY AND GO TO INHOLD
|
||||
EXTEND
|
||||
INDEX DPNDX
|
||||
DCS WBODY
|
||||
DAS EDOT # = ADOT-WBODY
|
||||
INHOLD INDEX SPNDX
|
||||
CA ERRORX
|
||||
TS AERR # AERR = BIAS + AK
|
||||
|
||||
CCS EDOT
|
||||
TCF POSVEL
|
||||
TCF SIGNCK1
|
||||
TCF NEGVEL
|
||||
SIGNCK1 CCS EDOT +1
|
||||
TCF POSVEL
|
||||
TCF POSVEL
|
||||
TCF NEGVEL
|
||||
TCF NEGVEL
|
||||
POSVEL EXTEND
|
||||
DCA EDOT
|
||||
DXCH EDOTVEL
|
||||
CA T5TEMP
|
||||
TS ADBVEL # +(ADB+AF)
|
||||
CA AERR
|
||||
TS AERRVEL
|
||||
TC J6.
|
||||
NEGVEL EXTEND
|
||||
DCS EDOT
|
||||
DXCH EDOTVEL
|
||||
CS T5TEMP
|
||||
TS ADBVEL # -(ADB+AF)
|
||||
CS AERR
|
||||
TS AERRVEL
|
||||
|
||||
J6. EXTEND
|
||||
# Page 1031
|
||||
SU ADB
|
||||
AD WLH/SLOP
|
||||
EXTEND
|
||||
BZMF J8
|
||||
|
||||
CS T5TEMP # (ADB+AF)
|
||||
AD AERRVEL
|
||||
EXTEND
|
||||
BZMF +2
|
||||
TCF J7
|
||||
EXTEND
|
||||
DCS EDOTVEL
|
||||
EXTEND
|
||||
DV SLOPE
|
||||
EXTEND
|
||||
SU AERRVEL
|
||||
AD ADB
|
||||
EXTEND
|
||||
BZMF J18
|
||||
TCF J23
|
||||
|
||||
J7 CS WL-H/SLP
|
||||
EXTEND
|
||||
SU T5TEMP # (ADB+AF)
|
||||
AD AERRVEL
|
||||
EXTEND
|
||||
BZMF J20
|
||||
TCF J21
|
||||
|
||||
J8 EXTEND
|
||||
DCS WLH
|
||||
DXCH WTEMP
|
||||
EXTEND
|
||||
DCA EDOTVEL
|
||||
DAS WTEMP
|
||||
CCS WTEMP
|
||||
TCF J22
|
||||
TCF SIGNCK2
|
||||
TCF NJ22
|
||||
SIGNCK2 CCS WTEMP +1
|
||||
TCF J22
|
||||
TCF J22
|
||||
TCF NJ22
|
||||
|
||||
NJ22 EXTEND
|
||||
DCA EDOTVEL
|
||||
EXTEND
|
||||
DV SLOPE
|
||||
AD T5TEMP # (ADB+AF)
|
||||
AD AERRVEL
|
||||
# Page 1032
|
||||
CCS A
|
||||
TCF J23
|
||||
TCF J23
|
||||
TCF +2
|
||||
TCF J23
|
||||
|
||||
EXTEND
|
||||
DCS WLMH # WL - H
|
||||
DXCH WTEMP
|
||||
EXTEND
|
||||
DCA EDOTVEL
|
||||
DAS WTEMP
|
||||
CCS WTEMP
|
||||
TCF J23
|
||||
TCF SIGNCK3
|
||||
TCF NJ23
|
||||
SIGNCK3 CCS WTEMP +1
|
||||
TCF J23
|
||||
TCF J23
|
||||
TCF NJ23
|
||||
|
||||
NJ23 CA AERRVEL
|
||||
AD T5TEMP # (ADB+AF)
|
||||
AD WL-H/SLP
|
||||
CCS A
|
||||
TCF J24
|
||||
TCF J24
|
||||
TCF J22
|
||||
TCF J22
|
||||
|
||||
J18 EXTEND
|
||||
DCS EDOT
|
||||
DXCH KMPAC
|
||||
TCF JTIME
|
||||
|
||||
J20 CS AERR
|
||||
AD ADBVEL
|
||||
EXTEND
|
||||
MP SLOPE2 # (HYSTERESIS SLOPE)
|
||||
DXCH KMPAC
|
||||
EXTEND
|
||||
DCS EDOT
|
||||
DAS KMPAC
|
||||
TCF JTIME
|
||||
|
||||
J21 CCS EDOT
|
||||
TCF JP
|
||||
TCF SIGNCK4
|
||||
TCF JN
|
||||
SIGNCK4 CCS EDOT +1
|
||||
# Page 1033
|
||||
TCF JP
|
||||
TCF JP
|
||||
TCF JN
|
||||
JN EXTEND
|
||||
DCS EDOT
|
||||
DXCH KMPAC
|
||||
EXTEND
|
||||
DCA WL
|
||||
DAS KMPAC
|
||||
TCF JTIME
|
||||
|
||||
JP EXTEND
|
||||
DCS EDOT
|
||||
DXCH KMPAC
|
||||
EXTEND
|
||||
DCS WL
|
||||
DAS KMPAC
|
||||
TCF JTIME
|
||||
|
||||
J22 CCS EDOT
|
||||
TCF JN
|
||||
TCF SIGNCK5
|
||||
TCF JP
|
||||
SIGNCK5 CCS EDOT +1
|
||||
TCF JN
|
||||
TCF JN
|
||||
TCF JP
|
||||
TCF JP
|
||||
|
||||
J23 INDEX SPNDX
|
||||
CS BIT13 # RESET RATE DAMPING FLAG
|
||||
MASK RCSFLAGS # BIT13 FOR ROLL (SPNDX = 0)
|
||||
TS RCSFLAGS # BIT12 FOR PITCH (SPNDX = 1)
|
||||
# BIT11 FOR YAW (SPNDX = 2)
|
||||
|
||||
INDEX SPNDX
|
||||
CAF OCT01400 # IS THERE TO BE A FORCED FIRING ON THIS
|
||||
MASK RCSFLAGS # AXIS
|
||||
EXTEND
|
||||
BZF DOJET +2 # NO, GO TO DOJET +2 AND DO NOTHING
|
||||
|
||||
TCF J18 # YES, GO TO J18 AND FORCE A FIRING
|
||||
|
||||
J24 CS AERR
|
||||
EXTEND
|
||||
SU ADBVEL
|
||||
EXTEND
|
||||
MP SLOPE2 # (HYSTERESIS SLOPE)
|
||||
DXCH KMPAC
|
||||
EXTEND
|
||||
# Page 1034
|
||||
DCS EDOT
|
||||
DAS KMPAC
|
||||
|
||||
# Page 1035
|
||||
# COMPUTE THE JET ON TIME NECESSARY TO ACCOMPLISH THE DESIRED CHANGE IN RATE, I.E.,
|
||||
#
|
||||
# T = J/M(DELTA W)
|
||||
# J
|
||||
#
|
||||
# DELTA W = DESIRED CHANGE IN S/C ANGULAR RATE AS DETERMINED BY THE
|
||||
# SWITCHING LOGIC, AT THIS POINT STORED IN KMPAC.
|
||||
#
|
||||
# J/M = S/C INERTIA TO TORQUE RATIO SCALED BY
|
||||
# (57.3/450)(B24/1600)(1/.8)
|
||||
# FOR 1 JET OPERATION (M = 700 FT-LB).
|
||||
# I.E., J/M = J(SLUG-FTFT) x 0.00000085601606
|
||||
#
|
||||
# THE CORRESPONDING COMPUTER VARIABLES ESTABLISHED BY
|
||||
# KEYBOARD ENTRY ARE
|
||||
# J/M (ROLL)
|
||||
# J/M1 (PITCH)
|
||||
# J/M2 (YAW)
|
||||
#
|
||||
# T = JET-ON TIME SCALED 16384/1600 SEC
|
||||
# J
|
||||
#
|
||||
# THE COMPUTER VARIABLES ARE
|
||||
# TAU (ROLL)
|
||||
# TAU1 (PITCH)
|
||||
# TAU2 (YAW)
|
||||
|
||||
JTIME INDEX SPNDX # PICK UP S/C INERTIA/TORQUE RATIO
|
||||
CA J/M # SCALED (57.3/450)(B24/1600)
|
||||
TC SMALLMP # FOR 1-JET OPERATION
|
||||
CA BIT11
|
||||
TC SMALLMP
|
||||
CCS KMPAC
|
||||
TCF +4
|
||||
TCF TAUNORM
|
||||
TCF +4
|
||||
TCF TAUNORM
|
||||
CA POSMAX
|
||||
TCF DOJET
|
||||
CA NEGMAX
|
||||
TCF DOJET
|
||||
|
||||
TAUNORM CA KMPAC +1
|
||||
DOJET INDEX SPNDX
|
||||
TS TAU
|
||||
CCS SPNDX
|
||||
TCF JLOOP
|
||||
TCF T6PROG
|
||||
|
||||
# Page 1036
|
||||
ZEROCMDS CAF ZERO
|
||||
TS TAU
|
||||
TS TAU1
|
||||
TS TAU2
|
||||
T6PROG EXTEND # WHEN THE ROTATION COMMANDS (TAUS)
|
||||
DCA JETADDR # HAVE BEEN DETERINED
|
||||
DXCH T5LOC # RESET T5LOC FOR PHASE3
|
||||
TCF RESUME
|
||||
|
||||
EBANK= KMPAC
|
||||
JETADDR 2CADR JETSLECT
|
||||
|
Reference in New Issue
Block a user