magazino / move_base_flex

Move Base Flex: a backwards-compatible replacement for move_base
https://uos.github.io/mbf_docs/
BSD 3-Clause "New" or "Revised" License
422 stars 154 forks source link

add BLOCKED_GOAL error code to ExePath action #309

Closed ChristofDubs closed 1 year ago

ChristofDubs commented 1 year ago

Add error code BLOCKED_GOAL to the ExePath action, such that the controller can report that the goal is blocked.

This seems cleaner than using the already existing GOAL_BLOCKED = 15 error code in MoveBaseAction for this scenario since the new error code is within the [ExePathResult::ERROR_RANGE_START, ExePathResult::ERROR_RANGE_END] range.

corot commented 1 year ago

This seems cleaner than using the already existing GOAL_BLOCKED = 15 error code in MoveBaseAction for this scenario since the new error code is within the [ExePathResult::ERROR_RANGE_START, ExePathResult::ERROR_RANGE_END] range.

I think it's fine to have the same error repeated on more than one range, as this conveys at which level we detect the error condition

ChristofDubs commented 1 year ago

Q: The message definition already allows the controller to return any custom errors it needs between 121 and 149. Are we going to change the message definition every time we need a new error code...?

Well it's a judgement call whether an error code is general enough to go into the 100 to 120 range; and in the case of BLOCKED_GOAL, that seems to be a general scenario that is not a plugin specific error.

F: Need to update mbf_utility::outcome2str with the new error code

Yes, added in 3b9f8b697750d274584d5f04cd1a87a857d4fab8