matlab中的避障实现

时间:2013-09-26 07:02:08

标签: matlab robotics robot

这可能是一个非常广泛的问题,但如果你可以帮我提出想法,那对我来说将是一个很大的帮助。

我正在尝试在matlab中实现基本的路径查找算法。我必须创建一个地图,机器人可以在其中导航并避开障碍物并到达目的地。我的算法很好。但是我在gui中挣扎,因为我没有在matlab中使用过很多Gui。

这是我的想法。

我创建了一个情节,并为每个障碍物定义了4个coods,目标为圆形和起点。但是当我想到如何检测机器人是否遇到障碍时,我会陷入困境。一种方法是创建线的方程,并试图看看是否有点在它上面。但该运动基于随机生成的变量。因此,机器人可以穿过线并进入多边形。

我很抱歉,但是请你告诉我在matlab中实现这个的最佳方法吗?必须在matlab中执行此操作。请建议我一个更好,更简单的方法来编程。提前谢谢。

1 个答案:

答案 0 :(得分:2)

如果您的障碍物都是多边形,您可以尝试使用以下维基百科网站上描述的光线投射算法。

Point in polygon algorithm

通过这种方式,您应该能够确定机器人位置是否位于障碍物内,或者您可以确定下一次移动是否会使机器人与障碍物接触。

如果您正在寻找一种可以自行处理障碍的简单算法,我会建议潜在的字段算法(在某些情况下可能会卡住)

Potential Fields

否则你也可以尝试A *算法,这在我看来更好; Good description of A*