Каталог
|
Машинка на дистанционном управлении с Raspberry Pi2021-04-12 Все статьи →Машинка на дистанционном управлении с Raspberry PiВ золотой век искусственного интеллекта и технологий, новая отрасль набирает обороты: групповая робототехника. Групповые работы имеют множество применений, например, выполнение задач, связанных с автоматикой, автономной навигацией или составлением карт на местностях, к которым не имеют доступа люди. Основой подобных роботов является радиоуправляемая машинка. Если имеется большое количество таких машинок, могут быть имплементированы алгоритмы групповых роботов. Мозгом этих машин является Raspberry Pi, легкодоступная для освоения архитектура для экспериментов с практической робототехникой и программированием. Это обучение пошагово рассматривает построение подобной машинки. Она будет оснащена модулем камеры для дистанционного управления, GPS и компасом, таким образом машинка будет знать свое местоположение и курс (это, опять-таки, очень полезно в алгоритмах групповой робототехники - особенно для навигации). Следовательно, при большом количестве, машинки потенциально смогут коммуницировать друг с другом для выполнения групповых алгоритмов. Этот проект очень весело выполнять! Есть много мелких деталей (что может привести к некоторым отклонениям), но разве это не весело? Мне по-настоящему нравится этот проект, потому что он охватывает широкое разнообразие концептов как в программном обеспечении (программирование на Python), так и в компьютерном оборудовании через Raspberry Pi, и, безусловно, связывает их. Этот проект также довольно универсален. Вы можете использовать эти машинки для других задач, кроме групповой робототехники (хотя они настроены, чтобы работать хорошо и в таких проектах тоже). Он точно имеет немалый порог вхождения, что многому вас научит! Кроме того, эти навыки также будут полезными для подобных проектов. Материалы: Для машинки:
Остальное:
Примечание: я рекомендую купить стартовый набор Raspberry Pi, потому что он обычно включает в себя радиатор, разъём GPIO, плату Raspberry Pi, карту microSD, адаптеры, много соединительных проводков и множество других мелких частей. Шаг 1: Установить OS ImagesМатериалы: компьютер (Mac, Ubuntu 18.04 или Windows), карта microSD, SD адаптер В основном, Raspberry Pi использует Raspbian OS, поэтому нам нужно установить образ ОС на карту microSD. Чтобы это сделать, вам понадобится SD адаптер, чтобы можно было вставить microSD в обычный SD порт компьютера/ноутбука (через который будет установлен образ). Затем microSD вставляется в Raspberry Pi. Следуйте этой инструкции: https://www.raspberrypi.org/documentation/insta... Шаг 2: Настройка Raspberry PiУ нас должна быть возможность работать на Raspberry Pi. Raspberry Pi - это одноплатный компьютер, следовательно, он может подключаться непосредственно к монитору. Убедитесь, что вы присоединили HDMI (используя адаптер), USB (вам вероятнее всего понадобится USB концентратор) и порты питания. Вам также понадобятся клавиатура и мышь (которые вы подключите с помощью USB). Обратите внимание на рисунок, чтобы ознакомиться с рабочим столом Raspberry Pi. Вы увидите значок папки Manila, что эквивалентно Finder (Mac) или Windows Explorer. По сути, это визуальное представление ваших файлов, загрузок, каталогов и т. д. Для наших целей важно то, как вы будете управлять вашим кодом. Также вы увидите иконку черного экрана, что является окном терминала. Именно здесь вы будете писать код. Откройте окно терминала (иконка должна быть в верхнем левом углу экрана).
https://www.raspberrypi.org/documentation/configuration/raspi-config.md Здесь у вас есть два варианта: 1. Продолжить пользоваться монитором
2. Пользоваться Pi без графического интерфейса (используя SSH)
Создайте репозиторий для проекта. Затем, в окне терминала, создайте новый каталог для проекта на Pi. Вы можете редактировать свои файлы в окне терминала (vi), если так удобнее, или используя графический интерфейс. Или воспользуйтесь Google. Шаг 3: Предварительная подготовкаЕсли вы хотите узнать больше о том, как всё это работает (рекомендую), нужно немного почитать (в интернете есть много источников и видео!). Но, вот краткий обзор того, что вам нужно знать, если вы только собираетесь начать.
Шаг 4: Сборка шассиУ вас должно быть шасси. Это базовая рама автомобиля. Соберите шасси так, как указано в инструкции к нему. Если вы купили тот, на который я оставлял ссылку: Сначала отломайте восемь прямоугольников вдоль пунктирных отступов (будьте осторожны!). Затем, используя гайки и болты, что входили в комплект, а также отвертку, соберите детали, двигатели и колеса таким образом, чтобы они соответствовали изображению выше (это касается нижней части автомобиля, верхняя должна быть пустой): Примечание: убедитесь, что ориентация двигателей правильная! Теперь, возьмите и спаяйте соединительные проводки Как только вы закончите сборку, основа машинки будет готова. Теперь сделайте небольшую проверку, чтобы убедиться, что все двигатели работают правильно, непосредственно включив их. Проверьте, чтобы белые оси поворачивались. При переключении черного и красного проводов, ось должна вращаться в противоположном направлении. Проверьте все четыре колеса. Шаг 5: Контроллеры двигателейКаждый контроллер может управлять двумя колёсами. В зависимости от того, купили вы один или два драйвера, существует разница в том, как автомобиль будет поворачивать: если управление всеми четырьмя колесами позволит автомобилю поворачивать вокруг своего центра, управление только задними колесами заставит автомобиль поворачивать дугой. Сейчас мы сосредоточимся на использовании одного контроллера. Если вы купили два, повторите эти шаги для второго драйвера. Примечание: вы можете запускать их параллельно, если один драйвер будет питать другой. Вот информация, чтобы понять, как работают эти модули: Я бы порекомендовал ознакомиться с техническими характеристиками. Воспользуйтесь предусмотренными соединительными кабелями, чтобы контроллеры двигателей работали. Опять же, использование макетной платы для тренировки может помочь. Здесь у вас есть выбор: я рекомендую использовать 12В источник питания для драйверов и 5В источник для Raspberry Pi. Но вы можете использовать Raspberry Pi для питания драйверов моторов тоже. Существует перемычка, что переключает 12В и 5В - вы должны прочитать характеристики модуля перед тем, как делать подключение. Шаг 6: Модуль камеры
Сейчас вы можете работать с модулем камеры, этого будет достаточно. Информация: Насчёт кода, можете выполнить следующую команду: git clone https://github.com/miguelgrinberg/flask-video-streaming.git Шаг 7: GPS и компасВоспользуйтесь следующими ресурсами чтобы наладить GPS и компас. Распиновка также на диаграмме выше. Модуль GPS, на который я оставлял ссылку, имеет также встроенный компас. Пример кода для считывания данных компаса: https://github.com/ozzmaker/BerryIMU.git Другой пример формата NMEA (синтаксический анализ для данных координат): http://navspark.mybigcommerce.com/content/NMEA_Format_v0.1.pdf Шаг 8: Отображение данных в веб-интерфейсе с помощью FlaskЭто позволит вам транслировать данные GPS и компаса, а также видео, на веб-сервер. Мы будем пользоваться Flask, веб-платформой, которая поможет вам построить веб-приложение Шаг 9: демонстрация и дальнейшие шагиПоздравляю! Вы построили машинку, которая может стать основой для множества проектов. Выше есть видео полностью рабочего прототипа. Там я запрограммировал машинку ездить по квадрату (я начинаю исследовать групповой аспект проекта несколько больше). Вы можете также видеть, как машинка начинает поворачивать на 90 градусов. Мне пришлось отредактировать некоторые части, потому что выполнение заняло время (~5 минут). Я предполагаю, что это из-за того, что моторчики не очень точны, и пока направление движения машинки не будет точно в диапазоне градусов, она будет продолжать поворачивать, прежде чем двигаться вперед. Так или иначе, на машинке очень весело кататься, особенно с видео! Как я отмечал во введении, множество возможностей этой машинки полезны для групповой робототехники (особенно, когда вы построите несколько машинок). В этом контексте я бы порекомендовал прочитать эту статью: https://www.hindawi.com/journals/isrn/2013/608164/ (особенно части, объясняющие концепт и цель) Эти инструкции были довольно высокоуровневыми, потому что большая часть веселья в построении, пробах и ошибках, и конечном успехе! Надеюсь, вам понравился процесс сборки. Чтобы управлять автомобилем, вы можете использовать клавиши со стрелками. Откройте новую вкладку и перейдите на IP-адрес, чтобы увидеть данные GPS и компаса, а также кадры с камеры. Для любой информации или предложений, обращайтесь ко мне
Благодарим Вас за обращение! Ваш отзыв появится после модерации администратором.
Андрій
15.04.2021 12:52:45
Цікаво, але детальний код прошивки не завадив би
|