Mündəricat:
- Addım 1: Əsas biliklər
- Addım 2: Lazımi materialların alınması
- Addım 3: Necə Çalışır
- Addım 4: MQTT Brokerinin qurulması
- Addım 5: Kinect SDK V1.8 -in quraşdırılması
- Addım 6: Python V2.7 quraşdırın
- Addım 7: Kodlaşdırma
Video: Nao Robot Kinect istifadə edərək hərəkətləri təqlid edir: 7 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:48
Bu təlimatda sizə Nao robotunun kinect sensoru istifadə edərək hərəkətlərimizi necə təqlid etməsinə icazə verdiyimizi izah edəcəyəm. Layihənin əsl məqsədi təhsil məqsədidir: müəllim müəyyən hərəkət dəstlərini (məsələn, rəqs) qeyd etmək qabiliyyətinə malikdir və sinifdəki uşaqların robotu təqlid etməsi üçün bu qeydlərdən istifadə edə bilər. Təlim olunan bütün bu addımları addım -addım keçərək, bu layihəni tam şəkildə yenidən yaratmalısınız.
Bu məktəblə əlaqəli bir layihədir (NMCT @ Howest, Kortrijk).
Addım 1: Əsas biliklər
Bu layihəni yenidən yaratmaq üçün bəzi əsas biliklərə sahib olmalısınız:
- Əsas piton bilikləri
- Əsas C# bilikləri (WPF)
- Əsas trigonometriya bilikləri
- Moruq pi üzərində MQTT -nin necə qurulacağına dair məlumat
Addım 2: Lazımi materialların alınması
Bu layihə üçün tələb olunan materiallar:
- Moruq Pi
- Kinect Sensor v1.8 (Xbox 360)
- Nao robot və ya virutal robot (Choregraph)
Addım 3: Necə Çalışır
Bir kinect sensoru WPF tətbiqi ilə işləyən bir kompüterə qoşulur. WPF proqramı MQTT istifadə edərək məlumatları Python tətbiqinə (robot) göndərir. İstifadəçi bunu seçərsə, yerli fayllar saxlanılır.
Ətraflı izahat:
Yazmağa başlamazdan əvvəl istifadəçi MQTT brokerinin ip ünvanını daxil etməlidir. Bundan əlavə, məlumatları dərc etmək istədiyimiz mövzuya da ehtiyacımız var. Başlat düyməsini basdıqdan sonra, proqram brokerlə əlaqənin qurula biləcəyini yoxlayacaq və bizə rəy verəcəkdir. Bir mövzunun olub olmadığını yoxlamaq mümkün deyil, buna görə də bu mövzuya tam cavabdehsiniz. Hər iki giriş düzgün olduqda, tətbiq MQTT brokerində mövzuya baxılan skeletdən məlumat (hər bir birləşmədən x, y & z koordinatları) göndərməyə başlayacaq.
Robot eyni MQTT brokerinə qoşulduğu və eyni mövzuya abunə olduğu üçün (bu da python tətbiqinə daxil edilməlidir) python tətbiqi artıq WPF tətbiqindən məlumat alacaq. Triqonometriya və öz-özünə yazılmış alqoritmlərdən istifadə edərək, robotun içərisindəki mühərrikləri real vaxtda döndərmək üçün istifadə etdiyimiz kordinatları açı və radiana çeviririk.
İstifadəçi qeydini bitirdikdən sonra dayan düyməsini basır. İndi istifadəçi qeydini saxlamaq istədiyini soruşan bir pop-up alır. İstifadəçi ləğv etməyi vurduqda, hər şey sıfırlanır (məlumatlar itir) və yeni bir qeydə başlaya bilərsiniz. İstifadəçi qeydini saxlamaq istəyirsə, bir başlıq daxil etməli və 'kaydet' düyməsini basmalıdır. "Saxla" düyməsini vuranda əldə edilən bütün məlumatlar fayl adı olaraq başlıq girişindən istifadə edərək yerli bir fayla yazılır. Fayl, ekranın sağ tərəfindəki siyahı görünüşünə də əlavə olunur. Bu şəkildə, siyahıdakı yeni girişi iki dəfə tıkladıqdan sonra fayl oxunur və MQTT brokerinə göndərilir. Nəticədə, robot qeydləri oynayacaq.
Addım 4: MQTT Brokerinin qurulması
Kinect (WPF layihəsi) ilə robot (Python layihəsi) arasındakı əlaqə üçün MQTT -dən istifadə etdik. MQTT bir brokerdən (mqtt proqramının (məsələn, Mosquitto) işlədiyi bir linux kompüteri) və müştərilərin abunə ola biləcəyi bir mövzudan (mövzudan bir mesaj alırlar) və dərc etməkdən (mövzu ilə bağlı bir mesaj göndərməkdən) ibarətdir..
MQTT brokerini qurmaq üçün bütün bu jessie görüntüsünü yükləyin. Üzərində MQTT brokeri olan Raspberry Pi üçün təmiz bir quraşdırmadır. Mövzu "/Sandro" dur.
Addım 5: Kinect SDK V1.8 -in quraşdırılması
Kinectin kompüterinizdə işləməsi üçün Microsoft Kinect SDK yükləməlisiniz.
Buradan yükləyə bilərsiniz:
www.microsoft.com/en-us/download/details.a…
Addım 6: Python V2.7 quraşdırın
Robot NaoQi çərçivəsi ilə işləyir, bu çərçivə yalnız python 2.7 (NOT 3.x) üçün mövcuddur, buna görə hansı python versiyasını quraşdırdığınızı yoxlayın.
Python 2.7 -ni buradan yükləyə bilərsiniz:
www.python.org/downloads/release/python-27…
Addım 7: Kodlaşdırma
Github:
Qeydlər:
- Kinekt ilə kodlaşdırma: əvvəlcə bağlı kineti axtarın. Bunu bir mülkün içərisində saxladıqdan sonra kinekt üzərində rəng və skeleton axını aktiv etdik. Colorstream canlı videodur, skeletonstream isə kamera qarşısındakı şəxsin skeletinin göstəriləcəyini bildirir. Colorstream bu layihəni işə salmaq üçün həqiqətən lazım deyil, yalnız skeleton axını rəng axınına bitmapping hamar göründüyü üçün onu aktivləşdirdik!
- Əslində işi görən əslində skeletonstreamdir. Skeletonstream -in aktivləşdirilməsi, şəxsin skeletinin izlənilməsi deməkdir. Bu skeletdən hər cür məlumat alırsınız, məsələn. sümük oriyentasiyaları, birgə məlumatlar,… Layihəmizin açarı ortaq məlumat idi. İzlənilən skeletdən oynaqların hər birinin x-y & z koordinatlarını istifadə edərək, robotu hərəkət etdirə biləcəyimizi bilirdik. Beləliklə, hər 8 saniyədə (bir taymerdən istifadə edərək) mqtt brokerində hər bir birləşmənin x, y & z koordinatlarını dərc edirik.
- Python layihəsinin mqtt brokerində abunəliyi olduğu üçün indi bu layihə daxilindəki məlumatlara daxil ola bilərik. Robotun hər birləşməsinin içərisində iki mühərrik var. Bu mühərrikləri birbaşa x, y & z koordinatları ilə idarə etmək olmaz. Beləliklə, trigonometriya və bəzi sağlam düşüncədən istifadə edərək oynaqların x, y & z koordinatlarını robotlara nisbətən qeyri -sabit açılara çevirdik.
Beləliklə, hər 8 saniyədə WPF layihəsi oynaqların hər birinin x, y & z koordinatlarını dərc edir. Nəticə etibarilə, python layihəsi daxilində bu coordiantes bucaqlara çevrilir və daha sonra robotun müvafiq mühərriklərinə göndərilir.
Tövsiyə:
DIY, Visuino Ardıcıllığı Komponentindən istifadə edərək Servo Motor Açısını Necə Nəzarət Edir: 10 Addım
DIY, Visuino Ardıcıllığı Komponentindən istifadə edərək Servo Motor Açısını Necə İdarə Edir: Bu dərslikdə Servo Motor və Arduino UNO və Visuino'dan istifadə edərək servo motor Bucağını ardıcıllıq komponentindən istifadə etməklə istifadə edəcəyik. bizim vəziyyətimizdə servo motor dərəcəsi
Təlimat: Arduino, TCA9548A I2C Multiplexer istifadə edərək birdən çox Eyni Ünvan Cihazına Necə Nəzarət Edir: 3 Addım
Təlimat: Arduino, TCA9548A I2C Multiplexer istifadə edərək Birdən çox Eyni Ünvan Cihazına Necə Nəzarət Edir: Təsvir: TCA9548A I2C Multiplexer Modulu eyni I2C ünvanlı (8 eyni ünvana qədər I2C) cihazları bir mikro nəzarətçiyə bağlamağı təmin etməkdir. Multiplexer, əmrləri seçilmiş dəstə bağlayaraq qapıçı kimi çıxış edir
IOT: ESP 8266 Nodemcu, BLYNK Tətbiqindən istifadə edərək İnternet üzərindən RGB LED Şeridini İdarə Edir: 9 Addım
IOT: ESP 8266 Nodemcu, BLYNK Tətbiqindən istifadə edərək İnternet üzərindən RGB LED Şeridinə Nəzarət Edin: Salam uşaqlar, bu təlimatlarda, İnternetdən istifadə edərək dünyanın hər yerində RGB LED Şeridini idarə edə bilən nodemcu ilə bir RGB LED zolaq nəzarətçisinin necə hazırlanacağını göstərdim. BLYNK APP.so bu layihəni etməkdən zövq alın & evinizi rəngarəng edin
Wifi Tasker, Ifttt İnteqrasiyası ilə Raspberry Pi istifadə edərək 12v Led Şeridi İdarə edir .: 15 Addım (Şəkillərlə)
Task, Ifttt İnteqrasiyası ilə Raspberry Pi istifadə edərək Wifi İdarə Edilən 12v Led Strip .: Bu proyektdə moruq pi istifadə edərək wifi üzərindən sadə 12v analoqlu led şeridi necə idarə edəcəyinizi göstərəcəyəm. Bu layihə üçün sizə lazım olacaq: 1x Raspberry Pi (I Raspberry Pi 1 Model B+) 1x RGB 12v Le istifadə edirəm
Nao Robotunun Xbox Kinect Kamerası ilə Kopyalama Hərəkətləri: 4 Addım
Nao Robotun Xbox Kinect Kamerası ilə Kopyalama Hərəkətləri: Liseydə (Porter Gaud) Kompüter Elmləri dərsimizdə bir layihə olaraq, özüm (Legare Walpole) və başqa bir şagird (Martin Lautenschlager), hərəkətlərimizi təqlid etmək üçün Nao humanoid robotu əldə etmək üçün yola çıxdılar. Xbox kinetik kamera. Aylardır pro yoxdur