Arduino Robotic Controlled Biped: 13 Langkah (dengan Gambar)
Arduino Robotic Controlled Biped: 13 Langkah (dengan Gambar)
Anonim
Image
Image
Arduino Dikendalikan Robotik
Arduino Dikendalikan Robotik
Arduino Dikendalikan Robotik
Arduino Dikendalikan Robotik

Projek Fusion 360 »

Saya selalu tertarik dengan robot, terutama jenis yang cuba meniru tindakan manusia. Minat ini mendorong saya untuk merancang dan mengembangkan robot biped yang dapat meniru manusia berjalan dan berlari. Dalam Instructable ini, saya akan menunjukkan kepada anda reka bentuk dan pemasangan robot biped.

Matlamat utama semasa membina projek ini adalah untuk menjadikan sistem sekuat mungkin sehingga ketika bereksperimen dengan pelbagai jalan berjalan dan berjalan, saya tidak perlu selalu bimbang tentang kegagalan perkakasan. Ini membolehkan saya mendorong perkakasan ke hadnya. Tujuan kedua adalah untuk membuat biped dengan kos yang rendah menggunakan bahagian hobi yang tersedia dan percetakan 3D meninggalkan ruang untuk peningkatan dan pengembangan lebih lanjut. Kedua-dua tujuan ini digabungkan memberikan asas yang kuat untuk melakukan pelbagai eksperimen, membiarkan seseorang mengembangkan keperluan yang lebih khusus.

Ikuti terus untuk membuat Robotik Biped yang dikendalikan Arduino anda sendiri dan jatuhkan undi dalam "Peraduan Arduino" jika anda menyukai projek ini.

Langkah 1: Proses Reka Bentuk

Proses Reka Bentuk
Proses Reka Bentuk
Proses Reka Bentuk
Proses Reka Bentuk
Proses Reka Bentuk
Proses Reka Bentuk

Kaki humanoid dirancang di Autodesk secara percuma untuk menggunakan perisian pemodelan 3d Fusion 360. Saya mulakan dengan mengimport motor servo ke dalam reka bentuk dan membina kaki di sekitarnya. Saya merancang pendakap untuk motor servo yang memberikan titik pangsi kedua yang bertentangan dengan batang servo motor. Memiliki dwi poros di kedua hujung motor memberikan kestabilan struktur pada reka bentuk dan menghilangkan kemiringan yang mungkin berlaku ketika kaki dibuat untuk mengambil sedikit beban. Pautan dirancang untuk menahan bantalan sementara pendakap menggunakan bolt untuk poros. Setelah pautan dipasang ke poros menggunakan mur, galas akan memberikan titik pangsi yang halus dan kuat di sisi bertentangan poros motor servo.

Matlamat lain semasa merancang biped adalah untuk memastikan modelnya sekerap mungkin untuk menggunakan tork maksimum yang disediakan oleh motor servo. Dimensi pautan dibuat untuk mencapai jarak gerakan yang besar sambil meminimumkan panjang keseluruhan. Membuatnya terlalu pendek akan membuat kurungan bertabrakan, mengurangi jarak gerakan, dan membuatnya terlalu lama akan memberikan tork yang tidak perlu pada penggerak. Akhirnya, saya merancang badan robot di mana Arduino dan komponen elektronik lain akan dipasang.

Catatan: Bahagian-bahagian tersebut disertakan dalam salah satu langkah berikut.

Langkah 2: Peranan Arduino

Peranan Arduino
Peranan Arduino

Arduino Uno digunakan dalam projek ini. Arduino bertanggungjawab untuk menghitung jalur gerakan dari pelbagai gaits yang diuji dan mengarahkan penggerak bergerak ke sudut tepat pada kelajuan tepat untuk membuat gerakan berjalan lancar. Arduino adalah pilihan terbaik untuk membangunkan projek kerana fleksibiliti. Ia menyediakan banyak pin IO dan juga menyediakan antara muka seperti siri, I2C, dan SPI untuk berkomunikasi dengan pengawal mikro dan sensor lain. Arduino juga menyediakan platform yang bagus untuk prototaip dan ujian pantas dan juga memberi ruang kepada pembangun untuk peningkatan dan pengembangan. Dalam projek ini, versi selanjutnya akan merangkumi Unit Pengukuran Inersia untuk memproses gerakan seperti pengesanan jatuh dan pergerakan yang dinamik di kawasan yang tidak rata dan sensor pengukur jarak untuk mengelakkan halangan.

Arduino IDE digunakan untuk projek ini. (Arduino juga menyediakan IDE berasaskan web)

Catatan: Program untuk robot boleh dimuat turun dari salah satu langkah berikut.

Langkah 3: Bahan Yang Diperlukan

Bahan Yang Diperlukan
Bahan Yang Diperlukan
Bahan Yang Diperlukan
Bahan Yang Diperlukan
Bahan Yang Diperlukan
Bahan Yang Diperlukan
Bahan Yang Diperlukan
Bahan Yang Diperlukan

Berikut adalah senarai semua komponen dan bahagian yang diperlukan untuk membuat robot Bipedal berkuasa Arduino anda sendiri. Semua bahagian mestilah tersedia dan senang dicari.

ELEKTRONIK:

Arduino Uno x 1

Motor servo Towerpro MG995 x 6

Perfboard (ukuran serupa dengan Arduino)

Pin header lelaki dan wanita (masing-masing sekitar 20)

Kawat Jumper (10 keping)

MPU6050 IMU (pilihan)

Sensor ultrasonik (pilihan)

PERKAKASAN:

Bantalan papan selaju (8x19x7mm)

Mur dan selak M4

Filamen pencetak 3D (sekiranya anda tidak memiliki pencetak 3D, harus ada pencetak 3D di ruang kerja tempatan atau cetakan dapat dilakukan secara dalam talian dengan harga yang cukup murah)

Tidak termasuk pencetak Arduino dan 3D, jumlah kos projek ini adalah 20 $.

Langkah 4: Bahagian Bercetak 3D

Bahagian Bercetak 3D
Bahagian Bercetak 3D
Bahagian Bercetak 3D
Bahagian Bercetak 3D
Bahagian Bercetak 3D
Bahagian Bercetak 3D
Bahagian Bercetak 3D
Bahagian Bercetak 3D

Bahagian yang diperlukan untuk projek ini harus dirancang khusus oleh itu pencetak 3D digunakan untuk mencetaknya. Cetakan dibuat pada pengisian 40%, 2 perimeter, muncung 0.4mm, dan ketinggian lapisan 0.1mm dengan PLA, warna pilihan anda. Di bawah ini anda dapat mencari senarai lengkap bahagian dan STL untuk mencetak versi anda sendiri.

Catatan: Dari sini bahagian akan disebut menggunakan nama dalam senarai.

  • pemegang servo kaki x 1
  • cermin pemegang servo kaki x 1
  • pemegang servo lutut x 1
  • cermin pemegang servo lutut x 1
  • pemegang servo kaki x 1
  • cermin pemegang servo kaki x 1
  • pautan galas x 2
  • pautan tanduk servo x 2
  • pautan kaki x 2
  • jambatan x 1
  • pemasangan elektronik x 1
  • spacer elektronik x 8 (pilihan)
  • ruang tanduk servo x 12 (pilihan)

Secara keseluruhan, tidak termasuk spacer, terdapat 14 bahagian. Jumlah masa percetakan adalah sekitar 20 jam.

Langkah 5: Menyiapkan Kurungan Servo

Menyiapkan Kurungan Servo
Menyiapkan Kurungan Servo
Menyiapkan Kurungan Servo
Menyiapkan Kurungan Servo
Menyiapkan Kurungan Servo
Menyiapkan Kurungan Servo

Setelah semua bahagian dicetak, anda boleh memulakannya dengan memasang servo dan bracket servo. Tolak pertama ke dalam bantalan ke pemegang servo lutut. Pemasangannya sesuai tetapi saya akan mengesyorkan memoles permukaan dalaman lubang sedikit daripada memaksa galas yang mungkin berisiko memecahkan bahagiannya. Kemudian pasangkan bolt M4 melalui lubang dan ketatkan menggunakan mur. Seterusnya, ambil pautan kaki dan pasangkan tanduk servo bulat padanya menggunakan skru yang disediakan. Pasang pautan kaki ke pemegang servo lutut menggunakan skru yang akan anda gunakan untuk memasang motor servo juga. Pastikan untuk menyelaraskan motor supaya poros berada di sisi baut yang sama dengan yang anda pasangkan sebelumnya. Akhirnya selamatkan servo dengan baki dan baut yang lain.

Lakukan perkara yang sama dengan pemegang servo pinggul dan pemegang servo kaki. Dengan ini, anda harus mempunyai tiga motor servo dan kurungan yang sesuai.

Catatan: Saya memberikan arahan untuk membina satu kaki, yang lain hanya dicerminkan.

Langkah 6: Membuat Potongan Pautan

Membuat Kepingan Pautan
Membuat Kepingan Pautan
Membuat Potongan Pautan
Membuat Potongan Pautan
Membuat Potongan Pautan
Membuat Potongan Pautan

Setelah pendakap dipasang, mulailah membuat pautan. Untuk membuat pautan galas, sekali lagi pasir permukaan permukaan lubang untuk galas dengan ringan kemudian tolak galas ke dalam lubang di kedua-dua sisi. Pastikan menolak bantalan ke dalam sehingga satu sisi memerah. Untuk membina pautan tanduk servo, ambil dua tanduk servo bulat dan skru yang disediakan. Letakkan tanduk pada cetakan 3D dan gariskan lubang, pasangkan tanduk seterusnya ke cetakan 3D dengan memasang skru dari sisi cetak 3D. Saya cadangkan menggunakan spacer tanduk servo bercetak 3D untuk skru ini. Setelah pautan dibina, anda boleh memulakan pemasangan kaki.

Langkah 7: Memasang Kaki

Memasang Kaki
Memasang Kaki
Memasang Kaki
Memasang Kaki
Memasang Kaki
Memasang Kaki
Memasang Kaki
Memasang Kaki

Setelah pautan dan pendakap dipasang, anda boleh menggabungkannya untuk membina kaki robot. Pertama, gunakan pautan tanduk servo untuk memasang braket servo pinggul dan braket servo lutut. Catatan: Jangan memusingkan tanduk ke servo kerana masih ada tahap penyiapan pada tahap berikut dan akan menjadi ketidaknyamanan jika tanduk itu terpaut pada motor servo.

Di seberang pasangkan pautan galas ke selak yang menonjol menggunakan mur. Akhir sekali, pasangkan braket servo kaki dengan memasukkan bolt yang menonjol melalui galas pada pemegang servo lutut. Dan pasangkan poros servo ke tanduk servo yang disambungkan ke pemegang servo lutut di sisi lain. Ini mungkin tugas yang sukar dan saya akan mengesyorkan sepasang tangan kedua untuk ini.

Ulangi langkah untuk kaki yang lain. Gunakan gambar yang dilampirkan pada setiap langkah sebagai rujukan.

Langkah 8: PCB dan Pendawaian Tersuai

PCB dan Pendawaian Tersuai
PCB dan Pendawaian Tersuai
PCB dan Pendawaian Tersuai
PCB dan Pendawaian Tersuai
PCB dan Pendawaian Tersuai
PCB dan Pendawaian Tersuai

Ini adalah langkah pilihan. Untuk menjadikan pendawaian lebih kemas, saya memutuskan untuk membuat PCB tersuai menggunakan papan papan dan pin pengepala. PCB mengandungi port untuk menghubungkan wayar motor servo secara langsung. Di samping itu, saya juga meninggalkan port tambahan sekiranya saya ingin mengembangkan dan menambah sensor lain seperti Unit Pengukuran Inertial atau sensor jarak ultrasonik. Ini juga berisi port untuk sumber kuasa luaran yang diperlukan untuk menghidupkan motor servo. Sambungan jumper digunakan untuk menukar antara USB dan kuasa luaran untuk Arduino. Pasang Arduino dan PCB ke kedua sisi pelekap elektronik menggunakan skru dan spacer cetak 3D.

Catatan: Pastikan mencabut pelompat sebelum menyambungkan Arduino ke komputer anda melalui USB. Tidak melakukan ini boleh mengakibatkan kerosakan pada Arduino.

Sekiranya anda memutuskan untuk tidak menggunakan PCB dan sebaliknya menggunakan papan roti, inilah sambungan servo:

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

Sekiranya anda memutuskan untuk membuat PCB mengikuti susunan yang sama seperti di atas dengan menggunakan port pada PCB dari kanan ke kiri dengan port IMU menghadap ke atas. Dan gunakan wayar jumper lelaki ke wanita biasa untuk menyambungkan PCB ke Arduino menggunakan nombor pin di atas. Pastikan juga menyambungkan pin ground dan membuat potensi ground yang sama dan pin Vin ketika anda memutuskan untuk menjalankannya tanpa kuasa USB.

Langkah 9: Menyusun Badan

Menyusun Badan
Menyusun Badan
Menyusun Badan
Menyusun Badan
Menyusun Badan
Menyusun Badan

Setelah kedua kaki dan elektronik dipasang, gabungkan kedua-duanya untuk membina badan robot. Gunakan bahagian jambatan untuk menghubungkan kedua kaki bersama-sama. Gunakan lubang pemasangan yang sama pada pemegang servo pinggul dan mur dan baut yang menahan motor servo. Akhirnya, sambungkan pemasangan elektronik ke jambatan. Gariskan lubang di jambatan dan pasang elektronik dan gunakan mur dan baut M4 untuk membuat sambungan.

Rujuk gambar yang dilampirkan untuk mendapatkan bantuan. Dengan ini, anda telah menyelesaikan pembuatan perkakasan robot. Seterusnya, mari masuk ke dalam perisian dan menghidupkan robot.

Langkah 10: Persediaan Awal

Persediaan Awal
Persediaan Awal
Persediaan Awal
Persediaan Awal
Persediaan Awal
Persediaan Awal

Apa yang saya perhatikan semasa membina projek ini adalah bahawa motor servo dan tanduk tidak perlu sejajar dengan sempurna agar tetap selari. Inilah sebabnya mengapa "kedudukan tengah" setiap motor servo harus disesuaikan secara manual agar sejajar dengan kaki. Untuk mencapai ini, keluarkan tanduk servo dari setiap servo dan jalankan lakaran initial_setup.ino. Setelah motor berada di kedudukan tengahnya pasangkan tanduk sehingga kaki betul-betul lurus dan kaki betul-betul selari dengan tanah. Sekiranya ini berlaku, anda bernasib baik. Sekiranya tidak, buka fail constants.h yang terdapat di tab bersebelahan dan ubah nilai servo offset (garis 1-6) sehingga kaki sejajar dengan sempurna dan kaki rata. Main-main dengan nilai-nilai dan anda akan mendapat idea tentang apa yang perlu dalam kes anda.

Setelah pemalar telah ditetapkan, perhatikan nilai-nilai ini kerana ia akan diperlukan di kemudian hari.

Rujuk gambar untuk mendapatkan bantuan.

Langkah 11: Sedikit Mengenai Kinematik

Sedikit Mengenai Kinematik
Sedikit Mengenai Kinematik
Sedikit Mengenai Kinematik
Sedikit Mengenai Kinematik
Sedikit Mengenai Kinematik
Sedikit Mengenai Kinematik

Untuk membuat biped melakukan tindakan yang berguna seperti berlari dan berjalan, pelbagai gaits perlu diprogramkan dalam bentuk jalur gerakan. Laluan gerakan adalah jalan di mana penggerak akhir (kaki dalam kes ini) bergerak. Terdapat dua cara untuk mencapai ini:

  1. Salah satu pendekatannya ialah memberi makan sudut sendi dari pelbagai motor secara kasar. Pendekatan ini dapat memakan waktu, membosankan, dan juga dipenuhi dengan kesalahan kerana penilaian itu hanya visual. Sebaliknya, ada cara yang lebih bijak untuk mencapai hasil yang diinginkan.
  2. Pendekatan kedua berkisar pada memberi makan koordinat dari efektor akhir dan bukannya semua sudut sendi. Inilah yang dikenali sebagai Inverse Kinematics. Pengguna memasukkan koordinat dan sudut sendi disesuaikan untuk meletakkan efektor akhir pada koordinat yang ditentukan. Kaedah ini boleh dianggap sebagai kotak hitam yang mengambil sebagai input koordinat dan mengeluarkan sudut sendi. Bagi mereka yang berminat bagaimana persamaan trigonometri kotak hitam ini dikembangkan boleh melihat rajah di atas. Bagi mereka yang tidak berminat, persamaan sudah diprogramkan dan dapat digunakan menggunakan fungsi pos yang mengambil input x, z dan mengeluarkan tiga sudut yang sesuai dengan motor.

Program yang mengandungi fungsi-fungsi ini boleh didapati pada langkah seterusnya.

Langkah 12: Memprogram Arduino

Memprogram Arduino
Memprogram Arduino
Memprogram Arduino
Memprogram Arduino

Sebelum memprogram Arduino, sedikit pengubahsuaian perlu dilakukan pada fail. Masih ingat dengan pemalar yang saya minta anda mengeluarkan nota? Ubah pemalar yang sama dengan nilai yang anda tetapkan dalam fail constants.h.

Catatan: Sekiranya anda telah menggunakan reka bentuk yang disediakan dalam Instructable ini, anda tidak akan berubah. Sekiranya terdapat sebilangan daripada anda yang membuat reka bentuk mereka sendiri, anda perlu mengubah beberapa nilai lagi bersama dengan ofset. Pemalar l1 mengukur jarak antara pivot pinggul dan pivot lutut. Pemalar l2 mengukur jarak antara pivot lutut dan pivot pergelangan kaki. Oleh itu, jika anda merancang model anda sendiri, ukur panjangnya, dan ubah pemalarnya. Dua pemalar terakhir digunakan untuk bahagian bawah. Langkah pemalar langkah mengukur seberapa tinggi kaki akan mengangkat sambil maju ke depan setelah langkah dan pemalar ketinggian mengukur ketinggian dari tanah ke pinggul semasa mengambil langkah.

Setelah semua pemalar diubah mengikut keperluan anda, anda boleh memuat naik program utama. Program utama hanya menginisialisasi robot menjadi langkah berjalan dan mula mengambil langkah ke depan. Fungsi boleh diubah mengikut keperluan anda untuk meneroka pelbagai kelainan, kelajuan dan panjang langkah untuk melihat yang terbaik.

Langkah 13: Hasil Akhir: Masa untuk Percubaan

Keputusan Akhir: Masa untuk Percubaan
Keputusan Akhir: Masa untuk Percubaan
Keputusan Akhir: Masa untuk Percubaan
Keputusan Akhir: Masa untuk Percubaan
Keputusan Akhir: Masa untuk Percubaan
Keputusan Akhir: Masa untuk Percubaan

Biped dapat mengambil langkah yang bervariasi antara 10 hingga 2 cm tanpa membalikkan. Kelajuan juga dapat berubah-ubah sambil menjaga keseimbangan. Biped ini digabungkan dengan kekuatan Arduino menyediakan platform yang mantap untuk bereksperimen dengan pelbagai gaits dan objektif lain seperti melompat atau mengimbangkan sambil menendang bola. Saya mengesyorkan anda untuk mencuba mengubah jalan gerakan kaki untuk membuat pakaian anda sendiri dan mengetahui bagaimana pelbagai pakaian mempengaruhi prestasi robot. Sensor seperti IMU dan sensor jarak dapat ditambahkan ke sistem untuk meningkatkan fungsinya sementara sensor daya dapat ditambahkan ke kaki untuk bereksperimen dengan pergerakan dinamik pada permukaan yang tidak rata.

Semoga anda menikmati Instructable ini dan cukup memberi inspirasi untuk membina sendiri. Sekiranya anda menyukai projek ini, sokonglah dengan membuang undi dalam "Arduino Contest".

Selamat Membuat!

Peraduan Arduino 2020
Peraduan Arduino 2020
Peraduan Arduino 2020
Peraduan Arduino 2020

Hadiah Pertama dalam Peraduan Arduino 2020

Disyorkan: