- MongoDB, 'message_store' database with collection of 'task_events'.
- PRISM - https://github.com/bfalacerda/prism
- Clone of this repository with the files in the folder models.
- PRISM path should be modified. Look for ##SPECIFY LOCATION##
- Select initialisation paramaters
- Run roscore.
- Run mongodb store
- Run fhc.py for finite horizon control.
- Run rhc.py for time based receding horizon control.
- Run taskbased_rhc.py for event based receding horizon control.
- Run taskbased_rbc*.py for rule based controls.
- Run swtbrhc.py for sliding window based training for RHC controller
While running these files, the following scripts are called:
- generate_samples.py will generate test points.
- probabilistic_rewards.py generates the rewards and task model probabilities.
- bcth_prism_model.py generates the prism script for model checking.
- read_adversary.py reads the policies generated by prism.
- In fhc.py and rhc.py simulation is done by obtaining the prism model, finding the next state and action taken from the current state from the optimal policy picked and accumalating these results across all the test points.