- Мало знаний, большой вызов! Эта статья участвует в "Необходимые знания для программистов«Творческая деятельность.
(1) POSE_GRAPH.optimize_every_n_nodes
установить на 0
Удаление back-end оптимизации равносильно отличию front-end от back-end, поэтому если есть проблема с отображением, значит, параметры front-end надо подкорректировать, а front-end следует оптимизировать в первую очередь.
Если с фронтендом проблем нет, измените это значение обратно и отрегулируйте параметры бэкэнда
(2) Параметры Cere matcher
TRAJECTORY_BUILDER_nD.ceres_scan_matcher.translation_weight
[Перевод официальной документации: В нашем случае сопоставитель сканирования может свободно перемещать совпадение вперед и назад, не влияя на счет. Мы хотим наказать эту ситуацию, заставив сопоставитель сканирования платить больше за отклонение от полученного априора. Им управляют два параметра: TRAJECTORY_BUILDER_2D.ceres_scan_matcher.translation_weight и rotate_weight. Чем он выше, тем дороже обходится удаление результата от предыдущего, или, другими словами: совпадение сканирования должно давать более высокий балл в другой позиции, чтобы быть принятым. 】
TRAJECTORY_BUILDER_2D.ceres_scan_matcher.occupied_space_weight
Чем выше вес, тем меньше вероятность того, что предоставленная предыдущая поза может быть изменена.
Если частота радара низкая, увеличьте вес карты и уменьшите вес перемещения и поворота.
TRAJECTORY_BUILDER_2D.ceres_scan_matcher.translation_weight
TRAJECTORY_BUILDER_2D.ceres_scan_matcher.rotation_weight
(3) Диапазон измерения радара
TRAJECTORY_BUILDER_nD.min_range
TRAJECTORY_BUILDER_nD.max_range
Полосовой фильтр и сохраняйте значения диапазона только между некоторым минимальным и максимальным диапазоном. Выберите эти минимальные и максимальные значения в соответствии со спецификациями робота и датчика.
(4) Улучшить производительность в реальном времени
Низкая задержка означает, что оптимизированные локальные позы становятся доступными вскоре после получения данных от датчика, обычно в течение секунды, и нет отставания для глобальной оптимизации. Для онлайн-алгоритмов требуется низкая задержка, например, для локализации роботов. Локальный SLAM, работающий на переднем плане, напрямую влияет на задержку. Global SLAM создает очередь фоновых задач. Дрейф накапливается бесконечно, когда глобальный SLAM не успевает за очередью, поэтому глобальный SLAM следует настроить для работы в режиме реального времени.
Связанные URL-адреса
Google-картограф-ROS.читать документ S.IO/en/latest/he…
Официальный сайт