İçindekiler:
- Adım 1: Sarf Malzemeleri
- 2. Adım: Sorun Bildirimi
- 3. Adım: Bluetooth Uzaktan Kumanda
- Adım 4: Etki Tanıma
- Adım 5: Yaşam Tanıma
- Adım 6: Çalıştırın!
Video: Mars Roomba: 6 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Bu Eğitim Tablosu, Raspberry Pi kontrollü Roomba vakum botunu çalıştırma talimatlarında size rehberlik edecektir. Kullanacağımız işletim sistemi MATLAB üzerindendir.
Adım 1: Sarf Malzemeleri
Bu projeyi gerçekleştirmek için toplamanız gerekenler:
- iRobot'un Create2 Roomba elektrikli süpürge botu
- Ahududu Pi
- Ahududu Pi Kamera
- MATLAB'ın en son sürümü
- MATLAB için Roomba kurulum araç kutusu
- Hücresel bir cihaz için MATLAB uygulaması
2. Adım: Sorun Bildirimi
Bilim adamlarının gezegen verilerini toplamalarına yardımcı olmak için Mars'ta kullanılabilecek bir gezici geliştirmek için MATLAB'ı kullanmakla görevlendirildik. Projemizde ele aldığımız işlevler uzaktan kumanda, nesne etki tanıma, su tanıma, yaşam tanıma ve görüntü işlemeydi. Bu başarıları elde etmek için, iRobot'un Create2 Roomba'sının birçok işlevini değiştirmek için Roomba araç kutusu komutlarını kullanarak kodladık.
3. Adım: Bluetooth Uzaktan Kumanda
Bu slayt, akıllı telefonunuzun Bluetooth özelliklerini kullanarak Roomba'nın hareketini kontrol etmek için kodu gözden geçirecektir. Başlamak için MATLAB uygulamasını akıllı telefonunuza indirin ve Mathworks hesabınıza giriş yapın. Giriş yaptıktan sonra "daha fazla", "ayarlar"a gidin ve IP adresini kullanarak bilgisayarınıza bağlanın. Bağlandıktan sonra "daha fazla"ya dönün ve "sensörler"i seçin. Ekranın üst araç çubuğundaki üçüncü sensöre dokunun ve başlat üzerine dokunun. Artık akıllı telefonunuz bir uzaktan kumanda!
Kod aşağıdaki gibidir:
0 == 0 iken
duraklat(.5)
PhoneData = M. Oryantasyon;
Azi = PhoneData(1);
Adım = PhoneData(2);
Yan = PhoneData(3);
tümsekler = r.getBumpers;
Yan>80 ise || Yan<-80
r.dur
r.beep('C, E, G, C^, G, E, C')
kırmak
elseif Side>20 && Side<40
r.turnAngle(-5);
Başka bir Taraf>40
r.turnAngle(-25);
başka bir taraf-40
r.turnAngle(5);
başka bir Taraf<-40
r.turnAngle(25);
son
Eğer Perde >10 && Perde<35 ise
r.moveMesafe(.03)
elseif Aralık>-35 && Aralık<-10
r.moveMesafe(-.03)
son
son
Adım 4: Etki Tanıma
Uyguladığımız diğer bir işlev, Roomba'nın bir nesneye etkisini tespit etmek ve ardından mevcut yolunu düzeltmekti. Bunu yapmak için, bir cisme çarpılıp vurulmadığını belirlemek için tampon sensörlerinden gelen okumalarla koşullu ifadeler kullanmamız gerekiyordu. Robot bir cisme çarparsa, 0,2 metre geriye gidecek ve hangi tampona çarptığına göre belirlenen bir açıda dönecektir. Bir öğeye vurulduğunda, "oof" kelimesini görüntüleyen bir menü açılır.
Kod aşağıda gösterilmiştir:
0 == 0 iken
tümsekler = r.getBumpers;
r.setDriveVelocity(.1)
eğer yumrular.left == 1
msgbox('Oof!');
r.moveMesafe(-0.2)
r.setTurnVelocity(.2)
r.dönüşAçı(-35)
r.setDriveVelocity(.2)
elseif tümsekler.ön == 1
msgbox('Oof!');
r.moveMesafe(-0.2)
r.setTurnVelocity(.2)
r.dönüşAçı(90)
r.setDriveVelocity(.2)
elseif yumrular.sağ == 1
msgbox('Oof!');
r.moveMesafe(-0.2)
r.setTurnVelocity(.2)
r.dönüşAçı(35)
r.setDriveVelocity(.2)
elseif bumps.leftWheelDrop ==1
msgbox('Oof!');
r.moveMesafe(-0.2)
r.setTurnVelocity(.2)
r.dönüşAçı(-35)
r.setDriveVelocity(.2)
elseif tümsekler.rightWheelDrop ==1
msgbox('Oof!');
r.moveMesafe(-0.2)
r.setTurnVelocity(.2)
r.dönüşAçı(35)
r.setDriveVelocity(.2)
son
son
Adım 5: Yaşam Tanıma
Önündeki nesnelerin renklerini okumak için bir yaşam tanıma sistemi kodladık. Kodladığımız üç tür yaşam; bitkiler, su ve uzaylılar. Bunu yapmak için sensörleri kırmızı, mavi, yeşil veya beyazın ortalama değerlerini hesaplayacak şekilde kodladık. Bu değerler, kameranın baktığı rengi belirlemek için manuel olarak ayarlanan eşiklerle karşılaştırıldı. Kod ayrıca nesnenin yolunu çizecek ve bir harita oluşturacaktır.
Kod aşağıdaki gibidir:
t = 10;
ben = 0;
t == 10 iken
img = r.getImage; imshow(img)
duraklat(0.167)
ben = ben + 1;
red_mean = ortalama(ortalama(img(:,:, 1)));
blue_mean = ortalama(ortalama(img(:,:, 3)));
green_mean = ortalama(ortalama(img(:,:, 2)));
white_mean = (blue_mean + green_mean + red_mean) / 3; Bu değeri yaklaşık olarak % 100 istiyor
nine_plus_ten = 21;
green_threshold = 125;
blue_threshold = 130;
white_threshold = 124;
red_threshold = 115;
nine_plus_ten == %21 yeşil - hayat
if green_mean > green_threshold && blue_mean < blue_threshold && red_mean < red_threshold
r.moveMesafe(-.1)
a = msgbox('olası yaşam kaynağı bulundu, konum çizildi');
duraklat(2)
sil(a)
[y2, Fs2] =audioread('z_speak2.wav');
ses(y2, Fs2)
duraklat(2)
%bitki = r.getImage; %imshow(bitki);
%save('plant_img.mat', bitki');
% arsa konumu yeşil
ben = 5;
kırmak
Başka
nine_plus_ten = 19;
son
son
nine_plus_ten = 21;
nine_plus_ten == %21 mavi - woder
if blue_mean > blue_threshold && green_mean < green_threshold && white_mean < white_threshold && red_mean < red_threshold
r.moveMesafe(-.1)
a = msgbox('bir su kaynağı bulundu, yer işaretlendi');
duraklat(2)
sil(a)
[y3, Fs3] =audioread('z_speak3.wav');
ses(y3, Fs3);
%woder = r.getImage; %imshow(kod)
%save('water_img.mat', woder)
% arsa konumu mavi
ben = 5;
kırmak
Başka
nine_plus_ten = 19;
son
son
nine_plus_ten = 21;
iken nine_plus_ten == %21 beyaz - uzaylılar monkaS
if white_mean > white_threshold && blue_mean < blue_threshold && green_mean < green_threshold
[y5, Fs5] =audioread('z_speak5.wav');
ses(y5, Fs5);
duraklat(3)
r.setDriveVelocity(0,.5)
[ys, Fss] =audioread('z_scream.mp3');
ses(ys, Fss);
duraklat(3)
r.dur
% yabancı = r.getImage; %imshow(yabancı);
% save('alien_img.mat', uzaylı);
ben = 5;
kırmak
Başka
nine_plus_ten = 19;
son
son
eğer ben == 5
a = 1; %dönüş açısı
t = 9; %büyük döngüyü sonlandır
ben = 0;
son
son
Adım 6: Çalıştırın!
Tüm kod yazıldıktan sonra hepsini tek bir dosyada birleştirin ve işte! Roomba botunuz artık tamamen işlevsel olacak ve ilan edildiği gibi çalışacak! Ancak, Bluetooth kontrolü ya ayrı bir dosyada olmalı ya da kodun geri kalanından %% ile ayrılmalıdır.
Robotunuzu kullanmanın keyfini çıkarın!!
Önerilen:
Roomba'nızı Mars Gezgini'ne Dönüştürmek: 5 Adım
Roomba'nızı Mars Gezgini'ne Dönüştürmek:
Raspberry Pi Kullanan Mars Gezgini: 5 Adım
Raspberry Pi Kullanan Mars Gezgini: Sevgili tüm Büyük Öğreniciler, Mars'ın tüm yüzeyine gidebilen ve Dünya'dan bir şeyler keşfedebilen 6 tekerleğe sahip olan mars gezgini hakkında her zaman merak ediyorum. Ben de dizüstü bilgisayarımda oturarak bir şeyler keşfetmek istiyorum. Şimdi bunu yapmak için doğru zamanı düşünüyorum ve
Raspberry Pi - OpenCV Nesne Takibi ile Otonom Mars Gezgini: 7 Adım (Resimlerle)
Raspberry Pi - OpenCV Nesne Takipli Otonom Mars Gezgini: Bir Raspberry Pi 3, Açık CV nesne tanıma, Ultrasonik sensörler ve dişli DC motorlar ile güçlendirilmiştir. Bu gezici, eğitildiği herhangi bir nesneyi takip edebilir ve herhangi bir arazide hareket edebilir
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
Mars Keşif Robotu: 4 Adım
Mars Keşif Robotu: Bu Eğitilebilir Kitap, Mars Keşif Robotunu programlamak ve komuta etmek için adım adım bir kılavuzdur. Başlamak için, aşağıdaki malzemelerin listesini edinmeniz gerekir: Tickle College of Eningeering University of Ten tarafından özelleştirilmiş şarjlı bir iRobot oluşturma