7.4.2 Угловая калибровка

Если у вас есть TurtleBot на основе iRobot Create, не используйте этот метод. Вместо этого запустите процедуру автоматической калибровки TurtleBot.

В этом тесте ваш робот будет вращаться только на месте, поэтому пространство не является большой проблемой. Поместите маркер (например, кусок ленты) на пол и выровняйте его по центру спереди робота. Мы повернем робота на 360 градусов и посмотрим, насколько близко он вернется к отметке.

Поднимите базовый контроллер вашего робота с соответствующим файлом запуска. Для оригинального TurtleBot (база iRobot Create), вставьте ssh в ноутбук робота и запустите:

$ roslaunch rbx1_bringup turtlebot_minimal_create.launch

Далее запустите узел угловой калибровки:

$ rosrun rbx1_nav calibrate_angular.py

Наконец, запустите rqt_reconfigure:

$ rosrun rqt_reconfigure rqt_reconfigure

Вернитесь в окно rqt_reconfigure и выберите узел calibrate_angular. (Если вы не видите в списке узла calibrate_angular, щелкните синий значок обновления в правом верхнем углу графического интерфейса.) Чтобы начать тестирование, установите флажок рядом с start_test. (Если робот не начинает двигаться, снимите флажок и установите его снова.) Ваш робот должен вращаться примерно на 360 градусов. Не беспокойтесь, если он вращается значительно больше или меньше, чем полный оборот. Это то, что мы собираемся исправить. Чтобы получить поправочный коэффициент, выполните следующие действия:

  • Если фактическое вращение не дотягивает до полных 360 градусов, посмотрите на долю, которую он повернул, и введите оценочную долю в поле odom_angular_scale_correction в окне rqt_reconfigure. Поэтому, если робот выглядит примерно на 85%, введите что-то вроде 0,85. Если он повернулся на 5% слишком далеко, введите что-то вроде 1.05.

  • Повторите тест, выровняв маркер по переднему центру робота, затем установите флажок start_test в окне rqt_reconfigure.

  • Надеемся, что поворот будет ближе к 360 градусам. Если он все еще короткий, уменьшите theodom_angular_scale_correctionparameteralittleandtryagain. Если он вращается слишком далеко, увеличьте его немного и попробуйте снова.

  • Продолжайте процедуру, пока не будете удовлетворены результатом.

То, что вы делаете с вашим окончательным поправочным коэффициентом, зависит от параметров PID вашего базового контроллера. Для робота, контролируемого базовым контроллером ArbotiX, отредактируйте файл конфигурации YAML и измените параметр base_width, разделив его на свой поправочный коэффициент.

В качестве последней проверки запустите файл запуска вашего робота с новым поправочным коэффициентом. Затем запустите сценарий calib_angular.py, но с параметром odom_angular_scale_correction, равным 1.0. Теперь ваш робот должен вращаться на 360 градусов без дальнейшей коррекции.

Last updated