1. "generate_test_traj.m" creates 1000 different open-loop trajectories that satisfy the SITL formula and saves them in "trajectories.mat".

2. "create_parameters" creates 500 problem instances (robor dynamic parameters, disturbances, initial conditions, etc) in the data file "parameters.mat".

3. "get_data_InvDynamicsControl.m" creates 100 trajectories, using the aforementioned parameters, of the robot executing the task and save the data in the folder /training_data_python.

4. "shuffle_data.py" shuffles randomly the aforementioned data and saves them in "shuffled_data.pkl".

5. "train.py" trains a neural network using the shuffled data and saves it in "NeuralNetworkUR5".

6. "convert_to_onnx.py" converts the neural network structure to a matlab-friendly variable -"NeuralNetworkUR5.onnx".

7. "test.m" is the proposed neural-network + adaptive control policy, "test_only_nn.m" is the non-adaptive control policy, and "test_no_nn.m" is the adaptive control policy that does not use the neural network.

8. "plot_stuff.m" plots the results.

