Обмен технологиями | Turtlebot3 Автоматическое распознавание вождения на дороге

Интернет вещей

Знакомство с черепахоботомЯ считаю, что многие люди, подвергшиеся воздействию АФК, знакомы с роботом-черепахой. Это недорогой комплект персональной робототехники с открытым исходным кодом при официальной поддержке ROS и стандартная платформа для ROS. Серия роботов-черепашек разработана таким образом, чтобы ее было легко приобрести, построить и собрать, а официальный SDK можно загрузить с вики ROS для вторичной разработки.Это незаменимая мобильная платформа для роботов начального уровня. Turtlebot был выпущен в течение трех поколений, и сегодня я расскажу, как использовать Turtlebot3 в качестве носителя для реализации функции определения полосы движения при автоматическом вождении в беседке.file

Предварительная подготовкаЕсли вы хотите делать хорошую работу, вы должны сначала заточить свои инструменты.Чтобы реализовать функцию автоматического вождения через Turtlebot3, вам нужно сначала установить некоторые среды. Этот тест основан на ROS Noetic версии Ubuntu 20.04.file

1. Установите среду Turtlebot3Откройте терминал и введите компакт-диск ~/catkin_ws/src/ git клонGitHub.com/robot is-git… cd turtlebot3 git clone GitHub.com/robot is-git… git clone -b noetic-devel GitHub.com/robot is-git… git clone GitHub.com/robot is-git…sudo apt установить ros-noetic-image-transport ros-noetic-cv-bridge ros-noetic-vision-opencv python3-opencv libopencv-dev ros-noetic-image-proc Когда мы завершили установку вышеуказанной среды, мы можем скомпилировать компакт-диск ~/catkin_ws catkin_make

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

2. Калибровка камерыАвтономное вождение в значительной степени зависит от обработки изображений, поэтому калибровка камеры играет важную роль в успешном выполнении задачи. В среде моделирования беседки нет необходимости калибровать внутренние параметры камеры, но необходимо калибровать внешние параметры камеры. Примечание. В реальных условиях необходимо выполнить определенные шаги для точной калибровки внутренних и внешних параметров камеры. Сначала мы запускаем среду моделирования roslaunchturtlebot3_gazeboturtlebot3_autorace_2020.launch Откройте новый терминал (здесь рекомендуется терминатор, очень простой в использовании терминал с возможностью разделения экрана) roslaunch turtlebot3_autorace_camera встроенная_камера_калибровка.запуск Откройте новый терминал и введите roslaunchturtlebot3_autorace_camera extrinsic_camera_dication.launch mode: = калибровка Откройте новый терминал и введите правильно Затем в интерфейсе rqt выберите плагины > визуализация > представление изображения. Создайте два окна (повторите дважды) Выберите тему /camera/image_extrinsic_calib/compressed в левом окне и тему /camera/image_projected_compensated в правом окне. Как показано ниже.fileЗатем снова откройте терминал и введите rosrun rqt_reconfigure rqt_reconfigure Выберите /camera/image_projection и /camera/image_compensation_projection в левой части окна. Настройте параметры и наблюдайте за двумя окнами rqt. Пока красный каркас окна слева не окажется внутри дороги, а вид сверху на дорогу справа. Как показано ниже.fileСоответствующие параметры показаны на рисунке.fileПосле настройки параметров не нажимайте кнопку Сохранить. Найдите исходный файл параметров загрузки и измените его вручную. В этой статье оба параметра находятся в ~/catkin_ws/src/turtlebot3/turtlebot3_autorace_2020/turtlebot3_autorace_camera/калибровка/внешняя_калибровка/ Под содержанием Найдите указанный выше файл в файле и измените соответствующие параметрыfileСодержимое файла компенсации.yamlfileСодержимое файла project.yaml

На этом настройка параметров камеры в среде имитации беседки завершена.

3. Обнаружение дорогиКогда мы завершили калибровку камеры, следующим шагом будет обнаружение дороги. Примечание. Обнаружение полосы движения отображается желтым цветом слева и белым цветом справа. Убедитесь, что желтая дорожка находится с левой стороны робота. Откройте терминал и введите roslaunchturtlebot3_gazeboturtlebot3_autorace_2020.launch Откройте новый терминал и введите roslaunch turtlebot3_autorace_camera встроенная_камера_калибровка.запуск Откройте новый терминал и введите roslaunch turtlebot3_autorace_camera внешняя_камера_калибровка.запуск Откройте новый терминал и введите roslaunchturtlebot3_autorace_detectdetect_lane.launchmode:=калибровка Откройте новый терминал и введите правильно В интерфейсе rqt выбираем тему /detect/image_lane/compressed, можно посмотреть результат определения полосы. Как показано ниже.fileВыберите тему /detect/image_yellow_lane_marker/compressed, вы увидите желтую линию слева, как показано на следующем рисунке.fileНо это не тот результат, который нам нужен, нам нужна только желтая линия слева, поэтому нам нужно настроить параметры. Выберите тему /detect/image_white_lane_marker/compressed, чтобы увидеть белую линию справа, как показано ниже.fileЭто не тот результат, который нам нужен. Необходимо настроить параметры. Откройте новый терминал и введите rosrun rqt_reconfigure rqt_reconfigure Выберите detect_lane в левой части окна и настройте параметры так, чтобы желтая линия слева обнаруживала только желтый цвет, а белая линия справа становилась полнее. Окончательный результат настройки показан на рисунке нижеfileСкорректированные параметры следующиеfileКак и в приведенной выше операции, откройте путь к исходному файлу и измените параметры, соответствующие списку параметров. В этой статье файл параметров находится в ~/catkin_ws/src/turtlebot3/turtlebot3_autorace_2020/turtlebot3_autorace_detect/param/lane/fileСодержимое файла Lane.yaml

Советы: Калибровка линий фильтра на практике может быть затруднена из-за физических условий, таких как яркость света в комнате. Сначала откалибруйте значение оттенка от низкого к высокому. Затем откалибруйте значение насыщенности от низкого до высокого. Наконец, откалибруйте значение яркости от низкого до высокого. Но в исходниках есть автоматическая подстройка, так что калибровать значение яркости не имеет смысла. Просто установите его на 255. Упомянутая выше калибровка параметров относится к цветовой модели HSV. На этом калибровка обнаружения дороги завершена. Теперь запустите симуляционный тест.

4. МоделированиеСначала закройте все терминалы, затем запустите тест. roslaunchturtlebot3_gazeboturtlebot3_autorace_2020.launch

roslaunch turtlebot3_autorace_camera intrinsic_camera_calibration.launch

roslaunch turtlebot3_autorace_camera extrinsic_camera_calibration.launch

roslaunch turtlebot3_autorace_detect detect_lane.launch

roslaunch turtlebot3_autorace_driving turtlebot3_autorace_control_lane.launch

5. ЗаключениеАвтономное вождение — это тенденция будущего, а также передовая технология. Автономное вождение Turtlebot3 представляет собой недорогую, небольшую низкоскоростную платформу автономного вождения и метод для научных исследований и обучения, чтобы мы могли получить базовое представление об автономном вождении. Amu Lab занимается обучением и интеллектуальным оборудованием передовых ИТ-технологий, делая исследования и разработки роботов более эффективными!