引自免费微信小程序:皆我百晓生
您在使用TARE Planner(基于Matterport.yaml配置文件)进行自主探索时遇到问题,表现为走廊的拐角处未被完全探索,并且探索经常提前结束。从提供的配置参数中,我们可以看到多个可能影响探索性能的关键设置。为了帮助解决该问题,请尝试以下调整和排查步骤:
-
视点生成:
- 检查
viewpoint_manager/number_x
、number_y
和number_z
参数,确保它们足以覆盖走廊宽度和高度,以便在拐角处生成足够多的候选视点。 viewpoint_manager/resolution_x
、resolution_y
和resolution_z
控制了视点间的分辨率,过大的值可能导致视点稀疏,在复杂环境如拐角处无法生成足够的视点。
-
传感器范围与邻居视点距离阈值:
kSensorRange
表示传感器的最大探测范围,确保其大于或等于走廊宽度以充分探测到整个走廊区域。kNeighborRange
决定了相邻视点之间的距离阈值,如果设置过小,则可能错过拐角处的视点生成。
-
关键帧添加规则:
keypose_graph
下的参数如kAddNodeMinDist
、kAddNonKeyposeNodeMinDist
、kAddEdgeConnectDistThr
等,需要确保这些阈值不会过于严格以至于在走廊拐角处无法成功添加新的关键帧。
-
局部规划器参数:
- 调整
kLocalPlanningHorizonMarkerHeight
,增加局部规划视窗的高度,以便更好地处理垂直方向上的规划需求,尤其是在有高墙遮挡视线的走廊环境中。 - 确保
kExtendWayPointDistanceBig
和kExtendWayPointDistanceSmall
的设置可以促使机器人向走廊深处探索,而不是过早地认为已达到终点。
-
前沿检测:
- 如果使用前沿探索策略,检查
kFrontierClusterTolerance
和kFrontierClusterMinSize
,确保它们能够识别出走廊拐角作为新的前沿点。
-
碰撞检测:
- 检查
kCollisionCheck
相关的参数,例如kCollisionFrameCountMax
、kCollisionGridResolutionXYZ
以及kCollisionMargin
等,确保碰撞检测不过于敏感,从而导致机器人在走廊拐角前停止移动。
-
运动模型和动态障碍物:
- 由于是楼内走廊场景,若
kUseTerrainHeight
为false,则可能需要关注kViewPointHeightFromTerrain
及kViewPointHeightFromTerrainChangeThreshold
,确保视点高度适配环境。 - 若环境中存在动态障碍物,考虑开启对动态障碍物的碰撞检测(
kCheckDynamicobstacleCollision
)。
通过上述分析,您可以针对性地调整相关参数来优化TARE Planner在楼内走廊环境中的探索效果。同时,请结合实际硬件能力和现场情况进行细致的调试,以期获得理想的探索表现。如有必要,您还可以记录下不同参数组合下的探索过程日志,以供进一步分析。