В чем разница между планированием пути и планированием движения?

16

Каковы основные различия между планированием движения и планированием пути? Представьте себе, что цель алгоритма состоит в том, чтобы найти путь между роботом-гуманоидом, играющим в футбол, и мячом, который должен быть как можно короче, и в то же время удовлетворять указанной безопасности на пути с точки зрения расстояния от препятствий.

Какая терминология лучше? планирование движения или планирование пути?

Поя Сагарчи
источник
Поздно к игре, но я хотел связать этот вопрос
Джош Вандер Хук

Ответы:

24

Сравните следующие два изображения:

введите описание изображения здесь

Планирование пути несколько тривиально. Там только один путь: веревка. Планирование движения, с другой стороны, не так просто.

В лабиринте планирование пути сложно, а планирование движения легко:

введите описание изображения здесь

Конечно, обе задачи планирования могут быть легкими или сложными одновременно или между ними.

Они связаны друг с другом в этом

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

Они разделились в этом

  • движение связано со временем (изменение положения во времени), но сам путь - нет. Даже если движение идет точно по траектории, оно может иметь различные траектории для скорости и / или ускорения. Например, ваш робот может остановиться, чтобы позволить другому роботу пересечь свой путь, что является изменением движения, но не самого пути.
  • На движение могут влиять другие вещи, например, ветер

Ни один из этих списков не является исчерпывающим.

Какие условия лучше, чем? планирование движения или планирование пути?

Там нет "лучшего" термина. Это зависит от того, что вы описываете.

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

Если сам робот удален и вы только планируете путь точки через лабиринт, я бы использовал планирование пути . Какой кратчайший путь от точки А до Б? может быть примером вопроса.

Но опять же, обе задачи планирования связаны между собой. Если вы спросите , что это самый короткий возможный путь? тогда, конечно, геометрия и возможности робота определяют то, что возможно . Вы выполняете планирование движения и траектории одновременно. Использование любого термина должно быть хорошо здесь.

Это относится и к другим случаям. Оба термина могут использоваться взаимозаменяемо, потому что определение движения и траектории не очень ясно. (путь подразумевает, что движение происходит вдоль него, и движение обязательно происходит вдоль пути). В любом случае, вы обычно делаете оба до некоторой степени.

Гибочный блок 22
источник
6

В чем разница между пошаговым GPS и вождением автомобиля?

GPS - это планирование пути: высокоуровневые команды, такие как «повернуть направо через 1 милю».

Вождение - это планирование движения, что означает следование по маршруту, установленному планированием пути, и в то же время забота о мелочах: ​​взаимодействие с автомобилем, пребывание в полосе движения, наблюдение за пешеходами, соблюдение правил дорожного движения, объединение с другими транспортными средствами, смена полос движения, и т.п.

Чак
источник
3

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

Например, планирование траектории даст желаемую траекторию для ракеты, тогда как планирование движения даст серию команд для двигателей, плавников и т. Д.

Таким образом, для проблемы, которую вы упомянули, вам нужно спланировать путь, по которому робот будет следовать. Затем это необходимо расширить на траектории для всех суставов ноги и руки робота. Затем вы должны преобразовать эти траектории в необработанные команды для двигателей (или любого другого управляющего входа, который принимает робот).

Брайан Линч
источник
2

Когда речь идет о роботах, наиболее часто используемые термины - это планирование пути и планирование траектории. Хотя движение чаще всего используется в сочетании не с планированием, а с управлением, как при управлении движением.

В большинстве случаев при планировании пути учитывается пространственный аспект планирования, в то время как планирование траектории (опять же, в большинстве случаев) также включает компоненты скорости и ускорения. Для промышленных роботов и станков с ЧПУ путевые точки задаются программистом, а контроллер движения (контроллер робота, ЧПУ) планирует и выполняет траектории. Основываясь на динамических ограничениях (системы или поступающих от программиста), контроллер движения рассчитывает план, как достичь следующей путевой точки и достичь ее с желаемой скоростью и ускорением (ноль, если вы хотите остаться в следующей путевой точке)

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

50k4
источник
2

Просто выдержка из моего ответа на похожий вопрос:

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

Я также могу добавить, что вы можете выполнять навигацию только с планированием движения, но для этого необходимо планирование в бесконечном непрерывном многомерном пространстве, которое должно учитывать модель движения робота (управление на раме, дифференциальное, неголономное ...) и изменение скорость и ускорение.

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

Маловероятно, что роботы следуют точному плану движения из-за неопределенности при активации (проскальзывание, ошибки управления скоростью накапливаются, ошибки положения накапливаются ...). Обычно это решается с помощью онлайн-планировщика высокого уровня, который отслеживает ход процесса и соответствующим образом корректирует команды движения.

Детали гораздо сложнее, но я попытался обобщить это простым способом. Надеюсь это поможет.

Ссылка на мой старый ответ: /programming//a/19749176

blackcoder
источник
2

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

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

Планирование пути можно также назвать неотъемлемым программным упражнением, а планирование движения - аппаратным упражнением.

Шивам Шукла
источник