Daftar Isi:

Meja Foosball Otonom: 5 Langkah (dengan Gambar)
Meja Foosball Otonom: 5 Langkah (dengan Gambar)

Video: Meja Foosball Otonom: 5 Langkah (dengan Gambar)

Video: Meja Foosball Otonom: 5 Langkah (dengan Gambar)
Video: Мик Маунтс: Что происходит внутри гигантских складов? 2024, November
Anonim
Meja Foosball Otonom
Meja Foosball Otonom
Meja Foosball Otonom
Meja Foosball Otonom
Meja Foosball Otonom
Meja Foosball Otonom

Tujuan proyek utama adalah untuk menyelesaikan prototipe kerja untuk Meja Foosball Otonom (AFT), di mana pemain manusia menghadapi lawan robot. Dari sudut pandang manusia, meja foosball sangat mirip dengan meja biasa. Pemain di sisi manusia dikendalikan melalui serangkaian empat pegangan yang dapat digerakkan masuk dan keluar dan diputar untuk menggerakkan pemain secara linier melintasi lapangan permainan dan untuk menendang bola ke arah gawang lawan. Sisi otonom terdiri dari:> Delapan motor servo yang digunakan untuk memanipulasi pegangan meja foosball> Sebuah mikrokontroler untuk mengaktifkan motor servo dan berkomunikasi dengan komputer> Sebuah webcam yang dipasang di atas kepala untuk melacak bola dan pemain> Sebuah komputer untuk memproses gambar webcam, menerapkan kecerdasan buatan, dan berkomunikasi dengan mikrokontroler. Batasan anggaran untuk prototipe memperlambat proyek dan menjaga fungsionalitasnya seminimal mungkin. Motor yang tepat untuk menggerakkan pemain pada kecepatan yang kompetitif ternyata sangat mahal, sehingga servos kelas bawah harus digunakan. Sementara implementasi khusus ini dibatasi oleh biaya dan waktu, rasio roda gigi yang lebih besar akan menghasilkan robot yang bermain lebih cepat, meskipun melakukannya akan menelan biaya lebih dari $500 harga dasar (harga tanpa catu daya & komputer).

Langkah 1: Merakit Papan Kontrol Motor

Merakit Papan Kontrol Motor
Merakit Papan Kontrol Motor
Merakit Papan Kontrol Motor
Merakit Papan Kontrol Motor
Merakit Papan Kontrol Motor
Merakit Papan Kontrol Motor
Merakit Papan Kontrol Motor
Merakit Papan Kontrol Motor

Gambar terlampir adalah skema rangkaian lengkap serta gambar produk akhir untuk papan kontrol motor. Semua suku cadang yang diperlukan ini dapat dibeli di sebagian besar toko elektronik online besar (termasuk Digi-Key dan Mouser. Sebagai catatan, semua suku cadang yang digunakan di sini berlubang, dan dengan demikian, suku cadang dapat dipasang pada protoboard/papan tempat memotong roti, atau menggunakan desain PCB terlampir. Paket yang jauh lebih kecil dapat dibuat dengan menggunakan sejumlah bagian pemasangan permukaan. Ketika kami menerapkan desain, kami membagi kontrol motor menjadi 2 sirkuit, meskipun tidak ada keuntungan untuk melakukannya selain setiap skema pengkabelan tertentu yang digunakan. Papan biru kecil mengimplementasikan sirkuit kontrol PWM, yang pada dasarnya hanya PIC-12F clock dengan beberapa kode khusus.

Langkah 2: Perakitan Motor Servo

Perakitan Motor Servo
Perakitan Motor Servo
Perakitan Motor Servo
Perakitan Motor Servo
Perakitan Motor Servo
Perakitan Motor Servo

Dua jenis servo yang berbeda digunakan. Pertama, gerakan lateral dikendalikan oleh sekelompok empat servos torsi tinggi: Robotis Dynamixel Tribotix AX-12. Keempatnya berjalan pada satu baris serial dan menyediakan fungsionalitas yang luar biasa. Torsi tinggi memungkinkan servos ini diarahkan sedemikian rupa sehingga memberikan kecepatan tangensial tinggi untuk gerakan lateral. Kami dapat menemukan satu set roda gigi 3,5 inci dan trek untuk pergi bersama mereka dari Grainger dengan biaya sekitar $10 untuk masing-masing. Servo memberikan perlindungan kelebihan torsi, skema pengalamatan servo individu, komunikasi cepat, pemantauan suhu internal, komunikasi dua arah, dll. Kelemahan dari servos ini adalah harganya mahal dan tidak terlalu cepat (meskipun gearing membantu mereka). Jadi untuk mendapatkan gerakan menendang yang lebih cepat, digunakan Hitec HS-81. HS-81 relatif murah, memiliki kecepatan sudut yang cukup cepat, dan mudah untuk berinteraksi (PWM standar). Namun, HS-81 hanya berputar 90 derajat (walaupun dimungkinkan -- dan tidak direkomendasikan -- untuk mencoba mengubahnya menjadi 180 derajat). Selain itu, mereka memiliki roda gigi nilon internal yang mudah dilepas jika Anda mencoba memodifikasi servo. Akan bernilai uang untuk menemukan servo berputar 180 derajat yang memiliki jenis kecepatan sudut ini. Seluruh sistem diikat bersama dengan potongan papan serat kepadatan menengah (MDF) dan papan serat kepadatan tinggi (HDF). Ini dipilih karena biayanya yang rendah (~$5 untuk lembaran 6'x4'), kemudahan pemotongan, dan kemampuan untuk berinteraksi dengan hampir semua permukaan. Solusi yang lebih permanen adalah dengan menggunakan braket aluminium untuk menyatukan semuanya. Sekrup yang menahan servo PWM pada tempatnya adalah sekrup mesin standar (#10s) dengan mur segi enam yang menahannya dari sisi lain. Sekrup mesin metrik 1mm, dengan panjang sekitar 3/4 , menahan AX-12 ke dalam MDF yang menghubungkan kedua servo bersama-sama. Track laci aksi ganda menahan seluruh rakitan ke bawah dan sejajar dengan track.

Langkah 3: Perangkat Lunak

Perangkat lunak
Perangkat lunak

Langkah terakhir adalah menginstal semua perangkat lunak yang digunakan pada mesin. Ini terdiri dari beberapa bagian kode:> Kode dijalankan pada PC pengolah gambar> Kode dijalankan pada mikrokontroler PIC-18F> Kode dijalankan pada masing-masing mikrokontroler PIC-12FAda dua prasyarat untuk diinstal pada pemrosesan gambar komputer. Pemrosesan gambar dilakukan melalui Java Media Framework (JMF), yang tersedia melalui Sun di sini. Juga tersedia melalui Sun, Java Communications API digunakan untuk berkomunikasi ke papan kontrol motor, melalui port serial pada komputer. Keindahan menggunakan Java adalah *harus* berjalan di sistem operasi apa pun, meskipun kami menggunakan Ubuntu, distribusi linux. Berlawanan dengan pendapat umum, kecepatan pemrosesan di Java tidak terlalu buruk, terutama dalam perulangan dasar (yang sedikit menggunakan analisis visi). Seperti yang terlihat pada tangkapan layar, baik pemain bola maupun pemain lawan dilacak pada setiap pembaruan bingkai. Selain itu, garis besar meja terletak secara visual, itulah sebabnya pita pelukis biru digunakan untuk membuat garis besar visual. Gol didaftarkan ketika komputer tidak dapat menemukan bola selama 10 frame berturut-turut, biasanya menunjukkan bola jatuh ke gawang, dari permukaan permainan. Ketika ini terjadi, perangkat lunak memulai byte suara untuk menghibur dirinya sendiri atau mencemooh lawan, tergantung pada arah tujuannya. Sistem yang lebih baik, meskipun kami tidak punya waktu untuk menerapkannya, adalah dengan menggunakan sepasang emitor/sensor inframerah sederhana untuk mendeteksi bola yang jatuh ke gawang. Semua perangkat lunak yang digunakan dalam proyek ini tersedia dalam satu file zip, di sini. Untuk mengkompilasi kode Java, gunakan perintah javac. Kode PIC-18F dan PIC-12F didistribusikan dengan perangkat lunak MPLAB Microchip.

Langkah 4: Pemasangan Kamera Web

Pemasangan kamera web
Pemasangan kamera web

Webcam Philips SPC-900NC digunakan, meskipun tidak disarankan. Spesifikasi kamera ini dipalsukan baik oleh teknisi atau staf penjualan di Philips. Sebaliknya, webcam murah apa pun bisa digunakan, asalkan didukung oleh sistem operasi. Untuk informasi lebih lanjut mengenai penggunaan webcam di linux, lihat halaman ini. Kami mengukur jarak yang dibutuhkan oleh panjang fokus webcam agar sesuai dengan seluruh meja foosball dalam bingkai. Untuk model kamera ini, angka itu ternyata lebih dari 5 kaki. Kami menggunakan rak rak yang tersedia dari toko perangkat keras besar mana pun untuk membuat dudukan untuk kamera. Rak rak memanjang ke atas dari masing-masing dari empat sudut meja dan disangga silang oleh braket aluminium miring. Sangat penting bahwa kamera berada di tengah dan tidak memiliki rotasi sudut, karena perangkat lunak mengasumsikan sumbu x dan y sejajar dengan tabel.

Langkah 5: Kesimpulan

Semua file proyek terkait dapat diunduh di situs ini. Cadangan sebagian besar konten situs dapat ditemukan di sini, di host web pribadi saya. Ini termasuk laporan akhir, yang memiliki analisis pemasaran serta hal-hal yang akan kami ubah, tujuan awal kami, dan daftar spesifikasi apa yang sebenarnya dicapai. Proyek ini TIDAK dimaksudkan untuk menjadi pemain paling kompetitif di dunia. Ini adalah alat yang bagus untuk menunjukkan lebih banyak langkah yang digunakan dalam merancang binatang seperti itu serta prototipe yang layak dari jenis robot ini yang dibuat dengan biaya yang sangat rendah. Ada robot lain seperti itu di dunia, dan tentu saja, banyak dari mereka akan "mengalahkan" robot ini. Proyek ini dirancang oleh sekelompok empat insinyur listrik/komputer di Georgia Tech sebagai proyek desain senior. Tidak ada bantuan yang diterima oleh insinyur mesin dan tidak ada dana pihak ketiga yang digunakan. Itu adalah proses pembelajaran yang hebat bagi kita semua dan penggunaan waktu kursus desain senior yang layak. Saya ingin mengucapkan terima kasih> Dr. James Hamblen, penasihat bagian kami, atas bantuannya yang berkelanjutan dalam strategi teknis> Dr. Jennifer Michaels, profesor utama, karena tidak mengecilkan hati kami untuk mencoba proyek yang lebih ambisius> James Steinberg dan Edgar Jones, administrator lab desain senior, atas bantuan terus-menerus dalam memesan suku cadang, pemecahan masalah, dan menemukan "hal-hal keren" untuk dimasukkan ke dalam proyek dengan biaya rendah dan fungsionalitas tinggi> Dan tentu saja, tiga anggota tim saya yang lain, yang semuanya tidak mungkin terjadi: Michael Aeberhard, Evan Tarr, dan Nardis Walker.

Direkomendasikan: