2013-09-26 6 views
1

Это может быть очень широкий вопрос, но если вы можете помочь мне с идеями, это будет большой помощью для меня.реализация предотвращения препятствий в matlab

Я пытаюсь реализовать основной алгоритм поиска пути в Matlab. Я должен создать карту, где робот может перемещаться, а также избегать препятствий и достигать цели. У меня алгоритм отлично со мной. Но я борюсь с gui, поскольку я не использовал большую часть Gui в Matlab.

Это следующая идея, которую я имел.

Я создал участок и только что определил 4 coods для каждого препятствия, цель как круг и начальную точку. Но я застрял, когда думаю, как я могу определить, попал ли робот в препятствие или нет. Один из способов - создать уравнение линии и попытаться понять, не наступил ли на нем момент. Но движение основано на случайной сгенерированной переменной. Таким образом, робот может пересечь линию и попасть внутрь многоугольника.

Приношу извинения за то, что вы слишком сложны, но можете ли вы рассказать мне лучший способ реализовать это в Matlab? Это необходимо сделать в Matlab. Пожалуйста, предложите мне лучший и простой способ запрограммировать его. Заранее спасибо.

ответ

2

Если ваши препятствия - все полигоны, вы можете попытаться использовать алгоритм литья лучей, описанный на следующем сайте википедии.

Point in polygon algorithm

При этом вы должны быть в состоянии определить, является ли положение робота лежит в препятствие, или вы могли бы определить, является ли следующее движение приведет робота в контакт с препятствием.

Если вы ищете простой алгоритм, который может позаботиться о препятствиях по своей сути я хотел бы предложить потенциальный алгоритм полей (может застрять в некоторых случаях)

Potential Fields

еще вы также можете попробовать А * алгоритм, который лучше, на мой взгляд; Good description of A*

Смежные вопросы