Isi kandungan:
Video: Robot Kekacauan Pembelajaran Kendiri: 3 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:11
Adakah anda berminat dengan pembelajaran mesin, robot AI och? Anda tidak perlu bekerja di universiti mewah. Ini adalah gambaran mengenai robot kacau saya. Ini adalah robot yang sangat sederhana untuk menunjukkan bagaimana menggunakan kod pembelajaran kendiri dan bagaimana menerapkannya ke dalam platform arduino, dalam hal ini Arduino dijelaskan. Ia adalah platform yang sangat murah!
Kod tersebut mengembangkan robot sehingga robot belajar merangkak. Ia mendapat maklum balas dari tetikus yang tersembunyi di belakang. Kodnya adalah "genetik". Ini bermaksud bahawa sebilangan individu diuji dan yang terbaik disimpan dan akan mengandung bayi. Ini bermaksud bahawa kod tersebut berkembang secara evolusi.
Langkah 1: Perkakasan AKA the Robot
Awak perlu:
- 1 Arduino Berakhir
- 8 mikroservos
- 1 tetikus PS / 2
- 1 pengubah tahap
- beberapa varian pelindung sensor atau yang serupa, saya bosan dengan pelindung sensor dan mengimpal pelindung saya.
-kawat
- bekalan kuasa 5V luaran untuk servo
- beberapa kepingan logam sekerap, beberapa gam dan beberapa benang keluli. Dan pita!
Oleh itu, letakkan Due di lantai. Letakkan servo di cincin di sekelilingnya. Satukan dengan logam sekerap, gam dan benang. Ini adalah bahagian kekacauan! Oleh kerana reka bentuknya huru-hara, tidak dapat diramalkan untuk menentukan cara bergerak untuk membuatnya merangkak. Inilah sebabnya mengapa kod pembelajaran kendiri adalah cara yang tepat!
Petua: gunakan beberapa bahagian logam yang cukup berat, memudahkan robot bergerak.
Sambungkan servo dengan sewajarnya, sekiranya saya disambungkan ke D39, 41, 43, 45, 47, 49, 51, 53.
Sambungkan servo ke bekalan kuasa 5V luaran. Untuk ini, bina semacam perisai, atau gunakan pelindung sensor atau yang serupa. JANGAN memberi makan servo dari pin 5V yang dikenakan, itu tidak mencukupi, Due akan terbakar. Saya menggunakan papan prototaip kecil untuk mengedarkan 5 V ke semua servos. Papan ini juga memegang pengubah tahap untuk jam tetikus dan garis data PS / 2. Papan juga memberi makan tetikus dengan 5V. Ingatlah, sambungkan tanah dari kuasa luaran ke Arduino. skema menunjukkan cara menghubungkan semuanya.
Sambungkan PS / 2 ke kuasa (5V) dan arde. Sambungkan jam dan garis data PS / 2 ke Hutang melalui pergeseran tahap. (jatuh tempo 3.3V, PS / 2 pergi 5V). Sambungkan jam pada D12 dan data pada D13.
Untuk perincian mengenai protokol PS / 2, ini adalah arahan yang sangat baik:
www.instructables.com/id/Optical-Mouse-Od…
Perpustakaan PS / 2 oleh jazzycamel yang telah saya gunakan:
Langkah 2: Kodnya
Pada mulanya saya katakan: Saya BUKAN pengaturcara. Beberapa bahagian sangat luas, seorang pengaturcara yang mahir tentu saja dapat memendekkannya dan begitu dan seterusnya.
Kodnya adalah pembelajaran sendiri dan ini adalah teras projek. Ini adalah bahagian yang menyeronokkan! Ini bermaksud bahawa robot itu berkembang dan menjadi lebih baik dan lebih baik, dalam hal ini ia menjadi lebih baik dalam merangkak. Perkara yang mengagumkan ialah robot akan berkembang menjadi apa sahaja yang anda beri. Dalam kes ini, ia menyeret tetikus PS / 2 dan semakin lama tetikus diseret, semakin tinggi mata.
Ini juga bermaksud bahawa anda boleh menggunakan kod ini untuk melatih robot anda melakukan sesuatu yang lain, selagi ia diukur dan dimasukkan kembali ke robot!
Seperti yang anda lihat dalam gambar, tetikus diseret pada tali nipis. Pada mulanya ia diseret pada kabel tetikus. Namun, kabelnya agak kaku, jadi robot belajar menggoyangkan tetikus, bukannya menyeretnya. Gegaran menghasilkan titik tinggi …
Kod tersebut menggunakan 50 individu. Inti dari ini adalah susunan 50x50 bait.
Individu adalah sebilangan bait. Apabila individu digunakan untuk menjalankan robot, individu ini akan dikirim ke fungsi dalam kod yang disebut "tolken".
Pada permulaan larian terdapat 8 pemboleh ubah m1, m2, m3, m4, m5, m6, m7 dan m8 (satu untuk setiap servo). Dalam robot ini mereka semua mempunyai nilai permulaan yang tetap. Dalam "tolken" mś diubah dalam gelung case / swich bergantung pada nilai-nilai individu. sebagai contoh nilai "1" melaksanakan perkara berikut: m1 = m1 + m2.
Sekiranya seseorang adalah: 1, 2, 3, 0, 0, 0, 0….. maka mś akan berubah dengan cara berikut:
m1 = m1 + m2;
m1 = m1 + m3;
m1 = m1 + m4;
Tolken adalah senarai 256 operasi matematik yang berbeza, jadi setiap kemungkinan nilai array individu mewakili perubahan matematik dari nilai m.
Proses tolken dilakukan sebanyak 4 kali, dengan pembacaan antara setiap pusingan, menghasilkan empat kod motor yang berbeza untuk setiap "m". Motor adalah nilai yang kemudian dihantar ke servo.
Dalam setiap langkah evolusi, 4 individu bersaing dalam merangkak. Dua individu terbaik akan menjadi ibu bapa kepada dua bayi, bayi akan menggantikan dua individu terburuk. Apabila bayi dibuat, potongan "kod genetik" dari satu ibu bapa diperdagangkan untuk potongan dari ibu bapa yang lain, ini akan menghasilkan dua individu baru.
Sekiranya tidak ada individu yang melakukan sama sekali, mutasi individu akan berlaku untuk menghasilkan yang baru.
Anda boleh mendapatkan kod di GitHub:
Langkah 3: Bagaimana Melatihnya?
Ini adalah bahagian yang sukar. Untuk melatih dengan betul, anda perlu "menetapkan semula" selepas setiap larian. Ini bermaksud bahawa anda mesti meletakkannya pada kedudukan yang sama setiap masa.
Saya telah meletakkan beberapa titik pemeriksaan di dalam kod tersebut untuk memastikan bahawa robot berada di kedudukan awal.
Oleh itu, sejajarkan robot dan biarkan ia berjalan.
Ia menguji 4 individu dan kemudian memilih 2 yang terbaik untuk menjadi ibu bapa. Setelah menggantikan yang terburuk dengan bayi, ia mencetak beberapa data mengenai prestasi individu. Ia juga mencetak susunan 50x50. Adalah bijak untuk menyalinnya ke lembaran excel atau yang serupa. (atau tuliskan beberapa kod keperluan dalam pemprosesan) Sekiranya Hutang diset semula (ini berlaku dengan pelbagai sebab) anda tidak akan kehilangan kerja latihan anda. Anda boleh menyalin / menampal susunan ke dalam kod dan terus berlatih sekiranya anda tinggal.
Robot saya belajar merangkak setelah beberapa jam. Muat turun video untuk melihatnya merangkak. Ia tidak mengikut arah yang saya sangka!
Cuba juga lantai yang berbeza! Robot saya menunjukkan prestasi terbaik di permaidani nilon.
Kemungkinan peningkatan:
1. Lebih baik mempunyai nano yang terpisah untuk membaca tetikus PS / 2, dan mengirim jarak yang diproses dipindahkan secara bersiri ke nano. Pembacaan tetikus PS / 2 saya agak goyah. Ini adalah sebab tetikus membaca / membersihkan bahagian kod.
2. semacam rigg ujian yang menyeret robot kembali ke kedudukan awalnya akan mempercepat latihan.
3. Saya fikir adalah bijak untuk melatihnya sedikit lebih perlahan daripada yang saya lakukan. Latihan yang lebih perlahan memastikan bahawa ia dilatih "ke arah yang betul". Prestasi rata-rata beberapa ujian boleh menjadi cara yang mungkin.
Disyorkan:
Pembelajaran Kendiri Maze Crab Robot PROTOTYPE 1 STATUS INCOMPLETE: 11 Langkah
Pembelajaran Kendiri Maze Crab Robot PROTOTYPE 1 STATUS INCOMPLETE: DISCLAIMER !!: Hai, maaf atas gambar yang kurang baik, saya akan menambah lebih banyak arahan dan rajah kemudian (dan perincian yang lebih spesifik. Saya tidak mendokumentasikan prosesnya (sebaliknya saya hanya membuat video selang masa). Juga arahan ini tidak lengkap, seperti yang saya lakukan
Spooky Teddy - Kerusi goyang kendiri Arduino & Kepala Putar: 11 Langkah (dengan Gambar)
Spooky Teddy - Kerusi goyang kendiri Arduino & Putar Kepala: Spooky teddy adalah hiasan Halloween 2 bahagian. Bahagian pertama ialah teddy bear yang mempunyai mekanisme cetak 3d yang dapat berputar dengan Arduino UNO dan solenoid. Bahagian kedua adalah kerusi goyang sendiri yang dikuasakan oleh Arduino nano dan solenoid
Mikro: bit Klooikoffer (kekacauan): 3 Langkah (dengan Gambar)
Mikro: bit Klooikoffer (kes-kes): Sebagai juruterbang, perpustakaan kami menyewa klooikoffers Micro: bit, yang saya rasa sangat hebat! Klooikoffers dibekalkan oleh Conrad, tetapi mereka datang dalam kotak kadbod. Untuk menjadikan Klooikoffers sesuai untuk disewa, kami telah membuat beberapa perubahan
DANGLER UTAMA +/- Cermin untuk Penilaian Kendiri (Cara Membuat): 5 Langkah
KEY DANGLER +/- Cermin untuk Penilaian Diri (Cara Membuat): Buat dangler kunci anda sendiri, dengan seberapa banyak atau sebilangan kunci yang anda ada. Jadikan ia hiasan, menjadikannya berfungsi. Sangat murah untuk dibuat, hasil yang sangat menarik
Kotak Pengecasan IKEA - Tiada Lagi Kekacauan Kabel! Sangat Mudah Dilakukan: 3 Langkah
Kotak Pengecasan IKEA - Tiada Lagi Kekacauan Kabel! Sangat Mudah Dilakukan: Berdasarkan apa yang saya baca di web mengenai kekacauan kabel dan kekacauan (telefon bimbit, PDA, iPod, dan lain-lain-pengecas), saya dapat mengetahui cara membuat kotak pengecas yang mudah dan senang dibuat. ini terutama mengenai kesederhanaan dan, mengapa tidak, diskrit dan