Handle cases captured by asserts

This commit removes asserts and handles their cases.
This commit is contained in:
Davide Sapienza
2019-09-27 15:37:14 +02:00
parent 4a7b290fdf
commit bb7d382d96
+14 -17
View File
@@ -674,7 +674,6 @@ void *computationTask(void *x_void_ptr)
Message *m = new Message; Message *m = new Message;
m->cam_idx = camera->CAM_IDX; m->cam_idx = camera->CAM_IDX;
m->lights.clear(); m->lights.clear();
std::cout<<"COMM\n";
/*Conversion for tracker, from gps to meters and viceversa*/ /*Conversion for tracker, from gps to meters and viceversa*/
// mutex_cv.lock(); // mutex_cv.lock();
geodetic_converter::GeodeticConverter gc; geodetic_converter::GeodeticConverter gc;
@@ -682,7 +681,6 @@ void *computationTask(void *x_void_ptr)
// mutex_cv.unlock(); // mutex_cv.unlock();
double east, north, up; double east, north, up;
// double lat, lon, alt; // double lat, lon, alt;
std::cout<<"COMMINT\n";
/*Mask info*/ /*Mask info*/
cv::Mat mask = cv::imread(camera->maskfile, cv::IMREAD_GRAYSCALE); cv::Mat mask = cv::imread(camera->maskfile, cv::IMREAD_GRAYSCALE);
cv::Mat maskOrient = cv::imread(camera->maskFileOrient); cv::Mat maskOrient = cv::imread(camera->maskFileOrient);
@@ -698,7 +696,6 @@ void *computationTask(void *x_void_ptr)
return 0;*/ return 0;*/
std::cout<<"COMM2\n";
/*tracker infos*/ /*tracker infos*/
std::vector<Tracker> trackers; std::vector<Tracker> trackers;
std::vector<Data> cur_frame; std::vector<Data> cur_frame;
@@ -902,15 +899,16 @@ void *computationTask(void *x_void_ptr)
step_t = end_t; step_t = end_t;
//convert from latitude and longitude to meters for ekf //convert from latitude and longitude to meters for ekf
cur_frame.clear(); cur_frame.clear();
assert (!coords.empty());
for (size_t i = 0; i < coords.size(); i++) for (size_t i = 0; i < coords.size(); i++)
{ {
gc.geodetic2Enu(coords[i].lat_, coords[i].long_, 0, &east, &north, &up); gc.geodetic2Enu(coords[i].lat_, coords[i].long_, 0, &east, &north, &up);
cur_frame.push_back(Data(east, north, frame_nbr, coords[i].class_)); cur_frame.push_back(Data(east, north, frame_nbr, coords[i].class_));
} }
assert (!cur_frame.empty());
if (first_iteration) if (first_iteration)
{ {
// if there aren't detections and it is the first iteration, we can't initialize the tracker, so continue
if(cur_frame.empty())
continue;
for (auto f : cur_frame) for (auto f : cur_frame)
trackers.push_back(Tracker(f, initial_age, dt, n_states)); trackers.push_back(Tracker(f, initial_age, dt, n_states));
} }
@@ -920,18 +918,17 @@ void *computationTask(void *x_void_ptr)
} }
std::cout << "There are " << trackers.size() << " trackers" << std::endl; std::cout << "There are " << trackers.size() << " trackers" << std::endl;
//prepare message with tracker info //prepare message with tracker info
assert (trackers.size()!=0); if(trackers.size()==0)
// mutex_cv.lock(); {
addRoadUserfromTracker(trackers, m, gc, maskOrient, adfGeoTransform, H); // mutex_cv.lock();
// mutex_cv.unlock(); addRoadUserfromTracker(trackers, m, gc, maskOrient, adfGeoTransform, H);
// mutex_cv.unlock();
//prepare the message with detection info //prepare the message with detection info
//prepare_message(m, coords, CAM_IDX); //prepare_message(m, coords, CAM_IDX);
//send message //send message
// assert (!m->objects.empty()); if (!m->objects.empty())
if (!m->objects.empty()) Comm.send_message(m);
Comm.send_message(m); }
// assert (trackers.size()!=0);
if (to_show) if (to_show)
{ {