8.1.2.4 local_costmap_params.yaml

Есть еще несколько параметров, которые следует учитывать для локальной карты:

• global_frame: /odom - Для локальной карты затрат мы используем рамку одометрии в качестве глобальной рамки

• robot_base_fame: /base_footprint – Обычно это будет / base_link или / base_footprint. Для TurtleBot это / base_footprint.

• update_frequency: 3.0 - Как часто (раз в секунду) мы обновляем локальную карту на основе данных датчиков. Для действительно медленного компьютера вам, возможно, придется уменьшить это значение.

• publish_frequency: 1.0 – Мы определенно хотим, чтобы обновления локальной карты были опубликованы, поэтому мы устанавливаем ненулевое значение здесь. Один раз в секунду должно быть достаточно, если вашему роботу не нужно двигаться быстрее.

• static_map: false – Этот параметр и следующий всегда установлены в противоположные значения. Локальная карта динамически обновляется данными датчика, поэтому мы устанавливаем static_map в false.

• rolling_window: true – Локальная карта обновляется в подвижном окне, определяемом следующими несколькими параметрами.

• width: 6.0 – Размер x в метрах подвижной карты.

• height: 6.0 – Размер у в метрах подвижной карты.

• resolution: 0.01 – Разрешение в метрах подвижной карты. Это должно соответствовать разрешению, установленному в файле YAML для вашей карты (объяснение в следующем разделе).

• transform_tolerance: 1.0 – Определяет задержку в секундах, допустимую между преобразованиями кадров в дереве tf, иначе процесс отображения будет временно прерван. На быстром компьютере, подключенном напрямую к роботу, значение 1.0 должно работать нормально. Но на более медленных компьютерах и особенно по беспроводным соединениям допуск может быть увеличен. Контрольное предупреждающее сообщение, которое вы увидите, если установлено слишком низкое допустимое значение, будет выглядеть следующим образом:

[ WARN] [1339438850.439571557]: Costmap2DROS transform timeout. Current time: 1339438850.4395, global_pose stamp: 1339438850.3107, tolerance: 0.0001

Если вы запускаете узел move_base на компьютере, отличном от компьютера робота, приведенное выше предупреждение также может указывать на то, что часы на этих двух компьютерах не синхронизированы. Вспомните из предыдущего раздела «Сеть», что вы можете использовать команду ntpdate для синхронизации двух часов. Обратитесь к этому разделу для получения подробной информации или просмотрите страницы настройки сети Network Setup в ROS Wiki.

Last updated