Радиоуправляемый робот-паук space warrior на пульте управления
Содержание:
- Шаг 9: Код
- Сборка боевого робота Space Warrior
- Шаг 14: дальнейшее развитие проекта
- Часть 2 — Симулятор
- Шаг 7: Подключение SSC-32
- Шаг 4: механические детали
- Шаг 1: Запчасти
- Объемная поделка из модулей
- Детали
- Программное обеспечение
- Шаг 2: делаем основную плату
- Шаг 2: загрузка кода и запуск
- Часть 3 — Управление по Bluetooth
- Сборка
- Шаг 3: проверка основной платы
Шаг 9: Код
Вы захотите выбрать версию 1.0 или 2.0 на основе ваших потребностей.
1.0 Arduino_Hex — работает на микроконтроллере роботов 2560, эта версия не содержит кода для pixy.
2.0 Arduino_Hex_Pixy_Walking_Version_R2 — работает на микроконтроллере 2560 роботов и содержит весь код для интеграции пикселов. Если вы выберете эту версию, вам также захочется захватить PixyProgramHeightWidth.
PixyProgramHeightWidth — загружается в микроконтроллер (arduino nano), который считывает данные пикселя и отправляет его роботам 2560.
PS2X_lib — Библиотека для PS2-контроллера
Обновлено HardwareSerial — Arduino-0021 — Обновлена HardwareSerial библиотека для Arduino 0021> Вам нужно будет перезаписать два файла HardwareSerial, расположенные по адресу: C: \ Users \ xxxx \ Desktop \ arduino-0021 \ hardware \ arduino \ cores \ arduino С файлами в обновленную папку HardwareSerial в этом репозитории.
Arduino Enviroment 0021 to compile and upload the code in this repository; you will want the same. You can get it at the following URL:
Сборка боевого робота Space Warrior
В продажу модель поступает в разобранном состоянии, поэтому для того, чтобы оценить вешний вид радиоуправляемого боевого робота паука, придется собрать в единую конструкцию его составные части. Собирается робот паук без особых проблем, однако, во избежание ошибок, лучше предварительно изучить инструкцию, где подробно описан сборочный процесс.
В состав конструкции входят:
- туловище с лапками;
- голова;
- барабан;
- защитные щитки для лапок.
В коробке также находятся:
- пульт радиоуправления, работающий от двух батареек:
- аккумулятор и зарядное устройство;
- комплект снарядов для стрельбы.
После сборки основных элементов на лапки крепятся защитные щитки, являющиеся деталью, важной для игрового процесса
Дизайн конструкции паука Warrior от Keye Toys
Благодаря дизайну, разработанному производителями оригинальной игрушки, робот space warrior выглядит как персонаж из компьютерных игр космической тематики. Его вооружение тоже рождено создателями компьютерных игр. Многозарядное орудие, имеющееся у боевого паука, выглядит внушительно. Оно может поражать цель на расстоянии до 10 метров.
Для мальчиков, готовых часами сидеть у монитора компьютера, паук на радиоуправлении модели space warrior станет отличной заменой персонажа компьютерной игры. Особенно интересно наблюдать за передвижением радиоуправляемого паука. Он оснащен шестью конечностями, изготовленными из прочного пластика.
Функциональность радиоуправляемого робота
При разработке их конструкции создатели игрушки использовали способ передвижения, свойственный настоящему насекомому. Разработчики наделили робота space warrior отличной проходимостью и маневренностью, позволяющими ему легко преодолевать преграды, встречающиеся у него на пути. Для передвижения подойдет любая поверхность, поэтому играть с ним можно не только в доме, но и на улице.
Для знакомства с возможностями модели следует нажать на клавишу, расположенную под головой, выбрав игровой режим. Управление осуществляется с помощью пульта. На его левой стороне находится джойстик, с помощью которого можно управлять движением модели. Она может передвигаться в заданном направлении, поворачивать туловище.
На правой стороне пульта расположены цветные кнопки, каждая из которых отвечает за определенное действие. С их помощью spider стреляет из имеющегося у него оружия, прицеливается, поднимая или опуская барабан со снарядами. У стреляющего робота паука на пульте можно использовать лазерный прицел, увеличивая точность выстрелов.
Для переключения в боевой режим следует поставить клавишу в крайнее положение. В данном режиме можно выполнять все доступные действия, но добавляется способность реагирования на попадания снарядов. Играть в боевом режиме следует с противником. При попадании в щиток на лапках защита отваливается.
Если противник уничтожил все щитки, то битва проиграна. Поражение засчитывается также при попадании трех выстрелов в голову игрушки.
Особенности робота паука
Space робот на пульте управления выпускается в трех цветовых гаммах. Он может быть изготовлен в красном, синем и золотом свете. Хотя в целом конструкция игрушек разного цвета идентична, роботы разного цвета оснащаются снарядами различного типа. Это могут быть диски, изготовленные из вспененного мягкого материала, или же такие же стрелы. Материал, из которого изготовлены пульки, не представляет опасности во время игры.
Имеются также нюансы оснащения:
- в бою используются световые и звуковые эффекты;
- предусмотрена подсветка светодиодами красного цвета, что позволяет проводить ночные бои;
- для точного наведения бластера на цель он оснащен подъемным механизмом;
- башня и пушка могут поворачиваться в любую сторону на 360°, полностью контролируя окружающее пространство во время боя;
- вне зависимости от типа снарядов, их количество составляет 12 штук.
Иногда покупателей интересует, что обозначают цифры 2.4g, находящиеся в конце названия модели? Подсказка для любопытных – это частота передачи радиосигналов от пульта. Управление игрушкой возможно с расстояния, достигающего 100 метров.
Многие владельцы роботизированных пауков в своих отзывах отмечают, что игра проходит гораздо интереснее, если в бою участвует несколько игрушек. Если один паук может только стрелять в мишень, то наличие второй модели позволяет провести настоящий контактный бой. Роботы-пауки имеют габариты 36 х 36 х 33 см, поэтому их бой выглядит впечатляюще.
Шаг 14: дальнейшее развитие проекта
Это хороший проект для старта и его можно адаптировать под себя. Можно добавить больше функций, например, динамическое изменение скорости движения. Реализовать дистанционное управление. Использовать другие аккумуляторы (18650 li-ion или пальчиковые Ni-Mh), добавить датчиков и т.д.
Перед аккумулятором нет платы защиты, и нужно следить что бы аккумулятор не разрядился слишком сильно. В противном случае это может привести к значительному снижению ресурса аккумулятора или выходу его из строя. В своём проекте Вы можете добавить плату защиты (как минимум с функцией защиты от глубокого разряда).
Кому больше нравиться собирать из модулей, а не паять, можно использовать другие детали. Вы можете сделать свой ремикс корпуса или использовать ремиксы, сделанные другими людьми: https://www.thingiverse.com/thing:1009659/remixes https://www.thingiverse.com/thing:2825097 https://www.thingiverse.com/thing:2901132
Часть 2 — Симулятор
Я использую vPython для симуляции движений моего робота-паука. Это упрощает проработку движений, которые затем реализуются на Arduino.
VPython — это язык программирования Python плюс модуль трехмерной графики. VPython позволяет легко создавать трехмерные интерфейсы и анимацию даже для тех, кто имеет ограниченный опыт программирования. Поскольку он основан на Python, он также может многое предложить опытным программистам.
Шаг 7: Подключение SSC-32
Выставите перемычки согласно картинке, (зона 3,5,9) единственным исключением является область 14 там перемычек быть не должно.
Идите вперед и удалите два перемычки из области 14. Затем подключите TX к выходу 18 Mega, затем подключите RX к выходу 19. После этого подключите GND к GND на Mega.
Подключите сервоприводы каждой ноги к SSC-32, используя этот список:
#define cRRCoxaPin 0 // Rear Right leg Hip Horizontal
#define cRRFemurPin 1 //Rear Right leg Hip Vertical
#define cRRTibiaPin 2 //Rear Right leg Knee
#define cRMCoxaPin 4 //Middle Right leg Hip Horizontal
#define cRMFemurPin 5 //Middle Right leg Hip Vertical
#define cRMTibiaPin 6 //Middle Right leg Knee
#define cRFCoxaPin 8 //Front Right leg Hip Horizontal
#define cRFFemurPin 9 //Front Right leg Hip Vertical
#define cRFTibiaPin 10 //Front Right leg Knee
#define cLRCoxaPin 16 //Rear Left leg Hip Horizontal
#define cLRFemurPin 17 //Rear Left leg Hip Vertical
#define cLRTibiaPin 18 //Rear Left leg Knee
#define cLMCoxaPin 20 //Middle Left leg Hip Horizontal
#define cLMFemurPin 21 //Middle Left leg Hip Vertical
#define cLMTibiaPin 22 //Middle Left leg Knee
#define cLFCoxaPin 24 //Front Left leg Hip Horizontal
#define cLFFemurPin 25 //Front Left leg Hip Vertical
#define cLFTibiaPin 26 //Front Left leg Knee
Шаг 4: механические детали
Моделирование производилось в программе в Sketchup Make. Кроме STL файлов, исходный файл моделей в Sketchup так же в открытом доступе.
Файлы для SG90 находятся в архиве Spider_robotquad_robot_quadruped-SG90.zip (папка «Spider\3D parts»).
Список деталей и их количество:
-
1x body_d.stl
-
1x body_u.stl
-
2x coxa_l.stl
-
2x coxa_r.stl
-
2x tibia_l.stl
-
2x tibia_r.stl
-
4x femur_1.stl
-
8x s_hold.stl
Файлы для MG90 находятся в архиве Spider_robotquad_robot_quadruped-MG90.zip.
Список деталей и их количество:
-
2x tibia-f.stl
-
2x tibia-b.stl
-
2x coxa-f.stl
-
2x coxa-b.stl
-
4x femur.stl
-
8x hinge.stl
-
1x body-u.stl
-
1x body-m.stl
-
1x body-d.stl
Шаг 1: Запчасти
Механические части:
Lynxmotion Phoenix Chassis Kit — Цена $39.95
http://www.robotshop.com/en/lynxmotion-phoenix-chassis-phbk.html
Aluminum Femur Pair (3 шт.) — Цена: $16.95 (за шт.)http://www.robotshop.com/lynxmotion-3-aluminum-femur-pair-2.html
Tibia Pair (Лапы) (3 шт.) Цена: $19.95 (each)
Или купить комплектом
18 DOF Aluminium Hexapod Spider Six 3DOF Legs Цена: $73.93
Платформа для PS2 Ресивера & Battery (1 шт.) Цена: $8.99
http://www.allerc.com/gaui-330x-payload-mount-set-p-5495.html
Lynxmotion Phillips Head Tapping Screws — 1/4″ x #2 (100) (1 шт.) Цена: $11.95
Электроника:
Arduino MEGA 2560 (1 шт.)
http://www.robotshop.com/en/arduino-mega-2560-microcontroller-rev3.html — Цена: $36.99
AliExpress — Цена: $14.80
HS-422 Servos (12 шт.)
http://www.robotshop.com/en/hitec-hs422-servo-motor.html Цена: $9.99 (за шт.)
http://ali.onl/MSC Цена: $3.79 (за шт.)
HS-645MG Servos (6 шт.)
http://www.robotshop.com/en/hitec-hs645mg-servo-motor.html Цена: $28.89 (за шт.)
http://ali.onl/MSD Цена: $21.12 (за шт.)
+ http://ali.onl/MSF Цена: $0.99 (за шт.)
Lynxmotion SSC-32 Servo Controller: (1 шт.) — Цена: $39.95
Lynxmotion PS2 Controller V4 (1 шт.) — Цена: $23.85
Pixy CMUcam5 Image Sensor (1 шт.)
http://www.robotshop.com/en/pixy-cmucam5-image-sensor.html — Цена: $69.00
http://ali.onl/MSH — Цена: $75.95
Arduino Nano (1 шт.)
http://ali.onl/MSJ — Цена: $2.28
Servo Extension Cable 150mm (6 шт.)
http://www.robotshop.com/en/servo-extension-cable-150mm.html — Цена: $0.60
http://ali.onl/MSL — Цена: $1.45
Батареи и Регуляторы для Робота:
1300mAh 2S 7.4V 20C Li-Po, 13 AWG EC2 (1 шт.)
http://www.hobbytown.com/Shop/1300mAh-2S-7-4V-20C… Цена: $18.99
http://ali.onl/MV4 Цена: $13.49
1350mAh 3S 11.1V 30C LiPo (1 шт.) — Цена: $30.99
https://www.hobbytown.com/3s-lipo-battery-pack-w-ec3-connector-30c-11.1v-1350mah-by-eflite-eflb13503s30/p224551
TURNIGY 8-15A UBEC for Lipoly (2 шт.)
https://hobbyking.com/en_us/turnigy-8-15a-ubec-for-lipoly.html?___store=en_us — Цена: $15.40
http://ali.onl/MV5 — Цена: $14.29
Необходимые инстурменты: Крестовая отвертка
Паяльник
Припой
Шестигранные головка
Мелкие крестовые отвертки и плоские овтертки
Плоскогубцы
Пластиковый хомут
Двухсторонний скотч
Двусторонняя липучая лента
Объемная поделка из модулей
Модульное оригами — увлекательное занятие. Вариантов, как собрать паука своими руками подобным образом довольно много и по большей части зависит от творческих навыков, конструкторского мышления и личного предпочтения.
В первую очередь для сборки поделки потребуются модули. Для сложения есть несколько основных схем. Легче всего их сделать по видео-мастер-классам.
- Прямоугольную заготовку 3*4 см согнуть пополам и снова пополам, чтобы определить середину.
- Края сложенной пополам вдоль заготовки загнуть к середине. При этом между краями в центре должно остаться небольшое пространство.
- Заготовку перевернуть. Торчащий край загнуть в обратную сторону и отвернуть уголок, как бы оборачивая вокруг края.
- Развернуть загнутый край, уголочек отвернуть вовнутрь.
- То же самое повторить со вторым торчащим краем.
- Сворачиваем заготовку в треугольник так, чтобы центральное сложение оказалось снаружи.
Модульноек оригами.Как быстро сложить модуль для оригами
Watch this video on YouTube
Для модульного оригами паука потребуются черные и желтые модули.
- Соединить 4 черных модуля — это первый ряд (далее каждый пункт — следующий ряд).
- В серединку поставить 1 желтый модуль, по краям — 2 черных. Крайний “кармашек” остается пустой.
- С каждой стороны от желтого модуля поставить еще по одному такому же и 3 черных в каждый “карман”. Крайние “карманы” пустые.
- В центр установить 1 желтый модуль и по 3 черных с каждой стороны.
- Установить 2 желтых модуля и по 3 черных с каждой стороны.
- Поставить 5 желтых модуля по центру и по 1 черному с каждой стороны от них, при этом убираются по 2 кармашка в каждый.
- Поставить 2 желтых модуля в середину, остальные — черные (по 2 штуки), убирая лишние карманы.
- Установить 1 желтый модуль и по 3 черных с каждой стороны от него.
- В центре установить 2 желтых модуля и по 2 черных модуля с каждой стороны.
- В середину установить 1 желтый модуль, остальные черные — по 3 штуки с каждой стороны.
- В центре поставить 2 желтых модуля и по 2 черных.
- Поставить 1 желтый модуль и по 2 черных модуля с каждой стороны.
- Установить 4 черных модуля.
- Соединить ряд 3 черными модулями.
- Ряд из 2 черных модулей.
- Закончить фигуру 1 модулем черного цвета.
- Добавить 2 черных модуля.
- Установить 3 черных модуля.
- Поставить 3 модуля, оставляя “усики”.
- Поставить еще 3 модуля черного цвета, расправляя “усики”.
- Добавить 2 модуля.
- Повторить предыдущий ряд. Туловище готово.
- Для задних лапок соединить 12 модулей черного цвета.
- 2 пары лапок соединить модулями.
- Передние лапки состоят из 10 модулей.
- Их также объединить в пары.
- Передние лапки надеть на ближние ответвления-усики, задние — чуть дальше.
- Для большей крепкости фигурку можно посадить на клей.
- Паук из модулей готов.
Модульное оригами. Паук (3D origami)
Watch this video on YouTube
Создать паука из модулей можно и по другой схеме. Научившись складывать модули, дальнейший процесс проходит гораздо быстрее.
Детали
Для сборки робота я приобрел на Ali Express следующие детали:
-
-
- комплект механических деталей для ног и корпуса;
- микроконтроллер STM32F407VET6;
- сервоприводы MG995 (20шт);
- Bluetooth-модуль НС-05;
- конвертер на 30А, 5В;
- аккумуляторная батарея 11.8В.
-
Механическая часть собирается без особых вопросов. Но вот как разместить все остальное? Здесь есть где разгуляться творческой мысли. Отверстия на корпусе практически совпали с отверстиями на плате микроконтроллера. Поэтому место его установки сразу однозначно было определено. Аккумулятор тоже спрячем внутри корпуса. В итоге места внутри практически не остается.
Выходное напряжение аккумулятора я выбрал 11.1В. Сначала хотел 7.4В, так как в контроллере есть стабилизатор, а сервоприводы выдерживают напряжение до 7В, плюс падение на подводящих проводах. Но потом решил не рисковать, ведь стоимость сервоприводов составляет половину цены всех деталей целиком. Поэтому решил сделать все правильно, подобрал конвертер 12В в 5В с максимальным током 30А. Этого с запасом хватит, чтобы запитать 18 сервоприводов даже при работе на упор. Вот и аккумуляторная батарея получилась на 11.8В.
Источник питания разместим сверху. Для подключения сервоприводов я сделал две переходные платы, которые органично вписались в существующую конструкцию. Я считаю, что получилось компактно и красиво.
В комплекте механических деталей прилагались подшипники (6шт) для установки плечевых суставов на корпус. Без них будет повышенное трение и излишняя нагрузка на вал сервопривода.
Программное обеспечение
Основной каркас ПО был уже написан в предыдущем проекте, смотрите статью «Робот-муравей: Программирование». Основные изменения связаны с переходом на новый микроконтроллер STM32F407VET6. Еще я обнаружил косяк, связанный с алгоритмом поворота. В прошлой версии при повороте робот как бы перетаптывается с ноги на ногу. Т.е. делает шаг, потом переходит в исходное положение и т.д. В общем нет непрерывного движения. Старый вариант можно посмотреть здесь. В новой версии я это исправил, робот-паук изящно крутится на месте вокруг своей оси.
После проведения калибровки конечностей он может ходить в разные стороны и с регулируемой скоростью. Двигать корпусом и вращать им же. Садиться и вставать. И многое другое!
Все необходимые файлы (прошивка, пульт, инструкция) можно скачать ниже:
- прошивка для STM32F407
- пульт управления роботом
- инструкция по калибровке
Как самому собрать такого робота можно посмотреть на видео ниже.
Шаг 2: делаем основную плату
Несколько советов по сборке печатной платы:
-
До установки на плату, убедитесь, что подстроечный резистор на модуле понижающего DC-DC преобразователя настроен правильно и на выходе модуля 5В;
-
Сервоприводы потребляют почти 3А в режиме полной нагрузки, используйте достаточно толстый провод;
-
Когда закончите пайку, с помощью мультиметра проверьте что бы не были соединены соседние выводы, которые не должны быть соединены;
-
Вместо пайки модулей непосредственно на макетную плату, запаяйте PLS и PBS разъёмы, в которые уже будут устанавливаться Arduino, модуль DC-DC, Bluetooth и сервоприводы;
-
Светодиод будет светиться, пока выключатель выключен. Так было сделано для проверки, исправен ли источник питания.
Шаг 2: загрузка кода и запуск
В редакторе PyCharm откройте файл Spider_robot_vpython.py и запустите код. Вы увидите на экране причудливого трехмерного робота-паука.
Для управления используйте мышь. Зажав (нажать и держать) правую кнопку и перемещая мышь — вращение. Зажав среднюю (или одновременно правую и левую) и перемещая мышь — зум.
Создавайте свои движения в этом симуляторе.
Часть 3 — Управление по Bluetooth
Модули Bluetooth HC-06 и HC-05 очень популярные для Arduino. Оба модуля сделаны на одном чипе, но есть и отличия. Основное отличие заключается в том, что HC-06 может работать только в режиме ведомого. А HC-05 работает и в режиме ведомого и в режиме ведущего. В данном проекте используется HC-06.
При включении питания модуль HC-06 находится в режиме ожидания подключения. В этом режиме будет мигать светодиод. После подключения светодиод постоянно светиться.
Сборка
Скажу сразу, что очень удобно пользоваться готовым комплектом механических деталей. Не надо ничего сверлить, пилить, гнуть. В общем, просто сказка! Шестеренки, которые крепятся на вал сервопривода, нужно обязательно ставить металлические, а не те пластиковые, что идут в комплекте. Самое главное – это правильно собрать «плечевой» сустав гексапода. Нужно определенным образом соединить две изогнутые детали, я почему-то назвал их каретками.
В каждую такую конструкцию потом будет установлено два сервопривода
Необходимо обратить внимание, что передние ноги отличаются от средних и задних расположением осевого винта. Детали Femur (бедро) и Tibia (голень) соединяем под углом 120°
Это будет среднее положение конечности, диапазон ее хода составит ±60°, от выпрямленной ноги до согнутой под 60°. К плечам крепим ноги под углом 0°. Ноги растут у него от плеч, вот такой монстр))) Но мне было проще называть тазобедренный сустав плечевым. Парадокс!
Ну и наконец ставим плечи на корпус. Средние ноги ставим параллельно, а задние и передние – под углом 45 градусов. Чтобы проще понять, смотрите рисунок ниже.
Устанавливаем плату микроконтроллера на корпус через пластиковые шайбы, чтобы обеспечить зазор между корпусом. Микроконтроллер STM32F407 был выбран, что называется с запасом. В будущем я планирую развивать проект дальше, поэтому дополнительные вычислительные мощности мне пригодятся.
Для подключения сервоприводов я разработал и изготовил компактные платы-переходники. Наконец-то опробовал ЛУТ (лазерно-утюжную технологию). Результат меня вполне устроил.
Все собираем, подключаем сервоприводы, где надо подпаиваем провода. Крепим аккумулятор к нижней пластине корпуса. Не забываем про подшипники из комплекта и закрываем крышку. Сверху ставим источник, выполняем монтаж проводов, укладываем их аккуратно. Все! Робот-паук готов!
Шаг 3: проверка основной платы
Не подключайте модуль DC-DC и Arduino Pro Mini к основной плате.
Подключите аккумулятор к разъему основной платы.
Проверьте светодиод, если он светиться, это хорошее начало.
Нажмите выключатель питания, светодиод должен погаснуть.
С помощью мультиметра проверьте правильность всех выводов +5В и GND.
Нажмите выключатель питания, чтобы выключить питание, светодиод опять должен светиться.
Подключите DC-DC и Arduino Pro Mini к основной плате.
Нажмите выключатель питания, светодиод выключится, но светодиод Arduino Pro Mini включится.
Отключите питание и подключите сервопривод к первому ряду разъемов Leg1 основной платы (вывод 2 Arduino).
Загрузите скетч servo_test.ino в Arduino, сервопривод должен начать вращать вал от 0 до 180 градусов.