28 #ifndef CRangeBearingKFSLAM2D_H
29 #define CRangeBearingKFSLAM2D_H
58 using namespace mrpt::bayes;
59 using namespace mrpt::poses;
83 void processActionObservation(
97 std::vector<TPoint2D> &out_landmarksPositions,
98 std::map<unsigned int,CLandmark::TLandmarkID> &out_landmarkIDs,
106 void getCurrentRobotPose(
128 void loadFromConfigFile(
130 const std::string §ion);
134 void dumpToTextStream(
CStream &out)
const;
156 void saveMapAndPath2DRepresentationAsMATLABFile(
157 const std::string &fil,
159 const std::string &styleLandmarks = std::string(
"b"),
160 const std::string &stylePath = std::string(
"r"),
161 const std::string &styleRobot = std::string(
"r") )
const;
177 predictions_IDs.clear();
178 newly_inserted_landmarks.clear();
195 return m_last_data_association;
207 void OnGetAction( KFArray_ACT &out_u )
const;
214 void OnTransitionModel(
215 const KFArray_ACT &in_u,
216 KFArray_VEH &inout_x,
217 bool &out_skipPrediction
224 void OnTransitionJacobian( KFMatrix_VxV &out_F )
const;
228 void OnTransitionJacobianNumericGetIncrements(KFArray_VEH &out_increments)
const;
235 void OnTransitionNoise( KFMatrix_VxV &out_Q )
const;
247 void OnGetObservationsAndDataAssociation(
248 vector_KFArray_OBS &out_z,
250 const vector_KFArray_OBS &in_all_predictions,
251 const KFMatrix &in_S,
253 const KFMatrix_OxO &in_R
256 void OnObservationModel(
258 vector_KFArray_OBS &out_predictions
266 void OnObservationJacobians(
267 const size_t &idx_landmark_to_predict,
274 void OnObservationJacobiansNumericGetIncrements(
275 KFArray_VEH &out_veh_increments,
276 KFArray_FEAT &out_feat_increments )
const;
281 void OnSubstractObservationVectors(KFArray_OBS &A,
const KFArray_OBS &B)
const;
286 void OnGetObservationNoise(KFMatrix_OxO &out_R)
const;
295 void OnPreComputingPredictions(
296 const vector_KFArray_OBS &in_all_prediction_means,
311 void OnInverseObservationModel(
312 const KFArray_OBS & in_z,
313 KFArray_FEAT & out_yn,
314 KFMatrix_FxV & out_dyn_dxv,
315 KFMatrix_FxO & out_dyn_dhn )
const;
322 void OnNewLandmarkAddedToMap(
323 const size_t in_obsIdx,
324 const size_t in_idxNewFeat );
329 void OnNormalizeStateVector();
337 out_id2index = m_IDs.getInverseMap();