Fix predictor trying to run on a single point

pull/26/head
David Rollinson 2021-01-11 12:13:41 +08:00
rodzic 63347590bf
commit 02105bf4d2
2 zmienionych plików z 9 dodań i 2 usunięć

Wyświetl plik

@ -193,3 +193,6 @@ class GenericTrack(object):
_track_points = np.column_stack((_track_data_np[:,1], _track_data_np[:,2], _track_data_np[:,3]))
return _track_points.tolist()
def length(self):
return len(self.track_history)

Wyświetl plik

@ -223,8 +223,7 @@ def handle_new_payload_position(data, log_position = True):
if _car_state != None:
_ground_asl = _car_state['alt']
else:
_ground_asl = 0.0
_ground_asl = 0.
# Calculate
_ttl = time_to_landing(_alt, _vel_v, ground_asl=_ground_asl)
if _ttl is None:
@ -328,8 +327,13 @@ def run_prediction():
logging.debug("Skipping prediction for %s due to old data." % _payload)
continue
_current_pos = current_payload_tracks[_payload].get_latest_state()
_current_pos_list = [0,_current_pos['lat'], _current_pos['lon'], _current_pos['alt']]
if current_payload_tracks[_payload].length() <= 1:
logging.info("Only %i point in this payload's track, skipping prediction.", current_payload_tracks[_payload].length())
continue
_pred_ok = False
_abort_pred_ok = False