Saya secara aktif tertarik pada robot, dan baru-baru ini membuat robot bipedal yang didukung oleh Arduino. Setelah itu saya ingin membuat robot berkaki empat yang meniru binatang seperti anjing atau kucing. Pada artikel ini saya akan membahas tentang mendesain dan merakit robot berkaki empat.
Tujuan utama dari proyek ini adalah membuat sistem cukup andal sehingga selama percobaan dengan gaya berjalan yang berbeda saya tidak perlu khawatir tentang kemungkinan kegagalan peralatan. Ini memungkinkan saya untuk mendorong robot hingga batasnya, memberinya gaya berjalan yang rumit dan gerakan yang berbeda. Tujuan tambahannya adalah membuat prototipe yang relatif murah menggunakan komponen siap pakai dan pencetakan 3D untuk pembuatan prototipe cepat. Bersama-sama, kedua tujuan ini memberikan dasar yang kuat untuk berbagai eksperimen dan pengembangan robot berkaki empat yang lebih terspesialisasi dengan tujuan yang lebih spesifik - navigasi, penghindaran rintangan, adaptasi gerakan dinamis.
Langkah 1: informasi umum dan proses desain
Saya mengembangkan robot dalam perangkat lunak pemodelan 3D gratis dari Autodesk - Fusion 360. Saya mulai dengan mengimpor motor servo di mana saya menggambar kaki dan batang tubuh. Kemudian saya merancang braket penahan motor untuk memberi mereka titik pemasangan kedua, secara diametris berlawanan dengan poros. Poros di setiap sisi motor memberikan kekuatan pada struktur dan menghilangkan kemungkinan kemiringan saat kaki dibebani. Bantalan dimasukkan ke dudukan khusus, dan baut digunakan sebagai poros di braket. Setelah dudukan dipasang ke poros dengan mur, bantalan menyediakan titik pivot yang aman di sisi berlawanan dari motor servo dari poros.
Tujuan lain selama pengembangan adalah membuat model sekompak mungkin untuk memaksimalkan torsi motor servo. Ukuran lengan untuk memberikan mobilitas maksimum dengan panjang minimum. Jika saya membuatnya terlalu pendek, tanda kurung akan bertabrakan satu sama lain, yang akan mengurangi mobilitas. Jika dibuat terlalu lama, motor tentu harus menerapkan torsi yang tidak perlu. Last but not least, saya mendesain casing robot dengan lampiran untuk Arduino dan komponen elektronik lainnya. Saya telah menyediakan tunggangan tambahan di bagian atas panel untuk memperluas proyek di masa mendatang. Suatu hari nanti dimungkinkan untuk menambahkan sensor jarak, kamera atau mekanisme lain untuk robot, misalnya gripper.
Langkah 2: bahan yang dibutuhkan
Daftar bahan yang dibutuhkan untuk membuat robot berkaki empat Anda sendiri yang dikendalikan oleh Arduino. Semua komponen umum dan tersedia.
Elektronik:
- Arduino Uno x 1.
- Motor servo Towerpro MG995 x 12.
- Arduino Sensor Shield (Saya punya versi 4, tapi saya sarankan membeli versi 5).
- Menghubungkan kabel, 10 pcs.
- MPU6050 IMU (opsional).
- Sensor jarak ultrasonik (opsional).
Komponen:
- Bantalan (8x19x7 mm, 12 pcs.).
- Baut dan mur M4.
- Plastik untuk printer 3D.
- Kaca akrilik 4 mm.
Alat
- Printer 3D.
- Pemotong laser.
Sebagian besar limbah dihabiskan untuk 12 motor servo. Saya tetap merekomendasikan untuk tidak menggunakan motor plastik murah, karena terlalu mudah rusak. Kecuali alat-alatnya, semuanya menghabiskan biaya $ 60.
Langkah 3: Komponen Cetak
Komponen robot harus dikembangkan secara khusus - untuk ini kami memanfaatkan kemampuan desain digital dan CAD. Sebagian besar komponen dicetak 3D dan beberapa kami potong dari lembaran plexiglass 4mm. Dicetak pada cakupan 40%, 2 perimeter, nozel 0,4 mm, tinggi lapisan 0,1 mm dengan PLA. Beberapa komponen memerlukan alat peraga karena bentuknya yang rumit dengan bagian yang menjorok, tetapi komponen tersebut dapat diakses dan mudah dilepas dengan pemotong kawat. Anda bisa memilih warna sesuai selera. Di bawah ini adalah daftar komponen dan tautan STL untuk pencetakan, serta gambar 2D untuk pemotong.
Komponen untuk pencetakan 3D:
- Braket motor servo femoralis x 2.
- Braket cermin motor servo femoralis x 2.
- Braket motor servo lutut x 2.
- Braket lutut motor servo cermin x 2.
- Dudukan bantalan x 2.
- Tempat bantalan cermin x 2.
- Kaki x 4.
- Dudukan motor servo x 4.
- Pemegang bantalan x 4.
- Perangkat keras Arduino x 1.
- Dudukan sensor jarak x 1.
- Pengencang sudut x 4.
- Lengan bantalan x 4.
- Mesin cuci servo x 24.
Komponen untuk pemotongan laser:
- Panel Pemasangan Servo x 2.
- Panel atas x 1.
Ada total 30 bagian untuk dicetak, tidak termasuk berbagai mesin cuci, dan jumlah total bagian yang diproduksi secara digital adalah 33. Saya mencetak semuanya dalam 30 jam.
content.instructables.com/ORIG/FBK/9YPN/KFZEKVED/FBK9YPNKFZEKVED.rar
content.instructables.com/ORIG/FZS/65E0/KFZEKVEE/FZS65E0KFZEKVEE.pdf
Langkah 4: mempersiapkan pemegang bantalan
Jika Anda mulai merakit dengan komponen tertentu, maka keseluruhan proses akan berjalan lebih cepat. Anda bisa mulai dengan pemegangnya. Untuk melakukan ini, pertama-tama ampelas lubang di dalam dudukan, lalu masukkan bantalan flush ke dalamnya. Saya harus mencetak 3D beberapa mesin cuci karena baut yang disertakan dengan motor terlalu panjang dan akan mengenai motor selama pengoperasian.
Langkah 5: siapkan braket motor servo
Untuk memasang penjepit lutut, cukup masukkan baut ke dalam lubang dan kencangkan dengan mur. Sambungan ini akan bertindak sebagai sumbu kedua motor. Masukkan kedua baut melalui lubang di penjepit paha dan kencangkan dengan mur. Kemudian ambil braket servo yang tertekuk dan pasang ke bagian braket yang ditinggikan dengan dua mur. Terakhir, ambil selongsong bantalan dan masukkan bantalan ke dalamnya. Anda mungkin perlu sedikit mengampelas permukaan bagian dalam selongsong. Foto terlampir menunjukkan langkah perakitan yang berbeda.
Langkah 6: merakit kaki
Setelah semua staples dan dudukan terpasang, Anda dapat mulai memasang kaki Anda. Pertama, kencangkan servomotor ke braket dengan sekrup dan mur. Sejajarkan poros motor dengan baut yang menonjol dari sisi lainnya.
Kemudian hubungkan motor servo paha ke motor servo lutut dengan dudukannya. Jangan kencangkan mur dulu - nanti Anda mungkin perlu memotong sesuatu. Di sisi lain, kencangkan dudukan dengan dua bantalan ke baut yang menonjol dengan mur.
Kumpulkan keempat kakinya seperti ini.
Langkah 7: merakit batang tubuh
Sekarang Anda dapat mulai merakit batang tubuh. Ini berisi empat motor servo yang memberikan kebebasan kaki tingkat ketiga. Mulailah dengan 4 baut M4 yang menahan motor ke panel potong laser.
Pasang motor servo sehingga sumbu mengarah ke luar - lihat foto.
Kemudian baut braket sudut di kedua sisi panel. Mereka membantu memasang panel dudukan motor dengan aman ke panel atas.
Dengan semua penahan terpasang, pasang panel motor ke panel atas. Mulailah dengan baut luar yang terletak di depan dan belakang. Baut di tengah menahan dudukan Arduino secara bersamaan. Lihat foto di awal bagian. Pasang panel Arduino ke panel atas sehingga baut melewati lubang di braket sudut.
Langkah 8: Menyatukan semuanya
Saat kaki dan batang tubuh dirakit, robot dapat dirakit. Kencangkan kaki ke empat servomotor menggunakan braket sudut yang dipasang pada braket servomotor femoralis. Terakhir, gunakan penahan bantalan untuk menopang poros berlawanan pada braket paha. Masukkan poros melalui bantalan dan kencangkan dengan mur. Pasang penahan bantalan ke panel atas dengan sekrup dan mur.
Robot berkaki empat sudah siap.
Langkah 9: kabel dan elektronik
Saya memutuskan untuk menggunakan papan ekspansi untuk menghubungkan pelindung sensor, di mana ada kontak untuk motor servo. Saya akan merekomendasikan versi ke-5 - ada konektor terpisah untuk menghubungkan catu daya eksternal. Tetapi dewan saya tidak memiliki opsi ini. Saya mempelajarinya dan menyadari bahwa ia mengambil daya 5V dari papan Arduino (bila menyangkut konsumen yang kuat seperti motor servo, ini adalah ide buruk yang dapat merusak Arduino). Saya memecahkan masalah ini dengan menekuk pin 5V sehingga tidak terhubung ke rel daya Arduino. Dengan cara ini Anda dapat memberikan daya eksternal ke pin 5V tanpa merusak Arduino.
Berikut ini adalah koneksi untuk servomotors dan kontak papan. Catatan: Hip1Servo adalah motor servo pinggul yang terhubung ke batang tubuh. Hip2Servo - motor servo pinggul yang terhubung ke kaki. KneeServo - motor servo lutut.
Kaki 1 (kiri depan):
Hip1Servo - 2
Hip2Servo - 3
KneeServo - 4
Kaki 2 (kanan depan):
Hip1Servo - 5
Hip2Servo - 6
KneeServo - 7
Kaki 3 (kiri belakang):
Hip1Servo - 8
Hip2Servo - 9
KneeServo - 10
kaki 4 (kanan belakang):
Hip1Servo - 11
Hip2Servo - 12
KneeServo - 13
Langkah 10: penyiapan awal
Sebelum mulai memprogram gerakan kompleks, Anda perlu mengatur posisi awal untuk setiap motor servo. Mereka akan memberi robot titik referensi untuk membangun gerakan yang berbeda.
Untuk menghindari kerusakan yang tidak disengaja pada motor, pertama-tama Anda dapat melepas braket sudut dari motor. Kemudian unggah kodenya ke Arduino (tautan dibawah). Kode tersebut mengubah semua motor servo ke posisi 90 Β°. Kemudian kencangkan braket ke belakang sehingga semua kaki benar-benar rata dan motor servo yang dipasang ke batang tubuh tegak lurus dengan panel atas.
Beberapa sendi mungkin tidak sejajar dengan sempurna. Kemudian Anda perlu mengoreksi nilai dari array zeroPositions yang terletak di baris ke-4 kode. Setiap angka mewakili posisi nol dari motor servo yang sesuai (urutannya sama seperti yang tercantum dalam daftar koneksi Arduino). Bermain-main dengan nilai sampai kaki Anda lurus sempurna.
Misalnya, saya mendapatkan nilai berikut:
int zeroPositions[12] = {93, 102, 85, 83, 90, 85, 92, 82, 85, 90, 85, 90};
content.instructables.com/ORIG/F9K/WO73/KFZEKX13/F9KWO73KFZEKX13.ino
Langkah 11: sedikit tentang kinematika
Untuk membuat robot melakukan tindakan yang berguna - berjalan, berlari, dan lainnya - lintasan gerakan harus diprogram untuk servomotor. Ini adalah lintasan di mana efektor bergerak (dalam kasus kita, kaki). Ini dapat dicapai dengan dua cara:
12:
Setelah Anda selesai menghubungkan dan menginisialisasi, Anda dapat mulai memprogram robot Anda dan memberinya lintasan yang keren untuk melakukan tugas-tugas yang menarik. Dalam kode di baris ke-4, ubah nilainya menjadi nilai yang Anda keluaran di langkah inisialisasi. Setelah kode diupload, robot akan mulai berjalan. Jika Anda memperhatikan bahwa arah beberapa sambungan terbalik, ubah nilai yang sesuai dalam larik pada baris 5 (-1 ke 1 dan sebaliknya).
content.instructables.com/ORIG/FA6/3ZNJ/KFZEKX4Y/FA63ZNJKFZEKX4Y.ino
Langkah 13: ringkasan dan waktu eksperimen
Robot dapat mengambil langkah dari 2 hingga 5 cm. Kecepatan berjalan juga bervariasi. Robot membuat platform yang andal untuk bereksperimen dengan gaya berjalan dan hal-hal lain seperti melompat atau melakukan tugas kompleks. Saya sarankan untuk mengubah lintasan gerakan, mengalami gaya berjalan yang berbeda, memperhatikan bagaimana pengaruhnya terhadap kerja robot. Saya telah menyediakan berbagai pemasangan pada batang tubuh bagian atas sehingga sensor seperti pengintai atau sensor inersia dapat dipasang di sana. Anda dapat mencoba memperbaiki pegangan di sana.