İçindekiler:
- Adım 1: Adım 1: Gerekli Malzemeler
- Adım 2: Adım 2: Roomba'yı Ayarlama/Kod Alma
- 3. Adım: 3. Adım: Uçurum Sensörlerini/LED Işıklarını Ayarlama
- 4. Adım: 4. Adım: Engelleri Kontrol Etme
- Adım 5: Adım 5: Çizim
Video: Roomba MATLAB Projesi: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
NASA'nın Mars gezgini için şu anki planı, onun bir veri toplayıcı olması ve Mars'ta dolaşması, Dünya'ya geri getirmek için toprak örnekleri toplaması, böylece bilim adamlarının gezegende daha önce herhangi bir yaşam formu olup olmadığını görebilmesi. Ek olarak, gezici görüntüleri bilim insanlarına geri gönderir, böylece gezicide gezinmeye ve sahip olabileceği sorunları çözmelerine yardımcı olabilirler.
Grubumuzun projemiz için fikri, gezicinin 2020'de dünyayı terk edecek olan NASA gezicisinin aynısını yapması ama aynı zamanda arazinin coğrafyasını da haritalaması. Roomba, uçurumları hissedebilir ve düşmeden önce kendini durdurabilir ve sonra geri döner, döner ve düşmemesi ve hasar görmemesi için rotasını değiştirir. Projemize entegre edilen diğer bir fikrimiz de, odaba'nın gördüğü yer işaretlerini çizebilmesi ve döngü bittiğinde ve rotası çalıştırıldığında bir arsa gösterebilmesidir.
Bu talimat, kendi roomba'ları için aynı türde kod oluşturmak isteyen herkes içindir.
Adım 1: Adım 1: Gerekli Malzemeler
İhtiyacın olacak:
- bir oda
- MATLAB
- Roomba'yı çalıştırmak için bu dosya
- Düz bir yüzey
- Bir "uçurum" görevi görecek bir masa yüzeyi
Adım 2: Adım 2: Roomba'yı Ayarlama/Kod Alma
Dosyaları girdikten sonra ekranınız bu şekilde görünecektir.
3. Adım: 3. Adım: Uçurum Sensörlerini/LED Işıklarını Ayarlama
Bu kod, roomba'nıza tam olarak hangi açıyı dönmesi gerektiğini söyleyecek, pil bilgilerini kontrol edecek, odanıza ne kadar hızlı gideceğini söyleyecek ve roomba'nın kamerasından bir kişi olup olmadığını kontrol edecektir. Ayrıca bir kişiyi tanımlarsa bip sesi çıkaracak ve uçurumdan aşağı inmeden önce kendini durduracaktır.
% deneyin rob.setLEDDigits('') x=0; y=0; teta=0; engel = ; döngü = 1; AngCorr = @(x)x + 3.059.*x.^0.4205; %Rob.getBatteryInfo.percent > 15 rob.setLEDDigits('') rob.setDriveVelocity(0.1) %Go iken dönüş açılarını düzeltme işlevi) rob.stop rob.setLEDDigits('Cliff') duraklama(0.5) engel(döngü) = 2; AA_cliffbeep(rob) %Yedekle ve Dön rob.moveDistance(-.15) rob.turnAngle(30) end
4. Adım: 4. Adım: Engelleri Kontrol Etme
Bu kod, odayı etrafındaki öğeleri kontrol etmesi için alacak ve kendine zarar vermeden önce durduğundan emin olmak için çarpma sensörünü kontrol edecektir.
AA_lightcheck(rob) rob.stop rob.setLEDDigits('Duvar') duraklat(0.5) engel(döngü) = 1 ise Işık Sensörünü Kontrol Edin; %Duvar AA_wallbeep(rob) %Yedekle ve Dön rob.moveDistance(-.15) rob.turnAngle(30) end %A_bumpcheck(rob) ise Çarpma Sensörünü Kontrol Et rob.stop rob.setLEDDigits('Duvar') duraklat(0.5) engel(döngü) = 1; %Duvar AA_wallbeep(rob) %Yedekle ve Dön rob.moveDistance(-.15) rob.turnAngle(30) bitiş %Eğer yoksa boş(engel) engel(döngü) = 0; elseif uzunluk(engel) < döngü engel(döngü) = 0; son
Adım 5: Adım 5: Çizim
Bu kod, odanıza yolculuğunda neyle karşılaşacağını belirlemesini söyleyecektir. Roomba durduktan sonra bunun gibi bir arsa görünecektir.
%Konum Al d = rob.getDistance; if döngü == 1 teta(döngü) = 0; x(döngü) = d.*cosd(teta(döngü)); x y(döngü) = d.*sind(teta(döngü)); y içinde seyahat edilen toplam uzaklık %'si theta(döngü) = theta(döngü-1) + rob.getAngle; x(döngü) = d.*cosd(teta(döngü)) + x(döngü-1); x'de kat edilen toplam uzaklık %'si y(döngü) = d.*sind(teta(döngü)).*d + y(döngü-1); y sonunda seyahat edilen toplam uzaklık %'si rob.getButtons.clean bitiş koşulunda kırılma koşulu %Artış döngüsü = döngü + 1; son rob.stop for i = 1:döngü if engel(i) == 1 %Duvar grafiği(x(i), y(i), 'İşaretleyici', 'kare', 'MarkerEdgeColor', 'r') elseif engel (i) == 2 %Cliff plot(x(i), y(i), 'Marker', 'o', 'MarkerEdgeColor', 'k') end text(.9, 0.9, sprintf('Square = Wall) nDaire = Uçurum'), 'Birimler', 'normalleştirilmiş') uçta beklet %Tehdit Sinyali iken gerçek rob.bip duraklama(3) eğer rob.getButtons.clean ara bitiş bitiş % yakalama % rob.stop % bitiş
Önerilen:
Gimbal Stabilizer Projesi: 9 Adım (Resimlerle)
Gimbal Sabitleyici Projesi: Gimbal Nasıl YapılırAksiyon kameranız için 2 eksenli bir gimbal yapmayı öğreninGünümüzün kültüründe hepimiz video kaydetmeyi ve anları yakalamayı seviyoruz, özellikle benim gibi bir içerik oluşturucuysanız, kesinlikle şu sorunla karşılaşmışsınızdır: öyle sallantılı bir video ki
MATLAB Kontrollü Roomba: 5 Adım
MATLAB Kontrollü Roomba: Bu projenin amacı, modifiye edilmiş bir iRobot programlanabilir robotun yanı sıra MATLAB'ı kullanmaktır. Grubumuz, uçurum sensörleri, tampon algılama gibi iRobot'un birçok işlevini kullanan bir MATLAB komut dosyası oluşturmak için kodlama becerilerimizi birleştirdi
Mars Roomba Projesi UTK: 4 Adım
Mars Roomba Projesi UTK: SORUMLULUK REDDİ: BU YALNIZCA ROOMBA HERHANGİ BİR ÖZEL ŞEKİLDE KURULDUĞUNDA ÇALIŞACAKTIR, BU EĞİTİM TABLOSU TENNESSEE ÖĞRENCİLERİ VE FAKÜLTE ÜNİVERSİTESİ İÇİN OLUŞTURULMUŞ VE KULLANILMASI AMAÇLANMIŞTIR.Bu kod, yerel olarak çalışacak bir Roomba kurmak için kullanılır. yazılı ve
Roomba Projesi: 5 Adım (Resimlerle)
Roomba Projesi: Bu talimat, Güney Florida Üniversitesi'ndeki (www.makecourse.com) Makecourse proje gereksinimini yerine getirmek için oluşturulmuştur. Bu talimat, Roomba projemi birleştirmek için gerekli tüm adımları ve bileşenleri kapsayacaktır
MATLAB ile Roomba: 4 Adım (Resimlerle)
Roomba with MATLAB: Bu proje MATLAB ve iRobot Create2 programlanabilir robotu kullanır. MATLAB bilgimizi teste tabi tutarak, Create2'yi görüntüleri yorumlamak ve sinyalleri algılamak için programlayabiliriz. Robotun işlevselliği temel olarak şunlara bağlıdır