碰到一个棘手的bug ,现在回过头来看
本来窗口的大小是固定的没事,加入变化的因素过后却产生了不能检测障碍物的问题。 可见之前的算法是没错的,但是我都是用的判断,其中有一个判断是
我在之前的判断中有 给scan_msg_->ranges[i-1] 赋值 window_length
但是!!
scan_msg->ranges[i-1] 的类型 与 window_length 的类型并不一样。
会造成scan_msg在赋值后并不相等;
而之前窗口固定的时候之所以成立 是因为 赋值的时候小数点较少,没有cast的缘故 我猜?
所以导致后面的判断不成立造成难以debug的后果
第一个是少用== 这种判断
第二个就是cast的时候一定要用语言特性或者标注出来