Съдържание:
- Стъпка 1: Стъпка 1: Необходими материали
- Стъпка 2: Стъпка 2: Настройка/Получаване на код за Roomba
- Стъпка 3: Стъпка 3: Настройка на сензори за скали/LED светлини
- Стъпка 4: Стъпка 4: Проверка за препятствия
- Стъпка 5: Стъпка 5: Начертаване
Видео: Проект Roomba MATLAB: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
Настоящият план, който НАСА има за марсохода, е той да бъде събирач на данни и да обикаля около Марс, събирайки проби от почвата, за да се върне на Земята, за да могат учените да видят дали на планетата е имало предишни форми на живот. Освен това, марсоходът изпраща образни изображения на учените, за да могат те да помогнат при навигацията му и да отстранят всички проблеми, които може да има.
Идеята на нашата група за нашия проект е марсоходът да направи същото като марсохода на НАСА, който ще напусне Земята през 2020 г., но също така и да очертае географията на сушата. Roomba би могъл да усети скали и да се спре, преди да падне, а след това да се върне назад, да се обърне и да промени курса си, така че да не падне и да се повреди. Другата ни идея, интегрирана в нашия проект, е roomba да може да очертае забележителностите, които вижда, и да показва сюжет всеки път, когато цикълът е завършен и неговият курс е изпълнен.
Тази инструкция е за всеки друг, който би искал да създаде същия тип код за своята румба.
Стъпка 1: Стъпка 1: Необходими материали
Ще имаш нужда:
- Румба
- MATLAB
- Този файл за стартиране на roomba
- Плоска повърхност
- Повърхност на маса, която да действа като "скала"
Стъпка 2: Стъпка 2: Настройка/Получаване на код за Roomba
Екранът ви ще изглежда така, след като въведете файловете.
Стъпка 3: Стъпка 3: Настройка на сензори за скали/LED светлини
Този код ще каже на вашия roomba точно под какъв ъгъл да се обърне, ще провери информацията за батерията, ще каже на вашия roomba колко бързо да върви и да провери за човек през камерата на roomba. Той също така ще издаде звуков сигнал, ако идентифицира човек, и ще спре, преди да слезе от скала.
% опитайте rob.setLEDDigits ('') x = 0; y = 0; тета = 0; препятствие = ; цикъл = 1; AngCorr = @(x) x + 3,059.*X.^0,4205; %Функция за коригиране на ъглите на завъртане, докато rob.getBatteryInfo.percent> 15 rob.setLEDDigits ('') rob.setDriveVelocity (0.1) %Go %Проверете за лице, ако AA_checkperson (rob) rob.beep end %Проверете сензора за скали, ако AA_cliffcheck (rob) rob.stop rob.setLEDDigits ('Cliff') пауза (0.5) препятствие (цикъл) = 2; AA_cliffbeep (rob) %Back Up And Turn rob.moveDistance (-. 15) rob.turnAngle (30) край
Стъпка 4: Стъпка 4: Проверка за препятствия
Този код ще накара roomba да провери за елементи около него и ще провери сензора за удар, за да се увери, че спира, преди да се повреди.
%Проверете сензора за светлина, ако AA_lightcheck (rob) rob.stop rob.setLEDDigits ('Wall') пауза (0.5) препятствие (цикъл) = 1; %Wall AA_wallbeep (rob) %Back Up And Turn rob.moveDistance (-. 15) rob.turnAngle (30) end %Проверете сензора за удар, ако AA_bumpcheck (rob) rob.stop rob.setLEDDigits ('Wall') пауза (0.5) препятствие (цикъл) = 1; %Wall AA_wallbeep (rob) %Back Up And Turn rob.moveDistance (-. 15) rob.turnAngle (30) end %Ако няма, ако е празно (препятствие) препятствие (цикъл) = 0; иначе дължина (препятствие) <препятствие на цикъла (цикъл) = 0; край
Стъпка 5: Стъпка 5: Начертаване
Този код ще каже на вашата румба да начертае какво среща при пътуването си. Сюжет като този ще се появи, след като roomba е спрял.
%Получаване на позиция d = rob.getDistance; ако цикъл == 1 тета (цикъл) = 0; x (цикъл) = d.*cosd (тета (цикъл)); % общо изминато разстояние в x y (цикъл) = d.*sind (тета (цикъл)); % общо изминато разстояние в y else theta (цикъл) = theta (цикъл-1) + rob.getAngle; x (цикъл) = d.*cosd (тета (цикъл)) + x (цикъл-1); % общо изминато разстояние в x y (цикъл) = d.*sind (тета (цикъл)).*d + y (цикъл-1); %общо изминато разстояние в y края %Състояние на прекъсване, ако rob.getButtons.clean break end %Прирастване на цикъла на цикъла = цикъл + 1; край rob.stop за i = 1: цикъл, ако препятствие (i) == 1 %Графика на стената (x (i), y (i), 'Marker', 'square', 'MarkerEdgeColor', 'r') иначе препятствие (i) == 2 %Графика на скалите (x (i), y (i), 'Marker', 'o', 'MarkerEdgeColor', 'k') краен текст (.9, 0.9, sprintf ('Square = Wall) nCircle = Cliff '),' Units ',' normalized ') задръжте край % сигнал за бедствие, докато е истинско rob.beep пауза (3) ако rob.getButtons.clean break end end % catch % rob.stop % end
Препоръчано:
Контролирана Roomba от MATLAB: 5 стъпки
Контролирана Romba от MATLAB: Целта на този проект е да се използва MATLAB, както и модифициран програмируем робот iRobot. Нашата група комбинира уменията ни за кодиране, за да създаде MATLAB скрипт, който използва много функции на iRobot, включително сензорите за скали, сензори за броня
Проект Mars Roomba UTK: 4 стъпки
Проект Mars Roomba UTK: ОТКАЗ ОТ ОТГОВОРНОСТ: ТОВА ЩЕ РАБОТИ САМО, АКО СТАЯТА Е НАСТРОЕНА ПО ВСЕКИ СПЕЦИФИЧЕН НАЧИН, ТОЗИ ИНСТРУКЦИЯ Е СЪЗДАДЕН И НАМЕРЕН ДА СЕ ИЗПОЛЗВА ОТ УНИВЕРСИТЕТ НА УЧЕНИЦИТЕ НА ТЕНИСИТЕ И ФАКУЛТИТЕ Този код се използва написано и s
Проект Roomba: 5 стъпки (със снимки)
Проект Roomba: Тази инструкция е създадена в изпълнение на проектните изисквания на Makecourse в Университета на Южна Флорида (www.makecourse.com). Тази инструкция ще обхване всички необходими стъпки и компоненти, необходими за сглобяването на моя проект Roomba
Roomba с MATLAB: 4 стъпки (със снимки)
Roomba с MATLAB: Този проект използва MATLAB и програмируем робот iRobot Create2. Като поставяме знанията си за MATLAB на тест, ние можем да програмираме Create2 за интерпретиране на изображения и откриване на сигнали. Функционалността на робота зависи главно от
Горелка с USB захранване! Този проект може да изгори чрез пластмаса / дърво / хартия (забавният проект също трябва да бъде много фино дърво): 3 стъпки
Горелка с USB захранване! Този проект може да изгори чрез пластмаси / дърво / хартия (забавният проект също трябва да бъде много фин дървен материал): НЕ ПРАВЕТЕ ТОВА С ИЗПОЛЗВАНЕ НА USB !!!! разбрах, че може да повреди компютъра ви от всички коментари. компютъра ми е добре. Използвайте зарядно устройство за телефон 600ma 5v. Използвах това и работи добре и нищо не може да се повреди, ако използвате предпазен щепсел, за да спрете захранването