equinor / flotilla

Flotilla is the main point of access for operators to interact with multiple robots in a facility.
Eclipse Public License 2.0
16 stars 36 forks source link

Remove localization missions #1595

Open andchiind opened 1 month ago

andchiind commented 1 month ago

Describe the improvement you would like to see Currently we send an explicit localization mission to the robots that support localization. This is done in order to check that the robot is in the correct location before scheduling a full mission. However, robots will regardless need to localize in order to run the next mission. Therefore, as long as we are able to tell from the feedback we get from ISAR that the reason a mission failed was due to localization failing, then there is no need to have localization as a Flotilla feature. This would significantly simplify Flotilla and make the system more robust. In this case we would not need to check what missions are currently scheduled or running, or what mission just finished. Instead we could simply run a mission when the robot is available, and if the localization step fails then we report this to the user.

How will this change existing functionality? As described above, we will keep the prompt for the user in the frontend, telling them to ensure the robot is in the right place when starting a mission, but after that we will simply schedule the intended mission. The user will therefore not need to understand what a localization mission does, and they will only need to care about localization when it fails. Functionality will otherwise not change, but a major cleanup of the mission scheduling logic can then be done.

How will this improvement affect the current Threat Model? It will generally not change, but the resulting simplification of the code can improve the overall robustness of the system in the long run.

andchiind commented 1 month ago

This change is even more profound if the return to home functionality is moved to ISAR. In this case we do not need to worry about whether the last ran mission is a return to home mission. I also think this makes sense regardless, as going to a docking station to charge is a fundamental robot activity which should not be dependent on Flotilla.