Daftar Isi:

Arduino Controlled Robotic Biped: 13 Langkah (dengan Gambar)
Arduino Controlled Robotic Biped: 13 Langkah (dengan Gambar)

Video: Arduino Controlled Robotic Biped: 13 Langkah (dengan Gambar)

Video: Arduino Controlled Robotic Biped: 13 Langkah (dengan Gambar)
Video: Arduino Humanoid Robot with Robotic Palms (帶可控手掌之Arduino人形機器人) 2024, November
Anonim
Image
Image
Robot Biped Terkendali Arduino
Robot Biped Terkendali Arduino
Robot Biped Terkendali Arduino
Robot Biped Terkendali Arduino

Proyek Fusion 360 »

Saya selalu tertarik dengan robot, terutama robot yang mencoba meniru tindakan manusia. Ketertarikan ini mendorong saya untuk mencoba merancang dan mengembangkan robot berkaki dua yang dapat meniru cara berjalan dan berlari manusia. Dalam Instruksi ini, saya akan menunjukkan kepada Anda desain dan perakitan robot berkaki dua.

Tujuan utama saat membangun proyek ini adalah untuk membuat sistem sekuat mungkin sehingga saat bereksperimen dengan berbagai gaya berjalan dan berlari, saya tidak perlu terus-menerus khawatir tentang kegagalan perangkat keras. Ini memungkinkan saya untuk mendorong perangkat keras hingga batasnya. Tujuan kedua adalah membuat biped relatif murah menggunakan suku cadang hobi yang tersedia dan pencetakan 3D yang menyisakan ruang untuk peningkatan dan perluasan lebih lanjut. Gabungan dua tujuan ini memberikan landasan yang kuat untuk melakukan berbagai eksperimen, memungkinkan seseorang mengembangkan biped ke persyaratan yang lebih spesifik.

Ikuti untuk membuat Robotic Biped Anda sendiri yang dikendalikan Arduino dan berikan suara di "Kontes Arduino" jika Anda menyukai proyek ini.

Langkah 1: Proses Desain

Proses Desain
Proses Desain
Proses Desain
Proses Desain
Proses Desain
Proses Desain

Kaki humanoid dirancang di Autodesk gratis untuk menggunakan perangkat lunak pemodelan 3d Fusion 360. Saya mulai dengan mengimpor motor servo ke dalam desain dan membuat kaki di sekelilingnya. Saya merancang braket untuk motor servo yang menyediakan titik pivot kedua yang berlawanan secara diametris dengan poros motor servo. Memiliki poros ganda di kedua ujung motor memberikan stabilitas struktural pada desain dan menghilangkan kemiringan yang mungkin terjadi saat kaki dibuat untuk menahan beban. Tautan dirancang untuk menahan bantalan sementara braket menggunakan baut untuk poros. Setelah tautan dipasang ke poros menggunakan mur, bantalan akan memberikan titik poros yang halus dan kuat di sisi berlawanan dari poros motor servo.

Tujuan lain saat merancang biped adalah untuk menjaga model sekompak mungkin untuk memaksimalkan penggunaan torsi yang disediakan oleh motor servo. Dimensi tautan dibuat untuk mencapai rentang gerak yang luas sambil meminimalkan panjang keseluruhan. Membuatnya terlalu pendek akan membuat braket bertabrakan, mengurangi rentang gerak, dan membuatnya terlalu panjang akan memberikan torsi yang tidak perlu pada aktuator. Akhirnya, saya mendesain badan robot tempat Arduino dan komponen elektronik lainnya akan dipasang.

Catatan: Bagian-bagian tersebut termasuk dalam salah satu langkah berikut.

Langkah 2: Peran Arduino

Peran Arduino
Peran Arduino

Arduino Uno digunakan dalam proyek ini. Arduino bertanggung jawab untuk menghitung jalur gerak dari berbagai gaya berjalan yang diuji dan menginstruksikan aktuator untuk bergerak ke sudut yang tepat pada kecepatan yang tepat untuk menciptakan gerakan berjalan yang mulus. Arduino adalah pilihan tepat untuk mengembangkan proyek karena keserbagunaannya. Ini menyediakan banyak pin IO dan juga menyediakan antarmuka seperti serial, I2C, dan SPI untuk berkomunikasi dengan mikrokontroler dan sensor lainnya. Arduino juga menyediakan platform hebat untuk pembuatan prototipe dan pengujian cepat dan juga memberi ruang bagi pengembang untuk peningkatan dan perluasan. Dalam proyek ini, versi selanjutnya akan menyertakan Unit Pengukuran Inersia untuk pemrosesan gerakan seperti deteksi jatuh dan penggerak dinamis di medan yang tidak rata dan sensor pengukur jarak untuk menghindari rintangan.

Arduino IDE digunakan untuk proyek ini. (Arduino juga menyediakan IDE berbasis web)

Catatan: Program untuk robot dapat diunduh dari salah satu langkah berikut.

Langkah 3: Bahan yang Dibutuhkan

Bahan yang Dibutuhkan
Bahan yang Dibutuhkan
Bahan yang Dibutuhkan
Bahan yang Dibutuhkan
Bahan yang Dibutuhkan
Bahan yang Dibutuhkan
Bahan yang Dibutuhkan
Bahan yang Dibutuhkan

Berikut adalah daftar semua komponen dan suku cadang yang diperlukan untuk membuat robot Bipedal bertenaga Arduino Anda sendiri. Semua bagian harus tersedia secara umum dan mudah ditemukan.

ELEKTRONIK:

Arduino Uno x 1

Motor servo Towerpro MG995 x 6

Perfboard (ukurannya mirip dengan Arduino)

Pin header Pria dan Wanita (masing-masing sekitar 20)

Kabel Jumper (10 buah)

MPU6050 IMU (opsional)

Sensor ultrasonik (opsional)

PERANGKAT KERAS:

Bantalan Skateboard (8x19x7mm)

mur dan baut M4

Filamen printer 3D (jika Anda tidak memiliki printer 3D, harus ada printer 3D di ruang kerja lokal atau pencetakan dapat dilakukan secara online dengan harga yang cukup murah)

Tidak termasuk Arduino dan printer 3D, total biaya proyek ini adalah $20.

Langkah 4: Bagian Cetak 3D

Bagian Cetak 3D
Bagian Cetak 3D
Bagian Cetak 3D
Bagian Cetak 3D
Bagian Cetak 3D
Bagian Cetak 3D
Bagian Cetak 3D
Bagian Cetak 3D

Bagian-bagian yang diperlukan untuk proyek ini harus dirancang khusus oleh karena itu printer 3D digunakan untuk mencetaknya. Cetakan dibuat pada pengisian 40%, 2 perimeter, nosel 0,4 mm, dan tinggi lapisan 0,1 mm dengan PLA, warna pilihan Anda. Di bawah ini Anda dapat menemukan daftar lengkap suku cadang dan STL untuk mencetak versi Anda sendiri.

Catatan: Dari sini bagian-bagian akan dirujuk menggunakan nama-nama dalam daftar.

  • dudukan servo kaki x 1
  • cermin pemegang kaki servo x 1
  • dudukan servo lutut x 1
  • cermin pemegang servo lutut x 1
  • dudukan servo kaki x 1
  • cermin pemegang kaki servo x 1
  • tautan bantalan x 2
  • tautan tanduk servo x 2
  • tautan kaki x 2
  • jembatan x 1
  • dudukan elektronik x 1
  • spacer elektronik x 8 (opsional)
  • ruang tanduk servo x 12 (opsional)

Secara total, tidak termasuk spacer, ada 14 bagian. Total waktu pencetakan adalah sekitar 20 jam.

Langkah 5: Mempersiapkan Kurung Servo

Mempersiapkan Braket Servo
Mempersiapkan Braket Servo
Mempersiapkan Braket Servo
Mempersiapkan Braket Servo
Mempersiapkan Braket Servo
Mempersiapkan Braket Servo

Setelah semua bagian dicetak, Anda dapat mulai dengan menyiapkan servos dan braket servo. Pertama, dorong bantalan ke dudukan servo lutut. Pas harus pas tapi saya akan merekomendasikan pengamplasan permukaan bagian dalam lubang sedikit daripada memaksa bantalan yang mungkin berisiko merusak bagian. Kemudian lewati baut M4 melalui lubang dan kencangkan menggunakan mur. Selanjutnya, ambil tautan kaki dan pasang tanduk servo melingkar ke sana menggunakan sekrup yang disediakan. Pasang tautan kaki ke dudukan servo lutut menggunakan sekrup yang akan Anda gunakan juga untuk memasang motor servo. Pastikan untuk menyelaraskan motor sehingga poros berada di sisi yang sama dengan baut yang Anda pasang sebelumnya. Terakhir kencangkan servo dengan sisa mur dan baut.

Lakukan hal yang sama dengan dudukan servo pinggul dan dudukan servo kaki. Dengan ini, Anda harus memiliki tiga motor servo dan braket yang sesuai.

Catatan: Saya memberikan instruksi untuk membangun satu kaki, yang lain hanya dicerminkan.

Langkah 6: Membuat Potongan Tautan

Membuat Potongan Tautan
Membuat Potongan Tautan
Membuat Potongan Tautan
Membuat Potongan Tautan
Membuat Potongan Tautan
Membuat Potongan Tautan

Setelah kurung dipasang, mulailah membuat tautan. Untuk membuat tautan bantalan, sekali lagi amplas sedikit permukaan bagian dalam lubang untuk bantalan kemudian dorong bantalan ke dalam lubang di kedua sisi. Pastikan untuk mendorong bantalan sampai satu sisi rata. Untuk membuat tautan tanduk servo, ambil dua tanduk servo melingkar dan sekrup yang disediakan. Tempatkan tanduk pada cetakan 3D dan sejajarkan lubangnya, selanjutnya pasang tanduk pada cetakan 3D dengan memasang sekrup dari sisi cetakan 3D. Saya sarankan menggunakan spacer tanduk servo cetak 3D untuk sekrup ini. Setelah tautan dibuat, Anda dapat mulai merakit kaki.

Langkah 7: Merakit Kaki

Merakit Kaki
Merakit Kaki
Merakit Kaki
Merakit Kaki
Merakit Kaki
Merakit Kaki
Merakit Kaki
Merakit Kaki

Setelah tautan dan braket dipasang, Anda dapat menggabungkannya untuk membuat kaki robot. Pertama, gunakan tautan tanduk servo untuk memasang braket servo pinggul dan braket servo lutut bersama-sama. Catatan: Jangan kencangkan klakson ke servo dulu karena ada tahap pengaturan di tahap berikutnya dan akan merepotkan jika klakson disekrup ke motor servo.

Di sisi yang berlawanan, pasang tautan bantalan ke baut yang menonjol menggunakan mur. Terakhir, pasang braket servo kaki dengan memasukkan baut yang menonjol melalui bantalan pada dudukan servo lutut. Dan pasang poros servo ke tanduk servo yang terhubung ke dudukan servo lutut di sisi lain. Ini mungkin tugas yang rumit dan saya akan merekomendasikan sepasang tangan kedua untuk ini.

Ulangi langkah untuk kaki lainnya. Gunakan gambar yang dilampirkan pada setiap langkah sebagai referensi.

Langkah 8: PCB dan Pengkabelan Kustom

PCB dan Pengkabelan Kustom
PCB dan Pengkabelan Kustom
PCB dan Pengkabelan Kustom
PCB dan Pengkabelan Kustom
PCB dan Pengkabelan Kustom
PCB dan Pengkabelan Kustom

Ini merupakan langkah opsional. Untuk membuat pengkabelan lebih rapi, saya memutuskan untuk membuat PCB khusus menggunakan papan perf dan pin header. PCB berisi port untuk langsung menghubungkan kabel motor servo. Selain itu, saya juga meninggalkan port tambahan jika saya ingin memperluas dan menambahkan sensor lain seperti Unit Pengukuran Inersia atau sensor jarak ultrasonik. Ini juga berisi port untuk sumber daya eksternal yang diperlukan untuk memberi daya pada motor servo. Koneksi jumper digunakan untuk beralih antara USB dan daya eksternal untuk Arduino. Pasang Arduino dan PCB ke kedua sisi dudukan elektronik menggunakan sekrup dan spacer cetak 3D.

Catatan: Pastikan untuk mencabut jumper sebelum menghubungkan Arduino ke komputer Anda melalui USB. Tidak melakukan ini dapat mengakibatkan kerusakan Arduino.

Jika Anda memutuskan untuk tidak menggunakan PCB dan sebagai gantinya menggunakan papan tempat memotong roti, berikut adalah koneksi servonya:

  • Pinggul Kiri >> pin 9
  • Pinggul Kanan >> pin 8
  • Lutut Kiri >> pin 7
  • Lutut Kanan >> pin 6
  • Kaki Kiri >> pin 5
  • Kaki Kanan >> pin 4

Jika Anda memutuskan untuk membuat PCB, ikuti urutan yang sama seperti di atas dengan menggunakan port pada PCB dari kanan ke kiri dengan port IMU menghadap ke atas. Dan gunakan kabel jumper male to female biasa untuk menghubungkan PCB ke Arduino menggunakan nomor pin di atas. Pastikan juga untuk menghubungkan pin ground dan buat potensi ground dan pin Vin yang sama ketika Anda memutuskan untuk menjalankannya tanpa daya USB.

Langkah 9: Merakit Tubuh

Merakit Tubuh
Merakit Tubuh
Merakit Tubuh
Merakit Tubuh
Merakit Tubuh
Merakit Tubuh

Setelah kedua kaki dan elektronik terpasang, gabungkan keduanya untuk membangun tubuh robot. Gunakan potongan jembatan untuk menghubungkan kedua kaki bersama-sama. Gunakan lubang pemasangan yang sama pada dudukan servo pinggul dan mur dan baut yang menahan motor servo. Terakhir, sambungkan dudukan elektronik ke jembatan. Sejajarkan lubang di jembatan dan dudukan elektronik dan gunakan mur dan baut M4 untuk membuat sambungan.

Lihat gambar terlampir untuk bantuan. Dengan ini, Anda telah menyelesaikan pembuatan perangkat keras robot. Selanjutnya, mari masuk ke perangkat lunak dan menghidupkan robot.

Langkah 10: Pengaturan Awal

Pengaturan Awal
Pengaturan Awal
Pengaturan Awal
Pengaturan Awal
Pengaturan Awal
Pengaturan Awal

Apa yang saya perhatikan saat membangun proyek ini adalah bahwa motor servo dan klakson tidak perlu sejajar sempurna untuk tetap relatif paralel. Inilah sebabnya mengapa "posisi tengah" dari setiap motor servo harus disesuaikan secara manual agar sejajar dengan kaki-kaki. Untuk mencapai ini, lepaskan tanduk servo dari setiap servo dan jalankan sketsa initial_setup.ino. Setelah motor berada di posisi tengah, pasang kembali klakson sedemikian rupa sehingga kaki benar-benar lurus dan kaki sejajar sempurna dengan tanah. Jika ini masalahnya, Anda beruntung. Jika tidak buka file constants.h yang ditemukan pada tab yang berdekatan dan ubah nilai servo offset (baris 1-6) hingga kaki sejajar sempurna dan kaki rata. Bermain-main dengan nilai-nilai dan Anda akan mendapatkan ide tentang apa yang diperlukan dalam kasus Anda.

Setelah konstanta telah ditetapkan, catat nilai-nilai ini karena akan dibutuhkan nanti.

Lihat gambar untuk bantuan.

Langkah 11: Sedikit Tentang Kinematika

Sedikit Tentang Kinematika
Sedikit Tentang Kinematika
Sedikit Tentang Kinematika
Sedikit Tentang Kinematika
Sedikit Tentang Kinematika
Sedikit Tentang Kinematika

Untuk membuat biped melakukan tindakan yang berguna seperti berlari dan berjalan, berbagai gaya berjalan perlu diprogram dalam bentuk jalur gerak. Jalur gerak adalah jalur di mana efektor akhir (dalam hal ini kaki) berjalan. Ada dua cara untuk mencapai ini:

  1. Salah satu pendekatannya adalah dengan memberi makan sudut sambungan dari berbagai motor dengan cara yang kasar. Pendekatan ini bisa memakan waktu, membosankan, dan juga penuh dengan kesalahan karena penilaiannya murni visual. Sebaliknya, ada cara yang lebih cerdas untuk mencapai hasil yang diinginkan.
  2. Pendekatan kedua berputar di sekitar memberi makan koordinat efektor akhir alih-alih semua sudut sambungan. Inilah yang disebut sebagai Kinematika Terbalik. Pengguna memasukkan koordinat dan sudut sambungan menyesuaikan untuk memposisikan efektor akhir pada koordinat yang ditentukan. Metode ini dapat dianggap sebagai kotak hitam yang mengambil sebagai input koordinat dan output sudut bersama. Bagi yang tertarik bagaimana persamaan trigonometri kotak hitam ini dikembangkan dapat melihat diagram di atas. Bagi mereka yang tidak tertarik, persamaan sudah diprogram dan dapat digunakan menggunakan fungsi pos yang mengambil input x, z dan output tiga sudut yang sesuai dengan motor.

Program yang berisi fungsi-fungsi ini dapat ditemukan pada langkah berikutnya.

Langkah 12: Pemrograman Arduino

Memprogram Arduino
Memprogram Arduino
Memprogram Arduino
Memprogram Arduino

Sebelum memprogram Arduino, sedikit modifikasi perlu dilakukan pada file. Ingat konstanta yang saya minta untuk Anda catat? Ubah konstanta yang sama ke nilai yang Anda tetapkan di file constants.h.

Catatan: Jika Anda telah menggunakan desain yang disediakan dalam Instruksi ini, Anda tidak perlu mengubah apa pun. Jika ada beberapa dari Anda yang telah membuat desain sendiri, Anda harus mengubah beberapa nilai lagi bersama dengan offset. Konstanta l1 mengukur jarak antara poros pinggul dan poros lutut. Konstanta l2 mengukur jarak antara poros lutut dan poros pergelangan kaki. Jadi, jika Anda mendesain model Anda sendiri, ukur panjangnya, dan ubah konstanta. Dua konstanta terakhir digunakan untuk gaya berjalan. Konstanta stepClearance mengukur seberapa tinggi kaki akan terangkat saat maju ke depan setelah melangkah dan konstanta stepHeight mengukur ketinggian dari tanah ke pinggul saat mengambil langkah.

Setelah semua konstanta dimodifikasi sesuai dengan kebutuhan Anda, Anda dapat mengunggah program utama. Program utama hanya menginisialisasi robot ke dalam posisi berjalan dan mulai mengambil langkah ke depan. Fungsinya dapat dimodifikasi sesuai kebutuhan Anda untuk menjelajahi berbagai gaya berjalan, kecepatan, dan panjang langkah untuk melihat mana yang paling berhasil.

Langkah 13: Hasil Akhir: Saatnya Bereksperimen

Hasil Akhir: Saatnya Bereksperimen
Hasil Akhir: Saatnya Bereksperimen
Hasil Akhir: Saatnya Bereksperimen
Hasil Akhir: Saatnya Bereksperimen
Hasil Akhir: Saatnya Bereksperimen
Hasil Akhir: Saatnya Bereksperimen

Biped dapat mengambil langkah yang bervariasi dari 10 hingga 2 cm tanpa terbalik. Kecepatannya juga bisa divariasikan dengan tetap menjaga keseimbangan gaya berjalan. Biped ini dikombinasikan dengan kekuatan Arduino menyediakan platform yang kuat untuk bereksperimen dengan berbagai gaya berjalan dan tujuan lain seperti melompat atau menyeimbangkan saat menendang bola. Saya akan merekomendasikan Anda untuk mencoba mengubah jalur gerak kaki untuk membuat gaya berjalan Anda sendiri dan menemukan bagaimana berbagai gaya berjalan mempengaruhi kinerja robot. Sensor seperti IMU dan sensor jarak dapat ditambahkan ke sistem untuk meningkatkan fungsinya sementara sensor gaya dapat ditambahkan ke kaki untuk bereksperimen dengan penggerak dinamis pada permukaan yang tidak rata.

Semoga Anda menikmati Instruksi ini dan cukup menjadi inspirasi untuk membangun Anda sendiri. Jika Anda menyukai proyek ini, dukunglah dengan memberikan suara di "Kontes Arduino".

Selamat Membuat!

Kontes Arduino 2020
Kontes Arduino 2020
Kontes Arduino 2020
Kontes Arduino 2020

Hadiah Pertama dalam Kontes Arduino 2020

Direkomendasikan: