Isi kandungan:

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

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

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

Bina robot catur ini dan lihat ia mengalahkan semua orang!

Cukup mudah untuk dibina jika anda dapat mengikuti arahan bagaimana membina lengan, dan jika anda mempunyai sekurang-kurangnya pengetahuan asas mengenai pengaturcaraan komputer dan Linux.

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

Mungkin perkara yang paling baru dalam robot ini adalah kod untuk pengecaman bergerak. Kod penglihatan ini juga boleh digunakan untuk robot catur yang dibina dengan pelbagai cara lain (seperti robot catur saya dengan LEGO build).

Kerana langkah manusia diakui oleh sistem penglihatan, tidak diperlukan perkakasan papan catur khas (seperti suis reed, atau apa sahaja).

Kod saya tersedia untuk kegunaan peribadi.

Langkah 1: Keperluan

Pembinaan Perkakasan
Pembinaan Perkakasan

Semua kod ditulis dalam Python, yang akan dijalankan, antara lain, Raspberry Pi.

Raspberry Pi adalah komputer papan tunggal kecil (sekitar $ 40) yang dibangunkan oleh Raspberry Pi Foundation. Model asalnya menjadi lebih popular daripada yang dijangkakan, menjual untuk penggunaan seperti robotik

Robot saya menggunakan Raspberry Pi, dan lengan robot dibina dari kit: Lynxmotion AL5D. Kit ini dilengkapi dengan papan pengawal servo. (Pautan yang baru saya berikan adalah ke laman web RobotShop di AS; klik salah satu bendera di bahagian kanan atas halaman laman web mereka untuk negara anda, misalnya UK).

Anda juga memerlukan meja, kamera, pencahayaan, papan kekunci, skrin dan peranti penunjuk (mis. Tetikus). Dan tentu saja, catur dan papan. Saya menerangkan semua perkara ini dengan lebih terperinci dalam langkah-langkah berikutnya.

Langkah 2: Pembinaan Perkakasan

Pembinaan Perkakasan
Pembinaan Perkakasan

Seperti yang saya nyatakan sebelumnya, inti kod penglihatan akan berfungsi dengan pelbagai binaan.

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

Saya memilih AL5D kerana lengan mesti dapat melakukan pergerakan tepat berulang dan tidak melayang. Pencengkam harus dapat berada di antara kepingan dan lengan harus dapat sampai ke sisi paling jauh dari papan. Saya masih perlu membuat beberapa pengubahsuaian seperti yang diperincikan di bawah.

Raspberry Pi yang saya gunakan adalah Raspberry Pi 3 Model B +. Ini bercakap dengan papan SSC-32U melalui sambungan USB.

EDIT: Raspberry Pi 4 kini tersedia. Anda memerlukan:

  • Bekalan kuasa USB-C 15W - kami mencadangkan Bekalan Kuasa Raspberry Pi USB-C rasmi
  • Kad microSD yang dimuatkan dengan NOOBS, perisian yang memasang sistem operasi (beli kad SD yang sudah dimuat bersama dengan Raspberry Pi anda, atau muat turun NOOBS untuk memuatkan kad anda sendiri)
  • Papan kekunci dan tetikus (lihat kemudian)
  • Kabel untuk menyambung ke paparan melalui port HDMI mikro Raspberry Pi 4

Saya memerlukan jangkauan lebih jauh pada lengan robot, jadi saya membuat sedikit pengubahsuaian, menggunakan bahagian Lynxmotion tambahan yang dapat dibeli dari RobotShop:

1. Menggantikan tiub 4.5 inci dengan satu inci 6 - bahagian Lynxmotion AT-04, kod produk RB-Lyn-115.

2. Mencuba menggunakan set mata air tambahan, tetapi kembali kepada satu pasangan ketika saya menerapkan item 3 di bawah

3. Memperpanjang ketinggian menggunakan spacer 1 inci - bahagian Lynxmotion HUB-16, kod produk RB-Lyn-336.

4. Memperluas jangkauan gripper menggunakan bantalan gripper ganti yang dilekatkan oleh beberapa kepingan LEGO yang saya miliki dan tali elastik (!) Ini berfungsi dengan baik, kerana memperkenalkan fleksibiliti ketika mengangkat kepingan.

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

Terdapat kamera yang dipasang di atas papan catur. Ini digunakan untuk menentukan pergerakan manusia.

Langkah 3: Perisian yang Menggerakkan Robot

Semua kod ditulis dalam Python 2. Kod kinematik terbalik diperlukan untuk menggerakkan pelbagai motor dengan betul sehingga kepingan catur dapat digerakkan. Saya menggunakan kod perpustakaan dari Lynxmotion yang menyokong menggerakkan motor dalam dua dimensi dan menambahkannya dengan kod saya sendiri untuk 3 dimensi, sudut gripper dan gerakan rahang gripper.

Jadi, kita kemudian mempunyai kod yang akan memindahkan kepingan, mengambil kepingan, istana, sokongan semasa berlalu, dan sebagainya.

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

Kod untuk menggerakkan mesin catur, mengesahkan bahawa pergerakan itu sah, dan sebagainya adalah ChessBoard.py

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

Langkah 4: Perisian yang Mengiktiraf Pergerakan Manusia

Saya telah menerangkannya secara terperinci dalam buku Instructable for Chess Robot Lego saya - jadi saya tidak perlu mengulanginya di sini!

Kepingan "hitam" saya pada mulanya berwarna coklat, tetapi saya mengecatnya dengan warna hitam matt (dengan "cat papan hitam"), yang menjadikan algoritma berfungsi lebih baik dalam keadaan pencahayaan yang lebih berubah-ubah.

Langkah 5: Kamera, Lampu, Papan Kekunci, Meja, Paparan

Kamera, Lampu, Papan Kekunci, Meja, Paparan
Kamera, Lampu, Papan Kekunci, Meja, Paparan
Kamera, Lampu, Papan Kekunci, Meja, Paparan
Kamera, Lampu, Papan Kekunci, Meja, Paparan

Ini sama seperti dalam ciptaan Chess Robot Lego saya, jadi saya tidak perlu mengulanginya di sini.

Kecuali pada kali ini saya menggunakan pembesar suara yang berbeza dan jauh lebih baik, pembesar suara Bluetooth Lenrui, yang saya sambungkan ke RPi melalui USB.

Boleh didapati dari amazon.com, amazon.co.uk dan kedai-kedai lain.

Saya juga kini menggunakan kamera yang berbeza - HP Webcam HD 2300, kerana kamera sebelumnya tidak dapat berperilaku dengan baik.

Algoritma berfungsi paling baik jika papan catur mempunyai warna yang jauh dari warna kepingan! Dalam robot saya, kepingannya berwarna putih dan coklat, dan papan catur dibuat dengan tangan dalam kad, dan berwarna hijau muda dengan sedikit perbezaan antara kotak "hitam" dan "putih".

Algoritma memerlukan orientasi kamera tertentu untuk dilayari. Sila komen di bawah jika anda menghadapi masalah. Lengan mempunyai jangkauan yang terhad, dan ukuran persegi harus 3,5 cm.

Langkah 6: Memperoleh Perisian

1. Stok ikan

Sekiranya anda menjalankan Raspbian di RPi anda, anda boleh menggunakan mesin Stockfish 7 - ia percuma. Lari saja:

sudo apt-get pasang stokin

2. ChessBoard.py Dapatkan ini dari sini.

3. Kod berdasarkan https://chess.fortherapy.co.uk/home/a-wooden-chess… Disertakan dengan kod saya.

4. Pustaka Python 2D Kinematika -

5. Kod saya yang menggunakan semua kod di atas dan yang membuat robot membuat pergerakan, dan kod penglihatan saya. Dapatkan ini dari saya dengan melanggan saluran YouTube saya terlebih dahulu, kemudian mengklik pada butang "Kegemaran" di bahagian atas Instruksional ini dan kemudian menghantar komen ke Instructable ini, dan saya akan bertindak balas.

Disyorkan: