# Extension of move_base_msgs/MoveBase action, with more detailed result
# and feedback and the possibility to specify lists of applicable plugins

geometry_msgs/PoseStamped target_pose

# Controller to use; defaults to the first one specified on "controllers" parameter
string controller

# Planner to use; defaults to the first one specified on "planners" parameter
string planner

# Recovery behaviors to try on case of failure; defaults to the "recovery_behaviors" parameter value
string[] recovery_behaviors

# Optionally overrule controller's goal tolerances
bool tolerance_from_action
float32 dist_tolerance
float32 angle_tolerance

---

# Predefined success codes:
uint8 SUCCESS        = 0

# Predefined general error codes:
uint8 FAILURE        = 10
uint8 CANCELED       = 11
uint8 COLLISION      = 12
uint8 OSCILLATION    = 13
uint8 START_BLOCKED  = 14
uint8 GOAL_BLOCKED   = 15
uint8 TF_ERROR       = 16
uint8 INTERNAL_ERROR = 17
# 21..49 are reserved for future general error codes

# Planning/controlling failures:
uint8 PLAN_FAILURE   = 50
# 51..99 are reserved as planner specific errors

uint8 CTRL_FAILURE   = 100
# 101..149 are reserved as controller specific errors

uint32 outcome
string message

# Configuration upon action completion
float32 dist_to_goal
float32 angle_to_goal
geometry_msgs/PoseStamped final_pose

---

# Outcome of most recent controller cycle. Same values as in MoveBase or ExePath result.
uint32 outcome
string message

float32 dist_to_goal
float32 angle_to_goal
geometry_msgs/PoseStamped current_pose
geometry_msgs/TwistStamped last_cmd_vel  # last command calculated by the controller
