def Driver_set(self, Driver): """Arrange driver parameters for behavior controller Define PID controller for velocity, offset, yaw Args: * DriverSet: driver parameter set """ self.Driver = Driver self.Lon_Controller_acc = type_pid_controller(Driver.P_gain_lon, Driver.I_gain_lon, Driver.D_gain_lon) self.Lon_Controller_brk = type_pid_controller(Driver.P_gain_lon, Driver.I_gain_lon, Driver.D_gain_lon) self.Lat_Controller_offset = type_pid_controller(Driver.P_gain_lat, Driver.I_gain_lat, Driver.D_gain_lat) self.Lat_Controller_yaw = type_pid_controller(Driver.P_gain_yaw, Driver.I_gain_yaw, Driver.D_gain_yaw) self.stLonControl = 'Acc_On' self.stLonControlTrnst = 0 self.cntTrnst = 0 self.conf_brk_on_hystval = Driver.vel_hyst_brk self.conf_acc_on_hystvel = Driver.vel_hyst_acc self.conf_shift_time = Driver.shift_time self.Filt_LonShiftTrnsDelay = type_trnsition_delay(Driver.shift_time)
model_conf = { 'input_num': 8, 'input_sequence_num': 8, 'action_dim': 6, 'lrn_rate': 0.0005 } agent_conf = {'min_data_length': 200} agent_reg = DdqrnAgent(model_conf['input_num'], model_conf['input_sequence_num'], model_conf['action_dim'], model_conf['lrn_rate']) agent_reg.explore_dn_freq = 2000 acc_set_filt = MovAvgFilt(7) reg_trq_ctl = type_pid_controller() reg_trq_ctl.P_gain = 50 reg_trq_ctl.I_gain = 500 # Env env_reg = EnvRegen(kona_power.ModBattery.SOC) " Load model" if driver_case == 0: agent_reg.model.load_weights('driving_case_driver_0.h5') agent_reg.epsilon = 0.1 elif driver_case == 1: agent_reg.model.load_weights('driving_case_driver_1.h5') agent_reg.epsilon = 0.1 else: agent_reg.model.load_weights('driving_case_driver_2.h5') agent_reg.epsilon = 0.1