AIDynamicAction / rcognita

rcognita is a flexibly configurable framework for agent-enviroment simulation with a menu of predictive and safe reinforcement learning controllers
MIT License
16 stars 6 forks source link

Add parsing of command line arguments in presets #25

Closed osinenkop closed 3 years ago

osinenkop commented 3 years ago

We need a call capability like:

python main_3wrobot_NI.py -ctrl_mode JACS -dt 0.01 ...
Required parameters: Parameter name Values Notes
ctrl_mode string see description of methods in preset
dt number controller sampling time
t1 number final time
x0 numpy vector initial state, dimension preset-specific!

Optional parameters, set to default values unless specified otherwise:

Parameter name Values Default Description
is_log_data binary 0
is_visualization binary 1
is_print_sim_step binary 1
is_est_model binary 0 if a model of the env. is to be estimated online
model_est_stage number 1 seconds to learn model until benchmarking controller kicks in
model_est_period number 1*dt model is updated every model_est_period seconds
model_order integer 5 order of state-space estimation model
prob_noise_pow number 8 power of probing noise
uMan numpy vector zeros manual control action to be fed constant, system-specific!
Nactor integer 3 horizon length (in steps) for predictive controllers
pred_step_size number dt
buffer_size integer 10
rcost_struct string quadratic structure of running cost function
R1 numpy matrix identity matrix must have proper dimension
R2 numpy matrix identity matrix must have proper dimension
Ncritic integer 4 critic stack size (number of TDs)
gamma number 1 discount factor
critic_period number dt critic is updated every critic_period seconds
critic_struct string quad-nomix structure of critic features
actor_struct string quad-nomix structure of actor features

This needs to be reflected in the readme, as an example call of an example present. Could probably be translated from this text.

yaremenko8 commented 3 years ago

Implemented

osinenkop commented 3 years ago

Done