Location of behaviors for the IEEE autonomy stack.
This is a standalone rospackage, that should never have any dependencies other than ros or basic c++ libraries.
Because this is a standalone library, this can be compiled by doing the following:
cd /path/to/behaviors
mkdir build && cd build
# ninja should always be the prefered build command
cmake .. -G Ninja
ninja
This library is designed to be make writing behaviors easier. There is a base behavior that all subsequent behaviors sould inherit from. See test_behavior1.h for an example on how to write a behavior. The real things to worry about, are to have the following in your nodelet class:
class my_nodelet : public base_behavior {
public:
bool control_loop() override;
void set_params() override;
void nodelet_init() override;
}
To run behaviors, you will need to still create plugins and launch file, follow the instruction in this wiki for more information.
After you do this, you will need to rebuild the code again:
cd /path/to/behaviors/build
ninja # again, use make if that is what you had to use before
After rebuilding, you will need to source the new setup.sh file to export your package:
source /path/to/behaviors/build/devel/setup.sh
Now you can run anything you've created in this repository with the roslaunch command. To run the test behviors, use this command:
roslaunch behaviors test_behaviors.launch