GIMBAL_LOCK_AVOIDANCE.agc
### FILE="Main.annotation"
## Copyright: Public domain.
## Filename: GIMBAL_LOCK_AVOIDANCE.agc
## Purpose: Part of the source code for Artemis (i.e., Colossus 3),
## build 072. This is for the Command Module's (CM)
## Apollo Guidance Computer (AGC), for
## Apollo 15-17.
## Assembler: yaYUL
## Contact: Sergio Navarro <sergionavarrog@gmail.com>
## Website: www.ibiblio.org/apollo/index.html
## Page Scans: www.ibiblio.org/apollo/ScansForConversion/Artemis072/
## Mod history: 2009-08-19 SN Adapted from corresponding Comanche 055 file.
## 2009-09-04 JL Minor changes.
## 2010-02-20 RSB Un-##'d this header.
## 2017-02-05 RSB Proofed comment text by diff'ing vs Comanche 55
## but no differences found.
## Page 416
SETLOC KALCMON1
BANK
COUNT* $$/KALC
EBANK= BCDU
# DETECTING GIMBAL LOCK
LOCSKIRT EQUALS WCALC
WCALC LXC,1 DLOAD*
RATEINDX
ARATE,1
SR4 CALL # COMPUTE THE INCREMENTAL ROTATION MATRIX
DELCOMP # DEL CORRESPONDING TO A 1 SEC ROTATION
# ABOUT COF
DLOAD* VXSC
ARATE,1
COF
MXV
QUADROT
STODL BRATE
AM
DMP DDV*
ANGLTIME
ARATE,1
SR
5
STORE TM
BON VLOAD
CYC61FLG
RCYCLR61
BRATE
VXSC
BIASCALE
STORE BIASTEMP # ATTITUDE ERROR BIAS TO PREVENT OVERSHOOT
# IN SYSTEM
SETGO # STATE SWITCH CALCMAN2 (43D)
CALCMAN2 # 0(OFF) = BYPASS STARTING PROCEDURE
NEWANGL +1 # 1(ON) = START MANEUVER
ARATE 2DEC .0022222222 # = .05 DEG/SEC
2DEC .0088888889 # = .2 DEG/SEC
2DEC .0222222222 # = .5 DEG/SEC
2DEC .0888888889 # = 2 DEG/SEC $22.5 DEG/SEC
ANGLTIME 2DEC .000190735 # = 100B - 19
# MANEUVER ANGLE TO MANEUVER TIME
## Page 417
QUADROT 2DEC .1 # ROTATION MATRIX FROM S/C AXES TO CONTROL
2DEC 0 # AXES (X ROT = -7.25 DEG)
2DEC 0
2DEC 0
2DEC .099200 # =(.1)COS7.25
2DEC -.012620 # =-(.1)SIN7.25
2DEC 0
2DEC .012620 # (.1)SIN7.25
2DEC .099200 # (.1)COS7.25
BIASCALE 2DEC .0002543132 # = (450/180)(1/0.6)(1/16384)