Spisu treści:
- Krok 1: Krok 1: Potrzebne materiały
- Krok 2: Krok 2: Konfiguracja/pobieranie kodu dla robota Roomba
- Krok 3: Krok 3: Konfiguracja czujników wysokości/lampek LED
- Krok 4: Krok 4: Sprawdzanie przeszkód
- Krok 5: Krok 5: Wykres
Wideo: Roomba Projekt MATLAB: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Obecny plan, jaki NASA ma dla łazika marsjańskiego, polega na tym, aby był zbieraczem danych i wędrował po Marsie, zbierając próbki gleby, aby sprowadzić je z powrotem na Ziemię, aby naukowcy mogli zobaczyć, czy na planecie były jakieś wcześniejsze formy życia. Dodatkowo łazik wysyła obrazy z powrotem do naukowców, aby mogli pomóc w nawigacji łazikiem i naprawiać wszelkie problemy, jakie może mieć.
Pomysł naszej grupy na nasz projekt polega na tym, aby łazik robił to samo, co łazik NASA, który opuści Ziemię w 2020 roku, ale także nakreślił geografię lądu. Roomba byłaby w stanie wyczuć klify i zatrzymać się, zanim spadnie, a następnie cofnąć się, zawrócić i zmienić kurs, aby nie spadła i nie została uszkodzona. Innym naszym pomysłem zintegrowanym z naszym projektem jest to, aby roomba mogła wykreślać punkty orientacyjne, które widzi, i pokazywać wykres za każdym razem, gdy pętla się zakończy i jej przebieg zostanie wykonany.
Ta instrukcja jest przeznaczona dla każdego, kto chciałby stworzyć ten sam typ kodu dla swojego Roomba.
Krok 1: Krok 1: Potrzebne materiały
Będziesz potrzebować:
- Pokój
- MATLAB
- Ten plik do uruchomienia Roomba
- Płaska powierzchnia
- Powierzchnia stołu pełniąca funkcję „klifu”
Krok 2: Krok 2: Konfiguracja/pobieranie kodu dla robota Roomba
Twój ekran będzie wyglądał tak po wprowadzeniu plików.
Krok 3: Krok 3: Konfiguracja czujników wysokości/lampek LED
Ten kod wskaże Twojemu Roombie dokładnie, o jaki kąt skręcić, sprawdzi informacje o akumulatorze, poinformuje Twojego Roomba, jak szybko ma jechać, i sprawdzi, czy nie ma osoby przez kamerę Roomby. Wyda również sygnał dźwiękowy, jeśli zidentyfikuje osobę i zatrzyma się przed zejściem z klifu.
% spróbuj rob.setLEDDigits('') x=0; y=0; theta=0; przeszkoda = ; cykl = 1; AngCorr = @(x)x + 3.059.*x.^0.4205; %Funkcja poprawiania kątów skrętu, gdy rob.getBatteryInfo.percent > 15 rob.setLEDDigits('') rob.setDriveVelocity(0.1) %Go %Sprawdź dla osoby, jeśli AA_checkperson(rob) rob.beep end %Sprawdź czujnik wysokości, jeśli AA_cliffcheck(rob) rob.stop rob.setLEDDigits('Cliff') pauza(0.5) przeszkoda(cykl) = 2; AA_cliffbeep(rob) % Back Up and Turn rob.moveDistance(-.15) rob.turnAngle(30) end
Krok 4: Krok 4: Sprawdzanie przeszkód
Ten kod spowoduje, że Roomba sprawdzi, czy nie ma wokół niego przedmiotów, i sprawdzi czujnik uderzeń, aby upewnić się, że zatrzymuje się, zanim sam się uszkodzi.
%Sprawdź czujnik światła, jeśli AA_lightcheck(rob) rob.stop rob.setLEDDigits('Ściana') pauza(0,5) przeszkoda(cykl) = 1; %Wall AA_wallbeep(rob) %Back Up And Turn rob.moveDistance(-.15) rob.turnAngle(30) end %Sprawdź czujnik uderzenia jeśli AA_bumpcheck(rob) rob.stop rob.setLEDDigits('Wall') pause(0.5) przeszkoda (cykl) = 1; %Wall AA_wallbeep(rob) %Wstecz i skręć rob.moveDistance(-.15) rob.turnAngle(30) end %Jeżeli żadna nie jest pusta (przeszkoda) przeszkoda(cykl) = 0; elseif długość(przeszkoda) < przeszkoda rowerowa(cykl) = 0; kończyć się
Krok 5: Krok 5: Wykres
Ten kod powie Twojemu Roombie, aby wykreślił, co napotka podczas swojej podróży. Działka taka jak ta pojawi się po zatrzymaniu Roomby.
% Pobierz pozycję d = rob.getDistance; jeśli cykl == 1 theta(cykl) = 0; x(cykl) = d.*cosd(theta(cykl)); % całkowitej odległości przebytej w x y(cykl) = d.*sind(theta(cykl)); % całkowitej odległości przebytej w ciągu y inaczej theta(cykl) = theta(cykl-1) + rob.getAngle; x(cykl) = d.*cosd(theta(cykl)) + x(cykl-1); % całkowitej odległości przebytej w x y(cykl) = d.*sind(theta(cykl)).*d + y(cykl-1); % całkowitej przebytej odległości na końcu y %Warunek przerwania, jeśli rob.getButtons.clean koniec przerwania %Cykl przyrostu cyklu = cykl + 1; end rob.stop for i = 1:cykl jeśli przeszkoda(i) == 1 %Wykres ściany(x(i), y(i), 'Marker', 'square', 'MarkerEdgeColor', 'r') elseif przeszkoda (i) == 2 %Cliff plot(x(i), y(i), 'Marker', 'o', 'MarkerEdgeColor', 'k') end text(.9, 0.9, sprintf('Square = Wall \nOkrąg = Urwisko'), 'Jednostki', 'znormalizowane') wstrzymaj na końcu %Sygnał niebezpieczeństwa dopóki prawda rob.beep pauza(3) if rob.getButtons.clean break end end % catch % rob.stop % end
Zalecana:
Roomba sterowana przez MATLAB: 5 kroków
Roomba sterowana przez MATLAB: Celem tego projektu jest wykorzystanie MATLAB oraz zmodyfikowanego programowalnego robota iRobot. Nasza grupa połączyła nasze umiejętności kodowania, aby stworzyć skrypt MATLAB, który wykorzystuje wiele funkcji iRobota, w tym czujniki klifu, czujnik zderzaka
Projekt Mars Roomba UTK: 4 kroki
Projekt Mars Roomba UTK: OŚWIADCZENIE: TO DZIAŁA TYLKO JEŚLI ROOMBA JEST KONFIGUROWANA W BARDZO SZCZEGÓLNY SPOSÓB, TA INSTRUKCJA ZOSTAŁA STWORZONA I PRZEZNACZONA DO UŻYWANIA PRZEZ STUDENTÓW I WYDZIAŁÓW NA UNIWERSYTECIE TENESSEE Ten kod służy do konfigurowania robota Roomba do lokalnego działania napisane i s
Projekt Roomba: 5 kroków (ze zdjęciami)
Projekt Roomba: Ta instrukcja została stworzona w celu spełnienia wymagań projektowych kursu Makecourse na Uniwersytecie Południowej Florydy (www.makecourse.com). Ta instrukcja obejmuje wszystkie niezbędne kroki i komponenty wymagane do złożenia mojego projektu Roomba
Roomba z MATLAB: 4 kroki (ze zdjęciami)
Roomba z MATLAB: Ten projekt wykorzystuje MATLAB i programowalny robot iRobot Create2. Testując naszą wiedzę na temat MATLAB, jesteśmy w stanie zaprogramować Create2 do interpretacji obrazów i wykrywania sygnałów. Funkcjonalność robota zależy głównie od
Palnik zasilany przez USB! Ten projekt może przepalić plastik/drewno/papier (zabawny projekt musi być również bardzo drobny): 3 kroki
Palnik zasilany przez USB! Ten projekt może palić się przez plastik/drewno/papier (zabawny projekt musi być również bardzo cienki): NIE WOLNO TEGO UŻYWAĆ Z USB!!!! Dowiedziałem się, że może uszkodzić twój komputer ze wszystkich komentarzy. mój komputer jest w porządku. Użyj ładowarki do telefonu 600mA 5V. użyłem tego i działa dobrze i nic nie może zostać uszkodzone, jeśli użyjesz wtyczki bezpieczeństwa, aby zatrzymać zasilanie