Isi kandungan:

Walking Strandbeest, Java / Python dan App Dikendalikan: 4 Langkah (dengan Gambar)
Walking Strandbeest, Java / Python dan App Dikendalikan: 4 Langkah (dengan Gambar)

Video: Walking Strandbeest, Java / Python dan App Dikendalikan: 4 Langkah (dengan Gambar)

Video: Walking Strandbeest, Java / Python dan App Dikendalikan: 4 Langkah (dengan Gambar)
Video: MJC School. We are ready to help you become a programmer. 2024, Julai
Anonim

Oleh arrowlikeFollow More oleh pengarang:

Kajian Eksperimen Gerak Harmonik Ringkas
Kajian Eksperimen Gerak Harmonik Ringkas
Kajian Eksperimen Gerak Harmonik Ringkas
Kajian Eksperimen Gerak Harmonik Ringkas

Kit Strandbeest ini adalah karya DIY berdasarkan Strandbeest yang dicipta oleh Theo Jansen. Kagum dengan reka bentuk mekanikal yang genius, saya ingin melengkapkannya dengan kemampuan manuver penuh, dan seterusnya, kecerdasan komputer. Dalam arahan ini, kita mengusahakan bahagian pertama, kemampuan manuver. Kami juga merangkumi struktur mekanikal untuk komputer saiz kad kredit, sehingga kami dapat bermain dengan penglihatan komputer dan pemprosesan AI. Untuk memudahkan kerja bangunan dan kemudahan, saya tidak menggunakan arduino atau komputer yang dapat diprogram serupa, sebaliknya, saya membina pengawal perkakasan bluetooth. Pengawal ini, berfungsi sebagai terminal yang berinteraksi dengan perkakasan robot, dikendalikan oleh sistem yang lebih kuat, seperti aplikasi telefon android atau RaspberryPi, dan lain-lain. Kawalan ini boleh menjadi kawalan UI telefon bimbit, atau kawalan yang dapat diprogramkan dalam bahasa python atau Java. Satu SDK untuk setiap bahasa pengaturcaraan adalah sumber terbuka yang disediakan di

Oleh kerana manual pengguna mini-Strandbeest cukup jelas dalam menerangkan langkah-langkah pembangunan, dalam petunjuk ini, kami akan memfokuskan pada maklumat yang biasanya tidak diliputi dalam manual pengguna, dan bahagian elektrik / elektronik.

Sekiranya kita memerlukan idea yang lebih intuitif mengenai pemasangan mekanikal kit ini, terdapat beberapa video yang bagus mengenai topik pemasangan, seperti

Bekalan

Untuk membina bahagian mekanikal dan membuat semua sambungan elektrik Strandbeest ini, proses ini memerlukan masa kurang dari 1 jam jika masa menunggu cetak 3D tidak dikira. Ia memerlukan bahagian berikut:

(1) Kit Strandbeest standard 1x (https://webshop.strandbeest.com/ordis-parvus)

(2) Motor DC 2x dengan Kotak Gear (https://www.amazon.com/Greartisan-50RPM-Torque-Re…)

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

(4) 1x LiPo Battery (3.7V, pilihan kapasitas anda dalam mAh)

(5) Skru kayu 12x M2x5.6mm

(6) Karbon atau batang buluh berdiameter 2mm

3D mencetak bahagian berikut:

(1) 1x badan utama robotik

(Fail reka bentuk cetakan 3D dengan muat turun pengawal bluetooth sahaja)

(Fail reka bentuk cetakan 3D dengan muat turun OrangePi Nano tambahan)

(2) Flange poros pemacu 2x (muat turun fail reka bentuk cetakan 3D)

(3) Pemasangan sistem kuasa 2x (muat turun fail reka bentuk cetakan 3D)

Lain-lain:

Telefon bimbit Android. Pergi ke kedai permainan Google, sila cari M2ROBOTS dan pasang Aplikasi kawalan.

Sekiranya sukar untuk mengakses kedai permainan Google, kunjungi laman utama peribadi saya untuk kaedah muat turun aplikasi alternatif

Langkah 1: Organisasi Bahagian

Organisasi Bahagian
Organisasi Bahagian
Organisasi Bahagian
Organisasi Bahagian
Organisasi Bahagian
Organisasi Bahagian
Organisasi Bahagian
Organisasi Bahagian

Dalam langkah ini, kami akan mengatur semua bahagian yang akan dipasang. Rajah 1. menunjukkan semua bahagian plastik di luar kotak yang kami gunakan untuk membina model Strandbeest. Mereka dibuat dengan pengacuan suntikan, yang sangat tinggi kecekapannya, berbanding dengan kaedah pembuatan pemesinan lain seperti cetak 3D atau penggilingan. Itulah sebabnya kami ingin memanfaatkan sebahagian besar produk yang dihasilkan secara besar-besaran, dan hanya menyesuaikan bahagian yang paling sedikit.

Seperti yang ditunjukkan dalam Gambar 2, setiap kepingan papan plastik mempunyai huruf abjad berlabel, setiap bahagian tidak mempunyai label. Setelah ia dipisahkan, tidak ada lagi label. Untuk menyelesaikan masalah ini, kita mungkin meletakkan bahagian dari jenis yang sama dalam kotak yang berlainan, atau hanya menandakan beberapa kawasan dalam sehelai kertas dan meletakkan satu jenis bahagian di satu kawasan, lihat Gambar.3.

Untuk memotong bahagian plastik dari papan plastik pemasangan yang lebih besar, gunting dan pisau mungkin tidak seefisien dan aman seperti tang yang ditunjukkan pada Gambar 4 dan 5.

Semua yang ada di sini diperbuat daripada plastik, kecuali bahan jari-jari kaki adalah getah, lihat Gambar 6. Kita boleh memotong mengikut potongan yang telah dibuat sebelumnya. Sifat lembut bahan getah memberikan prestasi mencengkam helai yang lebih baik. Hal ini berlaku terutamanya ketika mendaki cerun. Dalam topik selanjutnya, kita dapat menguji kemampuannya untuk naik pada sudut cerun yang berbeza, dengan dan tanpa jari kaki getah. Apabila tidak ada slip, ia dipanggil geseran statik. Setelah kehilangan cengkaman, ia menjadi geseran kinetik. Pekali geseran bergantung pada bahan yang digunakan, sebab itulah kita mempunyai jari getah. Cara merancang eksperimen, angkat tangan dan bersuara.

Gambar terakhir mengandungi "ECU", "Power train", dan casis model Strandbeest ini.

Langkah 2: Perkara Yang Perlu Diperhatikan Semasa Pemasangan Mekanikal

Perkara yang Perlu Diperhatikan Semasa Pemasangan Mekanikal
Perkara yang Perlu Diperhatikan Semasa Pemasangan Mekanikal
Perkara yang Perlu Diperhatikan Semasa Pemasangan Mekanikal
Perkara yang Perlu Diperhatikan Semasa Pemasangan Mekanikal
Perkara yang Perlu Diperhatikan Semasa Pemasangan Mekanikal
Perkara yang Perlu Diperhatikan Semasa Pemasangan Mekanikal

Mini-Strandbeest mempunyai manual pengguna yang cukup baik. Ini adalah tugas yang mudah untuk mengikuti manual dan menyelesaikan pemasangan. Saya akan melangkau kandungan ini dan mengetengahkan beberapa perkara menarik yang patut diberi perhatian.

Dalam Gambar 1, satu sisi slot yang memegang jari kaki getah adalah sudut 90-derajat, sedangkan sisi lain mempunyai lereng 45-derajat, yang secara resmi disebut chamfer. Cerun seperti itu mengarahkan kaki getah untuk masuk ke kaki plastik. Cuba pasang jari kaki dari sisi dengan chamfer, lihat Gambar 2, kemudian cuba bahagian lain. Perbezaannya sangat ketara. Bahagian kanan Rajah 3 adalah engkol di Stranbeest kami. Ia sangat mirip dengan engkol pada enjin, enjin kereta, enjin motosikal, semuanya mempunyai struktur yang sama. Dalam Strandbeest, ketika engkol bertukar, ia mendorong kaki untuk bergerak. Untuk enjin, pergerakan omboh menggerakkan engkol untuk berpusing. Pemisahan 120 deg dalam lingkaran juga mengarah ke motor atau generator tiga fasa, kuasa elektriknya terpisah 120 darjah, seperti yang ditunjukkan pada Rajah 4. Setelah bahagian-bahagian mekanikal untuk badan sebelah kiri dan kanan semuanya dipasang, kita sekarang mula mengusahakan bahagian yang kita tambahkan pada Strandbeest, lihat Rajah 5. Rajah 6 adalah langkah kita menggunakan penjepit motor bercetak 3-D untuk mengikat motor ke casis bercetak 3-D. Dalam langkah ini, caranya ialah tidak ada sekrup yang harus diketatkan sebelum kedudukan motor disesuaikan sehingga permukaan sisi casis sama dengan permukaan motor. Setelah berpuas hati dengan penjajaran, kita boleh mengetatkan semua skru. Teruskan ke Gambar.7, kami berusaha memasang gandingan bebibir, menghubungkan output motor ke engkol. Bahagian motor lebih sukar dipasang daripada sambungan sisi engkol, lihat Gamb.8. Oleh itu kami menyambungkan bebibir sisi motor terlebih dahulu. Setelah kopling bebibir untuk kedua motor dipasang, seperti yang ditunjukkan pada Gambar.9, kami menggunakan dua kepingan batang karbon berdiameter 2mm untuk menghubungkan casis dan struktur berjalan kiri / kanan. Itu berlaku dalam FIg.10. Secara keseluruhan, kami menggunakan 3 keping batang karbon untuk menghubungkan entiti ini. Tetapi dalam langkah ini, kita hanya menghubungkan dua daripadanya, kerana kita perlu memutar engkol dan memasang sambungan antara bebibir dan engkol. Sekiranya 3 keping batang karbon telah berada di tempatnya, akan lebih sukar untuk menyesuaikan kedudukan relatif dan menghubungkannya. Akhirnya, kita mempunyai sistem mekanikal pemasangan terakhir, dalam Rajah 11. Langkah seterusnya, mari kita bekerja pada elektronik.

Langkah 3: Sambungan Elektrik

Sambungan elektrik
Sambungan elektrik
Sambungan elektrik
Sambungan elektrik
Sambungan elektrik
Sambungan elektrik

Semua sistem elektronik memerlukan bekalan kuasa. Kita boleh meletakkan bateri 1 sel di tempat yang mudah, contohnya, di bawah papan litar pada Rajah 1. Kekutuban bekalan kuasa sangat kritikal sehingga memerlukan tokoh khusus untuk dibincangkan. Rajah 2 menyoroti sambungan bateri. Di papan pengawal, kekutuban ditandai dengan "+" dan "GND", lihat Gambar.3. Apabila bateri kehabisan jus, kabel USB digunakan untuk mengisi semula bateri, lihat Gbr.4. LED yang menunjukkan "mengisi semula dalam proses" akan dimatikan secara automatik apabila bateri kembali penuh. Langkah terakhir adalah menyambungkan saluran keluar motor ke penyambung motor di papan pengawal. Terdapat 3 penyambung motor, dilabelkan dengan nombor 16 pada Gambar.3. Dalam Rajah 5, motor kiri disambungkan ke penyambung paling kiri berlabel PWM12, dan motor kanan disambungkan ke penyambung tengah. Pada masa ini, memutar tangki (kenderaan penggerak pembezaan) ke kiri dikodkan keras sebagai pengurangan daya input motor yang disambungkan ke port motor PWM12. Oleh itu motor yang disambungkan ke port PWM12 harus menggerakkan kaki kiri. Saya kemudian akan menukar semua fungsi pencampuran untuk dikonfigurasi pengguna. seperti Dengan menukar pilihan penyambung motor, atau membalikkan arah penyambung motor, kita dapat menyelesaikan masalah seperti Strandbeest bergerak ke belakang ketika diperintahkan untuk bergerak ke depan, memutar arah yang salah, ingat motor DC mengubah arah putarannya jika wayar input disambungkan ke kuasa kawalan dalam urutan terbalik.

Langkah 4: Tetapan dan Operasi Aplikasi

Tetapan dan Operasi Aplikasi
Tetapan dan Operasi Aplikasi
Tetapan dan Operasi Aplikasi
Tetapan dan Operasi Aplikasi
Tetapan dan Operasi Aplikasi
Tetapan dan Operasi Aplikasi
Tetapan dan Operasi Aplikasi
Tetapan dan Operasi Aplikasi

Kami pertama kali memuat turun aplikasi android dari Google Play Store, lihat Gambar 1. Aplikasi ini mempunyai banyak fungsi lain yang tidak dapat kita bahas dalam arahan ini, kita hanya akan menumpukan pada topik yang berkaitan langsung untuk Strandbeest.

Hidupkan pengawal bluetooth perkakasan, ia akan muncul dalam senarai peranti penemuan. Klik lama akan membawa kita ke ciri muat turun udara untuk "diajar" kemudian. Sebelum kita mengklik dan memulakan kawalan, mari lakukan beberapa konfigurasi terlebih dahulu dengan mengklik sudut kanan atas "Tetapan". Pada Gambar.2, ia tersembunyi di bawah ikon…. Rajah 3 menunjukkan pelbagai kategori tetapan. Tetapan ini, yang dikonfigurasi dalam Aplikasi, diterapkan dalam tiga cara: 1) beberapa tetapan hanya mempengaruhi operasi Aplikasi, seperti aritmetik untuk mendapatkan perintah kontrol daya setiap motor dari perintah kemudi dan pendikit anda. Mereka tinggal di App. Dalam beberapa instruksional kemudian, kami akan menunjukkan bagaimana kami menggantinya dengan program Python / Java kami. 2) beberapa tetapan dihantar ke perkakasan sebagai bagian dari protokol kawalan di udara, seperti peralihan antara kawalan langsung (servo membalikkan tepat sudut yang diperintahkan) dan terbang dengan kawalan wayar (modul fungsi pengawal autonomi terpasang mengoperasikan servo saluran mengikut arahan pengguna dan sikap semasa) 3) beberapa tetapan akan dihantar ke Memori Tidak Menguap di pengawal perkakasan. Oleh itu perkakasan akan mengikuti tetapan ini setiap kali dihidupkan tanpa dikonfigurasi. Contohnya ialah nama siaran bluetooth peranti. Tetapan seperti ini memerlukan kitaran kuasa untuk berlaku. Kategori pertama yang kita selami adalah "Tetapan Umum" pada Rajah 4. "Fungsi kawalan aplikasi" dalam Gambar.5 menentukan peranan yang dimainkan oleh aplikasi ini, pengawal untuk peranti perkakasan melalui sambungan bluetooth langsung; jambatan melalui intranet / internet untuk kawalan telepresence; dan lain-lain. Selanjutnya, halaman "Jenis HW" dalam Gambar.6 memberitahu aplikasi yang Anda gunakan dengan kendaraan penggerak yang berbeza, jadi mod "tangki" perlu dipilih. Kami mempunyai 6 output PWM secara keseluruhan. Untuk Strandbeest, kita perlu mengkonfigurasi saluran 1 hingga 4 mengikut Gambar.7. Setiap saluran PWM dikendalikan dalam salah satu mod berikut: 1) servo normal: servo RC dikawal oleh 1 hingga 2ms PWM signal 2) servo reverse: pengawal akan membalikkan kawalan pengguna untuk outputnya 3) DC motor duty cycle: a DC motor atau beberapa alat elektrik kuasa, boleh dikendalikan dalam mod kitaran tugas, 0% dimatikan, 100% selalu dihidupkan. 4) Kitaran tugas motor DC terbalik: sekali lagi pengawal akan membalikkan kawalan pengguna untuk outputnya Oleh kerana kita menggunakan motor DC dan menjaga arah putaran motor dengan pesanan pendawaian perkakasan, kita akan memilih "kitaran tugas motor DC" untuk saluran 1 hingga 4, lihat Rajah 8. Kita juga perlu menggabungkan 2 saluran PWM ke 1 H-bridge, untuk membolehkan kawalan dua arah. Langkah ini ditunjukkan dalam Rajah.9. Dalam mod "2 PWM saluran ke 1 H-bridge", saluran 1, 3, dan 5 digunakan untuk mengawal kedua saluran yang berkaitan. Ini memperkenalkan kebutuhan untuk memetakan kembali kontrol throttle, kontrol atas dari joystick dari saluran lalai 2 ke saluran 3. Ini dicapai dalam tetapan Gambar.10. Seperti yang ditunjukkan pada Gambar.11, setiap saluran dikonfigurasi untuk mengambil satu sumber input sewenang-wenangnya.

Bingo, sekarang kami telah menyelesaikan konfigurasi minimum yang diperlukan, dan kami dapat kembali ke halaman yang menunjukkan peranti bluetooth yang dapat dilihat dan menghubungkannya. Pada Gambar.12, cuba mainkan kayu bedik, dan kita boleh bersenang-senang dengan Strandbeest ini. Cuba naik ke lereng, ingat analisis geseran antara jenis bahan, dan baca sikap pengawal penerbangan yang diperkirakan, yang ditunjukkan di baris berlabel "RPY (deg)", empat entri dalam baris ini adalah sudut roll, pitch, yaw dianggarkan oleh giroskop dan pecutan di atas kapal; entri terakhir adalah output kompas yang dikompensasikan condong.

Karya masa depan: dalam instruksi berikut, kami secara beransur-ansur akan merangkumi antara muka pengaturcaraannya, memilih bahasa Java atau Python kegemaran anda untuk berinteraksi dengan Strandbeest, dan tidak lagi membaca status strandbeest dari skrin telefon bimbit. Kami juga akan memulakan pengaturcaraan di komputer linux jenis RaspberryPi untuk topik pengaturcaraan yang lebih maju, lihat Gambar terakhir. Lihat https://xiapeiqing.github.io/doc/kits/strandbeest/roboticKits_strandbeest/ untuk bahagian mekanikal cetak 3D dan https://github.com/xiapeiqing/m2robots.git untuk SDK dan kod contoh jika anda mahu memulakan dengan segera. Beritahu saya bahasa pengaturcaraan yang anda mahukan jika bukan Java atau Python, saya dapat menambahkan versi baru SDK.

Bersenang-senang dengan penggodaman dan nantikan arahan berikut.

Disyorkan: