Оглавление:

Робот-следящий за линией для обучения алгоритмам управления: 3 шага
Робот-следящий за линией для обучения алгоритмам управления: 3 шага

Видео: Робот-следящий за линией для обучения алгоритмам управления: 3 шага

Видео: Робот-следящий за линией для обучения алгоритмам управления: 3 шага
Видео: Алгоритм для робота 2024, Ноябрь
Anonim
Image
Image
Робот-следящий за линией для обучения алгоритмам управления
Робот-следящий за линией для обучения алгоритмам управления
Робот-следящий за линией для обучения алгоритмам управления
Робот-следящий за линией для обучения алгоритмам управления

Я разработал этого робота-последователя линии несколько лет назад, когда был учителем робототехники. Целью этого проекта было научить моих студентов программировать робота, следующего за линией, для соревнований, а также сравнивать If / Else и ПИД-регулирование. И что немаловажно, как механика и длина робота влияют на эти алгоритмы управления. Целью было сделать его более быстрым и надежным.

Я сделал его для программирования с помощью IDE Arduino, но также можно использовать среду разработки, которую вы предпочитаете. Он имеет мощный PIC32 с загрузчиком USB, поэтому вам не нужен программист. Он также имеет переключатель ВКЛ / ВЫКЛ, сброс и кнопку запуска / программирования. Светодиоды подключены к сигналам двигателя ШИМ, поэтому вы можете легко увидеть мощность, которую вы применяете.

Робот полностью модульный, что позволяет экспериментировать и легко ремонтировать в случае аварии. Это делает этого робота идеальным инструментом для очень увлекательного обучения программированию. Мои ученики использовали его в течение длительного периода и каждый раз узнавали что-то новое, даже ПИД-регулирование. Не говоря уже о том, что сенсорная панель использует алгоритм для возврата целочисленного отрицательного значения: робот находится слева, положительное - справа, а cero находится в центре линии.

Запасы

2x 6V Micro металлических мотор-редуктора с удлиненными опорными кронштейнами (любое передаточное число в порядке, у меня 10: 1)

1x плата датчика линии

1x Главный блок управления

1x 20 через плоский провод, расстояние 1 мм. У меня длина 20 см.

1x акриловый линкер (вырезан из прозрачного акрила толщиной 3 мм)

1x 1/8 шаровой шарнир (у меня металлический)

2 резиновых колеса диаметром 3 см.

1x Lipo аккумулятор. Вы можете запитать робота до 10 В, но имейте в виду, что двигатели рассчитаны на 6 В.

Несколько винтов и гаек M2 для соединения всего вместе.

Если вы хотите создать свой собственный, файлы дизайна, схемы и все необходимое для его создания прилагаются на следующем шаге.

Шаг 1. Аппаратное обеспечение

Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение

Как вы можете видеть на фотографиях, все компоненты SMD, это прекрасная возможность попрактиковаться в пайке. Этот робот был спаян 3 моими учениками, так что вы можете сделать это без проблем. Все файлы дизайна прилагаются, вы можете посмотреть файлы с EAGLE. Герберы также включены, если вы хотите, чтобы платы вашего любимого производителя печатных плат.

Две доски соединены вместе с помощью акриловой детали, в комплект входит также вырезанный лазером узор. Я использовал винты M2 и гайки, чтобы удерживать его на месте. Сюда же помещается заклинатель мяча. А если вы врежете робота, акрил сломается и защитит доски от повреждений, что идеально подходит для тестирования! Плоский провод используется для соединения между процессором и платой датчика. Двигатели легко подключаются проводами к плате ЦП.

Примечание: PIC использует специальную прошивку, это модифицированная версия оригинальной прошивки DP32. Вы можете получить прошивку здесь. Соединение ICSP находится в нижней части платы ЦП.

Шаг 2: Программное обеспечение

Программное обеспечение
Программное обеспечение
Программное обеспечение
Программное обеспечение

Я рекомендую использовать Arduino IDE для программирования робота. Как я уже говорил вам ранее, этот линейный повторитель основан на PIC32MX250 и делает его совместимым с chipKIT DP32. Вам нужно только установить пакет chipKIT в диспетчере пакетов в Arduino IDE, и все готово. Также вы можете запрограммировать его на MPLAB или в IDE, которую хотите, но вы можете изучить основы на Arduino.

Остальное похоже на программирование любой другой платы Arduino. Подключите робота к компьютеру с помощью кабеля micro USB и сразу после нажатия кнопки сброса нажмите кнопку программы. Затем отправьте эскиз с помощью кнопки загрузки в IDE.

Я включил в этот урок 3 скетча. Первый тестирует матрицу датчиков, второй - следящий за линией If / Else, а последний - за линейным повторителем ПИД-регулятора. Все уже работает, однако вам нужно будет изменить некоторые значения, если вы измените дизайн. А также не стесняйтесь делать свое собственное! Есть более эффективные способы реализовать алгоритм следования за линией, экспериментирование - ключ к успеху.

Шаг 3. Экспериментируйте

Экспериментируем
Экспериментируем
Экспериментируем
Экспериментируем
Экспериментируем
Экспериментируем

Это действительно самая важная часть, вы должны попробовать все возможности и найти ту, которая вам подходит.

Не стесняйтесь экспериментировать с колесами разного диаметра и материалами. Измените длину робота, модифицируя акриловый шарнир. Используйте другую батарею, даже с другим напряжением. Он также может быть меньше или больше. Может другое передаточное число для моторов.

Измените программное обеспечение, чтобы использовать меньше датчиков или даже попробовать другие алгоритмы, вы можете быть удивлены, насколько сильно может измениться производительность. Или почему бы и нет, если вы опытный пользователь, сделайте это с помощью MPLAB.

Небо это предел!

В качестве дополнительного совета… Настройка коэффициентов усиления ПИД-регулятора - это увлекательное путешествие, в котором вы можете изучить влияние на робота при следовании по линии с разными значениями Kp, Kd и Ki. Часы и часы обучения гарантированы !!! Дети не заметят, что они на самом деле используют математику для выполнения всех необходимых задач.

Надеюсь, вам понравится эта инструкция, если вам что-то нужно, спросите меня в комментариях. Спасибо за чтение:)

Рекомендуемые: