Skip to content

Recovery Behaviors Roadmap #953

@mhpanah

Description

@mhpanah

Objective: Scope-based failure Handling

Utilizing Behavior Trees with Recovery Node allows one to handle failures at multiple scopes. With this capability, any action in a large system can be constructed with a specific set of recovery actions suitable for that action. Thus, failures can be handled locally within the scope.
With that in mind, the tree below represents one example of how to implement scope-base recovery actions suitable for the current local and global planner. This tree is my proposed high-level recovery behavior representation for the eloquent release and a detailed representation for each node will be added. In summary, we are planning to have a specific set of recovery behaviors locally within each planner and also at a higher level before aborting the mission. We have already implemented some of the needed BT action nodes for the dashing and the following are to be implemented for the eloquent:

  • Identify possible communication failures such as topics or service calls due to timeout or other reasons for the global planner

  • Identify possible communication failures such as topics or service calls due to timeout or other reasons for the local planner

  • Recovery actions for the communication failures, such as utilizing the lifecycle manager to restart/reset the identified module that caused the communication failure

  • Implement conservative reset BT Action node for the global planner

  • Implement aggressive reset BT Action node for the global planner

  • Implement conservative reset BT Action node for the local planner

  • Monitor localization uncertainty

recovery

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions