fix folders

This commit is contained in:
Zan
2024-05-09 16:07:27 -07:00
parent cfa8289330
commit 829c151baf
1959 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
r=4000 p=99 a=1 //turn on+off AAS to update init values
goto2+:AAS //Non-assigning wait loop
:C=:AAS*r>(:AL+:AR+:AU+:AD) if:Cthen:Crus=a :CF=0 goto4endgoto3*:AAS
c=:AAS*r>(:AL+:AR+:AU+:AD) :CB=p*c :CF=:FS*(1-c) :MAL=0-c goto3+c
goto3 //Fallthrough case. Maybe CF/B=0 to prevent errors?
//Sets fwd to 0 and bwd to max if a sector is colliding
//Resets fwd to original value when the obstruction ends.
//OLD line 4 for comparison
if:AAS*r>(:AL+:AR+:AU+:AD)then:CB=p goto4end :CB=0 :CF=:FS goto3
//Dependencies
//NavSuite LeverCenterCenterValue computer controls. :CF, :CB, :FS
//LeverCenteringSpeed on forward stick set to Crus
//MoveArrest_Lat system with :MAL chipwait
//Original by Thaccus
r=4000 p=99 a=1 //turn on+off AAS to update init values
goto2+:AAS //Non-assigning wait loop
:C=:AAS*r>(:AL+:AR+:AU+:AD) if:Cthen:Crus=a :CF=0 endgoto(3+:C)*:AAS
c=:AAS*r>(:AL+:AR+:AU+:AD) :CB=p*c :CF=:FS*(1-c) :MAL=-c goto3+c
goto1
//Sets fwd to 0 and bwd to max if a sector is colliding
//Resets fwd to original value when the obstruction ends.
//OLD line 4 for comparison
if:AAS*r>(:AL+:AR+:AU+:AD)then:CB=p goto4end :CB=0 :CF=:FS goto3
//Dependencies
//NavSuite LeverCenterCenterValue computer controls. :CF, :CB, :FS
//LeverCenteringSpeed on forward stick set to Crus
//MoveArrest_Lat system with :MAL chipwait
//Original by Thaccus

View File

@@ -0,0 +1,20 @@
r=1000 p=100 n=-p :CV=0 :CH=0//r=AU/AD/AL/AR p=FcuInputRange
goto2+:AAS //Non-assigning wait loop
z/=:C a=:AL<r b=:AD<r :CH=p*a+n*(:AR<r-a) :CV=p*b+n*(:AU<r-b)
if(:StopLat+:c)<1then:CV=0 :CH=0 endgoto3*:AAS
goto1
//Designed to be used with AAS_Stop, MovementArrest, and ESTOP systems
//Turn the AAS on and then off to re-init line1 values
//Dependencies
//NavSuite LeverCenterCenterValue computer controls.
//AAS_Stop chip for :C output
//StopLat Button from MovementArrest system
//Original by Thaccus

View File

@@ -0,0 +1,19 @@
y=-5 yd=3 t=0.4 m=0.001 f=.01 b=.5
goto2+:ESTOP
:Crus=1 :AAS=0 :NAV=0 :StopLat=1 :MAL=0
c=y*:RZ+yd*((:RZ-a)/t) a=:RZ :CF=c*f :CB=-c*b goto5-2*:ESTOP
:CF=0 :CB=0 :StopLat=0 goto1
//Dependencies
//LD/CLF Translation Sensor :RZ
//NavSuite LeverCenterCenterValue computer controls. :CF, :CB
//MovementArrest_Lat chip with chipwait named :MAL
//:ESTOP and :StopLat buttons

View File

@@ -0,0 +1,20 @@
y=-2 yd=-.5 x=2 xd=.5 t=0.4 :CV=0 :CH=0
goto2+:StopLat
:CV=y*:RY+yd*((:RY-a)/t) :CH=x*:RX+xd*((:RX-b)/t) a=:RY b=:RX
goto3*:StopLat
goto5 //error catch if no button. Set goto1 to reset.
//Name chipwait field :MAL for ESTOP/AAS integration.
//Dependencies
//LD/CLF Translation Sensor :RX :RY
//NavSuite LeverCenterCenterValue computer controls. :CH, :CV
//:StopLat button

Binary file not shown.

View File

@@ -0,0 +1,11 @@
# AAS+StrafeArrest+EmergencyStop Package
This set 4 chips uses the LDTS to improve on the longstanding asteroid avoidance regime. It does so by arresting lateral motion after the AAS finishes dodging so that you do not drift into new obstructions. As a bonus, the same code can be used to create an emergency stop button that will counter all motion regardless of facing until the ship comes to a full stop. I have included in this upload a small ship that was built using the newest NavSuite release candidate set and includes this new feature set.
I am using PD control and you can tune them to your liking through the x/y and xd/yd variables in either MovementArrest chip.
The strafe arrest system wants to affect the same control fields that AAS does and I have remade the AAS code such that it no longer assigns to computer controls unless it detects something. Unfortunately I could not find a way to do that elegantly on the single line that was the old AAS_Strafe and as such this new version is a two line operation. If anyone wants to have a go at compacting the behavior back down to one line I would be happy to outline the problem and desired behavior.
On a happier note: this version has a control hierarchy. ESTOP always has priority and pressing the big red stop button turns off any other computer controls Like AAS/NAV/Cruise. AAS is next in line priority wise and will take control during any avoidance action. Finally and should nothing else take priority, the strafe arrest code will ensure that you are not moving laterally.
Strafe arrest(being the last in line) is suspended via chipwaiting during any avoidance action. I heard that this may affect LEQ systems and I will be testing this claim during the system's stay here in the WIP world. To be clear this is most definitely WIP and will be undergoing extensive testing before it ever comes to the NavSuite. If you would like to be part of testing the next generation of avoidance, I welcome any feedback you come up with. If you just want stability and things that you know work, I respect that and recommend you stick to the AAS included in the current release until this gets more thoroughly vetted.