* Proof FIXED_FIXED_CONSTANT_POOL (#207) * wip(p391/398): Proof R60_62 #247 * wip(p398/398: DONE): Proof R60_62 #247
This commit is contained in:
parent
4f83a11ecb
commit
e82746d732
@ -37,7 +37,7 @@
|
||||
|
||||
COUNT 27/R60
|
||||
|
||||
# CONFORMS TO GSOP CHAPTER FOUR REVISION LOGIC 09 JAN 18, 1968
|
||||
# CONFORMS TO GSOP CHAPTER FOUR REVISION LOGIC 09 JAN 18,1968
|
||||
|
||||
R60CSM TC MAKECADR
|
||||
TS TEMPR60
|
||||
@ -51,7 +51,7 @@ REDOMANN CAF BIT6
|
||||
TC INTPRET
|
||||
CALL
|
||||
VECPOINT # TO COMPUTE FINAL ANGLES
|
||||
STORE CPHI # STORE FINAL ANGLES -- CPHI, CTHETA, CPSI
|
||||
STORE CPHI # STORE FINAL ANGLES - CPHI,CTHETA,CPSI
|
||||
EXIT
|
||||
|
||||
TOBALL CAF V06N18
|
||||
@ -59,7 +59,7 @@ TOBALL CAF V06N18
|
||||
CADR GOPERF2R # DISPLAY PLEASE PERFORM AUTO MANEUVER
|
||||
TC R61TEST
|
||||
TC REDOMANC # PROCEED
|
||||
TCF ENDMANU1 # ENTER I.E., FINISHED WITH R60
|
||||
TCF ENDMANU1 # ENTER I.E. FINISHED WITH R60
|
||||
|
||||
TC CHKLINUS # TO CHECK FOR PRIORITY DISPLAYS
|
||||
TC ENDOFJOB
|
||||
@ -83,14 +83,14 @@ TOBALLC CAF PRIO30 # IS MODE AUTO AND CTL GNC
|
||||
BZF +2 # AUTO, NON-FLASH N18
|
||||
TCF TOBALL # NOT AUTO
|
||||
|
||||
CAF V06N18 # STATIC UP NON-FLASHING V06 N18
|
||||
CAF V06N18 # SET UP NON-FLASHING V06 N18
|
||||
TC BANKCALL
|
||||
CADR GODSPR
|
||||
TC CHKLINUS
|
||||
|
||||
STARTMNV TC BANKCALL
|
||||
CADR GOMANUR
|
||||
ENDMANUV TCF TOBALL # FINISHED MANEUVER.
|
||||
ENDMANUV TCF TOBALL # FINISHED MANEUVER
|
||||
|
||||
ENDMANU1 TC DOWNFLAG # RESET 3-AXIS FLAG
|
||||
ADRES 3AXISFLG # BIT 6 FLAG 5
|
||||
@ -98,13 +98,13 @@ ENDMANU1 TC DOWNFLAG # RESET 3-AXIS FLAG
|
||||
TC BANKJUMP
|
||||
|
||||
CHKLINUS CS FLAGWRD4
|
||||
MASK BIT12 # IS PRIORITY DISPLAY FLAG SET?
|
||||
MASK BIT12 # IS PRIORITY DISPLAY FLAG SET
|
||||
CCS A
|
||||
TC Q # NO -- EXIT
|
||||
TC Q # NO - EXIT
|
||||
CA Q
|
||||
TS MPAC +2 # SAVE RETURN
|
||||
CS THREE # OBTAIN LOCATION FOR RESTART
|
||||
AD BUF2 # HOLD Q OF LAST DISPLAY
|
||||
CS THREE # OBTAIN LOCATION FOR RESTART.
|
||||
AD BUF2 # HOLDS Q OF LAST DISPLAY
|
||||
TS TBASE1
|
||||
|
||||
TC PHASCHNG
|
||||
@ -141,7 +141,7 @@ GOREDO20 TC PHASCHNG
|
||||
|
||||
R61TEST CA MODREG # ARE WE IN P00. IF YES THIS MUST BE
|
||||
EXTEND # VERB49 OR VERB89 SO DO ENDEXT.
|
||||
BZF ENDMANU1 # RESET 3-AXIS & RETURN. USER DOES ENDEXT
|
||||
BZF ENDMANU1 # RESET 3-AXIS & RUTURN. USER DOES ENDEXT
|
||||
CA FLAGWRD4 # ARE WE IN R61 (P20)
|
||||
MASK BIT12
|
||||
EXTEND
|
||||
@ -152,44 +152,43 @@ BIT14+7 OCT 20100
|
||||
V06N18 VN 0618
|
||||
|
||||
# Page 393
|
||||
# PROGRAM DESCRIPTION -- VECPOINT
|
||||
#
|
||||
# PROGRAM DESCRIPTION - VECPOINT
|
||||
|
||||
|
||||
# THIS INTERPRETIVE SUBROUTINE MAY BE USED TO POINT A SPACECRAFT AXIS IN A DESIRED DIRECTION. THE AXIS
|
||||
# TO BE POINTED MUST APPEAR AS A HALF UNIT DOUBLE PRECISION VECTOR IN SUCCESSIVE LOCATIONS OF ERASABLE MEMORY
|
||||
# BEGINNING WITH THE LOCATION CALLED SCAXIS. THE COMPONENTS OF THIS VECTOR ARE GIVEN IN SPACECRAFT COORDINATES.
|
||||
# THE DIRECTION IN WHICH THIS AXIS IS TO BE POINTED MUST APPEAR AS A HALF UNIT DOUBLE PRECISION VECTOR IN
|
||||
# SUCCESSIVE LOCATIONS OF ERASABLE MEMORY BEGINNING WITH THE ADDRESS CALLED POINTVSM. THE COMPONENTS OF THIS
|
||||
# VECTOR ARE GIVEN IN STABLE MEMBER COORDINATES. WITH THIS INFORMATION VECPOINT COMPUTES A SET OF THREE GIMBAL
|
||||
# ANGLES (2'S COMPLEMENT) CORRESPONDING TO THE CROSS-PRODUCT ROTATION BETWEEN SCAXIS AND POINTVSM AND STORES THEM
|
||||
# ANGLES (2S COMPLEMENT) CORRESPONDING TO THE CROSS-PRODUCT ROTATION BETWEEN SCAXIS AND POINTVSM AND STORES THEM
|
||||
# IN T(MPAC) BEFORE RETURNING TO THE CALLER.
|
||||
#
|
||||
# THIS ROTATION, HOWEVER, MAY BRING THE S/C INTO GIMBAL LOCK. WHEN POINTING A VECTOR IN THE Y-Z PLANE,
|
||||
# THE TRANSPONDER AXIS, OR THE AOT FOR THE LEM, THE PROGRAM WILL CORRECT THIS PROGLEM BY ROTATING THE CROSS-
|
||||
# THE TRANSPONDER AXIS, OR THE AOT FOR THE LEM, THE PROGRAM WILL CORRECT THIS PROBLEM BY ROTATING THE CROSS-
|
||||
# PRODUCT ATTITUDE ABOUT POINTVSM BY A FIXED AMOUNT SUFFICIENT TO ROTATE THE DESIRED S/C ATTITUDE OUT OF GIMBAL
|
||||
# LOCK. IF THE AXIS TO BE POINTED IS MORE THAN 40.6 DEGREES BUT LESS THAN 60.5 DEG FROM THE +X (OR -X) AXIS,
|
||||
# LOCK. IF THE AXIS TO BE POINTED IS MORE THAN 40.6 DEGREES BUT LESS THAN 60.5 DEG FROM THE +X (OR-X) AXIS,
|
||||
# THE ADDITIONAL ROTATION TO AVOID GIMBAL LOCK IS 35 DEGREES. IF THE AXIS IS MORE THAN 60.5 DEGREES FROM +X (OR -X)
|
||||
# THE ADDITIONAL ROTATION IS 35 DEGREES. THE GIMBAL ANGLES CORRESPONDING TO THIS ATTITUDE ARE THEN COMPUTED AND
|
||||
# STORED AS 2'S COMPLEMENT ANGLES N T(MPAC) BEFORE RETURNING TO THE CALLER.
|
||||
#
|
||||
# STORED AS 2S COMPLIMENT ANGLES IN T(MPAC) BEFORE RETURNING TO THE CALLER.
|
||||
# WHEN POINTING THE X-AXIS, OR THE THRUST VECTOR, OR ANY VECTOR WITHIN 40.6 DEG OF THE X-AXIS, VECPOINT
|
||||
# CANNOT CORRECT FOR A CROSS-PRODUCT ROTATION INTO GIMBAL LOCK. IN THIS CASE A PLATFORM REALIGNMENT WOULD BE
|
||||
# REQUIRED TO POINT THE VECTOR IN THE DESIRED DIRECTION. AT PRESENT NO INDICATION IS GIVEN FOR THIS SITUATION
|
||||
# EXCEPT THAT THE FINAL MIDDLE GIMBAL ANGLE IN MPAC +2 IS GREATER THAN 59 DEGREES.
|
||||
#
|
||||
# CALLING SEQUENCE
|
||||
#
|
||||
|
||||
# CALLING SEQUENCE -
|
||||
# 1) LOAD SCAXIS, POINTVSM
|
||||
# 2) CALL
|
||||
# VECPOINT
|
||||
#
|
||||
|
||||
# RETURNS WITH
|
||||
#
|
||||
|
||||
# 1) DESIRED OUTER GIMBAL ANGLE IN MPAC
|
||||
# 2) DESIRED INNER GIMBAL ANGLE IN MPAC +1
|
||||
# 3) DESIRED MIDDLE GIMBAL ANGLE IN MPAC +2
|
||||
#
|
||||
# ERASABLES USED --
|
||||
#
|
||||
|
||||
|
||||
# ERASABLES USED -
|
||||
|
||||
# 1) SCAXIS 6
|
||||
# 2) POINTVSM 6
|
||||
# 3) MIS 18
|
||||
@ -197,7 +196,7 @@ V06N18 VN 0618
|
||||
# 5) COF 6
|
||||
# 6) VECQTEMP 1
|
||||
# 7) ALL OF VAC AREA 43
|
||||
#
|
||||
|
||||
# TOTAL 99
|
||||
|
||||
SETLOC VECPT
|
||||
@ -217,7 +216,7 @@ VECLEAR AXC,2 RTB
|
||||
CDUTODCM # S/C AXES TO STABLE MEMBER AXES (MIS)
|
||||
VLOAD VXM
|
||||
POINTVSM # RESOLVE THE POINTING DIRECTION VF INTO
|
||||
MIS # INITIAL S/C AXES (VF = POINTVSM)
|
||||
MIS # INITIAL S/C AXES ( VF = POINTVSM)
|
||||
UNIT
|
||||
STORE 28D
|
||||
# PD 28 29 30 31 32 33
|
||||
@ -234,7 +233,7 @@ VECLEAR AXC,2 RTB
|
||||
SCAXIS
|
||||
28D
|
||||
SL1 ARCCOS
|
||||
COMPMATX CALL # NO COMPUTE THE TRANSFORMATION FROM
|
||||
COMPMATX CALL # NOW COMPUTE THE TRANSFORMATION FROM
|
||||
DELCOMP # FINAL S/C AXES TO INITIAL S/C AXES MFI
|
||||
AXC,1 AXC,2
|
||||
MIS # COMPUTE THE TRANSFORMATION FROM FINAL
|
||||
@ -246,8 +245,8 @@ COMPMATX CALL # NO COMPUTE THE TRANSFORMATION FROM
|
||||
6 # MFS6 = SIN(CPSI) $2
|
||||
DSU BMN
|
||||
SINGIMLC # = SIN(59 DEGS) $2
|
||||
FINDGIMB # /CPSI/ LESS THAN 59 DEGS.
|
||||
# I.E., DESIRED ATTITUDE NOT IN GIMBAL LOCK
|
||||
FINDGIMB # /CPSI/ LESS THAN 59 DEGS
|
||||
# I.E. DESIRED ATTITUDE NOT IN GIMBAL LOCK
|
||||
|
||||
DLOAD ABS # CHECK TO SEE IF WE ARE POINTING
|
||||
SCAXIS # THE THRUST AXIS
|
||||
@ -268,8 +267,8 @@ COMPMATX CALL # NO COMPUTE THE TRANSFORMATION FROM
|
||||
|
||||
IGSAMEX VXV BMN # FIND THE SHORTEST WAY OF ROTATING THE
|
||||
SCAXIS # S/C OUT OF GIMBAL LOCK BY A ROTATION
|
||||
U=SCAXIS # ABOUT +- SCAXIS, I.E., IF (IG (SGN MFS3)
|
||||
# X SCAXIS . XF) LESS THAN Q, U = SCAXIS
|
||||
U=SCAXIS # ABOUT +- SCAXIS, I.E. IF (IG (SGN MFS3)
|
||||
# X SCAXIS . XF) LESS THAN 0, U = SCAXIS
|
||||
# OTHERWISE U = -SCAXIS.
|
||||
|
||||
VLOAD VCOMP
|
||||
@ -289,7 +288,7 @@ CHEKAXIS DLOAD ABS
|
||||
COMPMFSN # IN THIS CASE ROTATE 35 DEGS TO GET OUT
|
||||
# OF GIMBAL LOCK (VECANG2 $360)
|
||||
PICKANG1 DLOAD
|
||||
VECANG1 # = 50 DEGS. $360
|
||||
VECANG1 # = 50 DEGS $360
|
||||
COMPMFSN CALL
|
||||
DELCOMP # COMPUTE THE ROTATION ABOUT SCAXIS TO
|
||||
AXC,1 AXC,2 # BRING MFS OUT OF GIMBAL LOCK
|
||||
@ -303,13 +302,13 @@ FINDGIMB AXC,1 CALL
|
||||
0 # EXTRACT THE COMMANDED CDU ANGLES FROM
|
||||
DCMTOCDU # THIS MATRIX
|
||||
RTB SETPD
|
||||
V1STO2S # CONVERT TO 2'S COMPLEMENT
|
||||
V1STO2S # CONVERT TO 2:S COMPLEMENT
|
||||
# Page 396
|
||||
0
|
||||
GOTO
|
||||
VECQTEMP # RETURN TO CALLER
|
||||
|
||||
PICKAXIS VLOAD DOT # IF VF X VI = 0, FIND VF, VI
|
||||
PICKAXIS VLOAD DOT # IF VF X VI = 0, FIND VF . VI
|
||||
28D
|
||||
SCAXIS
|
||||
BMN TLOAD
|
||||
@ -320,10 +319,10 @@ PICKAXIS VLOAD DOT # IF VF X VI = 0, FIND VF, VI
|
||||
|
||||
ROT180 VLOAD VXV # IF VF, VI ANTI-PARALLEL, 180 DEG ROTATION
|
||||
MIS +6 # IS REQUIRED. Y STABLE MEMBER AXIS IN
|
||||
HIUNITX # INITIAL S/C AXES.
|
||||
HIUNITX # INITIAL S/C AXIS.
|
||||
UNIT VXV # FIND Y(SM) X X(I)
|
||||
SCAXIS # FIND UNIT(VI X UNIT(Y(SM) X X(I)))
|
||||
UNIT BOV # I.E., PICK A VECTOR IN THE PLANE OF X(I),
|
||||
UNIT BOV # I.E. PICK A VECTOR IN THE PLANE OF X(I),
|
||||
PICKX # Y(SM) PERPENDICULAR TO VI
|
||||
STODL COF
|
||||
36D # CHECK MAGNITUDE
|
||||
@ -343,18 +342,18 @@ PICKX VLOAD GOTO # PICK THE XAXIS IN THIS CASE
|
||||
SETLOC MANUVER1
|
||||
BANK
|
||||
|
||||
SINGIMLC 2DEC .4285836003 # = SIN(59) $2
|
||||
SINGIMLC 2DEC .4285836003 # =SIN(59) $2
|
||||
|
||||
SINVEC1 2DEC .3796356537 # = SIN(49.4) $2
|
||||
SINVEC1 2DEC .3796356537 # =SIN(49.4) $2
|
||||
|
||||
SINVEC2 2DEC .2462117800 # = SIN(29.5) $2
|
||||
SINVEC2 2DEC .2462117800 # =SIN(29.5) $2
|
||||
|
||||
VECANG1 2DEC .1388888889 # = 50 DEGREES $360
|
||||
|
||||
VECANG2 2DEC .09722222222 # = 35 DEGREES $360
|
||||
|
||||
|
||||
1BITDP OCT 0 # KEEP THIS BEFORE DPB(-14) ********
|
||||
1BITDP OCT 0 # KEEP THIS BEFORE DPB(-14) *********
|
||||
DPB-14 OCT 00001
|
||||
# Page 397
|
||||
OCT 00000
|
||||
@ -377,11 +376,10 @@ R62DISP CAF V06N22 # DISPLAY COMMAND ICDUS CPHI, CTHETA, CPHI
|
||||
TCF R62DISP # ENTER
|
||||
|
||||
# ASTRONAUT MAY LOAD NEW ICDUS AT THIS
|
||||
# POINT.
|
||||
GOMOVE TC UPFLAG # SET FOR 3-AXIS MANEUVER
|
||||
ADRES 3AXISFLG
|
||||
# POINT
|
||||
GOMOVE TC UPFLAG # SET 3-AXIS FLAG
|
||||
ADRES 3AXISFLG # BIT 6 FLAG 5
|
||||
|
||||
TC BANKCALL
|
||||
CADR R60CSM
|
||||
TCF ENDEXT
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user