Satura rādītājs:

Walking Strandbeest, Java/Python un kontrolēta lietotne: 4 soļi (ar attēliem)
Walking Strandbeest, Java/Python un kontrolēta lietotne: 4 soļi (ar attēliem)

Video: Walking Strandbeest, Java/Python un kontrolēta lietotne: 4 soļi (ar attēliem)

Video: Walking Strandbeest, Java/Python un kontrolēta lietotne: 4 soļi (ar attēliem)
Video: Strandbeest Initial Steps 2024, Jūlijs
Anonim

Seko vairāk autoram:

Vienkāršas harmoniskas kustības eksperimentāls pētījums
Vienkāršas harmoniskas kustības eksperimentāls pētījums
Vienkāršas harmoniskas kustības eksperimentāls pētījums
Vienkāršas harmoniskas kustības eksperimentāls pētījums

Šis Strandbeest komplekts ir DIY darbs, kura pamatā ir Teo Jansena izgudrotais Strandbeest. Pārsteigts par ģeniālo mehānisko dizainu, es vēlos to aprīkot ar pilnu manevrēšanas spēju, un pēc tam - ar datoru. Šajā pamācībā mēs strādājam pie pirmās daļas - manevrēšanas spējas. Mēs arī aptveram kredītkartes izmēra datora mehānisko struktūru, lai mēs varētu spēlēt ar datora redzi un AI apstrādi. Lai vienkāršotu celtniecības darbus, es neizmantoju arduino vai līdzīgu programmējamu datoru, tā vietā es izveidoju Bluetooth aparatūras kontrolieri. Šo kontrolieri, kas darbojas kā terminālis, kas mijiedarbojas ar robotu aparatūru, kontrolē jaudīgāka sistēma, piemēram, Android tālruņa lietotne vai RaspberryPi uc Vadība var būt vai nu mobilā tālruņa lietotāja saskarnes vadība, vai arī programmējama vadība python vai Java valodā. Viens SDK katrai programmēšanas valodai ir atvērtā koda, kas pieejams vietnē

Tā kā mini-Strandbeest lietotāja rokasgrāmatā ir diezgan skaidri izskaidroti būvniecības soļi, tad šajā pamācībā mēs koncentrēsimies uz informāciju, kas parasti nav ietverta lietotāja rokasgrāmatā, un elektriskām/elektroniskām detaļām.

Ja mums nepieciešama intuitīvāka ideja par šī komplekta mehānisko montāžu, ir pieejami diezgan daudz labu videoklipu par montāžas tēmu, piemēram,

Piegādes

Lai izveidotu šī Strandbeest mehānisko daļu un izveidotu visus elektriskos savienojumus, paiet mazāk nekā 1 stunda, ja netiek ņemts vērā 3D drukāšanas gaidīšanas laiks. Tam nepieciešamas šādas daļas:

(1) 1x standarta Strandbeest komplekts (https://webshop.strandbeest.com/ordis-parvus)

(2) 2x līdzstrāvas motors ar pārnesumkārbu (https://www.amazon.com/Greartisan-50RPM-Torque-Re…)

(3) 1x Bluetooth kontrolieris (https://ebay.us/Ex61kC?cmpnId=5338273189)

(4) 1x LiPo akumulators (3,7 V, jūsu jauda pēc mAh)

(5) 12x M2x5.6mm koka skrūves

(6) 2 mm diametra oglekļa vai bambusa stienis

3D drukājiet šādas daļas:

(1) 1x robotikas galvenais korpuss

(Lejupielādēt tikai 3D drukas dizaina failu ar Bluetooth kontrolieri)

(3D drukas dizaina fails ar papildu OrangePi Nano lejupielādi)

(2) 2x piedziņas vārpstas atloks (3D drukas dizaina faila lejupielāde)

(3) 2x barošanas sistēmas aprīkojums (3D drukas dizaina faila lejupielāde)

Citi:

Android mobilais tālrunis. Dodieties uz Google Play veikalu, lūdzu, meklējiet M2ROBOTS un instalējiet vadības lietotni.

Ja ir grūti piekļūt Google Play veikalam, apmeklējiet manu personīgo mājas lapu, lai uzzinātu alternatīvu lietotņu lejupielādes metodi

1. darbība: detaļu organizēšana

Daļu organizācija
Daļu organizācija
Daļu organizācija
Daļu organizācija
Daļu organizācija
Daļu organizācija
Daļu organizācija
Daļu organizācija

Šajā solī mēs organizēsim visas montējamās detaļas. 1. att. parāda visas plastmasas detaļas, kuras mēs izmantojam, lai izveidotu Strandbeest modeli. Tie ir izgatavoti ar iesmidzināšanu, kas ir ļoti efektīva salīdzinājumā ar citām apstrādes ražošanas metodēm, piemēram, 3D drukāšanu vai frēzēšanu. Tāpēc mēs vēlamies maksimāli izmantot masveidā ražotā produkta priekšrocības un pielāgot tikai mazāko detaļu daudzumu.

Kā parādīts 2. attēlā, katram plastmasas plātnes gabalam ir marķēts alfabēts, atsevišķai daļai nav marķējuma. Kad tie ir atdalīti, marķējuma vairs nav. Lai atrisinātu šo problēmu, mēs varam ievietot viena veida detaļas dažādās kastēs vai vienkārši iezīmēt vairākus laukumus papīra gabalā un ievietot viena veida detaļas vienā zonā, skat.

Lai nogrieztu plastmasas daļu no lielākās montāžas plastmasas plātnes, šķēres un nazis var nebūt tik efektīvi un tik droši kā knaibles, kas parādītas 4. un 5. attēlā.

Viss šeit ir izgatavots no plastmasas, izņemot pirkstu materiālu, kas ir gumija, sk. 6. att. Mēs varam griezt atbilstoši iepriekš sagatavotiem griezumiem. Gumijas materiāla mīkstais raksturs nodrošina labāku pavedienu satveršanas veiktspēju. Tas jo īpaši attiecas uz kāpšanu nogāzē. Vēlākajās tēmās mēs varam pārbaudīt tā spēju kāpt dažādos slīpuma leņķos, ar un bez gumijas pirkstiem. Ja nav slīdēšanas, to sauc par statisku berzi. Kad tas zaudē saķeri, tas kļūst par kinētisku berzi. Berzes koeficients ir atkarīgs no izmantotajiem materiāliem, tāpēc mums ir gumijas pirksti. Kā izveidot eksperimentu, pacelt roku un runāt.

Pēdējā attēlā ir šī modeļa Strandbeest "ECU", "Spēka piedziņa" un šasija.

2. solis: punkti, kuriem jāpievērš uzmanība mehāniskās montāžas laikā

Punkti, kuriem jāpievērš uzmanība mehāniskās montāžas laikā
Punkti, kuriem jāpievērš uzmanība mehāniskās montāžas laikā
Punkti, kuriem jāpievērš uzmanība mehāniskās montāžas laikā
Punkti, kuriem jāpievērš uzmanība mehāniskās montāžas laikā
Punkti, kuriem jāpievērš uzmanība mehāniskās montāžas laikā
Punkti, kuriem jāpievērš uzmanība mehāniskās montāžas laikā

Mini-Strandbeest ir diezgan laba lietotāja rokasgrāmata. Izpildīt rokasgrāmatu un pabeigt montāžu vajadzētu būt vienkāršam darbam. Es izlaidīšu šo saturu un izcelšu dažus interesantus mūsu uzmanības vērtus punktus.

1. attēlā viena spraugas puse, kas satur gumijas pirkstus, ir 90 grādu leņķis, bet otrā pusē ir 45 grādu slīpums, ko oficiāli sauc par nošķelšanos. Šāds slīpums virza gumijas purngalu, lai tas ietilptu plastmasas kājā. Mēģiniet uzstādīt pirkstus no sāniem ar nošķelšanu, skatiet 2. attēlu, pēc tam izmēģiniet otru pusi. Atšķirība ir ļoti pamanāma. Attēla 3. labajā pusē ir mūsu Stranbeest kloķis. Tas ir ļoti līdzīgs kloķim dzinējā, automašīnas dzinējā, motocikla motorā, visiem ir vienāda struktūra. Strandbeestā, kad kloķis griežas, tas liek kājām kustēties. Dzinējam tā ir virzuļa kustība, kas virza kloķi pagriezties. Šāda 120 grādu atdalīšana aplī noved pie trīsfāzu motora vai ģeneratora, elektriskā jauda ir 120 grādu attālumā, kā parādīts 4. attēlā. Kad visas kreisās un labās puses korpusa mehāniskās detaļas ir samontētas, mēs sākam strādāt pie detaļām, kuras pievienojam Strandbeest, sk. 5. att. 6. attēls ir solis, kurā mēs izmantojam trīsdimensiju drukātu motora skavu, lai piestiprinātu motoru pie trīsdimensiju drukātās šasijas. Šajā solī triks ir tāds, ka neviena no skrūvēm nav jāpievelk, pirms motora stāvoklis ir noregulēts tā, lai šasijas sānu virsma būtu tāda pati kā motora virsma. Kad esam apmierināti ar izlīdzināšanu, mēs varam pievilkt visas skrūves. Pārejiet uz 7. attēlu, mēs strādājam pie atloku savienojuma uzstādīšanas, savienojot motora izeju ar kloķi. Motora pusi ir grūtāk uzstādīt nekā kloķa puses savienojumu, sk. 8. att. Tāpēc vispirms mēs savienojam motora sānu atloku. Kad abu motoru atloku savienojums ir uzstādīts, kā parādīts 9. attēlā, mēs izmantojam divus 2 mm diametra oglekļa stieņu gabalus, lai savienotu šasiju un kreiso/labo staigāšanas struktūru. Tas notiek FIg.10. Kopumā šo vienību savienošanai mēs izmantojam 3 oglekļa stieņu gabalus. Bet šajā solī mēs savienojam tikai divus no tiem, jo mums ir jāpagriež kloķis un jāaprīko savienojums starp atloku un kloķi. Ja ir bijuši 3 oglekļa stieņu gabali, būs grūtāk noregulēt relatīvo stāvokli un tos savienot. Visbeidzot, mums ir pēdējā samontētā mehāniskā sistēma, kas parādīta 11. attēlā. Nākamais solis - strādāsim ar elektroniku.

3. solis: Elektriskais savienojums

Elektriskais savienojums
Elektriskais savienojums
Elektriskais savienojums
Elektriskais savienojums
Elektriskais savienojums
Elektriskais savienojums

Visām elektroniskajām sistēmām ir nepieciešama barošana. Mēs varam ievietot 1 šūnu akumulatoru kaut kur ērtā vietā, piemēram, zem shēmas plates 1. attēlā. Barošanas avota polaritāte ir tik kritiska, ka tā ir pelnījusi īpašu skaitli, ko apspriest. 2. attēlā ir uzsvērts akumulatora savienojums. Kontroliera panelī polaritāte ir apzīmēta ar "+" un "GND", skat. Kad akumulatoram beidzas sula, akumulatora uzlādēšanai tiek izmantots USB kabelis, skat. Gaismas diode, kas norāda uz "uzlādēšanas process", tiks automātiski izslēgta, kad akumulators atkal būs pilns. Pēdējais solis ir savienot motora kontaktligzdas ar motora savienotājiem vadības panelī. Ir 3 motora savienotāji, kas apzīmēti ar skaitli 16 3. attēlā. 5. attēlā kreisais motors ir savienots ar kreisāko savienotāju, kas apzīmēts ar PWM12, un labais motors ir pievienots vidējam savienotājam. Pašlaik tvertnes (diferenciāli braucoša transportlīdzekļa) pagriešana pa kreisi ir stingri kodēta kā motora ieejas jaudas samazināšana, kas savienota ar PWM12 motora pieslēgvietu. Tāpēc motoram, kas savienots ar PWM12 portu, vajadzētu vadīt kreisās kājas. Vēlāk visu sajaukšanas funkciju pārveidošu par lietotāja konfigurējamu. mainot motora savienotāja izvēli vai mainot motora savienotāja virzienu, mēs varam novērst problēmu, piemēram, Strandbeest pārvietojas atpakaļ, kad tiek pavēlēts virzīties uz priekšu, pagriežot nepareizu virzienu, atcerieties, ka līdzstrāvas motors maina griešanās virzienu, ja ieejas vads ir savienots ar vadības jaudu apgrieztā secībā.

4. darbība. Lietotnes iestatījumi un darbība

Lietotnes iestatījumi un darbība
Lietotnes iestatījumi un darbība
Lietotnes iestatījumi un darbība
Lietotnes iestatījumi un darbība
Lietotnes iestatījumi un darbība
Lietotnes iestatījumi un darbība
Lietotnes iestatījumi un darbība
Lietotnes iestatījumi un darbība

Vispirms lejupielādējam Android lietotni no Google Play veikala, skat. 1. att. Šai lietotnei ir daudz citu funkciju, kuras mēs nevaram ietvert šajā pamācībā, mēs koncentrēsimies tikai uz Strandbeest tieši saistītajām tēmām.

Ieslēdziet aparatūras Bluetooth kontrolieri, tas tiks parādīts atklāšanas ierīču sarakstā. Ilgi noklikšķinot, mēs nokļūsim bezvadu lejupielādes funkcijā, lai to vēlāk varētu "norādīt". Pirms mēs noklikšķinām un sākam vadību, vispirms veicam dažas konfigurācijas, noklikšķinot uz augšējā labā stūra "Iestatījumi". 2. attēlā tas ir paslēpts zem… ikonas. 3. attēlā parādītas vairākas iestatījumu kategorijas. Šie iestatījumi, kas konfigurēti lietotnē, tiek īstenoti trīs veidos: 1) daži iestatījumi ietekmē tikai lietotnes darbību, piemēram, aritmētika, lai katra motora jaudas vadības komandu iegūtu no stūres un droseļvārsta komandas. Viņi dzīvo lietotnē. Dažos vēlākos norādījumos mēs parādīsim, kā mēs tos aizstājam ar mūsu Python/Java programmām. 2) daži iestatījumi tiek nosūtīti uz aparatūru kā daļa no gaisā esošā vadības protokola, piemēram, pārslēgšanās starp tiešo vadību (servo pagriežas tieši tādā leņķī, kā norādīts) un lidojumu ar vadu vadību (iebūvētais autonomā kontroliera funkciju modulis darbina servo) kanāls atbilstoši lietotāja komandai un pašreizējai attieksmei) 3) daži iestatījumi tiks nosūtīti uz aparatūras kontroliera nemainīgo atmiņu. Tādējādi aparatūra ievēros šos iestatījumus katru reizi, kad tā tiks ieslēgta, bez konfigurācijas. Piemērs būs ierīces Bluetooth apraides nosaukums. Šāda veida iestatījumiem ir nepieciešams barošanas cikls, lai tie stātos spēkā. Pirmā kategorija, kurā mēs ienirstam, ir "Vispārīgie iestatījumi" 4. attēlā. “Lietotņu vadības funkcija” 5. attēlā nosaka, kāda loma ir šai lietotnei, kas ir aparatūras ierīces kontrolieris, izmantojot tiešu Bluetooth savienojumu; tilts pār iekštīklu/internetu, lai kontrolētu klātbūtni; un tml. Tālāk 6. attēlā redzamā lapa “HW tips” norāda lietotnei, ka strādājat ar diferenciāli braucošu transportlīdzekli, tāpēc ir jāizvēlas “tvertnes” režīms. Kopumā mums ir pieejamas 6 PWM izejas. Strandbeest gadījumā mums ir jākonfigurē kanāls no 1 līdz 4 saskaņā ar 7. attēlu. Katrs PWM kanāls tiek darbināts vienā no šādiem režīmiem: 1) servo normāls: RC servo, ko kontrolē ar 1 līdz 2 ms PWM signālu 2) servo reverss: regulators mainīs lietotāja vadību pret savu izeju 3) līdzstrāvas motora darba cikls: a DC motoru vai kādu citu elektroierīci, var darbināt darba cikla režīmā, 0% ir izslēgts, 100% vienmēr ir ieslēgts. 4) Līdzstrāvas motora darba cikla reverss: atkal kontrolieris apgriezīs lietotāja vadību attiecībā uz savu izeju. Tā kā mēs izmantojam līdzstrāvas motoru un rūpējamies par motora griešanās virzienu pēc aparatūras vadu pasūtījuma, 1. kanālam izvēlēsimies “līdzstrāvas motora darba cikls” 4, sk. 8. att. Mums ir arī jāapvieno 2 PWM kanāli ar 1 H tiltu, lai nodrošinātu divvirzienu vadību. Šis solis ir parādīts 9. attēlā. Režīmā “2 PWM kanāli uz 1 H tiltu” 1., 3. un 5. kanāls tiek izmantoti, lai kontrolētu abus saistītos kanālus. Tas rada nepieciešamību pārveidot droseļvārsta vadību, kursorsviras augšupvērsto vadību no noklusējuma 2. kanāla uz 3. kanālu. Tas ir panākts 10. attēla iestatījumos. Kā parādīts 11. attēlā, katrs kanāls ir konfigurēts tā, lai tas uzņemtu vienu patvaļīgu ievades avotu.

Bingo, tagad esam pabeiguši minimālo nepieciešamo konfigurāciju, un mēs varam atgriezties lapā, kurā redzama redzamā Bluetooth ierīce, un to savienot. 12. attēlā mēģiniet spēlēt kursorsviru, un mēs varam izklaidēties ar šo Strandbeest. Mēģiniet uzkāpt pa kādu slīpumu, atcerieties berzes analīzi starp materiālu veidiem un izlasiet lidojuma kontroliera aprēķināto attieksmi, kas parādīta rindā ar apzīmējumu “RPY (grādi)”, četri ieraksti šajā rindā ir slīpums, slīpums, pagriešanās leņķis novērtēts ar žiroskopu un akselerometru uz kuģa; pēdējais ieraksts ir slīpuma kompensēta kompasa izeja.

Turpmākais darbs: turpmākajos norādījumos mēs pakāpeniski aptversim tā programmēšanas saskarni, izvēlēsimies jūsu iecienītāko valodu Java vai Python, lai mijiedarbotos ar Strandbeest, un vairs neizlasīsim strandbeest statusu no mobilā tālruņa ekrāna. Mēs arī sāksim programmēt RaspberryPi tipa linux datorā, lai iegūtu plašākas programmēšanas tēmas, skatiet pēdējo attēlu. Pārbaudiet https://xiapeiqing.github.io/doc/kits/strandbeest/roboticKits_strandbeest/ 3D drukas mehāniskās daļas un https://github.com/xiapeiqing/m2robots.git SDK un parauga kodu, ja vēlaties sākt tūlīt. Ļaujiet man zināt, kāda ir jūsu vēlamā programmēšanas valoda, ja ne Java vai Python, es varu pievienot jaunu SDK versiju.

Izklaidējieties ar uzlaušanu un sekojiet tālāk sniegtajiem norādījumiem.

Ieteicams: