Daftar Isi:

EyeRobot - Tongkat Putih Robot: 10 Langkah (dengan Gambar)
EyeRobot - Tongkat Putih Robot: 10 Langkah (dengan Gambar)

Video: EyeRobot - Tongkat Putih Robot: 10 Langkah (dengan Gambar)

Video: EyeRobot - Tongkat Putih Robot: 10 Langkah (dengan Gambar)
Video: UNBOXING ROBOT VIRAL YANG KATANYA BISA GAMBAR! 🤯 2024, Juli
Anonim
EyeRobot - Tongkat Putih Robot
EyeRobot - Tongkat Putih Robot

Abstrak:Menggunakan iRobot Roomba Create, saya telah membuat prototipe perangkat yang disebut eyeRobot. Ini akan memandu pengguna tunanetra dan tunanetra melalui lingkungan yang berantakan dan padat dengan menggunakan Roomba sebagai dasar untuk mengawinkan kesederhanaan tongkat putih tradisional dengan naluri anjing penglihatan. Pengguna menunjukkan gerakan yang diinginkan dengan mendorong dan memutar pegangan secara intuitif. Robot mengambil informasi ini dan menemukan jalur yang jelas di lorong atau di seberang ruangan, menggunakan sonar untuk mengarahkan pengguna ke arah yang sesuai di sekitar rintangan statis dan dinamis. Pengguna kemudian mengikuti di belakang robot saat memandu pengguna ke arah yang diinginkan dengan kekuatan nyata yang dirasakan melalui pegangan. Opsi robotik ini membutuhkan sedikit pelatihan: push to go, pull to stop, twist to turn. Pandangan jauh ke depan yang diberikan oleh pengintai mirip dengan anjing mata yang melihat, dan merupakan keuntungan yang cukup besar atas coba-coba terus-menerus yang menandai penggunaan tongkat putih. Namun eyeRobot masih memberikan alternatif yang jauh lebih murah daripada anjing pemandu, yang harganya lebih dari $12.000 dan hanya berguna selama 5 tahun, sementara prototipe dibuat dengan harga di bawah $400. Ini juga merupakan mesin yang relatif sederhana, membutuhkan beberapa sensor murah, berbagai potensiometer, beberapa perangkat keras, dan tentu saja, Roomba Create.

Langkah 1: Demonstrasi Video

Video Demonstrasi
Video Demonstrasi

Versi Kualitas Tinggi

Langkah 2: Tinjauan Operasi

Ikhtisar Operasi
Ikhtisar Operasi

Kontrol Pengguna: Pengoperasian eyeRobot dirancang seintuitif mungkin untuk sangat mengurangi atau menghilangkan pelatihan. Untuk memulai gerakan, pengguna hanya harus mulai berjalan ke depan, sensor linier di dasar tongkat akan menangkap gerakan ini dan mulai menggerakkan robot ke depan. Dengan menggunakan sensor linier ini, robot kemudian dapat menyesuaikan kecepatannya dengan kecepatan yang diinginkan pengguna. eyeRobot akan bergerak secepat yang diinginkan pengguna. Untuk menunjukkan bahwa belokan diinginkan, pengguna hanya perlu memutar pegangan, dan jika belokan memungkinkan, robot akan meresponsnya.

Navigasi Robot: Saat bepergian di ruang terbuka, eyeRobot akan berusaha menjaga jalur lurus, mendeteksi rintangan apa pun yang dapat menghalangi pengguna, dan membimbing pengguna di sekitar objek itu dan kembali ke jalur semula. Dalam praktiknya, pengguna secara alami dapat mengikuti di belakang robot dengan sedikit kesadaran. Untuk menavigasi lorong, pengguna harus berusaha mendorong robot ke salah satu dinding di kedua sisi, setelah mendapatkan dinding, robot akan mulai mengikutinya, membimbing pengguna di lorong. Saat persimpangan tercapai, pengguna akan merasakan robot mulai berputar, dan dapat memilih, dengan memutar pegangan, apakah akan berbelok ke cabang baru atau melanjutkan jalan lurus. Dengan cara ini robot sangat mirip dengan tongkat putih, pengguna dapat merasakan lingkungan dengan robot dan menggunakan informasi ini untuk navigasi global.

Langkah 3: Sensor Rentang

Sensor Rentang
Sensor Rentang

Ultrasonics: EyeRobot membawa 4 pengukur jarak Ultrasonic (MaxSonar EZ1). Sensor ultrasonik diposisikan dalam bentuk busur di bagian depan robot untuk memberikan informasi tentang objek di depan dan ke samping robot. Mereka memberi tahu robot tentang jangkauan objek dan membantunya menemukan rute terbuka di sekitar objek itu dan kembali ke jalur aslinya.

IR Rangefinders: EyeRobot juga membawa dua sensor IR (GP2Y0A02YK). Pengukur jarak IR diposisikan menghadap keluar 90 derajat ke kanan dan kiri untuk membantu robot mengikuti dinding. Mereka juga dapat memperingatkan robot tentang objek yang terlalu dekat dengan sisinya sehingga pengguna dapat masuk.

Langkah 4: Sensor Posisi Tebu

Sensor Posisi Tebu
Sensor Posisi Tebu

Sensor Linier: Agar eyeRobot menyesuaikan kecepatannya dengan kecepatan pengguna, eyeRobot merasakan apakah pengguna mendorong atau memperlambat gerakan majunya. Ini dicapai dengan menggeser pangkal tongkat di sepanjang lintasan, karena potensiometer mendeteksi posisi tongkat. EyeRobot menggunakan input ini untuk mengatur kecepatan robot. Ide eyeRobot beradaptasi dengan kecepatan pengguna melalui sensor linier sebenarnya terinspirasi oleh mesin pemotong rumput keluarga. Dasar tongkat terhubung ke blok pemandu yang bergerak di sepanjang rel. Terlampir pada blok panduan adalah potensiometer geser yang membaca posisi blok panduan dan melaporkannya ke prosesor. Untuk memungkinkan tongkat berputar relatif terhadap robot, ada batang yang berjalan melalui balok kayu, membentuk bantalan yang berputar. Bantalan ini kemudian dipasang pada engsel untuk memungkinkan tongkat menyesuaikan dengan ketinggian pengguna.

Twist Sensor: Sensor twist memungkinkan pengguna untuk memutar pegangan untuk memutar robot. Sebuah potensiometer dipasang pada ujung salah satu batang kayu dan kenop dimasukkan dan direkatkan ke bagian atas pegangan. Kabel mengalir ke bawah dowel dan memasukkan informasi putaran ke dalam prosesor.

Langkah 5: Prosesor

Prosesor
Prosesor

Prosesor:Robot dikendalikan oleh Zbasic ZX-24a yang duduk di Motherboard Lanjutan Robbodyssey II. Prosesor ini dipilih karena kecepatan, kemudahan penggunaan, biaya terjangkau, dan 8 input Analog. Ini terhubung ke papan tempat memotong roti prototipe besar untuk memungkinkan perubahan cepat dan mudah. Semua daya untuk robot berasal dari catu daya pada motherboard. Zbasic berkomunikasi dengan roomba melalui port ruang kargo, dan memiliki kontrol penuh atas sensor dan motor Roomba.

Langkah 6: Ikhtisar Kode

Ikhtisar Kode
Ikhtisar Kode

Penghindaran rintangan: Untuk penghindaran rintangan, eyeRobot menggunakan metode di mana objek di dekat robot mengerahkan gaya virtual pada robot yang memindahkannya dari objek. Dengan kata lain, objek mendorong robot menjauh dari dirinya sendiri. Dalam implementasi saya, gaya virtual yang diberikan oleh suatu objek berbanding terbalik dengan kuadrat jarak, sehingga kekuatan dorongan meningkat saat objek semakin dekat dan menciptakan kurva respons nonlinier: PushForce = ResponseMagnitudeConstant/Distance2Dorongan yang datang dari setiap sensor ditambahkan bersama-sama; sensor di sisi kiri mendorong ke kanan, dan sebaliknya, untuk mendapatkan vektor untuk perjalanan robot. Kecepatan roda kemudian diubah sehingga robot berputar ke arah vektor ini. Untuk memastikan bahwa benda mati di depan robot tidak menunjukkan "tidak ada respons" (karena gaya di kedua sisi seimbang), benda di depan yang mati mendorong robot ke sisi yang lebih terbuka. Ketika robot telah melewati objek itu kemudian menggunakan encoder Roomba untuk mengoreksi perubahan dan kembali ke vektor aslinya.

Wall following: Prinsip wall following adalah menjaga jarak dan sudut sejajar yang diinginkan dengan dinding. Masalah muncul ketika robot diputar relatif ke dinding karena sensor tunggal menghasilkan pembacaan jangkauan yang tidak berguna. Pembacaan jarak jauh dipengaruhi oleh sudut robot ke dinding seperti halnya jarak sebenarnya ke dinding. Untuk menentukan sudut dan dengan demikian menghilangkan variabel ini, robot harus memiliki dua titik acuan yang dapat dibandingkan untuk mendapatkan sudut robot. Karena eyeRobot hanya memiliki satu sisi menghadap pengintai IR, untuk mencapai dua titik ini harus membandingkan jarak dari pengintai dari waktu ke waktu saat robot bergerak. Kemudian menentukan sudutnya dari perbedaan antara dua bacaan saat robot bergerak di sepanjang dinding. Kemudian menggunakan informasi ini untuk mengoreksi posisi yang tidak tepat. Robot masuk ke mode mengikuti dinding setiap kali memiliki dinding di sampingnya untuk jangka waktu tertentu dan keluar setiap kali ada rintangan di jalurnya, yang mendorongnya keluar dari jalurnya, atau jika pengguna menggunakan pegangan putar untuk membawa robot menjauh dari dinding.

Langkah 7: Daftar Bagian

Daftar Suku Cadang
Daftar Suku Cadang

Komponen yang Diperlukan:1x) Roomba create1x) Lembaran besar akrilik2x) Sharp GP2Y0A02YK IR rangefinder4x) Maxsonar EZ1 ultrasonic rangefinders1x) mikroprosesor ZX-24a1x) Robodyssey Advanced Motherboard II1x) Potensiometer geser1x) Potensiometer satu putaran1x) Bantalan linier1x)) Papan tempat memotong roti tanpa solder Engsel, pasak, sekrup, mur, braket, dan kabel

Langkah 8: Motivasi dan Peningkatan

Motivasi dan Peningkatan
Motivasi dan Peningkatan

Motivasi:Robot ini dirancang untuk mengisi kesenjangan yang jelas antara anjing pemandu yang cakap namun mahal dan tongkat putih yang murah namun terbatas. Dalam pengembangan Robotic White Cane yang dapat dipasarkan dan lebih mumpuni, Roomba Create adalah kendaraan yang sempurna untuk merancang prototipe cepat untuk melihat apakah konsep tersebut berhasil. Selain itu, hadiah akan memberikan dukungan ekonomi untuk biaya yang cukup besar untuk membangun robot yang lebih mumpuni.

Peningkatan: Jumlah yang saya pelajari untuk membangun robot ini sangat besar dan di sini saya akan mencoba menjelaskan apa yang telah saya pelajari saat saya melanjutkan untuk mencoba membangun robot generasi kedua: 1) Penghindaran Rintangan - Saya telah belajar banyak tentang hambatan waktu nyata penghindaran. Dalam proses pembuatan robot ini saya telah melewati dua kode penghindaran rintangan yang sama sekali berbeda, dimulai dengan ide gaya objek asli, kemudian beralih ke prinsip menemukan dan mencari vektor paling terbuka, dan kemudian kembali ke ide gaya objek dengan realisasi kunci bahwa respon objek harus non-linear. Di masa depan saya akan memperbaiki kesalahan saya dengan tidak melakukan penelitian online tentang metode yang digunakan sebelumnya sebelum memulai proyek saya, karena saya sekarang belajar pencarian Google cepat akan menghasilkan banyak makalah bagus tentang masalah ini.2) Desain tongkat sensor - Memulai proyek ini, saya pikir satu-satunya pilihan saya untuk sensor linier adalah menggunakan pot geser dan semacam bantalan linier. Sekarang saya menyadari bahwa opsi yang jauh lebih sederhana adalah dengan hanya memasang bagian atas batang ke joystick, sehingga mendorong tongkat ke depan juga akan mendorong joystick ke depan. Selain itu, sambungan universal sederhana akan memungkinkan putaran tongkat diterjemahkan ke dalam sumbu putaran banyak joystick modern. Implementasi ini akan jauh lebih sederhana daripada yang saat ini saya gunakan.3) Roda putar bebas - Meskipun ini tidak mungkin dilakukan dengan Roomba, sekarang tampak jelas bahwa robot dengan roda putar bebas akan ideal untuk tugas ini. Robot yang berputar secara pasif tidak memerlukan motor dan baterai yang lebih kecil sehingga lebih ringan. Selain itu, sistem ini tidak memerlukan sensor linier untuk mendeteksi dorongan pengguna, robot hanya akan berguling sesuai kecepatan pengguna. Robot tersebut dapat diputar dengan mengarahkan roda seperti mobil, dan jika pengguna perlu dihentikan dapat ditambahkan rem. Untuk eyeRobot generasi berikutnya saya pasti akan menggunakan pendekatan yang sangat berbeda ini.4) Dua sensor jarak untuk mengikuti dinding - Seperti yang dibahas sebelumnya, masalah muncul ketika mencoba mengikuti dinding dengan hanya satu sensor menghadap ke satu sisi, sehingga perlu untuk memindahkan robot di antara pembacaan untuk mencapai titik acuan yang berbeda. Dua sensor dengan jarak di antara mereka akan sangat menyederhanakan pelacakan dinding.5) Lebih banyak sensor - Meskipun ini akan membutuhkan lebih banyak uang, sulit untuk mencoba membuat kode robot ini dengan begitu sedikit jendela di dunia di luar prosesor. Itu akan membuat kode navigasi jauh lebih kuat dengan susunan sonar yang lebih lengkap (tetapi tentu saja sensor membutuhkan biaya, yang tidak saya miliki saat itu).

Langkah 9: Kesimpulan

Kesimpulan
Kesimpulan

Kesimpulan: iRobot membuktikan platform prototyping yang ideal untuk bereksperimen dengan konsep Robotic White Cane. Dari hasil prototipe ini terlihat bahwa robot jenis ini memang layak. Saya berharap untuk mengembangkan robot generasi kedua dari pelajaran yang saya pelajari dari penggunaan Roomba Create. Dalam versi eyeRobot yang akan datang, saya membayangkan sebuah perangkat yang mampu melakukan lebih dari sekadar memandu seseorang menyusuri lorong, melainkan sebuah robot yang dapat diletakkan di tangan orang buta untuk digunakan dalam kehidupan sehari-hari. Dengan robot ini, pengguna hanya akan berbicara tentang tujuan mereka dan robot akan memandu mereka ke sana tanpa upaya sadar dari pengguna. Robot ini akan ringan dan cukup kompak untuk dengan mudah dibawa menaiki tangga, dan disimpan di lemari. Robot ini akan mampu melakukan navigasi global selain lokal, mampu memandu pengguna dari awal hingga tujuan tanpa sepengetahuan atau pengalaman pengguna sebelumnya. Kemampuan ini akan melampaui bahkan anjing pemandu, dengan GPS dan sensor yang lebih canggih yang memungkinkan orang buta untuk menavigasi dunia dengan bebas, Nathaniel Barshay, (Dimasukkan oleh Stephen Barshay)(Terima kasih khusus kepada Jack Hitt untuk Roomba Create)

Langkah 10: Konstruksi dan Kode

Konstruksi dan Kode
Konstruksi dan Kode

Beberapa kata asing tentang konstruksi: Dek dibuat dengan potongan akrilik yang dipotong melingkar dengan bukaan di bagian belakang untuk memungkinkan akses elektronik, dan kemudian disekrup ke lubang pemasangan di samping ruang kargo. Papan prototipe disekrup ke lubang sekrup di bagian bawah tempat. Zbasic dipasang dengan braket L dengan sekrup yang sama dengan dek. Setiap sonar disekrup ke dalam sepotong akrilik, yang pada gilirannya dilekatkan pada braket L yang terpasang pada dek (braket L ditekuk ke belakang 10 derajat untuk memberikan tampilan yang lebih baik). Trek untuk sensor linier disekrupkan tepat ke dek dan pot geser dipasang dengan tanda kurung L di sampingnya. Deskripsi yang lebih teknis tentang konstruksi sensor linier dan batang kendali dapat ditemukan pada langkah 4.

Kode:Saya telah melampirkan versi lengkap dari kode robots. Selama satu jam saya telah mencoba untuk membersihkannya dari tiga atau empat generasi kode yang ada di file, seharusnya cukup mudah untuk diikuti sekarang. Jika Anda memiliki ZBasic IDE seharusnya mudah dilihat, jika tidak menggunakan notepad dimulai dengan file main.bas dan melalui file.bas lainnya.

Direkomendasikan: