MCPcopy Create free account
hub / github.com/Robotics-STAR-Lab/RACER / updateGridData

Method updateGridData

swarm_exploration/active_perception/src/hgrid.cpp:71–155  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

69}
70
71void HGrid::updateGridData(const int& drone_id, vector<int>& grid_ids, bool reallocated,
72 const vector<int>& last_grid_ids, vector<int>& first_ids, vector<int>& second_ids) {
73
74 // Convert grid_ids to the ids of bi-level uniform grid
75 vector<int> grid_ids1, grid_ids2;
76 const int grid_num1 = grid1_->grid_data_.size();
77 for (auto id : grid_ids) {
78 if (id < grid_num1)
79 grid_ids1.push_back(id);
80 else
81 grid_ids2.push_back(id - grid_num1); // Id of level 2 grid
82 }
83
84 // std::cout << "Input ids: ";
85 // for (auto id : grid_ids)
86 // std::cout << id << ", ";
87 // std::cout << "" << std::endl;
88
89 // std::cout << "level 1 ids: ";
90 // for (auto id : grid_ids1)
91 // std::cout << id << ", ";
92 // std::cout << "" << std::endl;
93
94 // std::cout << "level 2 ids: ";
95 // for (auto id : grid_ids2)
96 // std::cout << id << ", ";
97 // std::cout << "" << std::endl;
98
99 // Update at level 1
100 vector<int> tmp_ids1 = grid_ids1;
101 vector<int> parti_ids1, parti_ids1_all;
102 grid1_->updateGridData(drone_id, grid_ids1, parti_ids1, parti_ids1_all);
103
104 // std::cout << "updated level 1 ids: ";
105 // for (auto id : grid_ids1)
106 // std::cout << id << ", ";
107 // std::cout << "" << std::endl;
108
109 // std::cout << "divided level 1 ids: ";
110 // for (auto id : parti_ids1)
111 // std::cout << id << ", ";
112 // std::cout << "" << std::endl;
113
114 // Merge the newly partitioned and original grid ids
115 vector<int> fine_ids;
116 for (auto id : parti_ids1) {
117 vector<int> tmp_ids;
118 coarseToFineId(id, tmp_ids);
119 fine_ids.insert(fine_ids.end(), tmp_ids.begin(), tmp_ids.end());
120 }
121 grid_ids2.insert(grid_ids2.end(), fine_ids.begin(), fine_ids.end());
122
123 // Activate newly divided grids
124 vector<int> fine_ids_all;
125 for (auto id : parti_ids1_all) {
126 vector<int> tmp_ids;
127 coarseToFineId(id, tmp_ids);
128 fine_ids_all.insert(fine_ids_all.end(), tmp_ids.begin(), tmp_ids.end());

Callers 1

findGlobalTourOfGridMethod · 0.45

Calls 5

activateGridsMethod · 0.80
sizeMethod · 0.45
insertMethod · 0.45
endMethod · 0.45
beginMethod · 0.45

Tested by

no test coverage detected