Mündəricat:

Tinku: Şəxsi Robot: 9 Addım (Şəkillərlə birlikdə)
Tinku: Şəxsi Robot: 9 Addım (Şəkillərlə birlikdə)

Video: Tinku: Şəxsi Robot: 9 Addım (Şəkillərlə birlikdə)

Video: Tinku: Şəxsi Robot: 9 Addım (Şəkillərlə birlikdə)
Video: Возведение перегородок санузла из блоков. Все этапы. #4 2024, Iyul
Anonim
Tinku: Şəxsi Robot
Tinku: Şəxsi Robot

Müəllif tərəfindən daha çox sw4pFollow:

Qeyri -maddi səth
Qeyri -maddi səth
Qeyri -maddi səth
Qeyri -maddi səth
Təlimat silindi
Təlimat silindi
Təlimat silindi
Təlimat silindi
Karton Piano
Karton Piano
Karton Piano
Karton Piano

Salam, Tinku sadəcə bir robot deyil; şəxsi robotdur. Hamısı bir paketdədir. Görə bilər (kompüter görmə qabiliyyəti), dinləyə bilər (danışma emalı), danışa bilər və vəziyyətə reaksiya verə bilər. Duyğuları ifadə edə bilər və edə biləcəyi şeylərin siyahısı davam edir. Ona bir ad verdim; Mən buna Tinku deyirəm.

Nə edə biləcəyinə dair qısa bir giriş

  1. Kompüter Görmə

    • Üz tanıma
    • Üz izləmə
    • Foto çəkin və video yazın
    • ArUco markerlərini tanıyın
  2. Nitq emalı

    • Oflayn nitq emalı (Qaynar söz aşkarlama)
    • Qaynar sözlər aşkar edərək dediklərinizi başa düşə bilər.
  3. Ekspres Duyğular

    • Başını şifahi olmayan ünsiyyətə və hisslərini ifadə etməyə yönəldir.
    • Mövcud hissləri dəstəkləmək üçün şəkillərini və giflərini ekranda göstərir.
  4. Ətrafında hərəkət

    Təkərlərindən istifadə edərək qaça bilər və ArUco markerlərindən istifadə edərək yerləri müəyyən edə bilər

  5. Maneələrin qarşısını almaq

    Sonar sensorlar var, buna görə ətrafındakıları həmişə bilir və maneələrdən qaça bilər

Daha çox şey edə bilər. İstədiyiniz yeni funksiyaları da həyata keçirə bilərsiniz.

Kifayət qədər danışaq.

EDIT: Tinkunun cəsədi çatlamağa başladı, buna görə onu tamamilə yenidən dizayn etməli oldum. Tamamilə təzə və daha yaxşı Tinku olan yeni görüntülər. Üzr istəyirəm, Tinku -nu yenidən dizayn addımlarının görüntüləri yoxdur.

Addım 1: Ehtiyac duyacağınız şeylər

Ehtiyac duyacağınız şeylər
Ehtiyac duyacağınız şeylər
Ehtiyac duyacağınız şeylər
Ehtiyac duyacağınız şeylər
Ehtiyac duyacağınız şeylər
Ehtiyac duyacağınız şeylər
Ehtiyac duyacağınız şeylər
Ehtiyac duyacağınız şeylər

Robot Bədəni

  1. Akril təbəqə
  2. MDF lövhəsi
  3. Kiçik L sıxaclar
  4. Qoz və vida paketi

Servolar, Motorlar və Təkərlər

  1. Dynamixel AX-12A (3 ədəd)
  2. Bioloid bolt və qoz dəsti
  3. Motorlar (2 ədəd)
  4. Parçalar (2 paket)
  5. Təkərlər (4 ədəd)
  6. Motorlar üçün L sıxaclar (2 ədəd)
  7. Kəmər təkər mili üçün L qısqac (2 ədəd)
  8. Kukla təkər mili (2 ədəd)
  9. Bioloid Çərçivə F8
  10. Bioloid Çərçivə F3 (2 ədəd)
  11. Bioloid Çərçivə F2
  12. Bioloid Çərçivə F10

Elektronika

  1. Arduino
  2. Raspberry Pi və ya Udoo Quad
  3. Motor sürücüsü
  4. Logitech veb kamera-c270 (Mikrofonda quraşdırılmışdır)
  5. Ultrasonik məsafə sensorlar (6 ədəd)
  6. Lipo batareya (3300 Mah 3S)
  7. Gərginlik tənzimləyicisi (DC-DC)
  8. Düşmə gərginliyi tənzimləyicisi (DC-DC)
  9. Dokunmatik Ekran (7 düym)
  10. USB hub (Yalnız 2 USB portu olduğu üçün Udoo Quad istifadə edirsinizsə)
  11. 7404 hex çevirici IC
  12. 74HC244 IC
  13. 14 pinli IC bazası
  14. 20 pinli IC bazası

Bağlayıcılar və kabellər

  1. T-plug kişi batareya konnektoru
  2. Çevik HDMI kabeli (yalnız ekranınızda HDMI konnektoru varsa)
  3. Mikro USB kabeli
  4. Üç pinli qadın-dişi relimasiya kabeli (6 ədəd)
  5. DC barel jakı kişi elektrik fişi (2 ədəd)
  6. Dynamixel servo konnektorlar (3 ədəd)
  7. USB A -dan B -yə qədər kabel (Yalnız Arduino ilə gəlmədikdə)
  8. Jumper telləri
  9. Çörək taxtası telləri
  10. Burg zolaqları

PCB istehsalı üçün

  1. Mis örtüklü laminat
  2. PCB etcher (Fecl3)
  3. Delikli PCB
  4. 1 mm qazma ucu

Müxtəlif

  1. Yapışqan
  2. Soyuducu borular
  3. Qarşılaşmalar

Qeyd: Burada Udoo lövhəsini istifadə edirəm, çünki bu, mənim moruq pi 2 -dən daha yaxşı hesablama sürətinə malikdir. Udoo lövhəsinin Arduino -da qurulandan çox xarici Arduino istifadə edirəm, çünki bütün sensorlar və modullarım 5v uyğun gəlir və Arduino Udoo lövhəsi 3v uyğun gəlir.

Addım 2: Robotun Cəsədi

Robotun Bədəni
Robotun Bədəni
Robotun Bədəni
Robotun Bədəni
Robotun Bədəni
Robotun Bədəni
Robotun Bədəni
Robotun Bədəni

Robotun cəsədini hazırlamaq üçün akril təbəqədən istifadə etdim və müəyyən bir ölçüdə kəsdim və bənzər bir qutu hazırladım. Şəkildə bədənin hər tərəfinin ölçüsünü qeyd etdim.

  1. Akrilik təbəqəni göstərilən ölçüdə kəsin.
  2. Mühərrikləri, sensörləri, dayaqları quraşdırmaq və hər bir lövhəni birləşdirmək üçün müəyyən yerlərdə deliklər qazın.
  3. Kabelləri keçmək üçün əsas lövhədə və üst plakada daha böyük delik açın.
  4. Ultrasonik sensordan gələn tellərin keçə bilməsi üçün ön və arxa panelin aşağı hissəsində kiçik bir çuxur düzəldin.

Motorları və cığırları hazırlamaq və quraşdırmaq vaxtıdır.

  1. Əlavə telləri motor sancaqlarına lehimləyin ki, tel motor sürücülərinə çata bilsin.
  2. Motor qısqaclarını və kukla təkər mili sıxaclarını robotun alt lövhəsinə quraşdırın.
  3. Motorları və kukla təkər milini sıxaclara, sonra isə təkərləri bağlayın.
  4. Parçaları yığın və bir döngə düzəldin.
  5. Təkərlərdəki kəmər yolu. Unutmayın ki, trek yavaşlamır və kifayət qədər gərginliyə malikdir.

İndi kiçik L sıxaclardan istifadə edərək əsas paneldə ön, arxa və bir yan paneli birləşdirin. Robotun üstünə elektronika quraşdırmaq üçün kifayət qədər yer qalması üçün üst paneli və bir yan paneli taxmayın.

Addım 3: Robotun Başı və Üzü

Image
Image
Robotun Başı və Üzü
Robotun Başı və Üzü
Robotun Başı və Üzü
Robotun Başı və Üzü
Robotun Başı və Üzü
Robotun Başı və Üzü

Artıq robotumuza kuzov və təkərlər verdik. İndi ona baş, boyun və üz vermək vaxtıdır.

Boyun:

Robotun başının ən mürəkkəb hissəsi boyundur. Buna görə əvvəlcə hazırlayacağıq. Dynamixel servoları ilə işləmək bir az qarışıqdır, lakin etibarlı və davamlıdır. İstənilən şəkildə bir -birinə bağlaya biləcəyiniz üçün çox sayda montaj sıxacları mövcuddur.

Dynamixel servolarını bir -birinə necə bağlayacağınızı daha yaxşı izah etmək üçün bu videoya baxın.

  1. Fındıqları çərçivələrlə bağlamaq üçün dynamixel servolarına daxil edin.
  2. Üst panelin ortasına bioloid F8 çərçivəsini qoyun və qazma deliklərini işarələyin və onları qazın.
  3. Bioloid çərçivə F8 -ni servolardan birinə bağlayın və sonra F8 bioloid çərçivəsini üst panelə quraşdırın.
  4. Fərqli çərçivələrdən istifadə edərək hər bir servoya qoşulun və boyun hazırlayın.
  5. Dynamixel üç pinli servo bağlayıcılardan istifadə edərək servoları bir-birinə bağlayın.

Göz və Qulaq:

Robotumun gözü olaraq Logitech veb kamerası-c270-dən istifadə edirəm. 720p -də şəkil çəkə və video yaza bilən yaxşı bir kameradır. Daxili mikrofonu da var, buna görə də robotumun qulağı olur. Uzun bir beyin fırtınasından sonra, kameranı bağlamaq üçün ən yaxşı yerin ekranın üstündə olduğunu öyrəndim. Ancaq kameranı quraşdırmaq üçün kamera montajına ehtiyacım var. Beləliklə, birini düzəldək.

  1. Veb kameradan bir az ağırlıq vermək üçün metal parçaları çıxarın.
  2. Şəkildə göstərilən ölçüləri olan MDF lövhəsindən bir kvadrat və üçbucaq olmaqla iki parça kəsin.
  3. Veb kameranın bazasında və MDFpiece kvadratında bir delik açın. Veb kamera telini daxil etmək üçün kvadrat parçanın üzərində bir çentik düzəldin.
  4. MDF parçalarını bir-birinə yapışdıraraq T şəklini alın. Kamera montajı hazırdır.
  5. Kamera montajını və kameranı bir yerə bağlamadan əvvəl əvvəlcə başını hazırlayın.

Baş:

Robotun başı servolara bağlıdır. Başın servolara çox yükləməməsi üçün mümkün qədər yüngül olmalıdır. Buna görə akril təbəqənin yerinə MDF lövhəsini istifadə etdim.

  1. Ölçüsü (18 sm x 13 sm) olan MDF lövhəsini kəsin və ekranı quraşdırmaq üçün deliklər qazın.
  2. MDF lövhəsinin ortasına bioloid çərçivə F10 qoyun və qazma deliklərini işarələyin və onları qazın.
  3. MDF lövhəsinin hər tərəfinə bioloid çərçivə F10 və bioloid çərçivə F2 qoyun və onları qoz və vida ilə birləşdirin.
  4. İndi lövhənin arxa tərəfindəki kamera qurğusunu yapışdırın.
  5. Servo konfiqurasiyasının sonu ilə bioloid çərçivə F2 -yə qoşulun.
  6. Çıxışlardan istifadə edərək ekranı MDF lövhəsinə quraşdırın.
  7. Veb kameranı kameraya bağlayın.

İndi robotun başımız və üzümüz tamamlandı.

Addım 4: Xüsusi PCB -lər

Xüsusi PCB -lər
Xüsusi PCB -lər
Xüsusi PCB -lər
Xüsusi PCB -lər
Xüsusi PCB -lər
Xüsusi PCB -lər

İndi bəzi fecl3 -lərin həll edilməsi və bəzi PCB -lərin aşındırılması zamanıdır.

Niyə xüsusi PCB hazırladım?

  • Dinamixel servo nəzarətçim yoxdur, buna görə də birini düzəltməliyəm.
  • Daha çox sensoru Arduinoya daha təmiz bir şəkildə bağlamalıyam, buna görə də Arduino üçün bir qalxan hazırladım.

Gəlin edək.

  1. PCB fayllarını yükləyin və mis örtüklü laminata yazdırın.
  2. Fecl3 istifadə edərək mis örtüklü laminatı aşındırın
  3. IC -lər və burg şeridi quraşdırmaq üçün 1 mm -lik deliklər qazın.
  4. Qalxan yığma başlıqlarını burg şeridinin plastik tıxaclarından sancaqların ucuna doğru sürüşdürün.
  5. PCB -lərdə IC əsaslarını və burg şeridini lehimləyin.
  6. Sxemləri istinad məqsədi ilə verdim.

Qeyd -.pcb açmaq üçün Express PCB proqramından və.sch faylını açmaq üçün Express SCH proqramından istifadə edin.

Addım 5: Enerji təchizatı

Enerji təchizatı
Enerji təchizatı
Enerji təchizatı
Enerji təchizatı

Robotun fərqli elektron modulları və mühərrikləri arasında tutarlı bir gücə sahib olmaq çox vacibdir. Hər hansı bir modulda güc məhdudiyyətin altına düşərsə, bunun səbəbini müəyyən etmək çox çətindir.

Bu robotun əsas enerji mənbəyi 2200mAh 3S Lipo batareyasıdır. Bu batareyanın üç hüceyrəsi var və gərginlik çıxışı 11.1 voltdur. Udoo lövhəsinin 12v, Arduino kartının isə 5v təchizatı lazımdır. Buna görə iki gərginlik tənzimləyicisini istifadə etməyi seçirəm, biri artır, digəri isə aşağı. Biri bütün 12v modullarına cari təchizatı saxlayacaq, digəri isə bütün 5v modullarına cari təchizatı saxlayacaq.

Şəkildə əllə çəkilmiş sxemlər var.

  • Delikli PCB lövhələrində gərginlik tənzimləyicilərini lehimləyin.
  • T-fişli kişi batareya konnektorunu hər iki gərginlik tənzimləyicisinin girişinə lehimləyin.
  • Hər iki tənzimləyicinin 'Ground' çıxışını qoşun.
  • Tənzimləyicinin hər çıxışına DC barel krikolarını qoşun. Tellərin uzunluğunu kifayət qədər saxlayın ki, Udoo/Raspberry Pi və Arduino lövhəsinə çata bilsin.
  • Gələcək modifikasiyada ehtiyacımız olduğu təqdirdə tənzimləyicinin hər çıxışına əlavə güc çıxışı olaraq lehim burg şeridi.
  • Elektrik təchizatını hər hansı bir elektron modula bağlamadan əvvəl, hər bir tənzimləyicinin çıxışını tam olaraq 12v və 5v -ə verilən trim potensiometrindən istifadə edərək kalibr edin.

Addım 6: Son Quraşdırma

Final Məclisi
Final Məclisi
Final Məclisi
Final Məclisi
Final Məclisi
Final Məclisi

Artıq vaxtdır. Çox addımlardan sonra hər bir modulu bir yerə yığmağın vaxtı gəldi. Həyəcanlı? Yaxşı, mən.

  • Ölçüsü (30cm x 25cm) olan MDF lövhəsindən düzbucaqlı bir parça kəsin. Bu lövhə elektron modulların quraşdırılması üçün əsasdır. Əsas akril lövhədə çoxlu delik açmaq istəmirəm, buna görə MDF lövhəsindən istifadə edirəm. Robotumuzun səliqəli və təmiz görünməsini təmin etmək üçün altdakı telləri gizlətməyə də kömək edir.
  • Modulları MDF lövhəsinə qoyun və montaj deliklərini işarələyin və onları qazın. Telləri MDF lövhəsinin altından keçmək üçün əlavə deliklər açın.
  • Nömrələri bəzi deşiklərə təyin etdim, buna görə onlara istinad etməyim və kabellərin sxemlərini başa düşməyiniz asanlaşacaq.

Enerji təchizatı:

  • Güc təchizatı modulunu lövhəyə quraşdırın və 12v və 5v jakını 1 nömrəli çuxurdan keçirin və 12v yuvasını 2 nömrəli çuxurdan çıxarın və 5v yuvasını 3 nömrəli delikdən çıxarın.
  • Batareyanı indiyə qədər boş saxladım, çünki bəzən çıxarmalı və doldurmalıyam.

Motor Sürücü:

  • 4 nömrəli delikdən mühərriklərə qoşulmuş telləri çıxarın və onları motor sürücü lövhəsinə qoşun.
  • Mühərriklərin düzgün işləməsi üçün 12v enerji təchizatı lazımdır, buna görə sürücünün 12v və GND pinini 12v gərginlik tənzimləyicisinin çıxışı ilə bağlayın.
  • Motor sürücüsünün pinlərini koda uyğun olaraq Arduino -ya bağlayın.

Arduino:

  • Arduino montaj etməzdən əvvəl üç ultrasəs sensörünün tellərini arxa paneldən keçirin və qalan üç ultrasəs sensorunun tellərini ön paneldən keçirin və 3 nömrəli delikdən çıxarın.
  • Arduino'yu quraşdırın və üzərinə sensor qalxanı bağlayın.
  • Bütün ultrasəs sensor tellərinə nömrələr verdim ki, hər hansı bir səhv baş verərsə, onu düzəltmək asandır. Sensor pinlərini 1 -dən 6 -ya qədər ardıcıl olaraq qalxana bağlayın.
  • 5V güc jakını Arduino -ya qoşun.

Dynamixel Servo Nəzarətçisi:

  • Dynamixel servo nəzarətçisini lövhəyə quraşdırın.
  • Servo nəzarətçinin 12v və GND pinini 12v gərginlik tənzimləyicisinin çıxışı ilə birləşdirin.
  • Servo nəzarətçinin 5v və GND pinini 5v gərginlik tənzimləyicisinin çıxışı ilə birləşdirin.
  • Koda uyğun olaraq servo nəzarətçi və Arduino pinlərini bağlayın.
  • Servo çıxış pinini indiyə qədər çıxarmayın. Robotun üst panelini quraşdırdıqdan sonra onu bağlayın.

Udoo / Raspberry Pi:

Qeyd: Aşağıdakı addımları yerinə yetirmədən əvvəl, OS -ni MicroSD kartına quraşdırdığınızdan və Udoo / Raspberry Pi lövhəsinə yerləşdirdiyinizdən əmin olun. Əks təqdirdə, Raspbian -ı Raspberry Pi və ya Udoobuntu -da Udoo lövhəsinə quraşdırmaq üçün bağlantıları izləyin.

  • Udoo / Raspberry Pi -ni lövhəyə quraşdırın və güc jakını ona bağlayın.
  • Udoo istifadə edirsinizsə, USB hubını USB yuvasından birinə qoşun.
  • HDMI kabelini və mikro USB kabelini ona qoşun. Bu pinlər ekrana məlumat və güc vermək üçün istifadə olunur.
  • A -B USB kabelindən istifadə edərək Arduino'yu Udoo / Raspberry Pi -yə qoşun.

Üst Panel:

  • Üst paneli L qısqaclardan istifadə edərək robotun yan, ön və arxa panellərinə yapışdırın.
  • HDMI kabelini, mikro USB kabelini ekrana və veb kameranı Udoo / Raspberry Pi lövhəsinə qoşun.
  • Dinamixel əsas servodan gələn üç pinli servo konnektoru servo nəzarətçi ilə birləşdirin. DATA, GND və +12v -in hansı pin olduğuna diqqət yetirin. Daha yaxşı istinad üçün "Robotun Başı və Üzü" bölməsindəki şəkillərə baxın. Telləri tərs qaydada bağlasanız, servolara zərər verə bilər.

Ultrasonik Məsafə Sensorları:

Tapmacanın son parçası. Bundan sonra məclisimiz az qala başa çatdı.

  • MDF lövhəsinin/akril lövhənin ölçüləri (6 sm x 5 sm) olan altı düzbucaqlı parçasını kəsin.
  • Lazımi yerlərdə onlara deliklər qazın.
  • Ultrasonik sensorları lövhənin hər birinə bağlayın və robotun əsas paneli ilə bütün lövhələri bağlayın.
  • Sensorları bağlayıcılarla birləşdirin.

Nəhayət, bitdi. Batareyanı qoşun və Udoo/Raspberry Pi -ni yükləyin

Addım 7: Proqram təminatı

Avadanlıq tamamdır, amma proqram olmadan bu robot sadəcə bir qutudur. Lazım olan proqramların siyahısı belədir

  • Sıx VNC
  • Python
  • OpenCV
  • Qar adamı
  • Bəzi python paketləri

    • Pyautogui
    • əsəbi
    • pyserial
    • pyaudio

TightVNC:

TightVNC, uzaqdan idarə olunan pulsuz bir proqram paketidir. TightVNC ilə uzaq bir maşının masaüstünü görə və kompüterin qarşısında oturduğunuz kimi yerli siçan və klaviatura ilə idarə edə bilərsiniz.

Əlavə klaviatura və siçan varsa, bu yaxşıdır. Əks təqdirdə, dizüstü kompüterinizə TightVNC quraşdırın və bu addımları izləyin.

İlk dəfə klaviatura və siçanı Udoo / Raspberry Pi -yə qoşun. Bir WiFi şəbəkəsinə qoşulun. Terminalı açın və yazın

$ ifconfig

  • Robotun IP ünvanını qeyd edin.
  • Laptopunuzda TightVNC açın. Lazım olan sahəyə IP ünvanını daxil edin və Enter düyməsini basın. Voila! İndi bağlısınız. Robota daxil olmaq üçün dizüstü kompüterinizin toxunma panelindən və klaviaturasından istifadə edin.

Python:

Python çox populyar və çox yönlü bir dildir, buna görə də bu robot üçün əsas proqramlaşdırma dili olaraq istifadə edirəm.

Burada python 2.7 istifadə edirəm, amma isterseniz python 3 -dən də istifadə edə bilərsiniz. Xoşbəxtlikdən Python həm Udoobuntu, həm də Raspbian OS -də əvvəlcədən quraşdırılmışdır. Buna görə onu quraşdırmağa ehtiyacımız yoxdur.

OpenCV:

OpenCV, əsasən real vaxtda kompüter görmə qabiliyyətinə yönəlmiş açıq mənbə kitabxanadır. Python ilə OpenCV istifadə etmək çox asandır. OpenCV qurmaq bir qədər çətindir, amma çox asan təlimatları izləmək mümkündür. Şəxsi bəyəndiyim budur. Bu təlimat Raspberry Pi üçündür, ancaq Udoo lövhəsi üçün də istifadə edə bilərsiniz.

Qar adamı:

Snowboy, Kitt.ai uşaqlar tərəfindən yazılmış, əsasən oflayn nitq emalı/qaynar söz tapmağı nəzərdə tutan bir kitabxanadır. İstifadəsi çox asandır. Raspberry Pi -də snowboy qurmaq üçün bu linki izləyin. Udoo lövhəsindən istifadə edirsinizsə, Udoo'da snowboy install meto tərəfindən yazılmış bu layihəyə keçin.

Python Paketləri:

Bəzi python paketləri qurmaq üçün istifadə etmək asan olan təlimatları izləyin.

  1. Pyautogui - Pyautogui, bir klaviatura və ya siçan düyməsini vurmağı simulyasiya etmək üçün bir paketdir.
  2. Numpy - Linux qabığına "pip install numpy" yazın və enter düyməsini basın. Bu qədər sadədir.
  3. Pyserial - Pyserial, python vasitəsilə serial ünsiyyətə yönəlmiş bir paketdir. Arduino ilə ünsiyyət qurmaq üçün bundan istifadə edəcəyik.

Addım 8: Kodlar

Avadanlıq hissəsi tamamlandı. Proqram hissəsi tamamlandı. İndi bu robota ruh vermək vaxtıdır.

Kod yazaq.

Bu robotun kodu bir qədər mürəkkəbdir və hazırda ona daha çox funksiya əlavə edirəm. Buna görə kodları Github depomda yerləşdirdim. Bunu yoxlaya və oradan kodları klonlaya/yükləyə bilərsiniz.

İndi bu yalnız bir robot deyil; indi Tinku.

Addım 9: Demo

Image
Image

Demo. yeeeeee !!

Bunlar əsas demolardan bəziləridir. Qarşıda daha maraqlıları var.

Daha çox yeniləmə üçün bizi izləyin və hər hansı bir şübhəniz varsa, şərh verməkdən çekinmeyin.

Layihəmi oxuduğunuz üçün təşəkkür edirəm. Möhtəşəmsən.

Bu layihəni sevirsinizsə, zəhmət olmasa Mikrokontrolör və Robotika yarışmasında səs verin

Xoşbəxt olun;-)

Tövsiyə: