From 496453a615947564de04f8423a07cb5cdccde7e1 Mon Sep 17 00:00:00 2001 From: Glenn Dwiyatcita Date: Wed, 8 May 2019 15:33:32 +0200 Subject: [PATCH] Proof PLANETARY_INERTIAL_ORIENTATION #243 (#384) * Proof FIXED_FIXED_CONSTANT_POOL (#207) * wip(p1245/1251): Proof PLANETARY_INERTIAL_ORIENTATION #243 * wip(p1251/1251: DONE): Proof PLANETARY_INERTIAL_ORIENTATION #243 --- .../PLANETARY_INERTIAL_ORIENTATION.agc | 154 +++++++++--------- 1 file changed, 75 insertions(+), 79 deletions(-) diff --git a/Comanche055/PLANETARY_INERTIAL_ORIENTATION.agc b/Comanche055/PLANETARY_INERTIAL_ORIENTATION.agc index 206dd5c..f5af7b3 100644 --- a/Comanche055/PLANETARY_INERTIAL_ORIENTATION.agc +++ b/Comanche055/PLANETARY_INERTIAL_ORIENTATION.agc @@ -29,32 +29,32 @@ # Page 1243 # PLANETARY INERTIAL ORIENTATION -# -# ***** RP-TO-R SUBROUTINE ***** -# SUBROUTINE TO CONVERT RP (VECTOR IN PLANETARY COORDINATE SYSTEM, EITHER + +# ..... RP-TO-R SUBROUTINE ..... +# SUBROUTINE TO CONVERT RP (VECTOR IN PLANETARY COORDINATE SYSTEM,EITHER # EARTH-FIXED OR MOON-FIXED) TO R (SAME VECTOR IN BASIC REF. SYSTEM) -# R = MT(T) * (RP + LP X RP) MT = M MATRIX TRANSPOSE -# + +# R=MT(T)*(RP+LPXRP) MT= M MATRIX TRANSPOSE + # CALLING SEQUENCE # L CALL # L+1 RP-TO-R -# + # SUBROUTINES USED -# EARTHMX, MOONMX, EARTHL -# +# EARTHMX,MOONMX,EARTHL + # ITEMS AVAILABLE FROM LAUNCH DATA -# 504LM = THE LIBRATION VECTOR L OF THE MOON AT TIME TIMSUBL, EXPRESSED +# 504LM= THE LIBRATION VECTOR L OF THE MOON AT TIME TIMSUBL,EXPRESSED # IN THE MOON-FIXED COORD. SYSTEM RADIANS B0 -# -# ITEMS NECESSARY FOR SUBR. USED (SEE DESCRIPTION OF SUBR.) -# +# ITEMS NECESSARY FOR SUBR. USED (SEE DESCRIPTION OF SUBR.) + # INPUT -# MPAC = 0 FOR EARTH, NON-ZERO FOR MOON -# 0-5D = RP VECTOR -# 6-7D = TIME -# +# MPAC= 0 FOR EARTH,NON-ZERO FOR MOON +# 0-5D= RP VECTOR +# 6-7D= TIME + # OUTPUT -# MPAC = R VECTOR METERS B-29 FOR EARTH, B-27 FOR MOON +# MPAC= R VECTOR METERS B-29 FOR EARTH, B-27 FOR MOON SETLOC PLANTIN BANK @@ -85,31 +85,31 @@ RPTORA CALL # EARTH COMPUTATIONS RPTORB # Page 1245 -# ***** R-TO-RP SUBROUTINE ***** +# ..... R-TO-RP SUBROUTINE ..... # SUBROUTINE TO CONVERT R (VECTOR IN REFERENCE COORD. SYSTEM) TO RP # (VECTOR IN PLANETARY COORD SYSTEM) EITHER EARTH-FIXED OR MOON-FIXED + # RP = M(T) * (R - L X R) -# + # CALLING SEQUENCE # L CALL # L+1 R-TO-RP -# + # SUBROUTINES USED -# EARTHMX, MOONMX, EARTHL -# +# EARTHMX,MOONMX,EARTHL + # INPUT -# MPAC = 0 FOR EARTH, NON-ZERO FOR MOON -# 0-5D = R VECTOR -# 6-7D = TIME -# +# MPAC= 0 FOR EARTH,NON-ZERO FOR MOON +# 0-5D= R VECTOR +# 6-7D= TIME + # ITEMS AVAILABLE FROM LAUNCH DATA -# 504LM = THE LIBRATION VECTOR L OF THE MOON AT TIME TIMSUBL, EXPRESSED -# IN THE MOON-FIXED COORD. SYSTEM RADIANS B0 -# -# ITEMS NECESSARY FOR SUBROUTINES USED (SEE DESCRIPTION OF SUBR.) -# +# 504LM= THE LIBRATION VECTOR L OF THE MOON AT TIME TIMSUBL,EXPRESSED +# IN THE MOON-FIXED COORD. SYSTEM RADIANS B0 +# ITEMS NECESSARY FOR SUBROUTINES USED (SEE DESCRIPTION OF SUBR.) + # OUTPUT -# MPAC = RP VECTOR METERS B-29 FOR EARTH, B-27 FOR MOON +# MPAC=RP VECTOR METERS B-29 FOR EARTH, B-27 FOR MOON R-TO-RP STQ BHIZ RPREXIT @@ -119,11 +119,11 @@ R-TO-RP STQ BHIZ VLOAD VXM 504LM # LP=LM MMATRIX - VSL1 # L = MT(T)*LP RADIANS B0 + VSL1 # L=MT(T)*LP RADIANS B0 RTORPB VXV BVSU 504RPR 504RPR - MXV # M(T)*(R-LXR) B-2 + MXV # M(T)*(R-LXR) B-2 MMATRIX RPRPXXXX VSL1 SETPD 0D @@ -133,33 +133,32 @@ RTORPA CALL # EARTH COMPUTATIONS EARTHMX CALL EARTHL - GOTO # MPAC=L=(-AX,-AY,0) RAD B-0 + GOTO # MPAC=L=(-AX,-AY,0) RAD B-0 RTORPB # Page 1246 -# ***** MOONMX SUBROUTINE ***** +# ..... MOONMX SUBROUTINE ..... # SUBROUTINE TO COMPUTE THE TRANSFORMATION MATRIX M FOR THE MOON -# + # CALLING SEQUENCE # L CALL # L+1 MOONMX -# + # SUBROUTINES USED # NEWANGLE -# + # INPUT -# 6-7D = TIME -# +# 6-7D= TIME # ITEMS AVAILABLE FROM LAUNCH DATA -# BSUBO, BDOT -# TIMSUBO, NODIO, NODDOT, FSUBO, FDOT -# COSI = COS(I) B-1 -# SINI = SIN(I) B-1 +# BSUBO,BDOT +# TIMSUBO,NODIO,NODDOT,FSUBO,FDOT +# COSI= COS(I) B-1 +# SINI= SIN(I) B-1 # I IS THE ANGLE BETWEEN THE MEAN LUNAR EQUATORIAL PLANE AND THE # PLANE OF THE ECLIPTIC (1 DEGREE 32.1 MINUTES) -# + # OUTPUT -# MMATRIX = 3X3 M MATRIX B-1 (STORED IN VAC AREA) +# MMATRIX= 3X3 M MATRIX B-1 (STORED IN VAC AREA) MOONMX STQ SETPD EARTHMXX @@ -167,7 +166,7 @@ MOONMX STQ SETPD AXT,1 # B REQUIRES SL 0, SL 5 IN NEWANGLE 5 DLOAD PDDL # PD 10D 8-9D=BSUBO - BSUBO # 10-11D=BDOT + BSUBO # 10-11D= BDOT BDOT PUSH CALL # PD 12D NEWANGLE # EXIT WITH PD 8D AND MPAC= B REVS B0 @@ -176,21 +175,21 @@ MOONMX STQ SETPD SIN # SIN(B) B-1 STODL SOB # SETUP INPUT FOR NEWANGLE FSUBO # 8-9D=FSUBO - PDDL PUSH # PD 10D THEN 12D 10-11D=FDOT + PDDL PUSH # PD 10D THEN 12D 10-11D=FDOT FDOT - AXT,1 CALL # F REQUIRES SL 1, SL 6 IN NEWANGLE. + AXT,1 CALL # F REQUIRES SL 1, SL 6 IN NEWANGLE 4 NEWANGLE # EXIT WITH PD 8D AND MPAC= F REVS B0 STODL AVECTR +2 # SAVE F TEMP NODIO # 8-9D=NODIO - PDDL PUSH # PD 10D THEN 12D 10-11D=NODDOT - NODDOT # MPAC=5 + PDDL PUSH # PD 10D THEN 12D 10-11D=NODDOT + NODDOT # MPAC=T AXT,1 CALL # NODE REQUIRES SL 0, SL 5 IN NEWANGLE 5 NEWANGLE # EXIT WITH PD 8D AND MPAC= NODI REVS B0 # Page 1247 PUSH COS # PD 10D 8-9D= NODI REVS B0 - PUSH # PD 12D 10-11D= COS(NODI) B-1 + PUSH # PD 12D 10-11D= COS(NODI) B-1 STORE AVECTR DMP SL1R COB # COS(NODI) B-1 @@ -199,8 +198,8 @@ MOONMX STQ SETPD SOB STODL BVECTR +4 # PD 8D SIN PUSH # PD 10D -SIN(NODI) B-1 - DCOMP # 26-31D=BVECTR=COB*COS(NODI) - STODL BVECTR # PD 8D SOB*COS(NODI) + DCOMP # 26-31D=BVECTR= COB*COS(NODI) + STODL BVECTR # PD 8D SOB*COS(NODI) AVECTR +2 # MOVE F FROM TEMP LOC. TO 504F STODL 504F DMP SL1R @@ -209,8 +208,8 @@ MOONMX STQ SETPD SINNODI # 8-9D=SIN(NODI) B-1 DMP SL1R SOB - STODL AVECTR +4 # 0 - HI6ZEROS # 8-13D= CVECTR= -SOB B-1 + STODL AVECTR +4 # 0 + HI6ZEROS # 8-13D= CVECTR= -SOB B-1 PDDL DCOMP # PD 10D COB SOB PDDL PDVL # PD 12D THEN PD 14D @@ -234,7 +233,7 @@ MOONMX STQ SETPD DVECTR PDDL SIN # PD 20D 14-19D= DVECTR*COSF B-2 504F - VXSC VSU # PD 14D AVECTR*SINF B-2 + VXSC VSU # PD 14D AVECTR*SINF B-2 AVECTR VSL1 STODL MMATRIX +6 # M1= AVECTR*SINF-DVECTR*COSF B-1 @@ -248,12 +247,11 @@ MOONMX STQ SETPD VSL1 VCOMP STCALL MMATRIX # M0= -(AVECTR*COSF+DVECTR*SINF) B-1 EARTHMXX - # COMPUTE X=X0+(XDOT)(T+T0) -# 8-9D= X0 (REVS B-0), PUSHLOC SET AT 12D +# 8-9D= X0 (REVS B-0),PUSHLOC SET AT 12D # 10-11D=XDOT (REVS/CSEC) SCALED B+23 FOR WEARTH,B+28 FOR NODDOT AND BDOT # AND B+27 FOR FDOT -# X1=DIFFERENCE IN 23 AND SCALING OF XDOT, =0 FOR WEARTH, 5 FOR NDDOT AND +# X1=DIFFERENCE IN 23 AND SCALING OF XDOT,=0 FOR WEARTH,5 FOR NDDOT AND # BDOT AND 4 FOR FDOT # 6-7D=T (CSEC B-28), TIMSUBO= (CSEC B-42 TRIPLE PREC.) @@ -276,25 +274,25 @@ NEWANGLE DLOAD SR # ENTER PD 12D SL* DAD # PD 8D SHIFT SUCH THAT THIS PART OF X 10D,1 # IS SCALED REVS/CSEC B-0 BOV # TURN OFF OVERFLOW IF SET BY SHIFT - +1 # INSTRUCTION BEFORE EXITING. + +1 # INSTRUCTION BEFORE EXITING RVQ # MPAC=X= X0+(XDOT)(T+T0) REVS B0 # Page 1249 -# ***** EARTHMX SUBROUTINE ***** +# ..... EARTHMX SUBROUTINE ..... # SUBROUTINE TO COMPUTE THE TRANSFORMATION MATRIX M FOR THE EARTH -# + # CALLING SEQUENCE # L CALL # L+1 EARTHMX -# + # SUBROUTINE USED # NEWANGLE -# + # INPUT # INPUT AVAILABLE FROM LAUNCH DATA AZO REVS B-0 # TEPHEM CSEC B-42 # 6-7D= TIME CSEC B-28 -# + # OUTPUT # MMATRIX= 3X3 M MATRIX B-1 (STORED IN VAC AREA) @@ -309,9 +307,9 @@ EARTHMX STQ SETPD # SET 8-9D=AZO PUSH CALL NEWANGLE SETPD PUSH # 18-19D=504AZ - 18D # COS(AZ) SIN(AZ) 0 - COS PDDL # 20-37D= MMATRIX= -SIN(AZ) COS(AZ) 0 B-1 - 504AZ # 0 0 1 + 18D # COS(AZ) SIN(AZ) 0 + COS PDDL # 20-37D= MMATRIX= -SIN(AZ) COS(AZ) 0 B-1 + 504AZ # 0 0 1 SIN PDDL HI6ZEROS PDDL SIN @@ -326,16 +324,16 @@ EARTHMX STQ SETPD # SET 8-9D=AZO EARTHMXX # Page 1250 -# ***** EARTHL SUBROUTINE ***** +# ..... EARTHL SUBROUTINE ..... # SUBROUTINE TO COMPUTE L VECTOR FOR EARTH -# + # CALLING SEQUENCE # L CALL # L+1 EARTHL -# + # INPUT # AXO,AYO SET AT LAUNCH TIME WITH AYO IMMEDIATELY FOLLOWING AXO IN CORE -# + # OUTPUT # -AX # MPAC= -AY RADIANS B-0 @@ -353,19 +351,18 @@ EARTHL DLOAD DCOMP # Page 1251 # CONSTANTS AND ERASABLE ASSIGNMENTS - 1B1 = DP1/2 # 1 SCALED B-1 COSI 2DEC .99964173 B-1 # COS(5521.5 SEC) B-1 -SINI 2DEC .02676579 B-1 # SIN(5521.T SEC) B-1 +SINI 2DEC .02676579 B-1 # SIN(5521.5 SEC) B-1 RPREXIT = S1 # R-TO-RP AND RP-TO-R SUBR EXIT -EARTHMXX = S2 # EARTHMX, MOONMX SUBR. EXITS +EARTHMXX = S2 # EARTHMX,MOONMX SUBR. EXITS 504RPR = 0D # 6 REGS R OR RP VECTOR SINNODI = 8D # 2 SIN(NODI) DVECTR = 8D # 6 D VECTOR MOON CVECTR = 8D # 6 C VECTR MOON -504AZ = 18D # 2 AZ +504AZ = 18D # 2 AZ TIMSUBM = 14D # 3 TIME SUB M (MOON) T+10 IN GETAZ 504LPL = 14D # 6 L OR LP VECTOR AVECTR = 20D # 6 A VECTOR (MOON) @@ -387,4 +384,3 @@ FSUBO 2DEC .829090536 # REVS B-0 = 5.20932947829 RAD BSUBO 2DEC .0651201393 # REVS B=0 = 0.40916190299 RAD WEARTH 2DEC .973561595 # REVS/CSEC B+23= 7.29211494 E-5 RAD/SEC -