Найти в Дзене
Твоя польза

Характеристики модулей картографии и планирования

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

https://www.pinterest.ru/pin/140806218414285/
https://www.pinterest.ru/pin/140806218414285/

Например, на карте слоя-2 (гиперболическая полярная) все лучшие пути от цели до каждой ячейки вычисляются один раз за итерацию слоя-2 (1 Гц) и передаются проектировщику слоя-1 (5-10 Гц). На уровне 1, зная текущий перевод и вращение относительно карты уровня 2, можно рассчитать оптимальный путь в глобальном масштабе, используя локально оптимальные пути, достигающие всех точек с фиксированным радиусом (5 м).

Стоимость перенесенных локальных кандидатов на карту второго уровня добавляется к заранее рассчитанной стоимости маршрутов, и минимальная сумма определяет оптимальный путь в глобальном масштабе. При нахождении наилучшего местного пути или траектории последовательность выполняемых команд двигателя отправляется в контур управления уровня 0 (20 Гц).

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

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

https://www.pinterest.ru/pin/793548396828825945/
https://www.pinterest.ru/pin/793548396828825945/

Задержка с момента приобретения до планирования максимально минимизируется, но также решается путем переориентации карт на последнюю известную позицию. Таким образом, задержки после планирования не принимаются во внимание и должны оставаться практически нулевыми. Еще одним преимуществом использования слоев является то, что различные схемы планирования и картографирования, наилучшим образом подходящие для различных диапазонов, могут быть легко объединены.

Например, гиперболическое картирование полярных районов подходит для данных дальнего радиуса действия, в то время как декартовое картирование является более подходящим для данных ближнего радиуса действия, поскольку оно является простым и быстрым. Аналогичным образом, планирование Dijkstra удобно для долгосрочного планирования, в то время как динамическое планирование необходимо в краткосрочной перспективе.

Приоритеты процессов

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

Например, при получении нового кадра для обработки, Fast-OD приостанавливает процесс Far-OD и возобновляет его после завершения обработки. Затем Fast-OD может приостановиться на определенное время, чтобы позволить некоторым циклам обработки на Far-OD.

https://www.pinterest.ru/pin/788059634777972838/
https://www.pinterest.ru/pin/788059634777972838/

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

Рискуя потерять реактивность на движущиеся препятствия, можно было бы расширить эту идею, дав больше циклов процессора Far-OD при движении прямо и больше - при повороте робота в сторону Fast-OD. Это пользовательское планирование приоритетов было успешно протестировано на первом поколении LAGR, но больше не требовалось после аппаратного обновления до двухъядерных процессоров.

Временные диаграммы показывают фактические задержки и частоты, полученные для слоев 1 и 2 на двухъядерных машинах.