Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
Oleh arrowlikeIkuti Lainnya oleh penulis:
Kit Strandbeest ini adalah karya DIY berdasarkan Strandbeest yang ditemukan oleh Theo Jansen. Kagum dengan desain mekanik yang jenius, saya ingin melengkapinya dengan kemampuan manuver penuh, dan selanjutnya, kecerdasan komputer. Dalam instruksi ini, kami mengerjakan bagian pertama, kemampuan manuver. Kami juga membahas struktur mekanis untuk komputer ukuran kartu kredit, sehingga kami dapat bermain dengan visi komputer dan pemrosesan AI. Untuk menyederhanakan pekerjaan dan kenyamanan bangunan, saya tidak menggunakan arduino atau komputer yang dapat diprogram serupa, sebagai gantinya, saya membangun pengontrol perangkat keras bluetooth. Pengontrol ini, yang berfungsi sebagai terminal yang berinteraksi dengan perangkat keras robot, dikendalikan oleh sistem yang lebih kuat, seperti aplikasi ponsel android atau RaspberryPi, dll. Kontrol dapat berupa kontrol UI ponsel, atau kontrol yang dapat diprogram dalam python atau bahasa Java. Satu SDK untuk setiap bahasa pemrograman adalah sumber terbuka yang disediakan di
Karena panduan pengguna mini-Strandbeest cukup jelas dalam menjelaskan langkah-langkah pembangunan, dalam instruksi ini, kami akan fokus pada bagian informasi yang biasanya tidak tercakup dalam panduan pengguna, dan bagian listrik/elektronik.
Jika kami membutuhkan ide yang lebih intuitif tentang perakitan mekanis kit ini, tersedia beberapa video bagus tentang topik perakitan, seperti
Perlengkapan
Untuk membuat bagian mekanik dan membuat semua sambungan listrik Strandbeest ini, dibutuhkan waktu kurang dari 1 jam untuk menyelesaikannya jika waktu tunggu untuk pencetakan 3D tidak dihitung. Ini membutuhkan bagian-bagian berikut:
(1) 1x kit Strandbeest standar (https://webshop.strandbeest.com/ordis-parvus)
(2) Motor DC 2x dengan Gear Box (https://www.amazon.com/Greartisan-50RPM-Torque-Re…)
(3) 1x pengontrol Bluetooth (https://ebay.us/Ex61kC?cmpnId=5338273189)
(4) 1x Baterai LiPo (3.7V, kapasitas pilihan Anda dalam mAh)
(5) sekrup kayu 12x M2x5.6mm
(6) Karbon atau batang bambu berdiameter 2mm
Cetak 3D bagian-bagian berikut:
(1) 1x tubuh utama robotika
(File desain cetak 3D dengan pengontrol bluetooth hanya mengunduh)
(File desain cetak 3D dengan unduhan OrangePi Nano tambahan)
(2) 2x Drive shaft flange (download file desain cetak 3D)
(3) 2x perlengkapan sistem daya (unduh file desain cetak 3D)
Yang lain:
ponsel Android. Buka Google playstore, silakan cari M2ROBOTS dan instal Aplikasi kontrol.
Jika sulit mengakses Google playstore, kunjungi beranda pribadi saya untuk metode pengunduhan aplikasi alternatif
Langkah 1: Organisasi Bagian
Pada langkah ini, kita akan mengatur semua bagian yang akan dirakit. Gambar.1. menunjukkan semua bagian plastik yang kami gunakan untuk membuat model Strandbeest. Mereka dibuat dengan cetakan injeksi, yang sangat efisien tinggi, dibandingkan dengan metode manufaktur mesin lainnya seperti cetak 3D atau penggilingan. Itulah mengapa kami ingin mengambil keuntungan maksimal dari produk yang diproduksi secara massal, dan hanya menyesuaikan jumlah suku cadang yang paling sedikit.
Seperti yang ditunjukkan pada Gbr.2, setiap potongan papan plastik memiliki alfabet berlabel, bagian individu tidak memiliki label. Setelah mereka dibongkar, tidak ada lagi pelabelan. Untuk mengatasi masalah ini, kita dapat menempatkan bagian dari jenis yang sama di kotak yang berbeda, atau cukup menandai beberapa area di selembar kertas dan meletakkan satu jenis bagian di satu area, lihat Gbr.3.
Untuk memotong bagian plastik dari papan plastik rakitan yang lebih besar, gunting dan pisau mungkin tidak seefisien dan seaman tang yang ditunjukkan pada Gbr.4 dan 5.
Semuanya di sini terbuat dari plastik, kecuali bahan jari-jari kaki adalah karet, lihat Gbr.6. Kita bisa memotong sesuai dengan potongan yang sudah dibuat sebelumnya. Sifat lembut dari bahan karet memberikan kinerja mencengkeram yang lebih baik dari strandbeest. Ini terutama benar saat mendaki lereng. Dalam topik selanjutnya, kita dapat menguji kemampuannya untuk memanjat pada sudut kemiringan yang berbeda, dengan dan tanpa jari kaki karet. Ketika tidak ada slip, itu disebut gesekan statis. Setelah kehilangan pegangan, itu menjadi gesekan kinetik. Koefisien gesekan tergantung pada bahan yang digunakan, itu sebabnya kami memiliki jari-jari kaki karet. Bagaimana merancang eksperimen, angkat tangan dan bicaralah.
Gambar terakhir berisi "ECU", "Power train", dan sasis model Strandbeest ini.
Langkah 2: Poin yang Patut Diperhatikan Selama Perakitan Mekanis
Mini-Strandbeest memiliki panduan pengguna yang cukup baik. Seharusnya pekerjaan yang mudah untuk mengikuti manual dan menyelesaikan perakitan. Saya akan melewatkan konten ini dan menyoroti beberapa poin menarik yang layak menjadi perhatian kita.
Pada Gbr.1, satu sisi slot yang menahan jari-jari karet adalah sudut 90 derajat, sedangkan sisi lainnya memiliki kemiringan 45 derajat, yang secara resmi disebut talang. Kemiringan seperti itu memandu jari kaki karet agar pas dengan kaki plastik. Coba pasang jari-jari kaki dari samping dengan talang, lihat Gbr.2, lalu coba sisi lain. Perbedaannya sangat terlihat. Sisi kanan Gbr.3 adalah engkol di Stranbeest kami. Ini sangat mirip dengan engkol pada mesin, mesin mobil, mesin sepeda motor, semua memiliki struktur yang sama. Di Strandbeest, ketika engkol berputar, itu mendorong kaki untuk bergerak. Untuk mesin, itu adalah gerakan piston yang mendorong engkol untuk berputar. Pemisahan 120 derajat seperti itu dalam lingkaran juga mengarah ke motor atau generator tiga fase, daya listrik terpisah 120 derajat, ditunjukkan pada Gambar.4. Setelah kami memiliki bagian mekanis untuk bodi sisi kiri dan kanan yang telah dirakit, sekarang kami mulai mengerjakan bagian yang kami tambahkan ke Strandbeest, lihat Gbr.5. Gbr.6 adalah langkah kami menggunakan penjepit motor cetak 3-D untuk mengencangkan motor ke sasis cetak 3-D. Pada langkah ini, triknya adalah tidak ada satu pun sekrup yang harus dikencangkan sebelum posisi motor disetel sehingga permukaan samping sasis sama dengan permukaan motor. Setelah kami puas dengan keselarasan, kami dapat mengencangkan semua sekrup. Pindah ke Gbr.7, kami mengerjakan pemasangan kopling flensa, menghubungkan output motor ke engkol. Sisi motor lebih sulit dipasang daripada sambungan sisi engkol, lihat Gbr.8. Oleh karena itu kami menghubungkan flens sisi motor terlebih dahulu. Setelah kopling flensa untuk kedua motor dipasang, seperti yang ditunjukkan pada Gbr.9, kami menggunakan dua batang karbon berdiameter 2 mm untuk menghubungkan sasis dan struktur jalan kiri/kanan. Itu terjadi di FIg.10. Secara total, kami menggunakan 3 buah batang karbon untuk menghubungkan entitas ini. Namun pada langkah ini, kita hanya menghubungkan dua hal tersebut, karena kita perlu memutar engkol dan memasang sambungan antara flens dan engkol. Jika 3 buah batang karbon telah terpasang, akan lebih sulit untuk menyesuaikan posisi relatif dan menghubungkannya. Akhirnya, kami memiliki sistem mekanik rakitan akhir, pada Gbr.11. Langkah selanjutnya, mari kita bekerja pada elektronik.
Langkah 3: Sambungan Listrik
Semua sistem elektronik membutuhkan catu daya. Kita dapat meletakkan baterai 1-sel di suatu tempat yang nyaman, misalnya, di bawah papan sirkuit pada Gambar.1. Polaritas catu daya sangat penting sehingga layak untuk dibahas secara khusus. Gbr.2 menyoroti koneksi baterai. Di papan pengontrol, polaritas ditandai dengan "+" dan "GND", lihat Gbr.3. Saat baterai habis, kabel USB digunakan untuk mengisi ulang baterai, lihat Gbr.4. LED yang menunjukkan "pengisian ulang dalam proses" akan mati secara otomatis ketika baterai menjadi penuh kembali. Langkah terakhir adalah menghubungkan outlet motor ke konektor motor di papan pengontrol. Ada 3 konektor motor, diberi label dengan nomor 16 pada Gbr.3. Pada Gbr.5, motor kiri terhubung ke konektor paling kiri berlabel PWM12, dan motor kanan terhubung ke konektor tengah. Saat ini, memutar tangki (kendaraan penggerak diferensial) ke kiri adalah hard-coded sebagai pengurangan daya input motor yang terhubung ke port motor PWM12. Oleh karena itu motor yang terhubung ke port PWM12 harus menggerakkan kaki kiri. Saya nanti akan mengubah semua fungsi pencampuran menjadi dapat dikonfigurasi pengguna. seperti Dengan menukar pilihan konektor motor, atau membalikkan arah konektor motor, kita dapat memperbaiki masalah seperti Strandbeest bergerak mundur ketika diperintahkan untuk bergerak maju, memutar arah yang salah, ingat motor DC mengubah arah putarannya jika kabel inputnya terhubung ke daya kontrol dalam urutan terbalik.
Langkah 4: Pengaturan dan Operasi Aplikasi
Pertama-tama kita download aplikasi android dari Google Play Store, lihat Gbr.1. Aplikasi ini memiliki banyak fungsi lain yang tidak dapat kami bahas dalam instruksi ini, kami hanya akan fokus pada topik yang terkait langsung dengan Strandbeest.
Nyalakan pengontrol bluetooth perangkat keras, itu akan muncul di daftar perangkat penemuan. Klik panjang akan membawa kita ke fitur download over-the-air untuk "diinstruksikan" nanti. Sebelum kita klik dan mulai kontrol, mari kita lakukan beberapa konfigurasi terlebih dahulu dengan mengklik pojok kanan atas "Pengaturan". Pada Gbr.2, tersembunyi di bawah ikon …. Gbr.3 menunjukkan beberapa kategori pengaturan. Pengaturan ini, yang dikonfigurasi di Aplikasi, diterapkan dalam tiga cara: 1) beberapa pengaturan hanya memengaruhi pengoperasian Aplikasi, seperti aritmatika untuk mendapatkan perintah kontrol daya setiap motor dari perintah kemudi dan throttle Anda. Mereka tinggal di Aplikasi. Dalam beberapa instruksi selanjutnya, kami akan menunjukkan bagaimana kami menggantinya dengan program Python/Java kami. 2) beberapa pengaturan dikirim ke perangkat keras sebagai bagian dari protokol kontrol di udara, seperti peralihan antara kontrol langsung (servo memutar persis sudut yang diperintahkan) dan kontrol terbang dengan kawat (modul fungsi pengontrol otonom bawaan mengoperasikan servo saluran sesuai perintah pengguna dan sikap saat ini) 3) beberapa pengaturan akan dikirim ke Memori Non-Volatile di pengontrol perangkat keras. Oleh karena itu perangkat keras akan mengikuti pengaturan ini setiap kali dihidupkan tanpa dikonfigurasi. Contohnya adalah nama siaran bluetooth perangkat. Pengaturan semacam ini memerlukan siklus daya untuk diterapkan. Kategori pertama yang kami selami adalah "Pengaturan Umum" pada Gbr.4. "Fungsi kontrol aplikasi" pada Gbr.5 mendefinisikan peran apa yang dimainkan aplikasi ini, pengontrol untuk perangkat keras melalui koneksi bluetooth langsung; jembatan melalui intranet/internet untuk kontrol telepresence; dan lain-lain. Selanjutnya, halaman “Tipe HW” pada Gbr.6 memberi tahu aplikasi bahwa Anda bekerja dengan kendaraan penggerak diferensial, jadi mode “tangki” perlu dipilih. Kami memiliki total 6 output PWM. Untuk Strandbeest, kita perlu mengkonfigurasi saluran 1 sampai 4 sesuai dengan Gbr.7. Setiap saluran PWM dioperasikan dalam salah satu mode berikut: 1) servo normal: servo RC dikendalikan oleh sinyal PWM 1 hingga 2 ms 2) servo mundur: pengontrol akan membalikkan kontrol pengguna untuk outputnya 3) Siklus kerja motor DC: a DC motor atau beberapa perangkat listrik daya, dapat dioperasikan dalam mode siklus kerja, 0% dimatikan, 100% selalu hidup. 4) Siklus tugas motor DC terbalik: lagi-lagi pengontrol akan membalikkan kontrol pengguna untuk outputnya Karena kami menggunakan motor DC dan menjaga arah putaran motor dengan urutan pengkabelan perangkat keras, kami akan memilih "siklus tugas motor DC" untuk saluran 1 ke 4, lihat Gbr.8. Kita juga perlu menggabungkan 2 saluran PWM ke 1 H-bridge, untuk mengaktifkan kontrol dua arah. Langkah ini ditunjukkan pada Gbr.9. Dalam mode “2 saluran PWM ke 1 H-bridge”, saluran 1, 3, dan 5 digunakan untuk mengontrol kedua saluran yang terkait. Ini memperkenalkan kebutuhan untuk memetakan kembali kontrol throttle, kontrol naik-turun joystick dari saluran default 2 ke saluran 3. Hal ini dicapai dalam pengaturan Gbr.10. Seperti yang ditunjukkan pada Gbr.11, setiap saluran dikonfigurasi untuk mengambil satu sumber input arbitrer.
Bingo, sekarang kami telah menyelesaikan konfigurasi minimum yang diperlukan, dan kami dapat kembali ke halaman yang menunjukkan perangkat bluetooth yang terlihat dan menghubungkannya. Di Gbr.12, coba mainkan joysticknya, dan kita bisa bersenang-senang dengan Strandbeest ini. Cobalah mendaki beberapa kemiringan, ingat analisis gesekan antara jenis material, dan baca perkiraan pengontrol penerbangan, yang ditunjukkan pada baris berlabel "RPY(deg)", empat entri dalam baris ini adalah roll, pitch, yaw angle diperkirakan oleh giroskop dan akselerometer onboard; entri terakhir adalah keluaran kompas dengan kompensasi kemiringan.
Pekerjaan di masa depan: dalam instruksi berikut, kami akan secara bertahap membahas antarmuka pemrogramannya, memilih bahasa favorit Anda Java atau Python untuk berinteraksi dengan Strandbeest, dan tidak lagi membaca status strandbeest dari layar ponsel. Kami juga akan memulai pemrograman di komputer linux jenis RaspberryPi untuk topik pemrograman lebih lanjut, lihat Gambar terakhir. Lihat https://xiapeiqing.github.io/doc/kits/strandbeest/roboticKits_strandbeest/ untuk komponen mekanis cetak 3D dan https://github.com/xiapeiqing/m2robots.git untuk SDK dan kode contoh jika Anda ingin segera memulai. Beri tahu saya bahasa pemrograman yang Anda inginkan jika bukan Java atau Python, saya dapat menambahkan SDK versi baru.
Bersenang-senang dengan peretasan dan nantikan instruksi berikut.