Mündəricat:

Gəzinti Strandbeest, Java/Python və Tətbiqə Nəzarət: 4 Addım (Şəkillərlə)
Gəzinti Strandbeest, Java/Python və Tətbiqə Nəzarət: 4 Addım (Şəkillərlə)

Video: Gəzinti Strandbeest, Java/Python və Tətbiqə Nəzarət: 4 Addım (Şəkillərlə)

Video: Gəzinti Strandbeest, Java/Python və Tətbiqə Nəzarət: 4 Addım (Şəkillərlə)
Video: Walking Mechanism 2024, Iyul
Anonim

Müəllif tərəfindən daha çox izləyin:

Sadə Harmonik Hərəkətin Eksperimental Tədqiqatı
Sadə Harmonik Hərəkətin Eksperimental Tədqiqatı
Sadə Harmonik Hərəkətin Eksperimental Tədqiqatı
Sadə Harmonik Hərəkətin Eksperimental Tədqiqatı

Bu Strandbeest kiti, Theo Jansen tərəfindən icad edilən Strandbeest əsasında hazırlanmış bir DIY əsəridir. Dahi mexaniki dizayndan heyrətlənərək onu tam manevr qabiliyyəti ilə təchiz etmək istəyirəm, sonra isə kompüter zəkası. Bu təlimatlandırmada, birinci hissədə manevr qabiliyyəti üzərində işləyirik. Kredit kartı ölçülü kompüterin mexaniki quruluşunu da əhatə edirik ki, kompüter görmə və AI emalı ilə oynaya bilək. Tikinti işini asanlaşdırmaq üçün arduino və ya oxşar proqramlaşdırılmış kompüterdən istifadə etmədim, bunun əvəzinə bluetooth hardware nəzarətçi qururam. Robotik aparatla qarşılıqlı əlaqə quran bir terminal olaraq işləyən bu nəzarətçi, Android telefon tətbiqi və ya RaspberryPi kimi daha güclü bir sistem tərəfindən idarə olunur. Nəzarət ya cib telefonu interfeysi idarəsi, ya da python və ya Java dilində proqramlaşdırıla bilən idarəetmə ola bilər. Hər bir proqramlaşdırma dili üçün bir SDK, https://github.com/xiapeiqing/m2robots.git saytında verilmiş açıq mənbəyidir.

Mini Strandbeest istifadəçi təlimatı bina addımlarını izah edərkən kifayət qədər aydın olduğu üçün bu təlimatda istifadəçi təlimatında adətən əhatə olunmayan məlumatlara və elektrik/elektron hissələrə diqqət yetirəcəyik.

Bu dəstin mexaniki yığılması ilə bağlı daha asan bir fikrə ehtiyacımız varsa, montaj mövzusunda https://www.youtube.com/embed/6d714xmz1ZY kimi kifayət qədər yaxşı videolar mövcuddur.

Təchizat

Mexaniki hissəni qurmaq və bu Strandbeest -in bütün elektrik bağlantısını qurmaq üçün, 3D çap üçün gözləmə müddəti sayılmasa, tamamlanması 1 saatdan az çəkməlidir. Aşağıdakı hissələri tələb edir:

(1) 1x standart Strandbeest dəsti (https://webshop.strandbeest.com/ordis-parvus)

(2) Sürət qutusu olan 2x DC motor (https://www.amazon.com/Greartisan-50RPM-Torque-Re…)

(3) 1x Bluetooth nəzarətçisi (https://ebay.us/Ex61kC?cmpnId=5338273189)

(4) 1x LiPo Batareya (3.7V, mAh həcmində seçiminiz)

(5) 12x M2x5.6mm taxta vintlər

(6) 2 mm diametrli Karbon və ya bambuk çubuq

Aşağıdakı hissələri 3D çap edin:

(1) 1x robot texnikasının əsas gövdəsi

(Bluetooth nəzarətçisi olan 3D çap dizayn faylını yalnız yükləyin)

(Əlavə OrangePi Nano yükləməsi ilə 3D çap dizayn faylı)

(2) 2x Sürücü şaft flanşı (3D çap dizayn faylının yüklənməsi)

(3) 2x güc sistemi qurğusu (3D çap dizayn faylının yüklənməsi)

Digərləri:

Android mobil telefon. Google oyun mağazasına gedin, zəhmət olmasa M2ROBOTS axtarın və idarəetmə tətbiqini quraşdırın.

Google play mağazasına daxil olmaq çətin olsa, alternativ tətbiq yükləmə üsulu üçün şəxsi ana səhifəmə daxil olun

Addım 1: Parça Təşkilatı

Parça Təşkilatı
Parça Təşkilatı
Parça Təşkilatı
Parça Təşkilatı
Parça Təşkilatı
Parça Təşkilatı
Parça Təşkilatı
Parça Təşkilatı

Bu addımda, yığılacaq bütün hissələri təşkil edəcəyik. Şəkil 1. Strandbeest modelini qurmaq üçün istifadə etdiyimiz qutudan çıxan bütün plastik hissələri göstərir. 3D çap və ya freze kimi digər emal istehsal üsulları ilə müqayisədə çox yüksək səmərəli enjeksiyon qəlibləmə üsulu ilə hazırlanır. Məhz buna görə də kütləvi istehsal olunan məhsullardan maksimum yararlanmaq və yalnız ən az hissəni fərdiləşdirmək istəyirik.

Şəkil 2 -də göstərildiyi kimi, hər bir plastik lövhənin etiketli əlifbası var, ayrı hissəsində etiket yoxdur. Ayrıldıqdan sonra artıq etiketləmə yoxdur. Bu problemi həll etmək üçün eyni tipli hissələri fərqli qutulara qoya bilərik və ya sadəcə bir kağız parçasında bir çox sahəni qeyd edib bir növ hissələri bir yerə qoya bilərik, bax Şəkil 3.

Plastik hissəni daha böyük montaj plastik lövhədən kəsmək üçün, qayçı və bıçaq Şəkil 4 və 5 -də göstərilən pens kimi etibarlı və etibarlı ola bilməz.

Buradakı hər şey plastikdən hazırlanmışdır, barmaqların materialı kauçukdur, bax Şəkil 6. Əvvəlcədən hazırlanmış kəsiklərə görə kəsə bilərik. Kauçuk materialın yumşaq təbiəti strandbeestin daha yaxşı tutma performansını təmin edir. Bir yamacda qalxanda xüsusilə doğrudur. Sonrakı mövzularda, rezin barmaqları ilə və onsuz müxtəlif yamac bucaqlarında dırmaşma qabiliyyətini sınaya bilərik. Kayma olmadıqda buna statik sürtünmə deyilir. Tutuşunu itirdikdən sonra kinetik sürtünmə olur. Sürtünmə əmsalı istifadə olunan materiallardan asılıdır, buna görə də rezin barmaqlarımız var. Bir təcrübəni necə tərtib etmək, əlinizi qaldırmaq və danışmaq.

Son rəqəmdə "ECU", "Power qatar" və bu model Strandbeestin şassisi var.

Addım 2: Mexaniki Quraşdırma zamanı Diqqət Edilməli Xallar

Mexaniki Quraşdırma zamanı Diqqət Edilməli Xallar
Mexaniki Quraşdırma zamanı Diqqət Edilməli Xallar
Mexaniki Quraşdırma zamanı Diqqət Edilməli Xallar
Mexaniki Quraşdırma zamanı Diqqət Edilməli Xallar
Mexaniki Quraşdırma zamanı Diqqət Edilməli Xallar
Mexaniki Quraşdırma zamanı Diqqət Edilməli Xallar

Mini-Strandbeest olduqca yaxşı bir istifadəçi təlimatına malikdir. Təlimatı izləmək və montajı tamamlamaq asan bir iş olmalıdır. Bu məzmunu atlayacağam və diqqətimizə layiq olan bir neçə maraqlı məqamı vurğulayacağam.

Şəkil 1-də, rezin barmaqları tutan yuvanın bir tərəfi 90 dərəcə küncdür, digər tərəfində isə rəsmi olaraq pax adlanan 45 dərəcə bir yamac vardır. Belə yamac, rezin barmağı plastik ayağa sığdırır. Ayaq barmaqlarını yivlə yandan quraşdırmağa çalışın, Şəkil 2 -yə baxın, sonra digər tərəfi sınayın. Fərq çox nəzərə çarpır. Şəkil 3 -ün sağ tərəfi Stranbeestimizdəki krankdır. Bir mühərrik, avtomobil mühərriki, motosiklet mühərrikindəki kranka çox bənzəyir, hamısı eyni quruluşa malikdir. Strandbeest -də, krank dönəndə ayaqları hərəkətə gətirir. Bir mühərrik üçün, krankın dönməsinə səbəb olan piston hərəkətidir. Bir dairədə belə 120 dərəcə ayrılma eyni zamanda üç fazalı bir mühərrikə və ya generatora gətirib çıxarır, elektrik gücü Şəkil 4-də göstərildiyi kimi 120 dərəcə ayrıdır. Sol və sağ yan gövdələr üçün mexaniki hissələr yığıldıqdan sonra, Strandbeest -ə əlavə etdiyimiz hissələr üzərində işləməyə başlayırıq, bax Şəkil 5. Şəkil 6, motoru 3-D çaplı şassiyə bağlamaq üçün 3-D çaplı motor sıxacından istifadə etdiyimiz addımdır. Bu addımda, hiylə, şassinin yan səthinin motorun səthi ilə eyni olması üçün mühərrikin mövqeyi tənzimlənmədən əvvəl heç bir vintin sıxılmamasıdır. Hizalamadan məmnun olduqdan sonra bütün vintləri sıxa bilərik. Şəkil 7 -ə keçin, motor çıxışını kranka bağlayan flanş birləşməsinin quraşdırılması üzərində işləyirik. Motor tərəfinin montajı krank tərəfi bağlantısından daha çətindir, bax Şəkil 8. Buna görə əvvəlcə motorun yan flanşını bağlayırıq. Şəkil 9 -da göstərildiyi kimi hər iki mühərrik üçün flanş kuplajı quraşdırıldıqda, şassi və sol/sağ gediş quruluşunu birləşdirmək üçün 2 mm diametrli iki karbon çubuqdan istifadə edirik. Bu Şəkil 10 -da baş verir. Ümumilikdə bu varlıqları birləşdirmək üçün 3 ədəd karbon çubuqdan istifadə edirik. Ancaq bu addımda bunlardan yalnız ikisini bağlayırıq, çünki krankı döndərmək və flanşla krank arasındakı əlaqəni uyğunlaşdırmaq lazımdır. 3 ədəd karbon çubuq yerində olsaydı, nisbi mövqeyi düzəltmək və birləşdirmək daha çətin olacaq. Nəhayət, Şəkil 11 -də son yığılmış mexaniki sistemimiz var. Növbəti addım, elektronika üzərində işləyək.

Addım 3: Elektrik bağlantısı

Elektrik Bağlantısı
Elektrik Bağlantısı
Elektrik Bağlantısı
Elektrik Bağlantısı
Elektrik Bağlantısı
Elektrik Bağlantısı

Bütün elektron sistemlərin enerji təchizatı lazımdır. 1 hüceyrəli bir batareyanı əlverişli bir yerə, məsələn, Şəkil 1-də elektron lövhənin altına qoya bilərik. Enerji təchizatının polaritesi o qədər kritikdir ki, müzakirə etmək üçün xüsusi bir rəqəmə layiqdir. Şəkil 2, batareya bağlantısını vurğulayır. Nəzarət lövhəsində polarite "+" və "GND" ilə işarələnmişdir, bax Şəkil 3. Batareyanın suyu bitdikdə batareyanı doldurmaq üçün USB kabeli istifadə olunur, bax Şəkil 4. Batareya yenidən dolduqda "doldurulma prosesində" işarəsi olan LED avtomatik olaraq sönəcək. Son addım, mühərrik prizlərini nəzarət lövhəsindəki motor konnektorlarına bağlamaqdır. Şəkil 3 -də 16 nömrəli etiketli 3 motor konnektoru mövcuddur. Şəkil 5 -də, sol motor PWM12 ilə etiketlənmiş ən sol konnektora, sağ motor isə orta konnektora qoşulur. Hal-hazırda, bir tankı (diferensial idarəetmə vasitəsi) sola çevirmək, PWM12 motor portuna qoşulmuş motor giriş gücünün azalması kimi sərt kodlaşdırılmışdır. Buna görə PWM12 portuna qoşulan motor sol ayaqları idarə etməlidir. Daha sonra bütün qarışdırma funksiyasını istifadəçi tərəfindən konfiqurasiya edilə bilən hala çevirəcəyəm. Motor konnektoru seçimini dəyişdirərək və ya motor konnektoru istiqamətini tərsinə çevirərək, Strandbeest kimi irəliləməyi əmr etdikdə geriyə doğru hərəkət etmək, yanlış istiqamətə çevirmək kimi problemi həll edə bilərik, giriş teli olduqda DC motorunun fırlanma istiqamətini dəyişdiyini unutmayın. tərs qaydada idarəetmə gücünə bağlıdır.

Addım 4: Tətbiq Ayarları və Əməliyyatı

Tətbiq Ayarları və Əməliyyatı
Tətbiq Ayarları və Əməliyyatı
Tətbiq Ayarları və Əməliyyatı
Tətbiq Ayarları və Əməliyyatı
Tətbiq Ayarları və Əməliyyatı
Tətbiq Ayarları və Əməliyyatı
Tətbiq Ayarları və Əməliyyatı
Tətbiq Ayarları və Əməliyyatı

Əvvəlcə Google Play Store -dan bir Android tətbiqini yükləyirik, Şəkil 1 -ə baxın. Bu tətbiqin bu təlimatlandıra bilməyəcəyimiz bir çox başqa funksiyası var, yalnız Strandbeest üçün birbaşa əlaqəli mövzulara diqqət yetirəcəyik.

Donanım bluetooth nəzarətçisini yandırın, kəşf cihazları siyahısında görünəcək. Uzun klik bizi daha sonra "təlimatlandırmaq" üçün havadan yükləmə xüsusiyyətinə gətirəcək. Tıklamadan və nəzarətə başlamazdan əvvəl, ilk yuxarı sağ küncdəki "Ayarlar" düyməsini basaraq bəzi konfiqurasiyalar edək. Şəkil 2 -də… işarəsinin altında gizlidir. Şəkil 3 -də birdən çox kateqoriya göstərilir. Tətbiqdə konfiqurasiya edilmiş bu parametrlər üç şəkildə tətbiq olunur: 1) bəzi parametrlər yalnız hər bir motorun güc idarəetmə əmrini sükan və qaz komandanızdan almaq üçün arifmetika kimi Tətbiqin işinə təsir göstərir. Tətbiqdə yaşayırlar. Bəzi sonrakı təlimatlarda onları Python/Java proqramlarımızla necə əvəz edəcəyimizi göstərəcəyik. 2) havadakı idarəetmə protokolunun bir hissəsi olaraq, cihaza bəzi parametrlər göndərilir, məsələn, birbaşa idarəetmə arasında keçid (servo əmr olunan bucağı tam olaraq çevirir) və tel idarəetmə ilə uçmaq (avtonom idarəedici funksiyası modulu servo ilə işləyir) kanal istifadəçi əmrinə və cari münasibətə görə) 3) bəzi parametrlər hardware nəzarətçisindəki Qeyri-Uçucu Yaddaşa göndəriləcək. Beləliklə, hər dəfə konfiqurasiya edilmədən aparat bu parametrlərə riayət edəcəkdir. Bir nümunə, cihazın bluetooth yayım adı ola bilər. Bu cür parametrlərin qüvvəyə minməsi üçün bir güc dövrü lazımdır. Daxil olduğumuz ilk kateqoriya Şəkil 4 -dəki "Ümumi Ayarlar" dır. Şəkil 5 -dəki "Tətbiqə nəzarət funksiyası", bu tətbiqin nə rol oynadığını, birbaşa bluetooth bağlantısı üzərindəki aparat cihazı üçün bir nəzarətçini təyin edir; tele -varlıq nəzarəti üçün intranet/internet üzərindəki körpü; və s. Sonra Şəkil 6 -dakı "HW tipi" səhifəsi, diferensial idarəetmə vasitəsi ilə işlədiyinizi bildirir, buna görə də "tank" rejiminin seçilməsi lazımdır. Ümumilikdə 6 PWM çıxışı var. Strandbeest üçün, Şəkil 7 -yə uyğun olaraq 1 -dən 4 -ə qədər kanal konfiqurasiya etməliyik. Hər bir PWM kanalı aşağıdakı rejimlərdən birində idarə olunur: 1) normal servo: 1-2 ms PWM siqnalı ilə idarə olunan RC servo 2) servo tərs: nəzarətçi çıxış üçün istifadəçi nəzarətini geri çevirəcək 3) DC motor iş dövrü: bir DC motor və ya bəzi elektrikli elektrik cihazları, iş dövrü rejimində işlədilə bilər, 0% söndürülür, 100% həmişə açıqdır. 4) DC motor iş dövrü tərs: yenidən nəzarətçi çıxış üçün istifadəçi nəzarətini geri çevirəcək DC motoru istifadə etdiyimizdən və mühərrikin dönmə istiqaməti aparat naqilləri sırası ilə təmin edildiyindən kanal 1 üçün "DC motor iş dövrü" ni seçəcəyik. 4, Şəkil 8 -ə baxın. İki istiqamətli nəzarəti təmin etmək üçün 2 PWM kanalını 1 H körpüsünə birləşdirməliyik. Bu addım Şəkil 9 -da göstərilmişdir. "2 PWM kanalı 1 H-körpüsünə" rejimində, hər iki kanalı idarə etmək üçün kanal 1, 3 və 5 istifadə olunur. Qaz tənzimləyicisini, joystickin yuxarıdan aşağıya idarə edilməsini standart kanal 2-dən kanal 3-ə dəyişdirmək ehtiyacı təqdim edir. Bu, Şəkil 10 parametrlərində əldə edilir. Şəkil 11 -də göstərildiyi kimi, hər bir kanal bir ixtiyari giriş mənbəyi götürmək üçün konfiqurasiya edilmişdir.

Bingo, indi minimum tələb olunan konfiqurasiyanı tamamladıq və görünən bluetooth cihazını göstərən səhifəyə qayıda bilərik və onu bağlaya bilərik. Şəkil 12 -də joystick çalmağa çalışın və bu Strandbeest ilə əylənə bilərik. Bir yamacda dırmaşmağa çalışın, material növləri arasındakı sürtünmə analizini xatırlayın və "RPY (deg)" etiketli sətirdə göstərilən uçuş idarəedicisinin təxmin edilən münasibətini oxuyun, bu cərgədəki dörd giriş yuvarlanma, addım, yuvarlanma bucağıdır. giroskop və göyərtədə akselerometr tərəfindən təxmin edilir; son giriş əyilmiş kompensasiya edilmiş kompas çıxışıdır.

Gələcək iş: Aşağıdakı təlimatlarda, tədricən proqramlaşdırma interfeysini əhatə edəcəyik, Strandbeest ilə ünsiyyət qurmaq üçün ən çox sevdiyiniz Java və ya Python dilini seçəcəyik və cib telefonu ekranından strandbeest statusunu oxumayacağıq. Daha inkişaf etmiş proqramlaşdırma mövzuları üçün RaspberryPi tipli linux kompüterdə proqramlaşdırmağa başlayacağıq, son Şəkilə baxın. 3D çap mexaniki hissələri üçün https://xiapeiqing.github.io/doc/kits/strandbeest/roboticKits_strandbeest/ və SDK üçün https://github.com/xiapeiqing/m2robots.git və dərhal başlamaq istəyirsinizsə nümunə kodunu yoxlayın.. Java və ya Python olmasa, istədiyiniz proqramlaşdırma dilinin nə olduğunu mənə bildirin, yeni SDK versiyasını əlavə edə bilərəm.

Hacking ilə əylənin və aşağıdakı təlimatları izləyin.

Tövsiyə: