Daftar Isi:

Robot Catur Raspberry Pi Lynxmotion AL5D Lengan: 6 Langkah
Robot Catur Raspberry Pi Lynxmotion AL5D Lengan: 6 Langkah

Video: Robot Catur Raspberry Pi Lynxmotion AL5D Lengan: 6 Langkah

Video: Robot Catur Raspberry Pi Lynxmotion AL5D Lengan: 6 Langkah
Video: Chess-Playing Robotic Arm 2024, November
Anonim
Image
Image

Bangun robot catur ini dan lihat dia mengalahkan semua orang!

Ini cukup mudah untuk membangun jika Anda dapat mengikuti petunjuk tentang cara membangun lengan, dan jika Anda memiliki setidaknya pengetahuan dasar tentang pemrograman komputer dan Linux.

Manusia, bermain putih, bergerak. Ini dideteksi oleh sistem pengenalan visual. Robot kemudian merenung dan kemudian bergerak. Dan seterusnya …

Mungkin hal yang paling baru dalam robot ini adalah kode untuk pengenalan gerakan. Kode visi ini juga dapat digunakan untuk robot catur yang dibuat dengan banyak cara lain (seperti robot catur saya dengan LEGO build).

Karena gerakan manusia dikenali oleh sistem penglihatan, tidak diperlukan perangkat keras papan catur khusus (seperti sakelar buluh, atau apa pun).

Kode saya tersedia untuk penggunaan pribadi.

Langkah 1: Persyaratan

Pembuatan Perangkat Keras
Pembuatan Perangkat Keras

Semua kode ditulis dengan Python, yang akan berjalan, antara lain, Raspberry Pi.

Raspberry Pi adalah komputer papan tunggal kecil, murah (sekitar $ 40) yang dikembangkan oleh Raspberry Pi Foundation. Model aslinya menjadi jauh lebih populer daripada yang diantisipasi, dijual untuk keperluan seperti robotika

Robot saya menggunakan Raspberry Pi, dan lengan robot dibuat dari kit: Lynxmotion AL5D. Kit ini dilengkapi dengan papan pengontrol servo. (Tautan yang baru saja saya berikan adalah ke situs AS RobotShop; klik salah satu bendera di kanan atas halaman situs mereka untuk negara Anda, misalnya Inggris).

Anda juga memerlukan meja, kamera, lampu, keyboard, layar, dan alat penunjuk (mis. mouse). Dan tentu saja, bidak catur dan papan. Saya menjelaskan semua hal ini secara lebih rinci dalam langkah-langkah selanjutnya.

Langkah 2: Pembuatan Perangkat Keras

Pembuatan Perangkat Keras
Pembuatan Perangkat Keras

Seperti yang saya tunjukkan sebelumnya, inti dari kode visi akan bekerja dengan berbagai build.

Build ini menggunakan kit lengan robot dari Lynxmotion, AL5D. Termasuk dalam kit ini adalah papan pengontrol servo SSC-32U, yang digunakan untuk mengontrol motor di lengan.

Saya memilih AL5D karena lengan harus bisa melakukan gerakan berulang yang akurat dan tidak hanyut. Pegangan harus bisa masuk ke antara bidak dan lengan harus bisa menjangkau sisi terjauh papan. Saya masih perlu melakukan beberapa modifikasi seperti yang dijelaskan di bawah ini.

Raspberry Pi yang saya gunakan adalah Raspberry Pi 3 Model B+. Ini berbicara ke papan SSC-32U melalui koneksi USB.

EDIT: Raspberry Pi 4 sekarang tersedia. Anda akan membutuhkan:

  • Catu daya USB-C 15W – kami merekomendasikan Catu Daya USB-C Raspberry Pi resmi
  • Kartu microSD yang dimuat dengan NOOBS, perangkat lunak yang menginstal sistem operasi (beli kartu SD yang dimuat sebelumnya bersama dengan Raspberry Pi Anda, atau unduh NOOBS untuk memuat kartu sendiri)
  • Keyboard dan mouse (lihat nanti)
  • Kabel untuk terhubung ke layar melalui port micro HDMI Raspberry Pi 4

Saya membutuhkan jangkauan lebih jauh pada lengan robot, jadi saya membuat beberapa modifikasi kecil, menggunakan suku cadang Lynxmotion tambahan yang dapat dibeli dari RobotShop:

1. Mengganti tabung 4,5 inci dengan tabung 6 inci - bagian Lynxmotion AT-04, kode produk RB-Lyn-115.

2. Mencoba menggunakan satu set pegas tambahan, tetapi kembali ke satu pasang ketika saya menerapkan item 3 di bawah

3. Perpanjang ketinggian menggunakan spacer 1 inci - bagian Lynxmotion HUB-16, kode produk RB-Lyn-336.

4. Memperpanjang jangkauan gripper menggunakan bantalan gripper cadangan yang dipasang oleh beberapa potongan LEGO cadangan yang saya miliki dan karet gelang(!) Ini bekerja dengan sangat baik, karena memberikan fleksibilitas saat mengangkat potongan.

Modifikasi ini dapat dilihat pada gambar di atas di sebelah kanan.

Ada kamera yang dipasang di atas papan catur. Ini digunakan untuk menentukan gerakan manusia.

Langkah 3: Perangkat Lunak Yang Menggerakkan Robot

Semua kode ditulis dengan Python 2. Kode kinematika terbalik diperlukan untuk menggerakkan berbagai motor dengan benar sehingga bidak catur dapat digerakkan. Saya menggunakan kode perpustakaan dari Lynxmotion yang mendukung pergerakan motor dalam dua dimensi dan telah menambahkannya dengan kode saya sendiri untuk 3 dimensi, sudut gripper dan gerakan rahang gripper.

Jadi, kita kemudian memiliki kode yang akan memindahkan bidak, mengambil bidak, kastil, support en passant, dan seterusnya.

Mesin caturnya adalah Stockfish - yang bisa mengalahkan manusia mana pun! "Stockfish adalah salah satu mesin catur terkuat di dunia. Itu juga jauh lebih kuat daripada grandmaster catur manusia terbaik."

Kode untuk menggerakkan mesin catur, memvalidasi bahwa suatu gerakan valid, dan seterusnya adalah ChessBoard.py

Saya menggunakan beberapa kode dari https://chess.fortherapy.co.uk untuk berinteraksi dengan itu. Kode saya (di atas) kemudian berinteraksi dengan itu!

Langkah 4: Perangkat Lunak yang Mengenali Gerakan Manusia

Saya telah menjelaskan ini secara rinci di Instructable untuk build Lego Robot Catur saya - jadi saya tidak perlu mengulanginya di sini!

Potongan "hitam" saya awalnya berwarna cokelat, tetapi saya mengecatnya hitam pekat (dengan "cat papan tulis"), yang membuat algoritme bekerja lebih baik di bawah kondisi pencahayaan yang lebih bervariasi.

Langkah 5: Kamera, Lampu, Keyboard, Meja, Tampilan

Kamera, Lampu, Keyboard, Meja, Tampilan
Kamera, Lampu, Keyboard, Meja, Tampilan
Kamera, Lampu, Keyboard, Meja, Tampilan
Kamera, Lampu, Keyboard, Meja, Tampilan

Ini sama seperti di build Lego Robot Catur saya, jadi saya tidak perlu mengulanginya di sini.

Kecuali kali ini saya menggunakan speaker yang berbeda dan jauh lebih baik, speaker Bluetooth Lenrui, yang saya sambungkan ke RPi melalui USB.

Tersedia dari amazon.com, amazon.co.uk dan outlet lainnya.

Saya juga sekarang menggunakan kamera yang berbeda - HP Webcam HD 2300, karena saya tidak bisa membuat kamera sebelumnya bekerja dengan andal.

Algoritme bekerja paling baik jika papan catur memiliki warna yang jauh dari warna bidak! Di robot saya, potongan-potongannya berwarna putih pudar dan coklat, dan papan catur dibuat dengan kartu, dan berwarna hijau muda dengan sedikit perbedaan antara kotak "hitam" dan "putih".

Algoritme membutuhkan orientasi tertentu dari kamera untuk dipasang. Silakan komentar di bawah jika Anda mengalami masalah. Lengan memiliki jangkauan terbatas, sehingga ukuran persegi harus 3,5 cm.

Langkah 6: Mendapatkan Perangkat Lunak

1. Ikan Ternak

Jika Anda menjalankan Raspbian di RPi Anda, Anda dapat menggunakan mesin Stockfish 7 - gratis. Lari saja:

sudo apt-get install stockfish

2. ChessBoard.py Dapatkan ini dari sini.

3. Kode berdasarkan https://chess.fortherapy.co.uk/home/a-wooden-chess… Dilengkapi dengan kode saya.

4. Pustaka Kinematika Terbalik Python 2D -

5. Kode saya yang memanggil semua kode di atas dan yang membuat robot bergerak, dan kode penglihatan saya. Dapatkan ini dari saya dengan terlebih dahulu berlangganan saluran YouTube saya, lalu mengklik tombol "Favorit" di dekat bagian atas Instruksi ini dan kemudian memposting komentar ke Instruksi ini, dan saya akan merespons.

Direkomendasikan: