Найти самый быстрый путь для привода Roboti c - PullRequest
1 голос
/ 06 февраля 2020

Я пытаюсь создать алгоритм, чтобы найти самый быстрый путь, который робот может пройти между 2 точками во времени. Робот, которым я буду пользоваться, будет приводиться в движение приводным колесом с каждой стороны и иметь ограниченное ускорение и скорость Я также надеялся создать препятствие, чтобы робот мог обходить препятствия. Я знаком с алгоритмами поиска пути, такими как *, которые находят самый быстрый путь с точки зрения расстояния между двумя точками, но этот алгоритм не всегда находит самый быстрый путь для робота с ограниченными ускорением и скоростью.

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

Пример:

img

Допустим, наш робот имеет ширину 10 единиц, а каждое колесо имеет максимальную скорость 100 единиц / секунду и максимальное ускорение 10 единиц / секунду / секунду.

В точке A (x = 0, y = 0) скорости колес роботов равны 50 и 30 для левого и правого колес соответственно, а робот находится под углом 30 градусов относительно оси x. В точке B (x = 1000, y = -600) мы хотим, чтобы робот был неподвижен и имел угол -75 градусов относительно оси x

Какой путь робота является наиболее эффективным по времени для взять из точки A в точку B, учитывая его начальные и конечные скорости и направления, а также избегая препятствий?

...