The project runs a mission server that accepts and launchs missions on the AUV prototype for autonomous operations. It also handles the generation of custom Behavior Tree nodes used within these missions. The mission server oversees execution from start to finish, providing real-time control and feedback throughout the operation.
- Humble
ament_cmakerclcpprclcpp_actionbehaviortree_cppstd_msgsstd_srvs
sonia_common_ros2
tinyxml2
sonia_bt_missions contains the missions used for autonomous operations as well as the generated sonia behaviortree nodes required by groot. The missions are created using Groot2, an application that helps interact with behaviortree nodes.
- Name:
Mission_server
| Type | Name | Direction | Message/Service Type | Description |
|---|---|---|---|---|
| Topic | /mission_server/status_report |
Published | std_msgs/msg/String |
Messages about state of the mission server while running |
| Service | /mission_server/mission_list |
Service Server | sonia_common_ros2/srv/MissionListService |
Returns a mission list generated by the mission server |
| Action | MissionControl |
Action Server | sonia_common_ros2/action/MissionControl |
Handles mission launch requests |
To build the project, the following commands should be run directly from your ROS2 workspace.
colcon build --packages-select sonia_bt_runner --symlink-install
source install/setup.bashRequired environment variables to launch the project
export SONIA_WS={path_to_your_ros2_workspace}replace {path_to_your_ros2_workspace} with the absolute path to your ros2 workspace
The command generates an xml file of custom behaviortree nodes required by groot to create sonia missions.
ros2 run sonia_bt_runner gen_nodesThe command launchs the mission server
ros2 launch sonia_bt_runner launch.pyros2 node list
ros2 node info /Mission_server
ros2 topic echo /mission_server/status_report
ros2 param list /Mission_server