meta-control / mc_mros_reasoner

library for metacontrol-based self-adaptation using ontological reasoning, with wrappers for robotic systems based on ROS1 and ROS2
Apache License 2.0
7 stars 10 forks source link

Define proper objective status logic (state machine?) #128

Open chcorbato opened 2 years ago

chcorbato commented 2 years ago

https://github.com/meta-control/mc_mros_reasoner/blob/96982656fb03543f09e3b2da574dc444b4d38e8b/mros2_reasoner/mros2_reasoner/ros_reasoner.py#L381

This needs to be fixed simultaneously with logic in the Wrapper (monitors objectives) and in the MROS Observer (which apparently in ROS2 monitors components/nodes)

estherag commented 2 years ago

@chcorbato I've been thinking how to solve this but it is not that easy. The problem is that the Observer only handles components and the Wrapper only handles objectives. When a component is RECOVERED we have two options:

In both cases, once a FD is grounded, the objective status is reset to NONE in the ontology