Пятница, 05 октября 2018 10:07

Автоматическая турель на Raspberry Pi.

Оцените материал
(7 голосов)

Страйк больная турель “Nerf gun” отслеживающая движение, с двумя типами управления: автономным и ручным, работающий на Raspberry Pi.

 

Используемые части.

Используемый список деталей выглядит следующим образом:

 Детали для 3D принтера:

 

История

У каждого из нас есть дорогие вещи которые нуждаются в защите, но мы не можем быть одновременно везде. К счастью, используя программное обеспечение для распознавания изображений и обнаружения движения, мы можем создаватьавтоматические турели, которыем смогут защитить наши самые ценные вещи даже в наше отсутствие. Будь то эти надоедливые животные, которые разрушают Ваш сад или члены Вашей семьи, портящие ваши вещи, Вы можете создать свою собственную защитную турель для защиты от них.

В этом проекте мы построим умную Страйкбольную турель (или "Nerf Gun") с возможностью отслеживания движения реализованном на Raspberry Pi 3. Турель полностью автономна, когда обнаруживает движение она вращается и начинает вести огонь. Существует также интерактивный режим, чтобы Вы могли управлять турелью вручную с клавиатуры. Мы использовали пневматическое оружие для этого проекта, но вы можете легко изменить эту сборку, чтобы вместо этого использовать Nerf. Этот проект небольшой, легкий и полностью работает от батареек.

Мы создали два отдельных режима работы: Интерактивное и Обнаружение движения. Интерактивный позволяет удаленно управлять турелью и транслировать видео в реальном времени. Обнаружение движения использует openCV и компьютерное зрение для отслеживания движущихся целей перед камерой.

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

Просмотрите данное видео с детальным описанием как построить проект.

 

 

Шаг 1: Создание Основания

Для начала Вам потребуется лист МДФ, на нём Вам нужно с помощью карандаша начертить 2 круга диаметром 22 см и далее вырезать их используя ручную пилу или электрический лобзик.

trace1
trace2

В кружках из МДФ, Вам необходимо найти центр и пометить его карандашом. Мотор будет монтироваться в центр одного круга, так же мы будем использовать деталь напечатанную на 3д принтере которая будет монтироваться в центр второго круга.

Для изготовления отверстий под крепления мотора, Вам необходимо взять кусочек бумаги и прислонить к мотору со стороны креплений, продырявив бумагу валом от двигателя. Используйте карандаш, чтобы проткнуть бумагу в местах креплений. Эта бумага может использоваться как шаблон для нанесения местоположений отверстий на круге из МДФ. Цент этого шаблона нужно приложит к центру одного из кругов МДФ, и просверлить дрелью 4 отверстия по шаблону для крепежа используя сверло 3 мм. По центру просверлите отверстие используя сверло 6 мм.

center1
center2
center3
centr4

Используйте 4 винта М3 и четыре шайбы, для установки шагового двигателя в МДФ круг, хорошо затяните их с помощью отвертки. Приложите напечатанную деталь на 3д принтере к центру второго круга, отметьте карандашом 3 отверстия под крепление. С помощью отвертки или шуроповерта, вкрутите 3 винта #8, закрепив тем самым напечатанную деталь на круге. Далее Вам нужно круг с двигателем приложить сверху на круг с напечатанной деталью, что бы вал двигателя встал в центр детали.

mount1
mount2
mount3

 

Шаг 2: Подключение Орудия

 

Прежде чем приступить к следящему шагу подготовите страйкбольный привод, что бы он был готов для монтажа, когда турель будет построена. Этот метод зависти от модели вашего привода, но есть 2 опции которые мы нашли для подключения нашего орудия:

Опция 1

Первый, возможно более сложный вариант, это разобрать Ваше оружие и найти выключатель, который замыкает при срабатывании триггера. Отрежьте провода с этого переключателя и припаяйте их более длинным проводам, что бы длины хватила на вывод их из корпуса орудия. Затем соберите оружие. Физический переключатель, приводимый в действие спусковым крючком, который Вы только что отключили, позже будет заменен электрическим реле, управляемым Raspberry Pi. Хотя мы использовали этот вариант, нам было крайне сложно правильно собрать наше орудие.

Опция 2

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

wire1
wire2

 

Шаг 3: Сборка стоек турели.

Следующий шаг будет сборка стоек турели, которые будут держать оружие. Форма стоек будет завесить от Вашего оружия, но мы использовали стойку шириной 16 см высотой 20 см и шириной 5 см в верхней части.

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

cut1
cut2
cut3

На одной из ножек просверлите отверстие 6 мм. для вала второго двигателя, так же просверлите 4 отверстия для установки второго двигателя, как и на одной из круглых досок МДФ. Другая стойка будет иметь отверстие для поддержки 3д напечатанного фланцевого вала для вращения.

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

dril1
dril2
dril3

 

Шаг 4: Сборка башни.

Теперь Вам нужно выяснить, как далеко друг от друга должны находиться стойки. Измерьте ширину вашего оружия в желаемой точке крепления. Поместите 3D-напечатанный фланцевый вал в отверстие другой стойки и поставите их вертикально, отделив друг от друга, чтобы ширина оружия была между двумя фланцевыми частями. Затем Вы можете измерить, насколько далеко ваши стойки должны на расстоянии друг от друга и отметьте это расстояние на МДФ круге. После нанесения маркировки на круглую плиту МДФ, прикрутите стойки.

measure1
measure2
measure3

Перед тем, как прикрутить вторую стойку, используйте липкую двустороннюю ленту на лицевой стороне фланцевой муфты и фланцевого вала. С помощью помощника поместите оружие между фланцами и удерживая вторую стойку, прикрутите её к МДФ кругу.

place1
place2

 

Шаг 5: Электроника.

1 1

Поместите контрольную плату управления двигателями над Raspberry Pi. Подключите входное питание шагового двигателя к выходу на плате управления (показано на левой стороне первого рисунка).

На контрольной плате управления двигателями есть 2 клемы. Двигатель, который отвечает за поворот турели нужно подключить к клемме А. Двигатель, который отвечает за наклон турели подключаем на клему B.

Поместите всю электронику, а также портативное зарядное устройство на основание турели. Вы можете использовать кабель micro-USB, чтобы подключить Raspberry Pi и повышающий преобразователь к портативному зарядному устройству.

Подключите реле к контрольной плате управления двигателями, подключив питание и заземление реле к шине питания. Затем подключите сигнальный провод к выходу GPIO 22 на Pi. Подключите выход реле к проводам на вашем пистолете.

conventer1
conventer2
conventer3

Последнее, что нужно подключить к Pi, - это веб-камера Используйте для этого USB-кабель. Положение веб-камеры зависит от того, какой режим используется: автономное отслеживание движения или режим взаимодействия. В режиме отслеживания движения поместите камеру на стол, чтобы она была неподвижной, а пистолет отслеживает движущиеся цели. В ручном режиме вам нужно закрепить веб-камеру параллельно направлению дула пистолета, поэтому в этом случае наведите веб-камеру вниз на прицел от ствола пистолета. Таким образом, вы увидите все, что видит дуло пистолета во время контроля турели.

webcam1
webcam2

 

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

programm

Для связи с шатровым шаговым двигателем Вам необходимо настроить свой Pi для связи с I2C. Руководства по настройке Raspberry Pi для I2C (ссылка). Затем Вам нужно будет установить библиотеку для управления шасси шагового двигателя из репозитория Adafruit GitHub.

Также есть несколько библиотек, которые вам нужно будет установить для обработки и распознавания изображений, включая OpenCV и imutils. Опять же, более подробное объяснение предлагается в видео.

 

Убедитесь, что pip установлен

sudo apt-get install python pip

Установите I2C на Ваш Raspberry Pi

https://robotos.in/uroki/nastrojka-i2c

Установите библиотекуAdafruit stepper motor HAT.

sudo pip install git+https://github.com/adafruit/Adafruit-Motor-HAT-Python-Library

Установите OpenCV 3. Слулуя этой инструкции:

https://robotos.in/uroki/avtomaticheskoe-otslezhivanie-ob-ekta-na-python

Убедитесь что вы создали вирутульную среду с дополнительным флагом.

mkvirtualenv cv --system-site-packages -p python2

Источник Вашего профиля

source ~/.profile

Активируйте Вашу виртуальную среду

workon cv

Скопируйте этот репозиторий.

git clone Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.:HackerHouseYT/Tracking-Turret.git

Перейдите в директорию

cd Tracking-Turret

Install dependencies to your virtual environment

pip install imutils RPi.GPIO

Запустите проект!

python turret.py

 

turret.py имеет пару параметров которые вы можете указать.

### User Parameters ###

MOTOR_X_REVERSED = False
MOTOR_Y_REVERSED = False

MAX_STEPS_X = 30
MAX_STEPS_Y = 15

RELAY_PIN = 22

#######################

Они будут расположены в верхней части файла. Используйте vim turret.py что бы открыть файл. Нажмите i для редактирования. После внесённый изменений, нажмите esc затем ZZ что бы сохранить.

 

Шаг 7: Калибровка режима отслеживания движения.

test programm

Поскольку программное обеспечение не знает положения пистоле при запуске, вам необходимо будет откалибровать турель при её включении. Программа python предложит вам использовать клавиатуру для регулировки углов высоты и угла поворота башни, после Вам необходимо будет подтвердить, что она выровнена и отцентрована.

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

 

Шаг 8 Интерактивный режим.

final

Калибровка не требуется в интерактивном режиме. Просто поместите камеру в соответствие и используйте клавиатуру для перемещения и стрельбы из вашей турели. Используйте клавиши «a» и «d» для поворота влево и вправо, а клавиши «w» и «s» - для поворота башни вверх и вниз. Нажмите «Ввод», чтобы стрелять.

 

Шаг 9 Итог.

Поздравляем! Теперь у вас есть непроницаемая защита для защиты от ваших противников. Но помните, что с великой силой приходит большая ответственность. Получайте удовольствие и будьте в безопасности!

 

Github - https://github.com/HackerShackOfficial/Tracking-Turret Зеркало - https://github.com/robotoss/Tracking-Turret

Источник

 

Author

Bender

Я поделюсь с тобой всеми знаниями, которые доступны мне.

Комментарии (0)

There are no comments posted here yet

Оставьте свой комментарий

  1. Posting comment as a guest. Sign up or login to your account.
Вложения (0 / 3)
Share Your Location

О нас

Основой деятельностью портала является показ и объяснение что представляет собой выражени "Робот", "Робототехника", "Законы робототехники", "Мехатроника", "Искусственный интеллект(ИИ)". 

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