Мазмұны:

Strandbeest, Java/Python және қолданба арқылы жүру: 4 қадам (суреттермен)
Strandbeest, Java/Python және қолданба арқылы жүру: 4 қадам (суреттермен)

Бейне: Strandbeest, Java/Python және қолданба арқылы жүру: 4 қадам (суреттермен)

Бейне: Strandbeest, Java/Python және қолданба арқылы жүру: 4 қадам (суреттермен)
Бейне: Java On Conference 2022, JDK 19, Spring Framework 6 и Spring Boot 3 [Новости MJC #11] 2024, Шілде
Anonim

Автордың толығырақ мәліметін қараңыз:

Қарапайым гармониялық қозғалысты эксперименттік зерттеу
Қарапайым гармониялық қозғалысты эксперименттік зерттеу
Қарапайым гармониялық қозғалысты эксперименттік зерттеу
Қарапайым гармониялық қозғалысты эксперименттік зерттеу

Бұл Strandbeest жиынтығы - Тео Янсен ойлап тапқан Strandbeestке негізделген DIY жұмысы. Данышпан механикалық дизайнға таң қаламын, мен оны толық маневрлікпен, ал келесіден - компьютерлік интеллектпен жабдықтағым келеді. Бұл нұсқаулықта біз бірінші бөлімде жұмыс жасаймыз, маневр. Біз сондай -ақ несиелік картаның өлшемі бар компьютердің механикалық құрылымын қарастырамыз, осылайша біз компьютерді көру мен АИ өңдеумен ойнай аламыз. Құрылыс жұмыстарын жеңілдету үшін мен arduino немесе соған ұқсас бағдарламаланатын компьютерді пайдаланбадым, оның орнына Bluetooth аппараттық контроллерін құрдым. Роботтық жабдықпен жұмыс істейтін терминал ретінде жұмыс істейтін бұл контроллер Android телефон қосымшасы немесе RaspberryPi сияқты қуатты жүйемен басқарылады. Басқару ұялы телефонның интерфейсін басқару немесе python немесе Java тілінде бағдарламаланатын басқару болуы мүмкін. Әр бағдарламалау тіліне арналған бір SDK-https://github.com/xiapeiqing/m2robots.git сайтында берілген ашық көзі.

Mini-Strandbeest пайдаланушы нұсқаулығы құрылыс кезеңдерін түсіндіруде өте түсінікті болғандықтан, бұл нұсқаулықта біз әдетте пайдаланушы нұсқаулығында қарастырылмаған ақпарат пен электрлік/электронды бөлшектерге тоқталамыз.

Егер бізге осы жинақты механикалық құрастыру туралы интуитивті идея қажет болса, онда құрастыру тақырыбында бірнеше жақсы бейнелер бар, мысалы

Жабдықтар

Механикалық бөлікті құру және осы Strandbeest -тің барлық электрлік байланысын орнату үшін, егер 3D басып шығаруды күту уақыты есептелмесе, 1 сағаттан аз уақыт қажет. Ол үшін келесі бөліктер қажет:

(1) 1 стандартты 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.7V, сіздің таңдауыңыз мАч)

(5) 12x M2x5.6 мм ағаш бұрандалар

(6) диаметрі 2 мм көміртекті немесе бамбук таяқшасы

Келесі бөліктерді 3D басып шығарыңыз:

(1) 1x робот техникасының негізгі корпусы

(Bluetooth контроллері бар 3D басып шығару дизайны файлы ғана жүктеледі)

(OrangePi Nano қосымша жүктемесі бар 3D басып шығару дизайны файлы)

(2) 2x жетек білігінің фланеці (3D басып шығару дизайны файлын жүктеу)

(3) 2x қуат жүйесі қондырғысы (3D басып шығару дизайны файлын жүктеу)

Басқалар:

Android ұялы телефоны. Google playstore -ға өтіңіз, M2ROBOTS іздеп, басқару қолданбасын орнатыңыз.

Егер Google playstore -ға кіру қиын болса, қосымшаны жүктеудің балама әдісі үшін менің жеке бетіме кіріңіз

1 -қадам: Бөлшектерді ұйымдастыру

Бөлшектерді ұйымдастыру
Бөлшектерді ұйымдастыру
Бөлшектерді ұйымдастыру
Бөлшектерді ұйымдастыру
Бөлшектерді ұйымдастыру
Бөлшектерді ұйымдастыру
Бөлшектерді ұйымдастыру
Бөлшектерді ұйымдастыру

Бұл қадамда біз жиналатын барлық бөлшектерді ұйымдастырамыз. 1 -сурет. біз Strandbeest моделін жасау үшін қолданатын барлық қораптан тыс пластикалық бөлшектерді көрсетеді. Олар 3D басып шығару немесе фрезерлеу сияқты өңдеудің басқа әдістерімен салыстырғанда өте жоғары тиімділігі бар инжекциялық қалыптау әдісімен жасалады. Сондықтан біз жаппай шығарылатын өнімнің артықшылығын пайдаланғымыз келеді және бөлшектердің ең аз мөлшерін ғана баптаймыз.

2 -суретте көрсетілгендей, пластикалық тақтаның әр бөлігінде таңбаланған алфавит бар, жеке бөлігінде таңбалау жоқ. Оларды бөліп алғаннан кейін таңбалау болмайды. Бұл мәселені шешу үшін біз бір түрдегі бөлшектерді әр түрлі қораптарға салуымыз немесе қағазға бірнеше аумақты белгілеп, бір аймаққа бөлшектердің бір түрін қоюымыз мүмкін, 3 суретті қараңыз.

Пластикалық бөлікті үлкен пластикалық тақтайдан кесу үшін, қайшы мен пышақ 4 және 5 -суретте көрсетілген қысқыш сияқты тиімді және қауіпсіз болмауы мүмкін.

Бұл жерде бәрі пластмассадан жасалған, саусақтардың материалдары резеңкеден басқа, 6 суретті қараңыз. Біз алдын ала дайындалған кесулерге сәйкес кесе аламыз. Резеңке материалдың жұмсақ табиғаты страндебестің жақсы ұстау өнімділігін қамтамасыз етеді. Бұл әсіресе беткейге көтерілгенде дұрыс. Кейінгі тақырыптарда біз оның әр түрлі көлбеу бұрышпен, резеңке саусақпен және онсыз көтерілу қабілетін тексере аламыз. Егер сырғанау болмаса, оны статикалық үйкеліс деп атайды. Тұтқаны жоғалтқаннан кейін ол кинетикалық үйкеліске айналады. Үйкеліс коэффициенті қолданылатын материалдарға байланысты, сондықтан бізде резеңке саусақтар бар. Экспериментті қалай құрастыруға болады, қолыңызды көтеріп, ашық сөйлеуге болады.

Соңғы суретте Strandbeest үлгісінің «ECU», «Power train» және шассиі бар.

2 -қадам: Механикалық жинау кезінде назар аударуға тұрарлық нүктелер

Механикалық жинау кезінде назар аударуға тұрарлық нүктелер
Механикалық жинау кезінде назар аударуға тұрарлық нүктелер
Механикалық жинау кезінде назар аударуға тұрарлық нүктелер
Механикалық жинау кезінде назар аударуға тұрарлық нүктелер
Механикалық жинау кезінде назар аударуға тұрарлық нүктелер
Механикалық жинау кезінде назар аударуға тұрарлық нүктелер

Mini-Strandbeest-те өте жақсы пайдаланушы нұсқаулығы бар. Нұсқаулықты орындау және құрастыруды аяқтау оңай жұмыс болуы керек. Мен бұл мазмұнды өткізіп жіберіп, назар аударуға тұрарлық бірнеше қызықты сәттерді бөліп көрсетемін.

1-суретте резеңке саусақтарды ұстайтын слоттың бір жағы 90 градус бұрышта, ал екінші жағында 45 градус көлбеу болады, ол ресми түрде шұңқыр деп аталады. Мұндай көлбеу резеңке саусақты пластикалық табанға бекітуге бағыттайды. Саусақтарды бүйірмен орнатыңыз, 2 суретті қараңыз, содан кейін екінші жағын көріңіз. Айырмашылық өте байқалады. 3 -суреттің оң жағы - біздің Stranbeest -тегі иінді. Бұл қозғалтқыштағы, автомобиль қозғалтқышындағы, мотоциклдегі иіндіге өте ұқсас, барлығы бірдей құрылымға ие. Strandbeest -те, иінді бұрылған кезде, ол аяқтарды қозғалтады. Қозғалтқыш үшін - бұл иінді бұруға поршеннің қозғалысы. Шеңбердегі 120 градусқа бөліну сонымен қатар үш фазалы қозғалтқышқа немесе генераторға әкеледі, электр қуаты 4-суретте көрсетілгендей, 120 градус. Бізде сол және оң жақ корпустың механикалық бөлшектері жинақталғаннан кейін біз енді Strandbeest -ке қосатын бөлшектермен жұмыс жасай бастаймыз, 5 суретті қараңыз. 6-сурет-қозғалтқышты 3-D баспа шассиіне бекіту үшін 3-D баспа қозғалтқыш қысқышын қолданатын қадам. Бұл қадамда шассидің бүйір беті қозғалтқыштың бетімен бірдей болатындай етіп қозғалтқыштың күйі реттелмес бұрын бұрандалардың ешқайсысы тартылмауы керек. Тегістеуге қанағаттанғаннан кейін, біз барлық бұрандаларды қатайта аламыз. 7 -суретке көшіңіз, біз қозғалтқыштың шығысын иіндіге қосатын фланецті муфтаны орнату бойынша жұмыс жасаймыз. Қозғалтқыш жағын иінді жағындағы қосылуға қарағанда орнату қиын, 8 суретті қараңыз. Сондықтан біз алдымен қозғалтқыштың бүйірлік фланецін қосамыз. Екі қозғалтқышқа арналған фланецті муфтаны орнатқаннан кейін, 9 -суретте көрсетілгендей, біз шасси мен солға/оңға жүру құрылымын қосу үшін диаметрі 2 мм көміртекті өзектердің екі бөлігін қолданамыз. Бұл 10 -суретте болып жатыр. Жалпы алғанда, біз осы нысандарды қосу үшін көміртекті өзектердің 3 дана пайдаланамыз. Бірақ бұл қадамда біз олардың тек екеуін ғана қосамыз, себебі бізге иінді бұрап, фланец пен иінді арасындағы байланысты бекіту керек. Егер 3 дана көміртекті шыбық орнында болса, салыстырмалы орналасуды реттеу және оларды қосу қиын болады. Ақырында, бізде соңғы жиналған механикалық жүйе бар, 11 -суретте. Келесі қадам, электроникамен жұмыс жасайық.

3 -қадам: электр қосылымы

Электр қосылымы
Электр қосылымы
Электр қосылымы
Электр қосылымы
Электр қосылымы
Электр қосылымы

Барлық электронды жүйелер қуат көзіне мұқтаж. Біз 1 ұялы батареяны ыңғайлы жерге қоюға болады, мысалы, 1-суреттегі схеманың астына. Электрмен жабдықтаудың полярлығы соншалықты маңызды, ол талқыланатын арнайы фигураға лайық. 2 -суретте аккумулятор байланысы көрсетілген. Контроллер тақтасында полярлық «+» және «GND» белгілерімен белгіленеді, 3 суретті қараңыз. Батареяда шырын таусылғанда, батареяны қайта зарядтау үшін USB кабелі қолданылады, 4 суретті қараңыз. Батарея қайтадан толған кезде «қайта зарядталуда» деген жарық диоды автоматты түрде өшеді. Соңғы қадам - мотор розеткаларын контроллер тақтасындағы қозғалтқыш қосқыштарына қосу. 3 суретте 16 санымен белгіленген 3 қозғалтқыш коннекторы бар. 5 -суретте сол жақ қозғалтқыш PWM12 белгісімен белгіленген ең сол жақ қосқышқа, ал оң жақ қозғалтқыш ортаңғы қосқышқа қосылған. Қазіргі уақытта резервуарды (дифференциалды жүргізуші) солға бұру PWM12 қозғалтқыш портына қосылған қозғалтқыштың кіріс қуатын төмендету ретінде қатаң кодталған. Сондықтан PWM12 портына қосылған қозғалтқыш сол аяқпен қозғалуы керек. Мен кейінірек барлық араластыру функциясын пайдаланушы конфигурациясына айналдырамын. Қозғалтқыш коннекторының таңдауын ауыстыру немесе қозғалтқыш коннекторының бағытын өзгерту арқылы біз мәселені шеше аламыз, мысалы, Strandbeest алға жылжу, бұрыс бағытты бұру, артқа қарай жылжу, егер қозғалыс сымы бұрылса, тұрақты ток қозғалтқышы айналу бағытын өзгертеді. басқару қуатына кері тәртіпте қосылған.

4 -қадам: Қолданбаның параметрлері мен жұмысы

Қолданбаның параметрлері мен жұмысы
Қолданбаның параметрлері мен жұмысы
Қолданбаның параметрлері мен жұмысы
Қолданбаның параметрлері мен жұмысы
Қолданбаның параметрлері мен жұмысы
Қолданбаның параметрлері мен жұмысы
Қолданбаның параметрлері мен жұмысы
Қолданбаның параметрлері мен жұмысы

Біз алдымен Google Play дүкенінен андроид қосымшасын жүктейміз, 1 суретті қараңыз. Бұл бағдарламада басқа да көптеген функциялар бар, оларды біз бұл нұсқаулықта көрсете алмаймыз, біз тек Strandbeest үшін тікелей байланысты тақырыптарға тоқталамыз.

Аппараттық bluetooth контроллерін қосыңыз, ол ашылатын құрылғылар тізімінде пайда болады. Ұзақ басу бізді эфирден жүктеу мүмкіндігіне әкеледі, кейінірек «нұсқаулық» береді. Басуды және басқаруды бастамас бұрын, алдымен жоғарғы оң жақ бұрыштағы «Параметрлер» түймесін басу арқылы кейбір конфигурацияларды жасайық. 2 -суретте … белгішесінің астында жасырылған. 3 суретте бірнеше баптау санаттары көрсетілген. Қолданбада конфигурацияланған бұл параметрлер үш жолмен іске қосылады: 1) кейбір параметрлер Қолданбаның жұмысына ғана әсер етеді, мысалы, сіздің руль мен дроссель пәрменінен әрбір қозғалтқыштың қуатын басқару командасын алу үшін арифметика. Олар қосымшада тұрады. Кейбір нұсқаулықтарда біз оларды Python/Java бағдарламаларымен қалай алмастыратынымызды көрсетеміз. 2) ауада басқару протоколының бір бөлігі ретінде аппараттық құралға кейбір параметрлер жіберіледі, мысалы, тікелей басқару арасындағы ауысу (серво бұйрық берілген бұрышты дәл бұрады) және сымды басқару арқылы ұшу (автономды контроллер функциясының модулі сервомен жұмыс істейді) арна). Сондықтан аппараттық құрал конфигурацияланбай қосылған сайын осы параметрлерге бағынады. Мысал ретінде құрылғының bluetooth тарату атауы болады. Мұндай параметрлер күшіне енуі үшін қуат циклы қажет. Бірінші санат - 4 суреттегі «Жалпы параметрлер». 5 суреттегі «Қолданбаны басқару функциясы» бұл қолданбаның қандай рөл атқаратынын анықтайды, тікелей Bluetooth байланысы бар аппараттық құралдың контроллері; телепрезентацияны бақылау үшін интранет/интернет арқылы өтетін көпір; және т.б. Содан кейін, 6 -суреттегі «HW түрі» бетінде сіз дифференциалды көлік құралымен жұмыс жасайтыныңыз туралы айтады, сондықтан «резервуар» режимін таңдау қажет. Бізде барлығы 6 PWM шығысы бар. Strandbeest үшін бізге 7 -суретке сәйкес 1 -ден 4 -ке дейінгі арнаны конфигурациялау қажет. Әрбір PWM каналы келесі режимдердің бірінде жұмыс істейді: 1) қалыпты серво: 1 -ден 2 мс PWM сигналымен басқарылатын RC серво 2) серво кері: контроллер өзінің шығуы үшін пайдаланушы басқару элементін кері қайтарады 3) тұрақты ток қозғалтқышының жұмыс циклы: тұрақты ток қозғалтқыш немесе кейбір электрлік электр құрылғысы, жұмыс циклі режимінде жұмыс істей алады, 0% өшеді, 100% әрқашан қосылады. 4) Тұрақты ток қозғалтқышының жұмыс циклі кері: қайтадан контроллер шығыс үшін пайдаланушы бақылауын кері қайтарады, өйткені біз тұрақты ток қозғалтқышты қолданамыз және қозғалтқыштың айналу бағытын аппараттық сымның тәртібімен қадағалаймыз, біз 1 -арна үшін «тұрақты ток қозғалтқышының жұмыс циклын» таңдаймыз. 4, 8 суретті қараңыз. Біз екі бағытты басқаруды қосу үшін PWM 2 арнасын 1 H-көпірге біріктіруіміз керек. Бұл қадам 9 -суретте көрсетілген. «2 PWM арнасынан 1 H-көпіріне» режимінде 1, 3 және 5 арналар байланысқан екі арнаны басқару үшін қолданылады. Ол дроссельді басқаруды, джойстикті жоғары-төмен басқаруды әдепкі 2-каналдан 3-арнаға ауыстыру қажеттілігін көрсетеді. Оған 10-суретте қол жеткізілген. 11 -суретте көрсетілгендей, әр арна бір ерікті кіріс көзін алуға конфигурацияланған.

Бинго, енді біз қажетті конфигурацияны аяқтадық және біз Bluetooth құрылғысын көрсететін бетке оралып, оны қосамыз. 12 -суретте джойстикті ойнап көріңіз, сонда біз бұл Strandbeest -пен көңілді бола аламыз. Еңіспен көтерілуге тырысыңыз, материалдың түрлері арасындағы үйкеліс анализін есіңізде сақтаңыз және «RPY (deg)» жолында көрсетілген ұшу диспетчерінің болжамды қатынасын оқыңыз, бұл қатардағы төрт жазба орама, қадам, бұрылу бұрышы борттағы гироскоп пен акселерометр арқылы бағаланады; соңғы жазба-қисайған компас шығысы.

Болашақ жұмыс: келесі нұсқаулықтарда біз оның бағдарламалау интерфейсін біртіндеп қамтитын боламыз, Strandbeest -пен өзара әрекеттесу үшін сүйікті Java немесе Python тілін таңдаймыз және ұялы телефон экранынан strandbeest күйін оқымаймыз. Біз сондай -ақ RaspberryPi типті линукс компьютерінде бағдарламалауды жетілдіре аламыз, соңғы суретті қараңыз. 3D басып шығарудың механикалық бөлшектері үшін https://xiapeiqing.github.io/doc/kits/strandbeest/roboticKits_strandbeest/ және SDK үшін https://github.com/xiapeiqing/m2robots.git және егер сіз бірден бастағыңыз келсе, кодты тексеріңіз.. Маған Java немесе Python болмаса, қалаған бағдарламалау тілі қандай екенін айтыңыз, мен SDK жаңа нұсқасын қоса аламын.

Хакерлікпен көңілді болыңыз және келесі нұсқауларды қадағалаңыз.

Ұсынылған: