Hi,
I need a suggestion about landmarks.
I've found the way to make landmark extraction using the ransac algorithm and now I can insert them into the slam iteration, but how can I assign different ID to different landmark?
I mean I've to find a way to calculate the matching ratio between the landmarks just observed and the others in the vector built by the filter and assign a new ID if the landmark is new.
How can I do this?
thanks
Hi, Hope this answer helps
Hi,
Hope this answer helps you too: http://www.mrpt.org/node/242
About landmark IDs: the idea is that, between consecutive observations, those "measurements" (1 landmark described by range-bearing data) with the same landmark ID actually are the same physical landmark. You are only sure of these things for example in computer vision if you've tracked the feature, but in theory you could also do tracking in a 2D laser scan. The other option is to leave all IDs as "invalid" (read my comment in the link above) and the association will be done in the SLAM algorithm if done with the classes:
http://reference.mrpt.org/stable/classmrpt_1_1slam_1_1_c_range_bearing_k...
or
http://reference.mrpt.org/stable/classmrpt_1_1slam_1_1_c_range_bearing_k...
JL
Thank you again for the
Thank you again for the support.
The filter works if I set the landmark ID as INVALID_LANDMARK_ID and it creates correctly new landmark and update the old ones.
But there is still a problem: the filter sometimes create new landmark near an old one, as if the filter see another new landmark very near to the other, but in the real world there is only a landmark in that position (a corner); maybe this is because laser scan are not perfect, so sometimes the scans differ from previous observations and the filter interprets a new landmark in that position.
Is there a sort of threshold I can modify to make the filter more "flexible" to observation uncertain? or there is another way?
Thank you very much
Sure. The variance (std.
Sure. The variance (std. deviation actually) of the sensor model, std_sensor_range & std_sensor_yaw, in mrpt::slam::CRangeBearingKFSLAM2D::TOptions:
http://reference.mrpt.org/stable/structmrpt_1_1slam_1_1_c_range_bearing_...
See also the options of the data association methods there. For example, you can increase "data_assoc_IC_chi2_thres" towards 1.0 (but never to exactly 1.0!) to increase the threshold for "Ok, it seems that observed landmark is close to the old one, let's associate them".
JL