Mündəricat:
- Addım 1: Materiallar
- Addım 2: Bağlantı
- Addım 3: Sensorlardan istifadə etmək üçün məntiqi olaraq MATLAB kodu yaratmaq
- Addım 4: Kodu və Robotu sınayın
- Addım 5: Səhvlərin tanınması
- Addım 6: Nəticə
Video: Roomba Parkı Pal: 6 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Bu layihədə iRobot Create proqramlaşdırıla bilən roomba, MATLAB r2018a və MATLAB mobile istifadə olunur. Bu üç vasitədən və kodlaşdırma biliklərimizdən istifadə edərək, iRobot Create proqramını rəngləri şərh etmək və tapşırıqları yerinə yetirmək üçün göyərtədəki sensorlardan istifadə etmək üçün proqramlaşdırdıq. Bu layihələr bu vəzifələri yerinə yetirmək üçün Raspberry Pi və MATLAB ünsiyyətindən asılıdır.
Addım 1: Materiallar
1. iRobot Robot Yarat
2. MATLAB r2018a
3. Raspberry Pi
4. Kamera Modulu
5. 3-D çaplı Kamera Sabitləyici Stendi
6. MATLAB mobile quraşdırılmış smartfon
7. MATLAB quraşdırılmış Laptop/Kompüter
Addım 2: Bağlantı
Bu addım Raspberry Pi -ni robota bağlamaq, ikincisi robotu kompüterinizə bağlamaq və smartfonu kompüterə bağlamaqdır.
Bu prosesin ən asan hissəsi Raspberry Pi -ni robotunuza bağlamaqdır, çünki Raspberry Pi robotun üstünə quraşdırılmışdır. Robotdan bir şnur var ki, etməniz lazım olan tək şey Raspberry Pi -nin yanına bağlamaqdır.
Növbəti addım robotu kompüterinizə bağlamaqdır ki, robotun yerinə yetirməsi üçün əmrləri işlədə biləsiniz. Etməli olduğunuz ilk şey, kompüterinizi Roombanızın yaratdığı simsiz şəbəkəyə bağlamaqdır. İndi MATLAB -dan Roomba alətlər qutusundakı funksiyaları istifadə etmək üçün yolu təyin etmək üçün MATLAB -da Yol Ayarla simgesini istifadə etməyiniz tövsiyə olunur. Robotla hər dəfə işə başladığınızda və bitirdiyiniz zaman, robotu "iki barmaqla salamlama" sıfırlamalısınız, yəni işıq söndüyünü göstərən işıq sönənə qədər dok və nöqtə düymələrini on saniyə basıb saxlayın. Robotun qısa miqyaslı oynadığını eşitsəniz, bu çətin sıfırlama ilə uğur qazandınız. Sonra "r = roomba (x)" kimi bir kod xətti istifadə edərək roomba -ya qoşulmalısınız, burada 'x', robotunuz üçün təyin olunan rəqəmdir.
Nəhayət, bu layihə üçün istifadə edəcəyiniz hər hansı bir mobil cihaza MATLAB mobile yükləməlisiniz və bu tətbiq həm Android, həm də Apple cihazlarında mövcuddur. Tətbiq quraşdırıldıqdan sonra hesab məlumatlarınızı istifadə edərək daxil olmalısınız. Sonra "Daha çox" etiketli nişanı istifadə edərək bu cihazı kompüterinizə bağlamalısınız -> sonra "ayarlar" -> sonra "Kompüter əlavə et" düyməsini basın, bu yuxarıdakı şəkillərdə göstərilən ekranı açmalıdır. Bunu gördükdən sonra keçməyiniz lazım olan növbəti addım, sadəcə istədiyi məlumatı bağlamaq və yoxlamaqdır. Uğurlu bir şəkildə bağlandıqdan sonra, robotunuzu idarə etmək üçün telefonunuzda kompüterinizdə təyin etdiyiniz funksiyalara zəng edə biləcəksiniz.
Addım 3: Sensorlardan istifadə etmək üçün məntiqi olaraq MATLAB kodu yaratmaq
Kodun əksəriyyəti döngə içərisində olduqda yaratmaq ən asan olacaq, beləliklə roomba baxdığı etibarlı dəyərləri daim yeniləyə bilər. Bir səhv varsa, MATLAB bir səhv göstərəcək və kodda göründüyü yerdə problemlərin həllini nisbətən asanlaşdıracaq.
R2018a MATLAB -da hazırlanmış bu kod standart alət qutularından, iRobot Create alət qutusundan və MATLAB mobil alət qutusundan istifadə edir. Bu nümunədə istifadə olunan roomba 26 olaraq təyin edilmişdir və r = roomba (26), Roomba ilə tam ünsiyyət qurmaq üçün yalnız bir dəfə işə salınmalıdır.
Kod:
parkassist (x) funksiyası x == 1 olarsa
r = roomba (26) % roombaya bağlanır
doğru olarkən
r.setDriveVelocity (.05,.05) % roombanı daha yavaş sürmə sürətinə təyin edir.
bump = r.getBampers, qabar sensorlarından məlumat alır
cliff = r.getCliffSensors məlumatları uçurum sensorlarından alır
light = r.getLightBampers, işıq zərbəsi sensorlarından məlumat alır
img = r.getImage; robotun kamerasını oxuyur
red_mean = orta (orta (img (:,,, 1))) % qırmızı piksellərin orta miqdarını oxuyur
green_mean = ortalama (ortalama (img (:,,,, 2)))) % yaşıl piksellərin orta miqdarını oxuyur
blue_mean = orta (ortalama (img (:,,, 3))) % mavi piksellərin orta miqdarını oxuyur
əgər bump.front == 1 %ön qabar sensörlərini oxuyur
r.stop %roomba dayandırır
msgbox ('Yol Qaranlıqdır!', 'Park Köməkçisi Mesajı') % yolun qaraldığını bildirən mesajı göstərir % fasilə döngəni bitirir.
elseif green_mean> 150
r.stop %roomba dayandırır
cont = questdlg ('Davam et?', 'Yol Tamamlandı') %davam etmək istəyən sual qutusunu göstərir
əgər davam == 'Bəli'
parkassist (1) %kodu yenidən başlatır
başqa
bitmək
break % döngəni bitirir
elseif red_mean> 140
r.turnAngle (45) %otaq otağını 45 dərəcə çevirir
r.timeStart %vaxt sayğacını işə salır
doğru olarkən
r.setDriveVelocity (.05,.05) %roomba sürətini təyin edir
time = r.timeGet %bir dəyişəni təyin edir
bump = r.getBampers, qabar sensorlarından məlumat alır
cliff = r.getCliffSensors məlumatları uçurum sensorlarından alır
light = r.getLightBampers, işıq zərbəsi sensorlarından məlumat alır
img = r.getImage; robotun kamerasını oxuyur
red_mean = orta (orta (img (:,,, 1))) % qırmızı piksellərin orta miqdarını oxuyur
green_mean = ortalama (ortalama (img (:,,, 2))) %, yaşıl piksellərin orta miqdarını oxuyur
blue_mean = orta (ortalama (img (:,,, 3))) % mavi piksellərin orta miqdarını oxuyur
blue_mean> 120
r.moveDistance (-0.01) % roomba-nı müəyyən bir məsafə mahnısını geriyə keçirPlay (r, 'T400, C, D, E, F, G, A, B, C^', 'doğru') % yüksələn musiqi miqyasını oynayır
msgbox ('Su Tapıldı!', 'Park Yardımcısı Mesajı') % su tapıldığını bildirən bir mesaj göstərir r.turnAngle (-80) % roomba 80 dərəcə döndürür
break % cari döngəni bitir
elseif light.rightFront> 25 || light.leftFront> 25 %-i yüngül zərbə sensorlarını oxuyur
r.moveDistance (-0.01) % roombanı müəyyən bir məsafəyə geriyə doğru hərəkət etdirir
r.turnAngle (-35) % otaqda 35 dərəcə fırlanır
break %cari döngəni bitir
elseif cliff.rightFront <2500 && cliff.leftFront <2500 %hər iki uçurum sensorunu oxuyur
r.moveDistance (-0.1) % roombanı müəyyən bir məsafəyə geriyə doğru hərəkət etdirir
r.turnAngle (-80) %otaqda 80 dərəcə fırlanır
break % cari döngəni bitir
başqa vaxt> = 3
r.stop %roomba dayandırır
contin = questdlg ('Stansiyasız, Davam Edilsin?', 'Park Köməkçisi Mesajı') %, əgər Continba == 'Bəli' olarsa, roombanın davam etməsini soruşur
r.turnAngle (-90) % otağı 90 dərəcə döndürür
parkassist (1) %funksiyanı yenidən başlatır
başqa
r.stop % roomba dayandırır
bitmək
başqa
bitmək
bitmək
elseif cliff.rightFront <2500 && cliff.leftFront <2500 %hər iki uçurum sensorunu oxuyur
r.moveDistance (-0.1) %roombanı müəyyən bir məsafəyə geriyə doğru hərəkət etdirir
r.turnAngle (-90) %roomba 90 dərəcə fırlanır
elseif cliff.rightFront <2500 %doğru uçurum sensorunu oxuyur
r.turnAngle (-5) %roombanı azacıq uçurum sensörünün əksinə çevirir
elseif cliff.leftFront <2500 %sol uçurum sensorunu oxuyur
r.turnAngle (5) %otaq otağını uçurum sensörünün əks istiqamətinə bir az çevirir
başqa
bitmək
bitmək
bitmək
Addım 4: Kodu və Robotu sınayın
Kod hazırlandıqdan sonra növbəti addım kodu və robotu sınamaq idi. Kodda robotun döndüyü bucaq, hərəkət etdiyi sürət və hər rəng üçün eşiklər kimi bir çox fərqli düzəlişlər edilə biləcəyi üçün robotunuz üçün bu dəyərləri anlamağın ən yaxşı yolu test etməkdir. gedin və onları dəyişin. Keçirdiyimiz hər iş günü üçün bu dəyərləri daim dəyişirdik, çünki bəziləri robotunuzun işlədiyi mühitə güvənir. Tapdığımız ən yaxşı yol, otaqbanı izləmək istədiyiniz yola yerləşdirmək idi. kamera istəmədiyiniz rəngləri aşkar edə bilməyəcək qədər yüksək bir maneə. Növbəti addım, tapşırığı yerinə yetirməsini istədiyiniz zaman istədiyiniz rəngləri göstərməsinə icazə verin. Gedərkən, bir problem görürsünüzsə, ən yaxşı şey ön tamponu itələmək, onu dayandırmaqdır, sonra problem yaşadığınız parametri dəyişdirin.
Addım 5: Səhvlərin tanınması
Hər bir layihə tamamlandıqda həmişə səhv mənbələri olur. Bizim üçün, robotun döndüyü bucaqla dəqiq olmadığı sadə bir səhvlə qarşılaşdıq, buna görə 45 dərəcəyə döndüyünü söyləsəniz, dəqiq olmayacaq. Başqa bir səhv mənbəyimiz, bəzən robotun arızalanması və yenidən işləməzdən əvvəl onu yenidən sıfırlamağınız idi. Bizim üçün əsas son səhv mənbəyi eyni kodun fərqli robotlara eyni təsir göstərməməsi idi, buna görə səbirli olmalı və buna uyğun olaraq düzəlişlər etməlisiniz.
Addım 6: Nəticə
İndi otaq otağınızla oynamaq üçün bütün vasitələriniz var, yəni istədiyiniz məqsədlərə çatmaq üçün istədiyiniz halda kodu idarə edə bilərsiniz. Bu gününüzün ən yaxşı hissəsi olmalıdır, buna görə əylənin və təhlükəsiz şəkildə sürün!
Tövsiyə:
İşıq Kirliliği Parkı Model Layihəsi: 15 Addım
İşıq Kirliliği Parkı Model Layihəsi: İşığın çirklənməsi dünyanın bir çox böyük şəhərlərində ciddi bir problemdir. Şəhərlərimizdəki həddindən artıq miqdarda işıq, tısbağalar və quşlar kimi müxtəlif heyvanların miqrasiya modellərini poza bilər və onların öldürülməsinə səbəb ola bilər
Səs və Musiqi Algılayan Kvars Kristal Broş Oyun Parkı Dövrə Ekspres: 8 addım (şəkillərlə)
Oyun Sahəsi Circuit Express ilə Səs və Musiqi Algılayan Kvars Kristal Broş: Bu səs-reaktiv broş, oyun meydançası ekspresindən, ucuz toplu kvars kristallarından, teldən, kartondan, tapılan plastikdən, təhlükəsizlik pinindən, iynədən və ipdən, isti yapışqan, parça, və müxtəlif alətlər. Bu, bir prototip və ya ilk layihədir
PIR Sensorundan istifadə edərək Avtomobil Parkı Siqnal Sistemi- DIY: 7 addım (şəkillərlə)
PIR Sensor-DIY-dən istifadə edən Nəqliyyat vasitələri üçün park siqnalizasiya sistemi: Avtomobil, yük maşını, motosiklet və ya hər hansı bir nəqliyyat vasitəsi üçün park edərkən heç bir problem yaşamısınızmı, bu təlimatda sadə bir Avtomobil park siqnalizasiyasından istifadə edərək bu problemin necə aradan qaldırılacağını göstərəcəyəm. PIR Sensor istifadə edən sistem. Bu sistemdə
MIDI Pod-Pal: 4 addım
MIDI Pod-Pal: *** 4/22/'21 YENİLƏNİB ****** Tikintidə kömək etmək üçün bütün naqilləri göstərən tam bir sxem əlavə etdim. tikinti hissəsindəki dərinlikdə, niyyətim Arduino əsaslı bir MI qurmağın başqa bir nümunəsini göstərmək idi
Roomba'dan Roverə cəmi 5 addım !: 5 addım
Roomba'dan Roverə cəmi 5 addımda!: Roomba robotları, robotika aləmində barmaqlarınızı batırmağın əyləncəli və asan bir yoludur. Bu Təlimat kitabında, sadə bir Roombanı ətrafını eyni zamanda təhlil edən idarə olunan bir roverə necə çevirəcəyimizi ətraflı izah edəcəyik. Parça siyahısı1.) MATLAB2.) Roomb