| 12345678910111213141516171819202122232425262728293031323334353637 |
- from core.utils import *
- from pid.pid_base import BasePID
- '''
- reward primary PID controller.
- '''
- class RPID(BasePID):
- def __init__(self, controller_type, kp=0, ki=0, kd=0, dt=1, Kc=0, Ti=0, Td=0, Ts=0, debug=False):
- BasePID.__init__(self, PRIMARY_REWARD_TARGET, REWARD_MIN, REWARD_MAX, controller_type, kp=kp, ki=ki, kd=kd, dt=dt, Kc=Kc, Ti=Ti, Td=Td, Ts=Ts, debug=debug, type='reward', swap_error_fn=True)
- class FeePID(BasePID):
- def __init__(self, kp=0, ki=0, kd=0, dt=1, Kc=0, Ti=0, Td=0, Ts=0, debug=False):
- BasePID.__init__(self, MAX_BLOCK_CC, FEE_MIN, FEE_MAX, CONTROLLER_TYPE_DISCRETE, kp=kp, ki=ki, kd=kd, dt=dt, Kc=Kc, Ti=Ti, Td=Td, Ts=Ts, debug=debug)
- class PrimaryDiscretePID(RPID):
- def __init__(self, kp, ki, kd):
- RPID.__init__(self, CONTROLLER_TYPE_DISCRETE, kp=kp, ki=ki, kd=kd)
- class PrimaryTakahashiPID(RPID):
- def __init__(self, kc, ti, td, ts):
- RPID.__init__(self, CONTROLLER_TYPE_TAKAHASHI, Kc=kc, Ti=ti, Td=td, Ts=ts)
- '''
- lead secondary PID controller
- '''
- class LeadPID(BasePID):
- def __init__(self, controller_type, kp=0, ki=0, kd=0, dt=1, Kc=0, Ti=0, Td=0, Ts=0, debug=False):
- BasePID.__init__(self, SECONDARY_LEAD_TARGET, F_MIN, F_MAX, controller_type, kp=kp, ki=ki, kd=kd, dt=dt, Kc=Kc, Ti=Ti, Td=Td, Ts=Ts, debug=debug, type='f')
- class SecondaryDiscretePID(LeadPID):
- def __init__(self, kp, ki, kd):
- LeadPID.__init__(self, CONTROLLER_TYPE_DISCRETE, kp=kp, ki=ki, kd=kd)
- class SecondaryTakahashiPID(LeadPID):
- def __init__(self, kc, ti, td, ts):
- LeadPID.__init__(self, CONTROLLER_TYPE_TAKAHASHI, Kc=kc, Ti=ti, Td=td, Ts=ts)
|