# Objective function Q = sparse.diags([1., 0.1]) QN = Q R = 0.1 * sparse.eye(1) # Prediction horizon N = 10 #%% 1. Pysim Model import # Powertrain model import kona_power = Mod_Power() # Body model import kona_drivetrain = Mod_Body() # Vehicle model import kona_vehicle = Mod_Veh(kona_power, kona_drivetrain) # Driver model import drv_kyunghan = Mod_Driver() # Behavior model import beh_driving = Mod_Behavior(drv_kyunghan) # Set model parameter fcn_set_vehicle_param(kona_drivetrain, kona_vehicle, kona_param, kona_param_est) # RL controller # Idm cf_state_recog = DecelStateRecog() idm_cls = IdmClassic() # Agent K.clear_session()
os.chdir(base_dir) from pysim.models.model_vehicle import Mod_Veh, Mod_Body from pysim.models.model_power import Mod_Power ## from models.model_maneuver import Mod_Behavior, Mod_Driver ## from models.model_environment import Mod_Env from pysim.sub_util.sub_type_def import type_DataLog #%% 1. Import models # Powertrain import and configuration kona_power = Mod_Power() #%% # ~~~~~ # Bodymodel import and configuration kona_body = Mod_Body() # ~~~~ # Vehicle set kona_vehicle = Mod_Veh(kona_power, kona_body) #%% 2. Simulation config Ts = 0.01 sim_time = 40 sim_time_range = np.arange(0, sim_time, 0.01) # ----------------------------- select input set --------------------------- Input_index = 2 if Input_index == 0: # Go straight : Input_index = 0 u_acc_val = np.concatenate( (0 * np.ones(int(len(sim_time_range) * 0.1)), 0.3 * np.ones(int(len(sim_time_range) * 0.9)))) u_brk_val = 0 * np.ones(len(sim_time_range)) elif Input_index == 1: