Isi kandungan:

Tinku: Robot Peribadi: 9 Langkah (dengan Gambar)
Tinku: Robot Peribadi: 9 Langkah (dengan Gambar)

Video: Tinku: Robot Peribadi: 9 Langkah (dengan Gambar)

Video: Tinku: Robot Peribadi: 9 Langkah (dengan Gambar)
Video: teknologi masa depan menurut imajinasi - DUNIA ROBOT 2024, Julai
Anonim
Tinku: Robot Peribadi
Tinku: Robot Peribadi

Oleh sw4p Ikuti Lagi oleh pengarang:

Permukaan Tidak Ketara
Permukaan Tidak Ketara
Permukaan tidak ketara
Permukaan tidak ketara
Dipadukan
Dipadukan
Dipadukan
Dipadukan
Piano kadbod
Piano kadbod
Piano kadbod
Piano kadbod

Apa khabar di sana, Tinku bukan sekadar robot; ia adalah robot peribadi. Ini adalah pakej semua dalam satu. Ia dapat melihat (penglihatan komputer), mendengar (memproses ucapan), bercakap dan bertindak balas terhadap keadaan. Ia dapat mengekspresikan emosi, dan senarai perkara yang dapat dilakukannya berterusan. Saya memberikannya nama; Saya memanggilnya Tinku.

Pengenalan ringkas perkara yang boleh dilakukannya ialah

  1. Visi komputer

    • Pengesanan wajah
    • Penjejakan wajah
    • Ambil gambar dan rakam video
    • Kenali penanda ArUco
  2. Pemprosesan Pertuturan

    • Pemprosesan pertuturan luar talian (Pengesanan kata panas)
    • Ia dapat memahami apa yang anda katakan dengan mengesan Kata Kunci.
  3. Ekspresi Emosi

    • Ia menggerakkan kepala untuk komunikasi bukan lisan dan untuk meluahkan perasaan.
    • Ia memaparkan gambar dan-g.webp" />
  4. Bergerak

    Ia boleh berlari menggunakan roda dan mengenal pasti tempat menggunakan penanda ArUco

  5. Penghindaran Halangan

    Ia memiliki sensor sonar sehingga selalu memperhatikan sekitarnya dan dapat menghindari halangan

Ia boleh melakukan lebih banyak perkara. Anda juga boleh melaksanakan fungsi baru yang anda mahukan.

Cukup banyak cakap.

EDIT: Badan Tinku mula retak jadi saya harus merancang semula dia sepenuhnya. Inilah gambar baru, Tinku yang benar-benar segar dan lebih baik. Saya minta maaf, saya tidak mempunyai gambar langkah-langkah merancang semula Tinku.

Langkah 1: Perkara yang Anda Perlu

Perkara yang Anda Perlu
Perkara yang Anda Perlu
Perkara yang Anda Perlu
Perkara yang Anda Perlu
Perkara yang Anda Perlu
Perkara yang Anda Perlu
Perkara yang Anda Perlu
Perkara yang Anda Perlu

Badan Robot

  1. Lembaran akrilik
  2. Papan MDF
  3. Pengapit L kecil
  4. Pek kacang dan skru

Servos, Motor, dan Roda

  1. Dynamixel AX-12A (3 keping)
  2. Set bolt dan mur bioloid
  3. Motor (2 keping)
  4. Trek (2 pek)
  5. Roda trek (4 keping)
  6. Pengapit L untuk motor (2 keping)
  7. L penjepit untuk batang roda dummy (2 keping)
  8. Poros roda dummy (2 keping)
  9. Bingkai Bioloid F8
  10. Bioloid Frame F3 (2 keping)
  11. Bingkai Bioloid F2
  12. Bingkai Bioloid F10

Elektronik

  1. Arduino
  2. Raspberry Pi atau Udoo Quad
  3. Pemandu motor
  4. Logitech webcam-c270 (Ia telah membina mikrofon)
  5. Sensor jarak ultrasonik (6 keping)
  6. Bateri Lipo (3300 Mah 3S)
  7. Meningkatkan pengatur voltan (DC-DC)
  8. Pengatur voltan step-down (DC-DC)
  9. Skrin Sentuh (7 inci)
  10. Hab USB (Hanya jika anda menggunakan Udoo Quad kerana hanya mempunyai 2 port USB)
  11. IC penyongsang hex 7404
  12. 74HC244 IC
  13. Pangkalan IC 14 pin
  14. Pangkalan IC 20 pin

Penyambung dan Kabel

  1. Penyambung bateri lelaki T-plug
  2. Kabel HDMI fleksibel (Hanya jika skrin anda mempunyai penyambung HDMI)
  3. Kabel USB mikro
  4. Kabel hubungan wanita-wanita tiga pin (6 keping)
  5. Palam kuasa lelaki jack barel DC (2 keping)
  6. Penyambung servo Dynamixel (3 keping)
  7. Kabel USB A ke B (Hanya jika tidak disertakan dengan Arduino)
  8. Wayar pelompat
  9. Kawat papan roti
  10. Jalur Burg

Untuk Membuat PCB

  1. Laminate berpakaian tembaga
  2. PCB etcher (Fecl3)
  3. PCB berlubang
  4. Bit gerudi 1 mm

Pelbagai

  1. Lem
  2. Tiub heatsink
  3. Kebuntuan

Nota: Di sini saya menggunakan papan Udoo kerana ia mempunyai kelajuan pengkomputeran yang lebih baik daripada raspberry pi 2. Saya menggunakan Arduino luaran daripada Arduino yang terpasang di papan Udoo kerana semua sensor dan modul saya serasi 5v, dan Arduino di Papan Udoo serasi 3v.

Langkah 2: Badan Robot

Badan Robot
Badan Robot
Badan Robot
Badan Robot
Badan Robot
Badan Robot
Badan Robot
Badan Robot

Untuk menyiapkan badan robot, saya menggunakan kepingan akrilik dan memotongnya dalam ukuran yang ditentukan untuk membuat kotak seperti struktur. Saya menyebutkan dimensi setiap sisi badan dalam gambar.

  1. Potong kepingan akrilik mengikut ukuran yang ditentukan.
  2. Bor lubang di tempat-tempat tertentu untuk memasang motor, sensor, kebuntuan dan menyatukan setiap plat.
  3. Bor lubang yang lebih besar di plat dasar dan plat atas untuk melepasi kabel.
  4. Buat takik kecil di bahagian bawah panel depan dan belakang supaya wayar yang datang dari sensor ultrasonik dapat melewati.

Sudah tiba masanya untuk menyiapkan dan memasang motor dan trek.

  1. Memateri wayar tambahan ke pin motor supaya wayar dapat mencapai pemandu motor.
  2. Pasang pengapit motor dan klem poros roda dummy di pelat dasar robot.
  3. Sambungkan motor dan poros roda dummy ke pengapit kemudian sambungkan roda.
  4. Pasang trek dan buat gelung.
  5. Jalur tali di roda. Perlu diingat bahawa trek tidak kendur dan mempunyai ketegangan yang cukup di atasnya.

Sekarang gabung panel depan, belakang dan satu sisi pada panel asas menggunakan pengapit L kecil. Jangan pasangkan panel atas dan panel sebelah sehingga kita mempunyai ruang yang cukup untuk memasang elektronik pada robot.

Langkah 3: Kepala dan Muka Robot

Image
Image
Kepala dan Muka Robot
Kepala dan Muka Robot
Kepala dan Muka Robot
Kepala dan Muka Robot
Kepala dan Muka Robot
Kepala dan Muka Robot

Kami sudah memberikan badan dan roda pada robot kami. Kini tiba masanya untuk memberikannya kepala, leher dan wajah.

Leher:

Bahagian yang paling rumit di kepala robot adalah leher. Oleh itu, kami akan menyiapkannya terlebih dahulu. Servo Dynamixel agak membingungkan untuk digunakan, tetapi ia boleh dipercayai dan tahan lama. Terdapat banyak penjepit pelekap yang tersedia untuknya sehingga anda dapat menghubungkannya dengan cara apa pun.

Tonton video ini untuk penjelasan yang lebih baik mengenai cara menghubungkan servo dynamixel bersama-sama.

  1. Masukkan kacang dalam servo dynamixel untuk memasangkannya dengan bingkai.
  2. Letakkan bingkai bioloid F8 di tengah panel atas dan tandakan lubang penggerudian dan gerudi.
  3. Pasang bingkai bioloid F8 ke salah satu servos kemudian pasangkan bingkai bioloid F8 di panel atas.
  4. Sertailah setiap servo dengan menggunakan bingkai yang berbeza dan sediakan leher.
  5. Sambungkan servo antara satu sama lain menggunakan penyambung servo tiga pin dynamixel.

Mata dan Telinga:

Saya menggunakan kamera web Logitech-c270 sebagai mata robot saya. Ini adalah kamera yang bagus yang dapat mengambil gambar dan merakam video dalam 720p. Ia juga mempunyai mikrofon yang terpasang, oleh itu ia juga menjadi telinga bagi robot saya. Setelah melakukan sumbang saran yang panjang, saya mendapat tahu bahawa tempat terbaik untuk memasang kamera adalah di bahagian atas skrin. Tetapi untuk memasang kamera, saya memerlukan pemasangan kamera. Oleh itu mari kita buat satu.

  1. Keluarkan kepingan logam dari kamera web yang disediakan untuk memberikan sedikit berat.
  2. Potong dua keping dari papan MDF, satu segi empat dan satu segi tiga dengan dimensi yang ditunjukkan dalam gambar.
  3. Bor lubang di dasar kamera web dan pada MDFpiece persegi. Buat lekukan pada bahagian persegi untuk memasukkan wayar kamera web di dalamnya.
  4. Lekatkan kepingan MDF bersama untuk membentuk bentuk-T. Pemasangan kamera sudah siap.
  5. Sebelum memasang pelekap kamera dan kamera bersama-sama, sediakan kepala terlebih dahulu.

Ketua:

Kepala robot disambungkan ke servo. Ia harus sekecil mungkin agar kepala tidak memberikan banyak beban pada servo. Oleh itu, saya menggunakan MDF di tempat lembaran akrilik.

  1. Potong sekeping papan MDF dengan dimensi (18cm x 13cm) dan gerudi lubang untuk memasang skrin.
  2. Letakkan bingkai bioloid F10 di tengah papan MDF dan tandakan lubang penggerudian dan gerudi.
  3. Tetapkan bingkai bioloid F10 dan bingkai bioloid F2 di setiap sisi papan MDF dan gabungkan bersama menggunakan mur dan skru.
  4. Sekarang gamkan pelekat kamera di bahagian belakang papan.
  5. Bergabung dengan bingkai bioloid F2 dengan akhir konfigurasi servo.
  6. Pasang skrin di papan MDF menggunakan kebuntuan.
  7. Pasang kamera web pada pelekap kamera.

Sekarang kepala dan wajah robot kita sudah lengkap.

Langkah 4: PCB tersuai

PCB tersuai
PCB tersuai
PCB tersuai
PCB tersuai
PCB tersuai
PCB tersuai

Kini tiba masanya untuk membubarkan beberapa fecl3 dan membuat beberapa PCB.

Mengapa saya membuat PCB tersuai?

  • Saya tidak mempunyai pengawal servo dynamixel, jadi saya perlu membuatnya.
  • Saya mesti menyambungkan banyak sensor ke Arduino dengan cara yang lebih bersih, jadi saya membuat perisai untuk Arduino.

Jom buat.

  1. Muat turun fail PCB dan cetak pada laminasi berpakaian tembaga.
  2. Lekatkan laminasi berpakaian tembaga menggunakan fecl3
  3. Bor lubang 1mm untuk memasang IC dan jalur burg.
  4. Untuk menjadikan pengepala penumpuk perisai meluncur ke bawah penyumbat plastik jalur burg ke arah hujung pin.
  5. Pateri pangkalan IC dan jalur burg pada PCB.
  6. Saya memberikan skema untuk tujuan rujukan.

Catatan - Gunakan perisian Express PCB untuk membuka perisian.pcb dan Express SCH untuk membuka fail.sch.

Langkah 5: Bekalan Kuasa

Bekalan Kuasa
Bekalan Kuasa
Bekalan Kuasa
Bekalan Kuasa

Mengekalkan daya yang konsisten di seluruh modul dan motor elektronik robot sangat diperlukan. Sekiranya daya jatuh di bawah nilai had dalam modul mana-mana yang akan menyebabkan gangguan dan sangat sukar untuk mengenal pasti sebab di belakangnya.

Sumber tenaga utama dalam robot ini ialah bateri Lipo 3S 2200mAh. Bateri ini mempunyai tiga sel, dan output voltan adalah 11.1 volt. Papan Udoo memerlukan bekalan 12v, dan papan Arduino memerlukan bekalan 5v. Oleh itu, saya memilih untuk menggunakan dua pengatur voltan, yang satu adalah step-up, dan yang lain adalah step-down. Satu akan mengekalkan bekalan semasa ke semua modul 12v, dan yang satu lagi akan mengekalkan bekalan semasa ke semua modul 5v.

Gambar mengandungi skema yang dilukis dengan tangan.

  • Memateri pengatur voltan pada papan PCB berlubang.
  • Pateri penyambung bateri lelaki T-plug ke input kedua-dua pengatur voltan.
  • Sambungkan output 'Ground' kedua pengatur.
  • Sambungkan bicu tong DC ke setiap output pengatur. Pastikan panjang wayar cukup sehingga dapat mencapai papan Udoo / Raspberry Pi dan Arduino.
  • Solder burg strip ke setiap keluaran pengatur sebagai output kuasa tambahan sekiranya kita memerlukannya pada modifikasi yang akan datang.
  • Sebelum menyambungkan bekalan kuasa ke mana-mana modul elektronik, kalibrasi output setiap pengatur menggunakan potensiometer trim yang disediakan tepat 12v dan 5v.

Langkah 6: Perhimpunan Akhir

Pemasangan akhir
Pemasangan akhir
Pemasangan akhir
Pemasangan akhir
Pemasangan akhir
Pemasangan akhir

Sudah tiba masanya sekarang. Setelah banyak langkah, inilah masanya untuk mengumpulkan setiap modul bersama-sama. Teruja? Baiklah, saya.

  • Potong sekeping segi empat tepat papan MDF dengan dimensi (30cm x 25cm). Papan ini adalah asas untuk memasang modul elektronik. Saya tidak mahu menggerudi banyak lubang di plat asas akrilik, jadi saya menggunakan papan MDF. Ia juga membantu menyembunyikan wayar di bawahnya agar robot kita kelihatan kemas dan bersih.
  • Letakkan modul di papan MDF dan tandakan lubang pemasangan dan gerudi. Buat beberapa lubang tambahan untuk melewati wayar di bawah papan MDF.
  • Saya memberikan nombor pada beberapa lubang, jadi menjadi mudah bagi saya untuk merujuknya dan bagi anda memahami skema pendawaian.

Bekalan Kuasa:

  • Pasang modul bekalan kuasa di papan dan pasangkan bicu 12v dan 5v melalui lubang nombor 1 dan tarik keluar jack 12v melalui lubang nombor 2 dan tarik bicu 5v melalui lubang nombor 3.
  • Saya menyimpan bateri untuk masa sekarang kerana kadangkala saya perlu mengeluarkan dan mengecasnya.

Pemandu Motor:

  • Tarik wayar yang disambungkan ke motor melalui lubang nombor 4 dan sambungkannya ke papan pemandu motor.
  • Motor memerlukan bekalan kuasa 12v untuk berjalan dengan baik jadi sambungkan pin pemacu 12v dan GND dengan output pengatur voltan 12v.
  • Sambungkan pin pemandu motor ke Arduino mengikut kodnya.

Arduino:

  • Sebelum memasang Arduino, lalui wayar ketiga sensor ultrasonik melalui panel belakang dan lalui wayar tiga sensor ultrasonik yang tersisa melalui panel depan dan tarik keluar melalui lubang nombor 3.
  • Pasang Arduino dan pasangkan pelindung sensor di atasnya.
  • Saya memberikan nombor untuk semua wayar sensor ultrasonik supaya mudah debug sekiranya terdapat bug. Sambungkan pin sensor ke pelindung bermula dari nombor 1 hingga 6 berturut-turut.
  • Sambungkan soket kuasa 5v ke Arduino.

Pengawal Servo Dynamixel:

  • Pasang pengawal servo dynamixel di papan.
  • Sambungkan pin 12v dan GND pengawal servo dengan output pengatur voltan 12v.
  • Sambungkan pin 5v dan GND pengawal servo dengan output pengatur voltan 5v.
  • Sambungkan pin pengawal servo dan Arduino mengikut kodnya.
  • Biarkan pin output servo dicabut buat masa ini. Pasangkannya setelah memasang panel atas robot.

Pi Udoo / Raspberry:

Catatan: Sebelum mengikuti langkah-langkah di bawah, pastikan anda telah memasang OS pada kad MicroSD dan meletakkannya di papan Udoo / Raspberry Pi. Sekiranya tidak, ikuti pautan untuk memasang Raspbian di Raspberry Pi atau Udoobuntu di papan Udoo.

  • Pasang Pi Udoo / Raspberry di papan dan sambungkan soket kuasa ke dalamnya.
  • Sekiranya anda menggunakan Udoo, sambungkan hab USB ke salah satu bicu USB-nya.
  • Sambungkan kabel HDMI dan kabel USB mikro ke dalamnya. Pin ini digunakan untuk membekalkan data dan kuasa ke skrin.
  • Sambungkan Arduino ke Udoo / Raspberry Pi menggunakan kabel USB A ke B.

Panel Atas:

  • Pasang panel atas ke panel sisi, depan dan belakang robot menggunakan penjepit L.
  • Sambungkan kabel HDMI, kabel USB mikro ke skrin dan kamera web ke papan Udoo / Raspberry Pi.
  • Sambungkan penyambung servo tiga pin yang berasal dari servo dynamixel asas dengan pengawal servo. Sila pastikan pin mana yang DATA, GND, dan + 12v. Rujuk gambar di bahagian "Kepala dan Wajah Robot" untuk rujukan yang lebih baik. Sekiranya anda menyambungkan wayar dalam urutan yang bertentangan, ia mungkin merosakkan servo.

Sensor Jarak Ultrasonik:

Teka-teki terakhir. Selepas ini, perhimpunan kami hampir berakhir.

  • Potong enam kepingan segi empat tepat dari papan MDF / kepingan akrilik dengan dimensi (6cm x 5cm).
  • Lubang lubang di tempat yang diperlukan.
  • Pasang sensor ultrasonik pada setiap papan dan pasangkan semua papan dengan panel asas robot.
  • Sambungkan sensor dengan penyambung.

Akhirnya, ia selesai. Sambungkan bateri dan butkan Udoo / Raspberry Pi

Langkah 7: Perisian

Perkakasan lengkap, tetapi tanpa perisian, robot ini hanyalah kotak. Senarai perisian yang kami perlukan adalah

  • KetatVNC
  • Python
  • OpenCV
  • Anak Salji
  • Beberapa pakej python

    • Pyautogui
    • kekenyangan
    • pyserial
    • pyaudio

KetatVNC:

TightVNC adalah pakej perisian kawalan jauh percuma. Dengan TightVNC, anda dapat melihat desktop mesin jauh dan mengendalikannya dengan tetikus dan papan kekunci tempatan anda, sama seperti anda akan melakukannya di bahagian depan komputer itu.

Sekiranya anda mempunyai papan kekunci dan tetikus tambahan, itu bagus. Sekiranya tidak, pasang TightVNC di komputer riba anda dan ikuti langkah ini.

Buat pertama kalinya, sambungkan papan kekunci dan tetikus ke Udoo / Raspberry Pi. Sambungkan ke rangkaian wifi. Buka Terminal dan taip

$ ifconfig

  • Catat alamat IP robot.
  • Buka TightVNC di komputer riba anda. Masukkan alamat IP di bidang yang diperlukan dan tekan Enter. Voila! Anda berhubung sekarang. Gunakan pad sentuh dan papan kekunci komputer riba anda untuk mengakses robot.

Python:

Python adalah bahasa yang sangat popular dan serba boleh. Itulah sebabnya saya menggunakannya sebagai bahasa pengaturcaraan utama untuk robot ini.

Di sini saya menggunakan python 2.7 tetapi jika anda mahu, anda juga boleh menggunakan python 3. Nasib baik Python hadir dengan sistem Udoobuntu dan Raspbian. Oleh itu, kita tidak perlu memasangnya.

OpenCV:

OpenCV adalah perpustakaan sumber terbuka yang bertujuan terutamanya untuk penglihatan komputer masa nyata. OpenCV dengan Python sangat mudah digunakan. Memasang OpenCV agak membebankan, tetapi terdapat banyak panduan yang sangat mudah diikuti. Kegemaran peribadi saya adalah yang ini. Panduan ini adalah untuk Raspberry Pi, tetapi anda juga boleh menggunakannya untuk papan Udoo.

Snowboy:

Snowboy adalah perpustakaan yang ditulis oleh orang-orang Kitt.ai, yang terutama bertujuan untuk memproses pertuturan luar talian / pengesanan kata panas. Ia sangat senang digunakan. Ikuti pautan ini untuk memasang snowboy di Raspberry Pi. Sekiranya anda menggunakan papan Udoo, kemudian pergi ke projek ini, yang ditulis oleh meto memasang snowboy di Udoo.

Pakej Python:

Ikuti panduan yang mudah digunakan ini untuk memasang beberapa pakej python.

  1. Pyautogui - Pyautogui adalah pakej untuk mensimulasikan ketukan kekunci papan kekunci atau tetikus bergerak.
  2. Numpy - jenis "pip install numpy" di shell Linux dan tekan enter. Ia semudah itu.
  3. Pyserial - Pyserial adalah pakej yang bertujuan untuk komunikasi bersiri melalui python. Kami akan menggunakannya untuk berkomunikasi dengan Arduino.

Langkah 8: Kod

Bahagian perkakasan sudah lengkap. Bahagian perisian sudah lengkap. Kini tiba masanya untuk memberi jiwa kepada robot ini.

Mari kod.

Kod untuk robot ini agak rumit, dan saya kini menambah lebih banyak fungsi untuknya. Oleh itu, saya telah menghoskan kod di repositori Github saya. Anda boleh menyemaknya dan mengklon / memuat turun kod dari sana.

Sekarang bukan hanya robot; sekarang adalah Tinku.

Langkah 9: Demo

Image
Image

Demo. yeeeeee !!

Ini adalah beberapa demo asas. Terdapat banyak lagi yang menarik yang akan datang.

Nantikan lebih banyak kemas kini dan jika anda mempunyai keraguan, sila beri komen.

Terima kasih kerana membaca projek saya. Awak hebat.

Sekiranya anda menyukai projek ini, sila pilih dalam peraduan Mikrokontroler dan Robotik

Selamat Membuat;-)

Disyorkan: