织梦cms做视频网站,flash做网站轮播图,企业级网站开发需求分析,数字营销专业大学排名近一周一直在调试机器人过迷宫形路线#xff0c;这种路线特点是障碍物之间距离较小且障碍物也比较多#xff0c;基本机器人会一直发生干涉检测#xff0c;请求全局路径#xff0c;然后再控制机器人前进。
遇到一个特别有趣的问题#xff0c;当然最后查出来原因也感觉比较…近一周一直在调试机器人过迷宫形路线这种路线特点是障碍物之间距离较小且障碍物也比较多基本机器人会一直发生干涉检测请求全局路径然后再控制机器人前进。
遇到一个特别有趣的问题当然最后查出来原因也感觉比较纯就是我们机器人在行进过程中会当前要走的路径与周围障碍物发生了干涉检测即有碰撞风险然后会请求全局规划我们注意到计算的局部目标点一直在远处挪突然某一贞生了局部的路线即全局的路线不是从起点开始的而是从另外很远的地方开始但终点是对的这样全局规划的线是错误的但是全局规划器返回的状态是success那局部控制器就跟踪这个有问题的全局线进而导致机器人撞到障碍物了。
上述是现象的描述下面是解决问题过程中的尝试: 1 阶段一:我一开始怀疑是当前路线和全局路线合并时处理的问题不认为是potential A规划有问题然后我在代码中加了potential A生成的全局路径初始2个坐标打印然后重新复现采集数据并分析。注意到确实是全局输出的结果不对a规划路线的初始位置和当前机器人位置不一致。排除了路线合并时的处理问题。 2阶段2:我怀疑是a算法在计算过程中由于某种原因导致了传入的初始位置坐标错误在在代码中添加相关打印分析表明传入的初始位置是正确的。依然尚未解决。 3阶段3:在看代码的时候我注意到干涉检测成功请求全局规划时我会先使用局部的膨胀地图10米✘10米去用potential a* 规划路径如果规划失败我会调用全局膨胀地图将局部膨胀地图合并到全局膨胀地图上去规划问题出现在这个全局膨胀地图和全局膨胀地图上这是两个栅格地图他们的原点不一样但是在计算起点世界系下的坐标时只考虑了局部膨胀地图所以导致映射错误最终计算错误。于是修复此逻辑重新测试机器人。又注意到机器人在请求全局规划时使用局部膨胀地图规划成功了但依然出现此问题。尚未解决。。。 4阶段4:到这里我基本怀疑potential a算法的代码有问题了加了很多打印最后怀疑是回溯获取路线有问题然后又加了很多打印又开始实车复现记录数据分析数据最终结果表明回溯的那块确实有问题他回溯到了一个很选的点并不是起点然后这俩的index索引值一致导致回溯程序提前结束其实并没有找到起点。到此我怀疑是这里不该用索引去判断是不是找到了初始点而是用坐标值去判断是否一致。 朋友们你是不是以为到此就解决了此bug请注意并没有并没有 5阶段5:我们进一步分析又发现了一个问题就是回溯到的那个起点map系下的坐标居然超过了局部膨胀地图的范围这说明回溯这里越界了搜索的范围不在局部地图里了。这又是为什么呢我们又去看下计算的目标点的map系坐标果然超过了局部坐标系的范围。。。。。。。 至此这个问题分析出来了就是为全局规划起设定的目标点不在地图的范围这种情况下使用potential a去计算就会生成错误的路线。。
哎想想好蠢啊范了这么低级错误
鞠春宇 于沈阳 20240510