Tuesday, August 18, 2009

180809

robot error in movement is causing some non-visible lines to be called pakka lines.

z(2)/association is working fine.
Also needed,
if a point landmark is associated flag

Saturday, August 15, 2009

150809

New Bug discovered in code :

Whilst the lines are getting associated well, the value of the line in the state and the value of z(2) of a line which gets associated with it are quite different surprisingly.

Friday, August 14, 2009

150809 + Mahalanobis Distance

In the current visibility based prediction, if a line p is termed to be visible, it means that the line p is visible from the mean of the position of the robot. However, the position of the robot is not necessarily at the mean. Hence, the prediction of lines might go haywire when a few lines are visible from the mean but not from the current position of the robot which is not at the mean. In other words, we would forcibly be associating lines as we estimated them to be visible.

To prevent this, we need to test visibility from extrema of the error ellipse for x, y and theta. Upon finding the line visible from both extrema only, we should add it to pakka lines.

Excerpts from RS:

evaluating an outlier from a distribution.

if two points are at the same distance from the mean of a 2-d distribution, a euclidean distance measure from the mean would term them to be at equal distance from the distribution. However, if the density of the distribution is low in one direction and high in another, then the distance of the two points should not be shown as equal. However, a euclidean distance measure does not respect that. Hence the need for Mahalanobis distance.

Useful links to udnerstand :
http://www.aiaccess.net/English/Glossaries/GlosMod/e_gm_mahalanobis.htm

Thursday, August 6, 2009

070809

j in association of lines used for zf should be changed to jbest as j will always give a max value.

zf_lines = [zf_lines z(:,pointlm_count+curr_permline(jbest))]
from:
zf_lines = [zf_lines z(:,pointlm_count+curr_permline(j))]

In Progress: code for lines association first, points next->l1p2

Satish was right. if a line is associated, then its ep_lines value need not be edited.

060809

Code for EKF SLAM based on prediction and data association of lines using endpoints( points associate first and then lines) is done

edit from last code:
to:
zf = [zf z(:,pointlm_count+curr_permline(j))]
from:
zf = [zf z(:,pointlm_count+j)]

Remarks:

association vector zf needs index of line from all features in scan(i.e. z) but j is an index of curr_permline. curr_permline(j) is an index to the actual line in z