[ERROR] [1676899407.518870, 1676885519.768712]: Error processing request: Input contains NaN, infinity or a value too large for dtype('float64').
['Traceback (most recent call last):\n', ' File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_service.py", line 633, in _handle_request\n response = convert_return_to_response(self.handler(request), self.response_class)\n', ' File "/home/axel/catkin_ws/src/cmr_lidarloop/scripts/lidar_loopdetector_server.py", line 114, in handle_LiDAR_Loopdetector\n print("Prediction: "+str(detector.predict(features))+"\\nProbabilities: "+str(detector.predict_proba(features)))\n', ' File "/usr/lib/python3/dist-packages/sklearn/ensemble/_weight_boosting.py", line 625, in predict\n X = self._validate_data(X)\n', ' File "/usr/lib/python3/dist-packages/sklearn/ensemble/_weight_boosting.py", line 80, in _validate_data\n ret = check_array(X,\n', ' File "/usr/lib/python3/dist-packages/sklearn/utils/validation.py", line 577, in check_array\n _assert_all_finite(array,\n', ' File "/usr/lib/python3/dist-packages/sklearn/utils/validation.py", line 57, in _assert_all_finite\n raise ValueError(\n', "ValueError: Input contains NaN, infinity or a value too large for dtype('float64').\n"]
[ERROR] [1676899407.519996090, 1676885519.768712302]: Service call failed: service [/cmr_lidarloop/LiDAR_Loopdetector] responded with an error: error processing request: Input contains NaN, infinity or a value too large for dtype('float64').
[ERROR] [1676899407.520029562, 1676885519.768712302]: Failed to call service LiDAR_Loopdetector
In lidar_loopdetector_server.py line 88 : correlation cannot be computed between two floats.
=> changed :
corr_coef=np.corrcoef(current_histogram,histogram_i)[0,1]
for :
corr_coef=0
if len(current_histogram[0])>1:
corr_coef=np.corrcoef(current_histogram,histogram_i)[0,1]
else:
if current_histogram[0]==histogram_i[0]:
corr_coef=1
elif current_histogram[0]==histogram_i[0]:
corr_coef=-1
else:
corr_coef=0
In lidar_loopdetector_server.py line 88 : correlation cannot be computed between two floats. => changed :
corr_coef=np.corrcoef(current_histogram,histogram_i)[0,1]
for :