Wisdom of Raju

This commit is contained in:
cs-powell
2025-02-24 18:05:28 -05:00
parent cb46f259fe
commit b2022d8d5e

View File

@@ -8,6 +8,10 @@ class scaleFactor():
SCALEYOKESTEER = 10 SCALEYOKESTEER = 10
SCALERUDDER = 10 SCALERUDDER = 10
SCALETHROTTLE = 1000 SCALETHROTTLE = 1000
###Define variables/parameters for aircraft class/category : Wisdom of Raju
class AircraftLandingModel(pyactr.ACTRModel): class AircraftLandingModel(pyactr.ACTRModel):
def __init__(self,client): def __init__(self,client):
super().__init__() super().__init__()
@@ -51,8 +55,8 @@ class AircraftLandingModel(pyactr.ACTRModel):
# Integral gains (tune these values for performance) # Integral gains (tune these values for performance)
self.Kp = 0.1 # Proportional gain self.Kp = 0.1 # Proportional gain
# self.Ki = 0.01 # Integral gain self.Ki = 0.01 # Integral gain
self.Ki = 0 # Integral gain # self.Ki = 2 # Integral gain
@@ -165,9 +169,11 @@ class AircraftLandingModel(pyactr.ACTRModel):
throttle = 0.15 throttle = 0.15
if(self.altitude < 100): ## Integrate using the control equations;; A goal state update
##INTEGRAL CONTROL
if(self.altitude < 350): ## Integrate using the control equations;; A goal state update
throttle = 0.1 throttle = 0.1
yoke_pull = 0.3 yoke_pull = 0.7
if(self.altitude < 70): ## Integrate using the control equations;; A goal state update if(self.altitude < 70): ## Integrate using the control equations;; A goal state update
@@ -176,26 +182,25 @@ class AircraftLandingModel(pyactr.ACTRModel):
if(self.altitude < 50): ## Integrate using the control equations;; A goal state update if(self.altitude < 50): ## Integrate using the control equations;; A goal state update
throttle = 0 throttle = 0
yoke_pull = 0.4 yoke_pull = 0.7
if(self.airspeed < self.target_airspeed): if(self.airspeed < self.target_airspeed):
#Method 2: Travel Limits (0 --> 0.2) #Method 2: Travel Limits (0 --> 0.2)
# yoke_pull = max(-0.2, yoke_pull) # yoke_pull = max(-0.2, yoke_pull)
#Invert Throttl Temporarily #Invert Throttl Temporarily
self.printControls(1,0,yoke_pull,yoke_steer,rudder,throttle) self.printControls(1,0,yoke_pull,yoke_steer,rudder,throttle)
# Send all controls simultaneously to X-Plane
# Send all controls simultaneously to X-Plane
self.send_controls_to_xplane(yoke_pull, yoke_steer, 0, throttle) self.send_controls_to_xplane(yoke_pull, yoke_steer, 0, throttle)
if(self.airspeed > self.target_airspeed): if(self.airspeed > self.target_airspeed):
# Method 2: Travel Limits (0 --> 0.2)
#Method 2: Travel Limits (0 --> 0.2)
# yoke_pull = min(0.2, yoke_pull) # yoke_pull = min(0.2, yoke_pull)
self.printControls(1,0,yoke_pull,yoke_steer,rudder,throttle) self.printControls(1,0,yoke_pull,yoke_steer,rudder,throttle)
self.send_controls_to_xplane(yoke_pull, yoke_steer, 0, throttle) self.send_controls_to_xplane(yoke_pull, yoke_steer, 0, throttle)