Съдържание:

Walking Strandbeest, Java/Python и приложение, контролирано: 4 стъпки (със снимки)
Walking Strandbeest, Java/Python и приложение, контролирано: 4 стъпки (със снимки)

Видео: Walking Strandbeest, Java/Python и приложение, контролирано: 4 стъпки (със снимки)

Видео: Walking Strandbeest, Java/Python и приложение, контролирано: 4 стъпки (със снимки)
Видео: TrotBot, Klann, Strandbeest, & Strider Linkages in Motion 2024, Ноември
Anonim

От arrowlikeFollow Още от автора:

Експериментално изследване на прости хармонични движения
Експериментално изследване на прости хармонични движения
Експериментално изследване на прости хармонични движения
Експериментално изследване на прости хармонични движения

Този комплект Strandbeest е DIY произведение, базирано на Strandbeest, изобретен от Тео Янсен. Удивен от гениалния механичен дизайн, искам да го оборудвам с пълна маневреност, а след това и компютърна интелигентност. В тази инструкция ние работим върху първата част, маневреност. Ние също така обхващаме механичната структура на компютъра с размер на кредитна карта, така че да можем да играем с компютърно зрение и обработка на AI. За да опростя строителната работа и да не се използва, не използвах arduino или подобен програмируем компютър, вместо това изградих хардуерен контролер за bluetooth. Този контролер, работещ като терминал, взаимодействащ с роботизирания хардуер, се управлява от по -мощна система, като приложение за телефон за Android или RaspberryPi и др. Контролът може да бъде или потребителски интерфейс за управление на мобилен телефон, или програмируем контрол на език python или Java. Един SDK за всеки език за програмиране е с отворен код, предоставен в

Тъй като ръководството за потребителя на mini-Strandbeest е доста ясно обясняващо стъпките за изграждане, в тази инструкция ще се съсредоточим върху частите информация, които обикновено не са обхванати в ръководството за потребителя, и върху електрическите/електронните части.

Ако имаме нужда от по -интуитивна представа за механичното сглобяване на този комплект, са налични доста добри видеоклипове по темата за сглобяването, като например

Консумативи

За да се изгради механичната част и да се осъществи цялата електрическа връзка на този Strandbeest, трябва да отнеме по -малко от 1 час, за да завърши, ако времето за изчакване за 3D печат не се отчита. Изисква следните части:

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

(2) 2x DC мотор с скоростна кутия (https://www.amazon.com/Greartisan-50RPM-Torque-Re…)

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

(4) 1x LiPo батерия (3.7V, капацитет по ваш избор в mAh)

(5) 12x M2x5.6mm винтове за дърво

(6) Въглерод или бамбуков прът с диаметър 2 мм

3D печат на следните части:

(1) 1x корпус на роботиката

(Файл за дизайн на 3D печат с изтегляне само на Bluetooth контролер)

(3D дизайн файл за печат с допълнително изтегляне на OrangePi Nano)

(2) 2x фланец на задвижващия вал (изтегляне на файл за дизайн на 3D печат)

(3) 2x захранваща система (изтегляне на файл за дизайн на 3D печат)

Други:

Мобилен телефон с Android. Отидете в Google playstore, моля потърсете M2ROBOTS и инсталирайте контролното приложение.

В случай че е трудно да получите достъп до Google PlayStore, посетете личната ми начална страница за алтернативен метод за изтегляне на приложения

Стъпка 1: Организация на частите

Организация на частите
Организация на частите
Организация на частите
Организация на частите
Организация на частите
Организация на частите
Организация на частите
Организация на частите

В тази стъпка ще организираме всички части за сглобяване. Фиг. 1. показва всички налични пластмасови части, които използваме за изграждането на модела Strandbeest. Те са направени чрез леене под налягане, което е много високоефективно в сравнение с други производствени методи за обработка, като 3D печат или фрезоване. Ето защо искаме да се възползваме максимално от масово произвеждания продукт и да персонализираме само най -малкото количество части.

Както е показано на фиг.2, всяко парче пластмасова дъска има обозначена азбука, отделната част няма етикетиране. След като бъдат разделени, няма повече етикетиране. За да разрешим този проблем, можем да поставим части от един и същи тип в различни кутии или просто да маркираме няколко области в лист хартия и да поставим един вид части в една област, вижте Фиг.3.

За да отрежете пластмасовата част от по -голямата сглобяема пластмасова дъска, ножиците и ножът може да не са толкова ефективни и толкова безопасни, колкото клещите, показани на Фиг.4 и 5.

Всичко тук е направено от пластмаса, с изключение на материала на пръстите на краката са каучук, виж фиг.6. Можем да режем според предварително направените разфасовки. Меката природа на гумения материал осигурява по -добро захващане на нишката. Това е особено вярно при изкачване на склон. В по -късните теми можем да тестваме способността му да се изкачва под различен ъгъл на наклон, със и без гумените пръсти. Когато няма приплъзване, това се нарича статично триене. След като загуби хватката, става кинетично триене. Коефициентът на триене зависи от използваните материали, затова имаме гумените пръсти. Как да проектирате експеримент, вдигнете ръка и говорете.

Последната фигура съдържа „ECU“, „Задвижващ механизъм“и шаси на този модел Strandbeest.

Стъпка 2: Точки, заслужаващи внимание по време на механичното сглобяване

Точки, заслужаващи внимание по време на механичното сглобяване
Точки, заслужаващи внимание по време на механичното сглобяване
Точки, заслужаващи внимание по време на механичното сглобяване
Точки, заслужаващи внимание по време на механичното сглобяване
Точки, заслужаващи внимание по време на механичното сглобяване
Точки, заслужаващи внимание по време на механичното сглобяване

Мини-Strandbeest има доста добро ръководство за потребителя. Следването на ръководството и завършването на монтажа трябва да е лесна работа. Ще пропусна това съдържание и ще подчертая няколко интересни точки, заслужаващи нашето внимание.

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

Стъпка 3: Електрическа връзка

Електрическа връзка
Електрическа връзка
Електрическа връзка
Електрическа връзка
Електрическа връзка
Електрическа връзка

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

Стъпка 4: Настройки и работа на приложението

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

Първо изтегляме приложение за Android от Google Play Store, вижте Фиг.1. Това приложение има много други функции, които не можем да обхванем в тази инструкция, ние ще се съсредоточим само върху пряко свързаните теми за Strandbeest.

Включете хардуерния Bluetooth контролер, той ще се появи в списъка с устройства за откриване. Продължителното щракване ще ни отведе до функцията за изтегляне по въздуха, която да бъде „инструктирана“по-късно. Преди да щракнем и да стартираме контрола, нека първо направим някои конфигурации, като кликнете върху горния десен ъгъл „Настройки“. На фиг.2 тя е скрита под иконата … Фиг.3 показва множество категории настройки. Тези настройки, конфигурирани в приложението, се въвеждат в действие по три начина: 1) някои настройки влияят само върху работата на приложението, като например аритметика, за да получите командата за управление на мощността на всеки двигател от вашата команда за управление и газ. Те живеят в приложението. В някои по -късни инструкции ще покажем как ги заменяме с нашите програми на Python/Java. 2) някои настройки се изпращат към хардуера като част от протокола за управление във въздуха, като например превключването между директно управление (серво завърта точно зададения ъгъл) и полет по проводник (вграденият функционален модул за автономен контролер управлява серво канал според потребителската команда и текущото отношение) 3) някои настройки ще бъдат изпратени до енергонезависимата памет в хардуерния контролер. Следователно хардуерът ще следва тези настройки при всяко включване, без да бъде конфигуриран. Пример за това ще бъде името на Bluetooth излъчване на устройството. Този вид настройки се нуждаят от цикъл на захранване, за да влязат в сила. Първата категория, в която се потопяваме, е „Общи настройки“на фиг.4. „Функцията за управление на приложението“на Фиг.5 определя каква роля играе това приложение, контролер за хардуерното устройство чрез директна Bluetooth връзка; мост през интранет/интернет за контрол на телеприсъствието; и т.н. След това страницата „Тип HW“на фиг. 6 казва на приложението, че работите с превозно средство с диференциално управление, така че трябва да бъде избран режим „резервоар“. Имаме общо 6 PWM изхода. За Strandbeest трябва да конфигурираме канал 1 до 4 съгласно фиг.7. Всеки PWM канал се управлява в един от следните режими: 1) нормално серво: RC серво, управлявано от 1 до 2ms PWM сигнал 2) серво реверс: контролерът ще обърне потребителското управление за своя изход 3) Работен цикъл на DC мотор: DC двигател или друго захранващо електрическо устройство, може да работи в режим на работен цикъл, 0% е изключено, 100% винаги е включено. 4) Регулиране на работния цикъл на мотора с постоянен ток: отново контролерът ще обърне потребителското управление за неговия изход Тъй като използваме DC мотор и се грижим за посоката на въртене на двигателя по хардуерно окабеляване, ще изберем „Работен цикъл на DC двигателя“за канал 1 до 4, виж фиг.8. Трябва също да обединим 2 PWM канала към 1 H-мост, за да дадем възможност за двупосочен контрол. Тази стъпка е показана на фиг.9. В режим „2 PWM канала към 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.

Забавлявайте се с хакерство и следете следните инструкции.

Препоръчано: