Оглавление:

Прогулка по Strandbeest, Java / Python и приложение под управлением: 4 шага (с изображениями)
Прогулка по Strandbeest, Java / Python и приложение под управлением: 4 шага (с изображениями)

Видео: Прогулка по Strandbeest, Java / Python и приложение под управлением: 4 шага (с изображениями)

Видео: Прогулка по Strandbeest, Java / Python и приложение под управлением: 4 шага (с изображениями)
Видео: Художник из Голландии создает скульптуры, которые движутся от силы ветра 2024, Июль
Anonim

Подписаться Еще от автора:

Экспериментальное исследование простого гармонического движения
Экспериментальное исследование простого гармонического движения
Экспериментальное исследование простого гармонического движения
Экспериментальное исследование простого гармонического движения

Этот набор Strandbeest создан своими руками на основе Strandbeest, изобретенного Тео Янсеном. Пораженный гениальной механической конструкцией, я хочу оснастить его полной маневренностью, а затем компьютерным интеллектом. В этом руководстве мы работаем над первой частью - маневренностью. Мы также покрываем механическую структуру компьютера размером с кредитную карту, чтобы мы могли играть с компьютерным зрением и обработкой искусственного интеллекта. Чтобы упростить сборку и облегчение, я не использовал Arduino или аналогичный программируемый компьютер, вместо этого я создал аппаратный контроллер Bluetooth. Этот контроллер, работающий как терминал, взаимодействующий с роботизированным оборудованием, управляется более мощной системой, такой как приложение для телефона Android или RaspberryPi и т. Д. Управление может быть либо управлением пользовательского интерфейса мобильного телефона, либо программируемым управлением на языке Python или Java. Один SDK для каждого языка программирования с открытым исходным кодом предоставляется на

Поскольку руководство пользователя mini-Strandbeest довольно ясно объясняет этапы сборки, в этом руководстве мы сосредоточимся на частях информации, которые обычно не рассматриваются в руководстве пользователя, а также на электрических / электронных частях.

Если нам нужно более интуитивно понятное представление о механической сборке этого комплекта, доступно довольно много хороших видео по теме сборки, например

Запасы

Чтобы построить механическую часть и выполнить все электрические соединения этого Strandbeest, потребуется менее 1 часа, если не подсчитано время ожидания для 3D-печати. Для этого требуются следующие части:

(1) 1x стандартный комплект Strandbeest (https://webshop.strandbeest.com/ordis-parvus)

(2) 2 двигателя постоянного тока с коробкой передач (https://www.amazon.com/Greartisan-50RPM-Torque-Re…)

(3) 1x контроллер Bluetooth (https://ebay.us/Ex61kC?cmpnId=5338273189)

(4) 1x LiPo аккумулятор (3,7 В, емкость на ваш выбор в мАч)

(5) 12 шурупов M2x5,6 мм для дерева

(6) Карбоновый или бамбуковый стержень диаметром 2 мм

Напечатайте на 3D-принтере следующие детали:

(1) 1x основной корпус робототехники

(Файл дизайна для 3D-печати с контроллером bluetooth загружается только)

(Файл дизайна для 3D-печати с дополнительной загрузкой OrangePi Nano)

(2) 2 фланца приводного вала (загрузка файла дизайна для 3D-печати)

(3) 2 крепления системы питания (загрузка файла дизайна для 3D-печати)

Другие:

Мобильный телефон Android. Перейдите в магазин Google Play, найдите M2ROBOTS и установите приложение управления.

Если вам сложно получить доступ к Google PlayStore, посетите мою личную домашнюю страницу, чтобы узнать об альтернативном способе загрузки приложения.

Шаг 1: Организация запасных частей

Организация запасных частей
Организация запасных частей
Организация запасных частей
Организация запасных частей
Организация запасных частей
Организация запасных частей
Организация запасных частей
Организация запасных частей

На этом этапе мы организуем все детали, которые нужно собрать. Рисунок 1. показаны все готовые к использованию пластиковые детали, которые мы используем для создания модели Strandbeest. Они производятся методом литья под давлением, что очень эффективно по сравнению с другими методами обработки, такими как 3D-печать или фрезерование. Вот почему мы хотим максимально использовать преимущества массового производства и настраивать только наименьшее количество деталей.

Как показано на рис.2, на каждом куске пластиковой доски есть маркированный алфавит, отдельные части не имеют маркировки. После того, как они будут разобраны, маркировка больше не будет. Чтобы решить эту проблему, мы можем поместить части одного и того же типа в разные коробки или просто отметить несколько областей на листе бумаги и поместить части одного типа в одну область, см. Рис. 3.

Чтобы отрезать пластиковую деталь от большей монтажной пластиковой доски, ножницы и нож могут быть не такими эффективными и безопасными, как плоскогубцы, показанные на рисунках 4 и 5.

Здесь все сделано из пластика, за исключением того, что пальцы ног - резина, см. Рис.6. Мы можем резать по заранее сделанным надрезам. Мягкий каучуковый материал обеспечивает лучшее сцепление с прядями. Это особенно актуально при подъеме на склон. В последующих разделах мы можем проверить его способность лазать под разным углом наклона, с резиновыми носками и без них. Отсутствие скольжения называется статическим трением. Как только он теряет сцепление, возникает кинетическое трение. Коэффициент трения зависит от используемых материалов, поэтому у нас есть резиновые пальцы. Как спланировать эксперимент, поднимите руку и высказывайтесь.

Последний рисунок содержит «ЭБУ», «Силовую передачу» и шасси этой модели Strandbeest.

Шаг 2: моменты, заслуживающие внимания во время механической сборки

Вопросы, заслуживающие внимания при механической сборке
Вопросы, заслуживающие внимания при механической сборке
Вопросы, заслуживающие внимания при механической сборке
Вопросы, заслуживающие внимания при механической сборке
Вопросы, заслуживающие внимания при механической сборке
Вопросы, заслуживающие внимания при механической сборке

Мини-Strandbeest имеет довольно хорошее руководство пользователя. Следовать руководству и завершить сборку должно быть несложно. Я пропущу это содержание и выделю несколько интересных моментов, заслуживающих нашего внимания.

На рисунке 1 одна сторона прорези, удерживающей резиновые пальцы ног, имеет угол 90 градусов, тогда как другая сторона имеет наклон 45 градусов, который официально называется фаской. Такой наклон позволяет резиновому носку плотно прилегать к пластиковой ножке. Попробуйте установить пальцы со стороны с фаской, см. Рис. 2, затем попробуйте другую сторону. Разница очень заметна. Правая сторона рис. 3 - это кривошип в нашем Stranbeest. Он очень похож на кривошип в двигателе, двигателе автомобиля, двигателе мотоцикла, все имеют одинаковую структуру. В Strandbeest, когда рукоятка вращается, она заставляет ноги двигаться. Для двигателя это движение поршня, приводящего кривошип во вращение. Такое 120-градусное разделение по кругу также приводит к трехфазному двигателю или генератору, электрическая мощность которых разнесена на 120-градусное расстояние, как показано на рисунке 4. После того, как мы собрали все механические детали для левой и правой сторон корпуса, мы приступаем к работе с деталями, которые добавляем в Strandbeest, см. Рис.5. На рис. 6 показан шаг, на котором мы используем зажим двигателя с трехмерной печатью, чтобы прикрепить двигатель к шасси с трехмерной печатью. На этом этапе хитрость заключается в том, что ни один из винтов не должен быть затянут до того, как положение двигателя будет отрегулировано так, чтобы боковая поверхность шасси была такой же, как и поверхность двигателя. Как только мы будем довольны выравниванием, мы можем затянуть все винты. Переходим к рис.7, работаем над установкой фланцевой муфты, соединяющей выход двигателя с кривошипом. Со стороны двигателя установить сложнее, чем со стороны кривошипа, см. Рис.8. Поэтому сначала подключаем фланец со стороны двигателя. После того, как фланцевые муфты для обоих двигателей установлены, как показано на рисунке 9, мы используем две части углеродных стержней диаметром 2 мм для соединения шасси и левой / правой шагающей конструкции. Это происходит на ФИГ.10. Всего мы используем 3 части углеродных стержней для соединения этих объектов. Но на этом этапе мы соединяем только два из них, потому что нам нужно повернуть кривошип и установить соединение между фланцем и кривошипом. Если 3 части углеродных стержней были на месте, будет сложнее отрегулировать относительное положение и соединить их. Наконец, у нас есть окончательно собранная механическая система, показанная на рисунке 11. Следующим шагом займемся электроникой.

Шаг 3: электрическое подключение

Электрическое подключение
Электрическое подключение
Электрическое подключение
Электрическое подключение
Электрическое подключение
Электрическое подключение

Все электронные системы нуждаются в источнике питания. Мы можем разместить одноэлементную батарею где-нибудь в удобном месте, например, под монтажной платой на рисунке 1. Полярность источника питания настолько важна, что заслуживает отдельного обсуждения. На рис.2 показано подключение батареи. На плате контроллера полярность обозначена «+» и «GND», см. Рис.3. Когда в аккумуляторе заканчивается заряд, для подзарядки аккумулятора используется USB-кабель, см. Рис. 4. Светодиод, указывающий на то, что идет процесс зарядки, автоматически погаснет, когда аккумулятор снова станет полностью заряженным. Последний шаг - подключить выходы двигателя к разъемам двигателя на плате контроллера. Имеется 3 разъема двигателя, обозначенных цифрой 16 на рис. На рисунке 5 левый двигатель подключен к крайнему левому разъему с маркировкой PWM12, а правый двигатель подключен к среднему разъему. В настоящее время поворот бака (транспортного средства с дифференциальным приводом) влево жестко запрограммирован как уменьшение входной мощности двигателя, подключенной к порту двигателя PWM12. Следовательно, двигатель, подключенный к порту PWM12, должен приводить в движение левую опору. Позже я конвертирую все функции микширования в настраиваемые пользователем. as. Поменяв местами выбор разъема двигателя или изменив направление разъема двигателя, мы можем решить такую проблему, как движение Strandbeest назад по команде двигаться вперед, поворот в неправильном направлении, помните, что двигатель постоянного тока меняет направление вращения, если входной провод подключен к управляющему питанию в обратном порядке.

Шаг 4. Настройки и работа приложения

Настройки и работа приложения
Настройки и работа приложения
Настройки и работа приложения
Настройки и работа приложения
Настройки и работа приложения
Настройки и работа приложения
Настройки и работа приложения
Настройки и работа приложения

Сначала мы загружаем приложение для Android из Google Play Store, см. Рис.1. Это приложение имеет множество других функций, которые мы не можем охватить в этом руководстве, мы сосредоточимся только на непосредственно связанных темах для Strandbeest.

Включите аппаратный контроллер Bluetooth, он появится в списке устройств обнаружения. Длительное нажатие приведет нас к функции загрузки по воздуху, которая будет "проинструктирована" позже. Прежде чем мы щелкнем и начнем управление, давайте сначала сделаем некоторые настройки, щелкнув в правом верхнем углу «Настройки». На рис.2 он скрыт под значком…. На рис.3 показаны несколько категорий настроек. Эти настройки, настроенные в приложении, применяются тремя способами: 1) некоторые настройки влияют только на работу приложения, например, арифметика для получения команды управления мощностью каждого двигателя от вашей команды рулевого управления и газа. Они живут в Приложении. В некоторых более поздних инструкциях мы покажем, как мы заменяем их нашими программами Python / Java. 2) некоторые настройки отправляются в аппаратное обеспечение как часть протокола управления в воздухе, например, переключение между прямым управлением (сервопривод поворачивает точно на заданный угол) и управлением по проводам (встроенный автономный функциональный модуль контроллера управляет сервоприводом. канал в соответствии с командой пользователя и текущим отношением) 3) некоторые настройки будут отправлены в энергонезависимую память аппаратного контроллера. Следовательно, оборудование будет следовать этим настройкам каждый раз, когда оно включается без настройки. Примером может служить широковещательное имя устройства по Bluetooth. Для того, чтобы настройки этого типа вступили в силу, необходимо перезагрузить компьютер. Первая категория, в которую мы углубимся, - это «Общие настройки» на рисунке 4. «Функция управления приложением» на рис. 5 определяет, какую роль играет это приложение: контроллер для аппаратного устройства через прямое соединение Bluetooth; мост через интранет / Интернет для управления дистанционным присутствием; и т. д. Затем страница «Тип оборудования» на рис. 6 сообщает приложению, что вы работаете с транспортным средством с дифференциалом, поэтому необходимо выбрать режим «танк». Всего у нас доступно 6 выходов PWM. Для Strandbeest нам нужно настроить каналы с 1 по 4 в соответствии с рисунком 7. Каждый канал ШИМ работает в одном из следующих режимов: 1) нормальный сервопривод: сервопривод RC управляется ШИМ-сигналом от 1 до 2 мс 2) обратный сервопривод: контроллер меняет направление пользовательского управления для своего выхода 3) рабочий цикл двигателя постоянного тока: постоянный ток двигатель или какое-либо силовое электрическое устройство может работать в режиме рабочего цикла, 0% - выключено, 100% - всегда включено. 4) Обратный рабочий цикл двигателя постоянного тока: снова контроллер изменит пользовательское управление своим выходом. 4, см. Рис. 8. Нам также необходимо объединить 2 канала ШИМ в 1 H-мост, чтобы обеспечить двунаправленное управление. Этот шаг показан на рисунке 9. В режиме «2 канала ШИМ на 1 H-мост» каналы 1, 3 и 5 используются для управления обоими связанными каналами. Это приводит к необходимости переназначить управление дроссельной заслонкой, управление вверх-вниз джойстиком с его канала 2 по умолчанию на канал 3. Это достигается в настройках Рис.10. Как показано на рисунке 11, каждый канал настроен для приема одного произвольного источника входного сигнала.

Бинго, теперь мы завершили минимально необходимую настройку, и мы можем вернуться на страницу, показывающую видимое устройство Bluetooth, и подключить его. На рис.12 попробуйте поиграть с джойстиком, и мы сможем повеселиться с этим Strandbeest. Попробуйте подняться на некоторый уклон, запомните анализ трения между типами материалов и прочтите расчетное положение полетного контроллера, которое показано в строке с надписью «RPY (градус)», четыре записи в этой строке: крен, тангаж, угол рыскания. оценивается бортовым гироскопом и акселерометром; последняя запись - вывод компаса с компенсацией наклона.

Дальнейшая работа: в следующих инструкциях мы постепенно рассмотрим его программный интерфейс, выберем ваш любимый язык Java или Python для взаимодействия со Strandbeest и больше не будем считывать статус strandbeest с экрана мобильного телефона. Мы также начнем программировать на Linux-компьютере типа RaspberryPi для более сложных тем программирования, см. Последний рисунок. Оформить заказ https://xiapeiqing.github.io/doc/kits/strandbeest/roboticKits_strandbeest/ для механических частей 3D-печати и https://github.com/xiapeiqing/m2robots.git для SDK и примера кода, если вы хотите начать немедленно. Сообщите мне, какой язык программирования вам нужен, если не Java или Python, я могу добавить новую версию SDK.

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

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