I also implemented the idea just like you told me, mapping the condition number from 0 to 1 and set the undetected region as 1, but this idea seems not work now, i guess i need to set d_diagnoal = 1.4, d_straight=1.0 and also need to add a factor before h, just like following equation:
I modified the A*, adding condition number to heuristic function: https://github.com/EgalYue/Mobile_Marker_Based_Navigation/blob/889976964e5a54d424c0edfbfcd5bb66b0c8aa9a/python/pathFinding/A_star_modified.py#L158
Currently I set d_diagnoal = 14, d_straight=10 which avoiding to compute the float, and set *_condNum = condNum 50_, i enlarge the condition number 50 times because we need to find a balance between h and condtion number(after many simulations i found 50** is a proper factor) https://github.com/EgalYue/Mobile_Marker_Based_Navigation/blob/889976964e5a54d424c0edfbfcd5bb66b0c8aa9a/python/pathFinding/A_star_modified.py#L157
distance error:
R error:
t error:
I also implemented the idea just like you told me, mapping the condition number from 0 to 1 and set the undetected region as 1, but this idea seems not work now, i guess i need to set d_diagnoal = 1.4, d_straight=1.0 and also need to add a factor before h, just like following equation:
*h = factor h_normal + condNum**