Trajectory data
Trajectories can be computed with trajectory optimization methods such as direct collocation and iterative LQR. For the execution zhe trajectories can later be loaded by a stabilizing controller such as time varying LQR of a model predictive controller. The computed trajectories are stored in a csv file. The first line of the csv file is reserved for the header defining the data type in the corresponding column. The headers used are:
time
pos1,pos2,vel1,vel2,
acc1,acc2
pos_meas1,pos_meas2,vel_meas1,vel_meas2
pos_filt1,pos_filt2,vel_filt1,vel_filt2
pos_des1,pos_des2,vel_des1,vel_des2
tau_con1,tau_con2
tau_fric1,tau_fric2
tau_meas1,tau_meas2
tau_des1,tau_des2
K11,K12,K13,K14,K21,K22,K23,K24
k1,k2
Note
Not all headers/columns have to used.
Note
There should be no space after the separating comma.
The easiest way to stay consistent with this format is to use the functions
save_trajectory(...)
load_trajectory(...)
load_trajectory_full(...)
in double_pendulum.utils.csv_trajectory. These functions use the panda library to save/load the data. Missing header labels are skipped.