3d realsense D415可看到弯曲地板

3d realsense D415可看到弯曲地板,3d,computer-vision,realsense,3d,Computer Vision,Realsense,我有一个安装在机器人头部的realsense D415凸轮。 凸轮中心位于地板上方1525 mm处,并以59度角指向地板(即凸轮玻璃正面与地板的角度)。 我使用cam的1280x720分辨率,并将值抽取3,最后得到240行*428列矩阵。 我想检查机器人路径上的障碍物/深渊。 我想我可以通过将深度框的距离乘以凸轮行的正弦值来获得地板的Y(高度)值,并得出以下代码: decimate = rs.decimation_filter() decimate.set_option(rs.option.fi

我有一个安装在机器人头部的realsense D415凸轮。

凸轮中心位于地板上方1525 mm处,并以59度角指向地板(即凸轮玻璃正面与地板的角度)。

我使用cam的1280x720分辨率,并将值抽取3,最后得到240行*428列矩阵。

我想检查机器人路径上的障碍物/深渊。 我想我可以通过将深度框的距离乘以凸轮行的正弦值来获得地板的Y(高度)值,并得出以下代码:

decimate = rs.decimation_filter()
decimate.set_option(rs.option.filter_magnitude, 3)
depth_frame = frames.get_depth_frame()
depth_frame = decimate.process(depth_frame)
depth = np.asanyarray(depth_frame.get_data()).astype(np.float)
depth.shape = (240, 428)

topRowAngle = -59 + (42.5 / 2) # Vertical FOV of D415 is 42.5 deg
rowDeg = 42.5 / 240            # number of rows is 240
angle = topRowAngle
for row in range(240):
    rowSin = np.sin(np.radians(angle))
    floorY[row,:] = depth[row,:] * rowSin
    angle -= rowDeg
绘制结果显示,我最终看到一个弯曲的地板,阻止机器人继续前进。在我预期的水平直线范围内,检测到地板有明显的向上凸起。


因为我知道凸轮的安装高度,并且我看到一个普通的地板,所以我想到了每个点的修正系数。我得到的因子在.95到1.2之间。

由于这些修正系数使我能够“移动地板范围”,并检测障碍物和深渊,所以我觉得有点奇怪。为什么需要校正凸轮的测量值?

或者我的假设是错误的,我可以通过将垂直视场除以一行或多行来获得单个行的角度