我有一个用于机器人导航的特定 **网格 **,如下所示:
我将其缩放了 10 倍来创建我的环境。这是在笛卡尔坐标中给出的
我想将环境中的点(x,y)映射到网格索引(行,列)
障碍物格式以以下形式给出:
[[(60.0,0.0),(70.0,0.0),(70.0,10.0),(60.0,10.0)],
[(70.0, 0.0), (80.0, 0.0), (80.0, 10.0), (70.0, 10.0)],
[(60.0, 10.0), (70.0, 10.0), (70.0, 20.0), (60.0, 20.0)],
[(70.0, 10.0), (80.0, 10.0), (80.0, 20.0), (70.0, 20.0)],
但是,当我尝试使用以下代码绘制这些时:
fig, ax = plt.subplots()
for obs_corner in self.obstacle_vertices:
ox=obs_corner[0][0]
oy=obs_corner[0][1]
w=self.planner.scaling_factor
h=self.planner.scaling_factor
ax.add_patch(patches.Rectangle((ox,oy),w,h,edgecolor='black',facecolor='black',fill=True))
生成的图表是:
我认为我在将矩阵映射到二维环境中犯了一个基本错误
您的绘图的原点位于左上角,但您的代码生成的绘图的原点位于左下角。如果您希望它位于左上角,那么您应该翻转(反转)y 轴。
ax.invert_yaxis()