
I have another question about the design choices of nav2. Specifically, I'm wondering why the controller plugins (nav2_core::Controller) don't have a mechanism for failure. Consider the following example as motivation.
Suppose we have a very forgiving progress checker (our robot is slow and unreliable and so we have a 10 second timer for it to raise an error) and suppose we have a simulator in our controller plugin that can detect problems. Then in the event that our robot detects a problem in simulation, we will have to wait an additional 10 seconds for the control server (nav2_controller::ControllerServer) to quit. This seems far too long since we were able to detect a problem in the controller plugin 10 seconds early.
Originally posted by programmer-man on ROS Answers with karma: 29 on 2021-03-22
Post score: 0