门业网站源码,用python网站开发,唐山建网站,微官网制作一般多少钱墙体画线地图切分方案
针对问题#xff1a;墙体两侧特征混淆误匹配#xff0c;导致建图和定位偏差#xff0c;表现为过门跳变、外月台走歪等
解决思路#xff1a;预期的根治方案IGICP需要较长时间完成上线#xff0c;先使用切分地图的工程化方案#xff0c;即墙体两侧切…墙体画线地图切分方案
针对问题墙体两侧特征混淆误匹配导致建图和定位偏差表现为过门跳变、外月台走歪等
·解决思路预期的根治方案IGICP需要较长时间完成上线先使用切分地图的工程化方案即墙体两侧切分为不同地图在某一侧只使用该侧地图进行定位
方案思路
切分原理切分地图基于关键帧位置而非点云。
理论基础光照是直线的一帧点云必定只能照射到墙的一侧无法同时照到两侧实践考虑关键帧之间距离足够大对于切分的画线精度要求不高。
实现思路
这实际上是一种子地图模式建议基于已有的大地图软件框架来做把墙画线切分当作一种子图分割策略现有地图切分
第一步MPE地图离线编辑软件沿墙体中心画线共K条直线
第二步遍历关键帧按关键帧的时间顺序逐个遍历针对第i个关键帧遍历K条直线对每条直线执行LineSideTest该函数返回—1/0/1表示点在直线左侧、直线上、直线右侧得到一个size为K的向量该向量就可以表征这个关键帧属于哪个子地图若该子地图已存在则将i和该子地图关联若该子地图不存在先新建子地图对象再将ⅰ和该子地图关联
说明此方案有缺陷考虑横竖两条直线会分成4个子地图按照第1—第4象限来区分有可能第3、第4象限其实是一个房间不该分成两个子图。所以应该还需要一个额外的指定子地图合并的功能。理论上如果直线改成线段有起点和终点去做切分就不需要额外指定合并了但是LineSideTest会很难算不如额外指定合并。 实时定位
判断当前位于哪个子图按LineSideTest就用那个子图的关键帧地图进行定位建图不准问题
问题地图切分预期能解决实时定位问题前提条件是地图是准的如果建图就因为墙两侧误匹配导致不准怎么办
一种解决思路针对跨墙区域使用切分方案拓展建图
.确保已有地图虽然有偏差但在可控范围内脑测墙点云分层总宽20cm
ii.基于现有地图墙中心画线段需要有起点和终点吗将关键帧地图切分为两侧两个子地图并确认哪个子地图将保留哪个子地图将抛弃同时墙中心线两侧—40cm的区域设为墙体特征区.从保留子地图里开始拓展建图判断当前帧的位置属于保留子地图时仅使用保留子地图进行定位新关键帧也属于保留子地图判断当前帧进入抛弃子地图区域时使用「保留子地图中墙体特征区之外的点云」抛弃子地图区域内新建的关键帧地图进行定位
备注
·拓展建图进入抛弃子地图区域时不使用原有的抛弃子地图是因为原有的抛弃子地图已经不准了
拓展建图进入抛弃子地图区域时还需要使用墙体特征区之外的保留子地图点云是因为在保留子地图的关键帧会扫到抛弃子地图区域内的有效特征这些特征对于从保留子地图到抛弃子地图区域的建图一致性可能起到关键作用
其他细节
拓展建图时墙体特征区内不要新建关键帧