@@ -42,6 +42,12 @@ class MissionManagerNode : public rclcpp::Node
42
42
MissionManagerNode ()
43
43
: Node(" mission_manager" ), count_(0 )
44
44
{
45
+ this ->declare_parameter (" grid_cell_size" , 10.0 );
46
+ this ->declare_parameter (" visualize_search_allocation" , false );
47
+ this ->get_parameter (" grid_cell_size" , grid_cell_size_);
48
+ this ->get_parameter (" visualize_search_allocation" , visualize_search_allocation_);
49
+
50
+
45
51
mission_subscriber_ = this ->create_subscription <airstack_msgs::msg::SearchMissionRequest>(
46
52
" search_mission_request" , 1 , std::bind (&MissionManagerNode::search_mission_request_callback, this , std::placeholders::_1));
47
53
@@ -102,6 +108,8 @@ class MissionManagerNode : public rclcpp::Node
102
108
103
109
size_t count_;
104
110
rclcpp::TimerBase::SharedPtr timer_;
111
+ double grid_cell_size_;
112
+ bool visualize_search_allocation_;
105
113
int max_number_agents_ = 5 ; // TODO: get from param server
106
114
airstack_msgs::msg::SearchMissionRequest latest_search_mission_request_;
107
115
std::shared_ptr<MissionManager> mission_manager_;
@@ -138,16 +146,16 @@ class MissionManagerNode : public rclcpp::Node
138
146
latest_search_mission_request_ = *msg;
139
147
140
148
// TODO: visualize the seach mission request
141
- this ->mission_manager_ ->belief_map_ .reset_map (this ->get_logger (), *msg);
142
- this ->publish_tasks (this ->mission_manager_ ->assign_tasks (this ->get_logger (), latest_search_mission_request_, viz_pub_));
149
+ this ->mission_manager_ ->belief_map_ .reset_map (this ->get_logger (), *msg, grid_cell_size_ );
150
+ this ->publish_tasks (this ->mission_manager_ ->assign_tasks (this ->get_logger (), latest_search_mission_request_, viz_pub_, visualize_search_allocation_ ));
143
151
}
144
152
145
153
void agent_odom_callback (const std_msgs::msg::String::SharedPtr msg, const uint8_t &robot_id)
146
154
{
147
155
RCLCPP_INFO (this ->get_logger (), " Received agent odom '%s'" , msg->data .c_str ());
148
156
if (this ->mission_manager_ ->check_agent_changes (this ->get_logger (), robot_id, this ->now ()))
149
157
{
150
- this ->publish_tasks (this ->mission_manager_ ->assign_tasks (this ->get_logger (), latest_search_mission_request_, viz_pub_));
158
+ this ->publish_tasks (this ->mission_manager_ ->assign_tasks (this ->get_logger (), latest_search_mission_request_, viz_pub_, visualize_search_allocation_ ));
151
159
}
152
160
}
153
161
@@ -159,7 +167,7 @@ class MissionManagerNode : public rclcpp::Node
159
167
// Check if change in the number of targets or id numbers
160
168
if (this ->mission_manager_ ->check_target_changes (this ->get_logger (), msg->data , this ->now ()))
161
169
{
162
- this ->publish_tasks (this ->mission_manager_ ->assign_tasks (this ->get_logger (), latest_search_mission_request_, viz_pub_));
170
+ this ->publish_tasks (this ->mission_manager_ ->assign_tasks (this ->get_logger (), latest_search_mission_request_, viz_pub_, visualize_search_allocation_ ));
163
171
}
164
172
}
165
173
0 commit comments