rosin-project / metacontrol_sim

2 stars 4 forks source link

Centralize in KB all info needed by nodes of the metacontrol MAPE-K loop #33

Open chcorbato opened 4 years ago

chcorbato commented 4 years ago

Currently, there are some ad-hoc code to provide each of the nodes in the metacontrol MAPE-K loop the information about configuration. We need to have a general solution to sync this information, which includes:

Let's analyze this per metacontrol node in the MAPE-K loop (checkboxes indicate the design stated next to it has been implemented):

Monitor: rosgraph_monitor

ROSGraph monitor

It monitors that the configuration of nodes/components is the desired_configuration

Objectives observers

They detect the status of the running objectives (are they in error because the task management reports so?)

NOTE: observers need to be activated (see code below). This needs to be "automated". mros1_reasoner could do that, contributing to address the deployment and the runtime TODOs https://github.com/rosin-project/metacontrol_sim/blob/1a8c38645bcd141611cd628520226a7a80134c78/launch/MVP_metacontrol_world.launch#L75-L77

IMPLEMENTATION NODE for Monitoring: Currently the monitoring interface M-A is via ROS diagnostics messages This is causing some problems and does not provide good semantics

Analyse, Plan and KB - mros1_reasoner

Execute - rosgraph_manipulator.py

https://github.com/rosin-project/metacontrol_sim/blob/1a8c38645bcd141611cd628520226a7a80134c78/scripts/rosgraph_manipulator.py#L100-L125