Daftar Isi:

ICBob - Robot Biped Terinspirasi Bob: 10 Langkah (dengan Gambar)
ICBob - Robot Biped Terinspirasi Bob: 10 Langkah (dengan Gambar)

Video: ICBob - Robot Biped Terinspirasi Bob: 10 Langkah (dengan Gambar)

Video: ICBob - Robot Biped Terinspirasi Bob: 10 Langkah (dengan Gambar)
Video: Amazon re:MARS 2022 - Day 2 - Keynote 2024, Juli
Anonim
Image
Image
ICBob - Robot Biped Terinspirasi Bob
ICBob - Robot Biped Terinspirasi Bob

Kami adalah Klub Pembayang Remaja dari Perpustakaan Umum Bridgeville Delaware. Kami membuat proyek keren sambil belajar tentang elektronik, pengkodean komputer, desain 3D, dan pencetakan 3D.

Proyek ini adalah adaptasi kami dari BoB the BiPed sebuah robot berbasis Arduino. Kami mendesain ulang bodi untuk memanfaatkan sumber daya Arduino favorit kami, bank daya ponsel Powerbot. Sumber daya 5 volt isi ulang yang murah ini sangat bagus untuk memberi daya pada proyek Arduino kami dan dapat diisi ulang dengan pengisi daya dinding USB apa pun. Kami juga mengadaptasi 3 jari kaki dari robot berkaki dua Arduped hanya karena terlihat LUAR BIASA. Kami akan menunjukkan kepada Anda di mana mendapatkan suku cadang yang Anda butuhkan, cara merakit robot dan bahkan memberi Anda beberapa kode Arduino yang mudah untuk membuatnya berjalan. Kami bersenang-senang membuat sebelas robot ICBob kami. Teruslah membaca jika Anda ingin mempelajari cara membuatnya sendiri.

Langkah 1: Suku Cadang dan Alat yang Anda Butuhkan

Suku Cadang dan Alat yang Anda Butuhkan
Suku Cadang dan Alat yang Anda Butuhkan
Suku Cadang dan Alat yang Anda Butuhkan
Suku Cadang dan Alat yang Anda Butuhkan

ICBob dirancang untuk rangkaian suku cadang berikut. Meskipun substitusi dimungkinkan, Anda mungkin perlu memodifikasi bodi untuk membuatnya berfungsi. Pemasok favorit kami adalah Yourduino.com tetapi untuk beberapa item Anda harus pergi ke Amazon atau Ebay.

Pembaruan Ketersediaan Produk- Yourduino tidak lagi membawa Micro Magician dan mengatakan mereka dihentikan oleh Dagu. Situs web Dagu masih memilikinya https://www.dagurobot.com/goods.php?id=137 dan jika tidak tersedia, pengontrol S4A EDU adalah pengganti setetes dan beroperasi pada 5 volt.

Bagian

  • 1x- Pengontrol MICRO Magician
  • 4x- SG 90 servo
  • 1x- HC-SR04 Sensor ultrasonik
  • 1x- Powerbank Powerbot 2600mAh (Powerbot 3000mAh berdiameter lebih besar dan tidak muat)
  • 1x- MICRO USB wanita ke DIP 5-Pin Pinboard
  • 1x-20 cm 40 pin ujung kabel datar perempuan
  • 1x- 10k resistor
  • 4x- 2-56 x 3/8 sekrup self-tapping (lem panas alternatif)

Cetakan 3D - File stl tersedia di Thingiverse thing:1313344

  • 1x- tubuh
  • 1x- kulit
  • 2x- lutut
  • 1x- kaki kiri
  • 1x- kaki kanan

Peralatan

  • komputer dengan Arduino IDE
  • Arduino menambahkan perpustakaan VarSpeedServo
  • MICRO Magician Driver (diperlukan untuk beberapa sistem operasi)
  • Printer 3D (atau buat bagian-bagiannya)
  • Alat pembersih bagian 3D
  • Solder kit (hanya untuk pin pada adaptor USB)
  • Pistol lem panas
  • Obeng Philips kecil
  • pengisi daya usb

Instruksi ini mengasumsikan Anda memiliki pengetahuan dasar tentang penggunaan Arduino. Jika Anda baru mengenal Arduino, Anda dapat mempelajari lebih lanjut di

Untuk MICRO Magician pilih Board - Arduino Pro atau Pro Mini(3.3V, 8MHz) w/ ATmega328

Anda akan memerlukan perpustakaan VarSpeedServo Korman untuk menggunakan sketsa kami. Anda dapat mengetahui lebih lanjut tentang perpustakaannya di sini tetapi gunakan unduhan kami di bawah ini yang kompatibel dengan IDE yang lebih baru. Unduh file VarSpeedServo.zip di bawah ini dan unzip ke folder arduino/libraries Anda.

Anda mungkin perlu menginstal driver MICRO Magician CP210x jika sistem Anda tidak mengenali pengontrol. Situs ini dapat membantu menginstal driver

Langkah 2: Mari Mulai Membangun - Merakit Kaki

Mari Mulai Membangun - Merakit Kaki
Mari Mulai Membangun - Merakit Kaki
Mari Mulai Membangun - Merakit Kaki
Mari Mulai Membangun - Merakit Kaki
Mari Mulai Membangun - Merakit Kaki
Mari Mulai Membangun - Merakit Kaki

Untuk langkah ini Anda akan membutuhkan 2 - lutut cetak 3D dan 4 paket servo.

Mulailah dengan membersihkan lutut. 2 lubang tanduk servo harus sesuai dengan tanduk servo satu sisi. Kami membersihkannya dengan mata bor berukuran letter L (.290). Satu lubang pivot harus pas dengan pivot di kaki. Kami membersihkannya dengan mata bor berukuran # 2 (.220).

Pasang 4 tanduk servo ke lutut. Pasang klakson menggunakan salah satu sekrup yang lebih besar yang disertakan dengan paket servo. Pasang sekrup dari sisi lutut dan kencangkan ke salah satu lubang kecil di tanduk servo. Untuk satu sekrup, Anda harus mengencangkannya dengan obeng secara miring, tetapi itu bisa dilakukan. Anda dapat memotong titik sekrup yang menonjol dengan tang pemotong samping jika Anda mau.

4 spindel servo harus dipusatkan sebelum dipasang ke lutut. Anda dapat melakukannya secara manual dengan menggerakkan spindel secara perlahan melalui putarannya untuk menemukan titik tengah jalan. Cara yang lebih baik adalah dengan memasang servo ke pin 12. Download file icbob_servo_center.zip di bawah ini. Buka zip ke direktori Arduino Anda. Kemudian jalankan sketsa Arduino ini untuk setiap servo.

Mulailah dengan merakit servos pinggul (atas) ke lutut. Tanpa menggerakkan spindel pasang servo pinggul sejajar dengan lutut dengan kabel menghadap tanduk servo lainnya (depan). Amankan dengan satu sekrup kecil dari paket servo. Ulangi untuk lutut lainnya.

Sekarang untuk servos pergelangan kaki. INGAT Anda akan memiliki pergelangan kaki kanan dan kiri sehingga kaki akan menjadi bayangan cermin satu sama lain. Anda harus merentangkan lutut sedikit untuk merakit servo pergelangan kaki, jadi arahkan servo seperti pada foto sebelum menekannya. Ingatlah untuk tidak memutar poros. Amankan dengan sekrup kecil. Ulangi dengan lutut lainnya sehingga Anda selesai dengan kaki kanan dan kiri.

Langkah 3: Membangun - Pasang Kaki ke Tubuh

Bangunan - Pasang Kaki ke Tubuh
Bangunan - Pasang Kaki ke Tubuh
Bangunan - Pasang Kaki ke Tubuh
Bangunan - Pasang Kaki ke Tubuh
Bangunan - Pasang Kaki ke Tubuh
Bangunan - Pasang Kaki ke Tubuh

Anda akan membutuhkan rakitan 2 kaki dan alas cetak 3D untuk langkah ini. Anda juga membutuhkan (4) sekrup self-tapping 2-56x3/8 atau lem panas.

Rakitan kaki menempel pada alas melalui servos pinggul. Pertama rutekan 2 kabel servo ke atas melalui bagian bawah alas. Pikiran kanan dan kiri. Seperti yang ditunjukkan gambar, kawat pergelangan kaki berakhir di potongan setengah bulan tetapi Anda harus memiliki kawat pergelangan kaki sebelum servo terpasang. Anda harus memiringkan servo sehingga kawat pinggul (tempat masuknya servo) melewati lubang persegi terlebih dahulu (ke depan). Ini pas tapi bagian belakangnya harus masuk saja. Sekarang balikkan alasnya dan kencangkan servo dengan 2 sekrup atau lem panas alternatif harus bekerja. Ulangi proses untuk kaki lainnya.

Langkah 4: Membangun - Pasang Kaki

Bangunan - Pasang Kaki
Bangunan - Pasang Kaki
Bangunan - Pasang Kaki
Bangunan - Pasang Kaki

Untuk langkah ini, Anda memerlukan kaki kiri dan kaki kanan untuk ditambahkan ke rakitan Anda. Mereka terpaku pada panas jadi nyalakan pistol lem.

Pastikan Anda membersihkan slot di kaki dengan baik. Uji dengan lembut paskan servo ke kaki setelah dibersihkan. Pastikan lubang pivot di lutut pas dengan pin pivot di kaki. Yang terbaik adalah menggunakan obeng tipis di antara servo dan kaki untuk melepaskan kaki jika kencang. Setelah Anda mendapatkan tes yang baik, tempatkan segumpal lem panas ukuran sepeser pun di kaki lalu tekan servo ke kaki. Hindari lem di dekat area pivot. Ulangi untuk sisi yang lain sehingga bot Anda dapat berdiri dengan kedua kakinya sendiri.

Langkah 5: Pengkabelan - Servo dan Daya

Pengkabelan - Servo dan Daya
Pengkabelan - Servo dan Daya
Pengkabelan - Servo dan Daya
Pengkabelan - Servo dan Daya
Pengkabelan - Servo dan Daya
Pengkabelan - Servo dan Daya

Pada langkah ini Anda akan memerlukan pengontrol MICRO Magician, papan adaptor USB mikro dengan pin header, kabel datar, dan bot berdiri Anda. Anda akan menyolder dan menempelkan panas pada langkah ini jadi siapkan alat-alat itu.

Bank daya Powerbot dilengkapi dengan kabel USB ke mikro USB pendek. Untuk mengisi daya baterai, micro USB dicolokkan ke slot pengisian daya pada baterai dan USB masuk ke pengisi daya dinding. Anda akan menggunakan kembali kabel ini untuk memberi daya pada ICBob. Output baterai melalui USB jadi kami terhubung melalui papan adaptor micro USB untuk mendapatkan daya ke bot.

Pertama mari kita merakit adaptor. Lihat foto untuk langkah selanjutnya. Anda hanya akan menggunakan 2 pin luar (gnd dan V+) untuk memberi daya pada bot. Geser dengan hati-hati 2 pin luar di header sehingga sisi pendeknya menonjol sekitar 3/16 inci. Dengan tang, tekuk 2 pin panjang sekitar 60 derajat. Tekuk sebelum menyolder karena papannya rapuh. Masukkan header seperti yang ditunjukkan dan solder semua pin di belakang untuk kekuatan. Klip semua pin yang tidak digunakan sesingkat mungkin baik depan maupun belakang. Sebelum kami merekatkan adaptor ke laras, pasang kabel micro USB sehingga Anda mendapatkan jarak yang cukup. Letakkan gumpalan besar lem panas di bagian belakang adaptor lalu letakkan di posisi yang ditunjukkan pada laras. Tahan sampai mengeras.

Selanjutnya pasang 4 konektor servo ke controller. Kami menyukai MICRO Magician karena memiliki konektor 3 pin onboard untuk memudahkan pemasangan kabel servo. Kabel warna yang lebih gelap (coklat?) Menuju tepi papan. Sketsa Arduino yang disertakan menggunakan pin berikut.

  • Pinggul Kanan (RH) - pin 9
  • Pergelangan Kaki Kanan (RA) - pin 10
  • Pinggul Kiri (LH) - pin 11
  • Pergelangan Kaki Kiri (LA) - pin 12

Untuk sambungan daya ke papan, tarik sepasang kabel dari kabel datar. Anda akan menggunakan lebih banyak kabel datar ini untuk kabel sonar. Hubungkan salah satu ujung pasangan ke adaptor USB mikro. Pin yang lebih dekat ke bagian depan bot di-ground dan yang lainnya V+. Ujung lainnya menempel pada pengontrol di dekat sakelar. Kabel V+ terhubung ke pin berlabel 'Battery IN' dalam dokumentasi. Hubungkan kabel ground ke pin 'gnd' sedikit di atas pin 'Battery IN'.

PENTING! - Ada jumper 'V+ pilih' tepat di atas set pin D1. Jumper ini harus berada di INSIDE set pin atau servos tidak akan berfungsi.

Terakhir bersihkan slot pengontrol di alasnya sehingga pengontrol terpasang dengan pas. Anda dapat memasang baterai dan mengaktifkan 'pengendali' untuk memastikannya menyala.

Langkah 6: Pemrograman - Kode Kalibrasi Rumah

Beberapa kata tentang pilihan pemrograman kami

Saat kami membuat prototipe untuk proyek ini, kami menggunakan tutorial Cara Mengajarkan BoB Biped Anda untuk memindahkan di Let's Make Robots. Perangkat lunak Bob Poser keren dan kami bersenang-senang memainkannya. Masalahnya adalah 600+ baris kode dalam sketsa Navigasi jauh di atas tingkat pengetahuan remaja. Untuk membuat proyek ini lebih menjadi pengalaman belajar bagi mereka, kami memutuskan untuk mengumpulkan beberapa ide dari kode Poser dan kemudian memulai kembali dengan halaman kosong. Para remaja telah menggunakan perpustakaan VarSpeedServo sambil belajar tentang servos di laboratorium Arduino kami. Kami memutuskan untuk melihat apakah VarSpeedServo dapat menangani tugas waktu dan kecepatan untuk servos sehingga kami hanya dapat berkonsentrasi pada posisi. Kode yang dihasilkan berfungsi dengan baik dan sketsa walk_avoid_turn lengkap memiliki kurang dari 100 baris kode. Satu-satunya konsep baru yang perlu dipelajari remaja adalah array 2 dimensi dan cara mengakses data itu dengan kode. Menikmati!

Kalibrasi Rumah

Anda memusatkan spindel servo saat Anda merakitnya. Sekarang Anda akan melihat seberapa dekat Anda dan menyesuaikan posisi kandang mereka. Pastikan Anda memiliki perpustakaan VarSpeedServo dari langkah 1 yang diinstal. Unduh file icbob_home_calibration.zip di bawah ini dan unzip ke direktori Arduino Anda. Buka sketsa di Arduino IDE. Nyalakan MICRO Magician dengan baterai. Hubungkan komputer ke papan dan unggah kode. Kemungkinan posisi servo home tidak akan sempurna. Temukan bagian berikut dalam kode. Terus sesuaikan dan unggah sampai Anda melakukannya dengan benar.

//…………………………………………………….

// Mulai dengan anggota larik 4 hm yang disetel ke 90 derajat. lalu sesuaikan // setting ini agar lutut lurus ke depan dan kaki rata int hm[4] = {90, 90, 90, 90}; //array untuk menahan posisi home untuk setiap servo RH, RA, LH, LA //…………………………………………….

Jika salah satu nomor Anda kurang dari 50 atau lebih besar dari 130, Anda perlu mundur dan membongkar kaki dan mendekatkan spindel ke tengah.

Setelah Anda memiliki posisi rumah yang baik, tuliskan angka-angkanya. Anda akan membutuhkan angka-angka ini untuk sisa sketsa.

Langkah 7: Pemrograman - Pindahkan Kode Generator

Pemrograman - Pindahkan Kode Generator
Pemrograman - Pindahkan Kode Generator

Sekarang untuk membuat bot Anda bergerak. Unduh file icbob_move_generator.zip di bawah ini dan unzip ke direktori Arduino Anda. Buka sketsa di Arduino IDE. Temukan bagian kode berikut. Letakkan posisi rumah yang Anda rekam untuk bot Anda di sketsa.

//atur anggota untuk array hm ke posisi awal untuk robot Anda

//mereka dapat ditemukan dengan menggunakan icbob_home_calibration sketch const int hm[4] = {95, 95, 85, 90}; //array untuk menahan posisi home untuk setiap servo RH, RA, LH, LA

Bagian kode berikut adalah tempat urutan langkah dimasukkan. Setiap baris memiliki posisi untuk 4 servo (RH, RA, LH, LA) relatif terhadap posisi awal.

//mv data larik. Setiap baris adalah 'bingkai' atau posisi yang ditetapkan untuk 4 servos

//Beberapa baris membuat grup gerakan yang dapat diulang //membuat berjalan, berputar, menari atau gerakan lainnya const int mvct = 6; //Jadikan angka ini sama dengan jumlah baris dalam array const int mv[mvct][4] = { {0, -40, 0, -20}, //Angka-angka yang dimuat sebelumnya ini harus memberikan jalan maju {30, -40, 30, -20}, {30, 0, 30, 0}, {0, 20, 0, 40}, {-30, 20, -30, 40}, {-30, 0, -30, 0}, };

Ini adalah kode yang mengubah data array mv menjadi gerakan lambat servo

void loop() //loop berulang selamanya

{ // Lakukan urutan gerakan for(int x=0; x<mvct; x++) { //menggilir bilangan RH.slowmove (hm[0] + mv[x][0], svsp); //baris 'bingkai' dalam larik RA.slowmove (hm[1] + mv[x][1], svsp); LH.slowmove (hm[2] + mv[x][2], svsp); LA.slowmove (hm[3] + mv[x][3], svsp); penundaan (framedelay); } }

Unggah ke bot. Bot akan pergi ke posisi home selama 2 detik kemudian memulai loop berjalan maju. Ini bekerja paling baik jika meja tidak terlalu licin.

Setelah Anda bosan melihatnya berjalan, Anda dapat mencoba gerakan Anda sendiri. Gunakan 'save as' untuk mengganti nama sketsa. Kemudian mainkan dengan angka-angka dan lihat apa yang dapat Anda lakukan. Pertahankan angka antara +50 dan -50 atau Anda dapat membuat servos tegang. Ingat jika Anda menambah atau mengurangi garis, Anda harus mengubah nilai mvct untuk mencerminkan perubahan. Selamat bersenang-senang!

Langkah 8: Pengkabelan - Sensor Sonar HC-SR04 (Mata)

Pengkabelan - Sensor Sonar HC-SR04 (Mata)
Pengkabelan - Sensor Sonar HC-SR04 (Mata)
Pengkabelan - Sensor Sonar HC-SR04 (Mata)
Pengkabelan - Sensor Sonar HC-SR04 (Mata)

Untuk langkah ini Anda memerlukan cetakan 3D icbob_shell, sensor ultrasonik HC-SR04, kabel flat perempuan dan satu resistor 10k ohm. Ini harus menyelesaikan bagian-bagian dalam daftar kami. Ya!

Pertama-tama bersihkan lubang sensor di cangkang agar pas dengan ukuran sedang. Jangan terlalu menekan sensor saat melakukan pengetesan. Hapus dari shell untuk kabel.

Selanjutnya tarik 4 helai dari kabel datar. Colokkan 4 kabel ke pin sensor HC-SR04.

MICRO Magician internal bekerja pada 3,3 volt dan pin hanya dapat menerima sinyal 3,3 volt. Masalahnya adalah HC-SR04 beroperasi pada 5 volt. Dapat menggunakan input 3,3 volt sebagai sinyal 'pemicu' tetapi ketika mengirimkan sinyal 'gema' tegangannya 5 volt dan akan merusak input pengontrol jika disambungkan secara langsung. Kita perlu menempatkan resistor pembatas arus 10k ohm pada kabel 'echo' untuk melindungi input.

PEMBARUAN: Meskipun kami tidak memiliki masalah dengan hanya resistor 10K sebaris, ditunjukkan dalam komentar bahwa praktik terbaik menunjukkan rangkaian pembagi tegangan harus digunakan di sini. Selain resistor 10K, resistor 15K harus ditempatkan di antara 'echo' dan 'ground'.

Potong ujung resistor menjadi 0,5 inci. Resistor masuk ke kabel 'gema' pada kabel datar Anda. Kami menaruh setetes lem super pada sambungan untuk membantunya tetap terpasang.

Sketsa menggunakan pin 13 untuk pemicu dan pin 3 untuk gema. Gunakan grup pin 13 pada pengontrol untuk 'gnd', 'vcc', 'trig' dengan urutan yang bekerja dari tepi ke tengah. Anda harus menyilangkan beberapa kabel di sini untuk melakukannya dengan benar. Kabel 'echo' dengan resistor dihubungkan ke soket pin 3 betina.

Jika Anda ingin memeriksa sensor sebelum melanjutkan ke langkah berikutnya, Anda dapat menggunakan sketsa pertama di halaman ini https://arduino-info.wikispaces.com/UltraSonicDistance untuk mengujinya. Anda memerlukan baterai yang terhubung. Anda dapat melihat pembacaan jarak pada monitor serial. Pastikan Anda mengatur 'trigger_pin' ke 13 dan 'echo_pin' ke 3 di sketsa.

Cara terbaik untuk memasang sensor di cangkang adalah dengan pin mengarah ke atas dan kabel dilipat dan diarahkan antara 'mata' sensor dan cangkang.

Langkah 9: Pemrograman - Walk_Avoid_Turn Code

Menyatukan semuanya. Semua bagian dirakit. Kami siap memuat kode lengkap, memasang shell dan melihatnya melakukan tugasnya.

Anda tahu rutinitasnya. Unduh file icbob_walk_avoid_turn.zip di bawah ini dan unzip ke direktori Arduino Anda. Buka sketsa di Arduino IDE. Temukan bagian kode berikut. Letakkan posisi rumah yang Anda rekam untuk bot Anda di sketsa.

//set anggota untuk larik hm ke posisi awal untuk robot Anda

//mereka dapat ditemukan dengan menggunakan icbob_home_calibration sketch const int hm[4] = {95, 95, 85, 90}; //array untuk menahan posisi home untuk setiap servo RH, RA, LH, LA

Sketsa ini menambahkan larik gerakan kedua dan set kedua kode gerakan lambat untuk gerakan 'putar'.

//majukan data array

const int fwdmvct = 6; //Jadikan angka ini sama dengan jumlah baris dalam array const int fwdmv[fwdmvct][4] = { {0, -40, 0, -20}, //walk forward move frames {30, -40, 30, -20}, {30, 0, 30, 0}, {0, 20, 0, 40}, {-30, 20, -30, 40}, {-30, 0, -30, 0}, }; //mengubah data array const int trnmvct = 5; //Jadikan angka ini sama dengan jumlah baris dalam array const int trnmv[trnmvct][4] = { {-40, 0, -20, 0}, //turn move frames {-40, 30, -20, 30}, {0, 30, 0, 30}, {30, 0, 30, 0}, {0, 0, 0, 0}, };

Kami menambahkan kode deteksi rintangan sonar serta pernyataan 'jika' 'lain' untuk memutuskan apakah kami akan lurus atau berbelok.

Perakitan Akhir dan start-up

Biarkan baterai dicabut dan unggah sketsa. Lepaskan kabel pemrograman. Pastikan sakelar daya pada pengontrol berada dalam posisi 'on' bawah. Geser cangkang dengan hati-hati ke alas dengan kabel daya USB mencuat melalui lubang atas. Masukkan ke dalam baterai. Colokkan. ICBob Anda harus mulai bergerak dan berputar untuk menghindari rintangan yang lebih dekat dari 7 inci.

Langkah 10: Penutup

Kami harap Anda bersenang-senang membangun ICBob Anda seperti kami membangun ICBob kami. Beri tahu kami jika Anda memiliki pertanyaan atau komentar. Jika Anda membangunnya, beri tahu kami di sini atau di atas Thingiverse.

Direkomendasikan: