-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* added configuration script which generates a default user.config.json which autoloads IsaacSim extensions and also prompts the user to input their API Token for the AirLab Nucleus server * updated documentation for configuration script * mounted user.config.json as a volume in docker to autoload extensions * updating documentation on trajectory controller and behavior executive
- Loading branch information
Showing
4 changed files
with
66 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# Behavior Executive | ||
|
||
The behavior executive reads which actions are active from the behavior tree and implements the behavior which these actions should perform and sets the status of the actions to SUCCESS, RUNNING, or FAILURE. It also sets the status of conditions as either SUCCESS or FAILURE. | ||
|
||
A typical way of implementing the behavior for an action is the following in the 20 Hz timer callback: | ||
|
||
``` | ||
if(action->is_active()){ | ||
if(action->active_has_changed()){ | ||
// This is only true when the when the action transitions between active/inactive | ||
// so this block of code will only run once whenever the action goes from being inactive to active. | ||
// You might put a service call here and then call action->set_success() or action->set_failure() | ||
// based on the result returned by the service call. | ||
} | ||
// Code here will get executed each iteration. | ||
// You might call action->set_running() while you are doing work here. | ||
} | ||
``` |