Mündəricat:
- Addım 1: Adım 1: Lazım olan materiallar
- Addım 2: Addım 2: Roomba üçün Kodun Qurulması/Alınması
- Addım 3: Addım 3: Uçurum Sensorlarının/LED İşıqlarının Qurulması
- Adım 4: Adım 4: Maneələrin yoxlanılması
- Addım 5: Adım 5: Çizilmə
Video: Roomba MATLAB Layihəsi: 5 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
NASA -nın Mars gezici üçün hazırkı planı, bir məlumat toplayıcısı olması və Marsın ətrafında dolaşması, Yerə gətirmək üçün torpaq nümunələri toplamasıdır ki, elm adamları planetdə əvvəlki həyat formalarının olub olmadığını görə bilsinlər. Əlavə olaraq, rover elm adamlarına şəkillər göndərir ki, bu da onların hərəkət etməsinə kömək edə və problemlərini həll edə bilər.
Qrupumuzun layihəmizdəki fikri, roverin 2020 -ci ildə yer üzündən çıxacaq NASA roveri ilə eyni şeyi etməsi, həm də ərazinin coğrafiyasını xəritələşdirməsidir. Roomba, uçurumları hiss edə və yıxılmadan özünü dayandıra bilər, sonra isə yıxılmaması və zədələnməməsi üçün geri çəkilə, dönə və istiqamətini dəyişə bilər. Layihəmizə inteqrasiya olunan digər ideyamız odur ki, gördüyü görməli yerləri qura bilsin və döngə bitdikdə və gedişində hər dəfə bir sahə göstərsin.
Bu təlimat, Roomba üçün eyni tip kod yaratmaq istəyən hər kəs üçündür.
Addım 1: Adım 1: Lazım olan materiallar
Sizə lazım olacaq:
- Bir otaq
- MATLAB
- Bu fayl Roomba işlətmək üçün
- Düz bir səth
- "Uçurum" rolunu oynayacaq bir masa üstü
Addım 2: Addım 2: Roomba üçün Kodun Qurulması/Alınması
Faylları daxil etdikdən sonra ekranınız belə görünəcək.
Addım 3: Addım 3: Uçurum Sensorlarının/LED İşıqlarının Qurulması
Bu kod, otaq otağınıza tam olaraq hansı açı ilə dönməli olduğunuzu, batareya məlumatlarını yoxlamağı, otaq otağınıza nə qədər sürətli getməyinizi və bir şəxsin kameranın kamerasından yoxlanmasını izah edəcək. Bir insanı tanıyarsa və bir uçurumdan düşməzdən əvvəl özünü dayandırsa, bu da bip səsi verəcək.
rob.setLEDDigits ('') x = 0 cəhd edin; y = 0; teta = 0; maneə = ; dövr = 1; AngCorr = @(x) x + 3.059.*X.^0.4205; Rob.getBatteryInfo.percent> 15 rob.setLEDDigits ('') rob.setDriveVelocity (0.1) %dönmə bucaqlarını düzəltmək üçün funksiya AA_checkperson (rob) rob.beep olub -olmadığını yoxlayın %AA_cliffcheck (rob) varsa Cliff Sensorunu yoxlayın.) rob.stop rob.setLEDDigits ('Cliff') fasilə (0.5) maneə (dövr) = 2; AA_cliffbeep (rob) %Yedəklə Döndür rob.moveDistance (-. 15) rob.turnAngle (30) sonu
Adım 4: Adım 4: Maneələrin yoxlanılması
Bu kod, ətrafdakı əşyaları yoxlamaq üçün otaqbanı alacaq və özünə zərər verməzdən əvvəl dayandığından əmin olmaq üçün qabar sensorunu yoxlayacaq.
AA_lightcheck (rob) rob.stop rob.setLEDDigits ('Wall') fasilə (0.5) maneə (dövr) = 1 olarsa İşıq Sensorunu yoxlayın; Divar AA_wallbeep (rob) %Yedəklə Döndür rob.moveDistance (-. 15) rob.turnAngle (30) son %AA_bumpcheck (rob) rob.stop rob.setLEDDigits ('Wall') durdurulsa (0.5) Bump Sensorunu yoxlayın. maneə (dövr) = 1; Divar AA_wallbeep (rob) Yedəklə və Döndür rob.moveDistance (-. 15) rob.turnAngle (30) sonu Heç bir şey boş deyilsə (maneə) maneə (dövrə) = 0; elseif uzunluq (maneə) <dövr maneə (dövr) = 0; bitmək
Addım 5: Adım 5: Çizilmə
Bu kod, otağınıza səyahətində qarşılaşdıqlarını planlamasını söyləyəcək. Roomba dayandıqdan sonra belə bir süjet görünəcək.
Vəzifə alın d = rob.getDistance; əgər dövr == 1 teta (dövr) = 0; x (dövr) = d.*cosd (teta (dövr)); x y (dövr) = d.*sind (teta (dövr)) ilə səyahət edilən ümumi məsafə; səyahət edilən ümumi məsafə y başqa teta (dövr) = teta (dövr-1) + rob.getAngle; x (dövr) = d.*cosd (teta (dövr)) + x (dövr-1); x y (dövr) = d.*sind (teta (dövr)).*d + y (dövr-1); y sonunda səyahət edilən ümumi məsafə %rob.getButtons.clean break sonu olduqda Break şərti Artım dövrü dövrü = dövr + 1; i = 1 üçün son rob.stop: maneə olduqda döngə (i) == 1 %Divar sahəsi (x (i), y (i), 'İşarə', 'kvadrat', 'MarkerEdgeColor', 'r') başqa bir maneə olduqda (i) == 2 %Cliff planı (x (i), y (i), 'Marker', 'o', 'MarkerEdgeColor', 'k') son mətni (.9, 0.9, sprintf ('Square = Wall) nCircle = Cliff '),' Units ',' Normalized ') sonda saxlayın % Siqnal Siqnalını gerçək rob.beep durdurun (3) rob.getButtons.təmiz qırılma sonu % tutma % rob.stop % son
Tövsiyə:
Avtomatlaşdırılmış EKQ- BME 305 Final Layihəsi Əlavə Kredit: 7 Addım
Avtomatlaşdırılmış EKQ- BME 305 Final Layihəsi Əlavə Kredit: Ürək döyüntüsünün istehsal etdiyi elektrik siqnallarını ölçmək üçün elektrokardioqram (EKQ və ya EKQ) istifadə olunur və ürək-damar xəstəliklərinin diaqnozu və proqnozunda böyük rol oynayır. EKQ -dən əldə edilən bəzi məlumatlar ritmləri ehtiva edir
MATLAB tərəfindən idarə olunan Roomba: 5 addım
MATLAB İdarə Edilən Roomba: Bu layihənin məqsədi dəyişdirilmiş iRobot proqramlaşdırıla bilən robotun yanında MATLAB -dan istifadə etməkdir. Qrupumuz, uçurum sensorları, tampon sensorlar da daxil olmaqla, iRobotun bir çox funksiyasından istifadə edən bir MATLAB skriptini yaratmaq üçün kodlaşdırma bacarıqlarımızı birləşdirdi
Mars Roomba Layihəsi UTK: 4 addım
Mars Roomba Layihəsi UTK: XƏBƏRDARLIQ: BU YALNIZ İŞLƏYƏCƏK, ROOMBA AYRINDAN XÜSUSİYYƏTLİ YÖNLƏDİRİLMİŞDƏ, BU TƏLİMAT TENNESSEE TƏLƏBƏLƏRİ ÜNİVERSİTESİ VƏ İSTİFADƏ EDİLMƏK ÜÇÜN YAZILIR yazılı və s
Roomba Layihəsi: 5 Addım (Şəkillərlə birlikdə)
Roomba Layihəsi: Bu təlimat, Cənubi Florida Universitetindəki Makecourse (www.makecourse.com) layihəsi tələbinin yerinə yetirilməsi üçün yaradılmışdır
MATLAB ilə Roomba: 4 addım (şəkillərlə)
MATLAB ilə Roomba: Bu layihə MATLAB və iRobot Create2 proqramlaşdırıla bilən robotdan istifadə edir. MATLAB haqqında biliklərimizi sınayaraq, şəkilləri şərh etmək və siqnalları aşkar etmək üçün Create2 proqramlaşdıra bilərik. Robotun funksionallığı əsasən