Съдържание:

RADbot: 7 стъпки
RADbot: 7 стъпки

Видео: RADbot: 7 стъпки

Видео: RADbot: 7 стъпки
Видео: 7 ЛАЙФХАКОВ ДЛЯ ХУЛИГАНОВ 2024, Октомври
Anonim
RADbot
RADbot

Проект на Джаксън Брейкъл, Тайлър Маккабинс и Якоб Талер за EF 230

На Марс астронавтите ще бъдат подложени на различни опасности, вариращи от екстремни температури до прахови бури. Един фактор, който често се пренебрегва, обаче е опасността, която представляват мощните радиоизотопи, живеещи на повърхността на планетата. RADbot предоставя помощ при изследване на астронавти на повърхността на Марс, като идентифицира скални проби с висока активност по време на пътуването, а също така има програмирани функции за безопасност, които използват сензорите за скали, сензори за светлина, сензори за броня и камера, предотвратявайки повредата на робота. на непримиримия марсиански терен. Освен че предупреждава астронавтите за възможни радиоактивни опасности на повърхността, функцията за местоположение на радиоактивната проба на робота може да бъде приложена като инструмент за идентифициране на области, които могат да съдържат големи находища на уран и други актиниди. Астронавтите биха могли да добиват тези елементи, да ги обогатяват достатъчно и да ги използват в ядрени реактори и термоелектрически генератори, което може да помогне за захранването на постоянна, самоподдържаща се колония на планетата.

За разлика от типичния марсоход Марс, нашият дизайн включва готови компоненти и разумна цена. При условие, че разполагате със средства и желание, можете дори да създадете такъв сами, като следвате това ръководство. Моля, прочетете, за да научите как да направите свой собствен RADbot.

Стъпка 1: Придобийте необходимите части и материали

Придобийте необходимите части и материали
Придобийте необходимите части и материали
Придобийте необходимите части и материали
Придобийте необходимите части и материали
Придобийте необходимите части и материали
Придобийте необходимите части и материали

Какво ще ви е необходимо, за да започнете (Изображенията са поставени в ред, в който са изброени)

1. Една Roomba (всеки по -нов модел)

2. Един брояч на Гайгер-Мюлер

3. Един Raspberry Pi

4. Една настолна камера с USB изход

5. Един микро USB към USB кабел

6. Един USB към USB кабел

7. Една радиоактивна проба с достатъчна активност (~ 5μSv или по -висока)

8. Един компютър с инсталиран Matlab

9. Лепило (за предпочитане тиксо за лесна отстраняване)

Стъпка 2: Конфигуриране на камерата и брояча на Гейгер-Мюлер

Конфигуриране на камерата и брояча на Гейгер-Мюлер
Конфигуриране на камерата и брояча на Гейгер-Мюлер

Сега, когато имате всички необходими материали за създаване на RADbot, ще започнем с просто поставяне на камерата, така че да може да чете активността на тезгяха. Поставете брояча на Geiger-Muller възможно най-близо до края на Roomba и се уверете, че неговият сензор не е блокиран. Закрепете брояча здраво на избраното лепило и продължете да монтирате камерата с лице към него. Поставете камерата възможно най -близо до дисплея на брояча, за да предотвратите въздействието на външни входове върху програмата, и я фиксирайте на място, след като се почувствате комфортно. Препоръчваме ви да запазите защитата на камерата за последно, тъй като, когато кодът ви приключи, можете да покажете изображение от камерата на компютъра си, което ви позволява да позиционирате камерата според нейното зрително поле. След като камерата и броячът са здраво поставени, включете камерата в един от USB входовете на Raspberry Pi с USB към USB кабел и включете Raspberry Pi в Roomba с кабела micro USB към USB.

Стъпка 3: Свържете се с Roomba и създайте код на сензора за светлина

Свържете се с вашия Roomba и създайте код на сензора за светлина
Свържете се с вашия Roomba и създайте код на сензора за светлина

Първо изтеглете инструментариума Roomba на уебсайта EF 230 и не забравяйте да го поставите в посочените папки. За да се свържете с вашата Roomba, просто направете справка със стикера, прикрепен към Raspberry Pi и въведете „r = roomba (x)“в командния прозорец, без кавичките, и където x означава номера на Roomba. Roomba трябва да свири мелодия, а бутонът за почистване трябва да показва зелен пръстен около него. Започнете кода си с изявление "while" и се обърнете към сензорите за светлина, както се появяват в списъка със сензори. Отворете списъка със сензори, като напишете „r.testSensors“в командния прозорец.

Въз основа на цвета на нашия обект, който определя колко светлина се отразява, задайте изискванията за оператора while да се изпълни като> функция. В нашия случай, ние настройваме сензора за предна светлина да изпълнява кода в оператора while, ако показанията на левия или десния сензор за централна светлина са> 25. За изпълнимия оператор задайте скоростта на Roomba да се забави, като напишете „r.setDriveVelocity (x, y)“, където x и y са скоростите съответно на лявото и дясното колело. Вмъкнете изявление "else", така че Roomba да не забави за неуточнени стойности, и въведете отново зададената команда за скорост на задвижване, освен с различна скорост. Завършете оператора while с "край". Този сегмент от код ще накара Roomba да се доближи до обекта и да се забави, след като достигне определен диапазон, за да сведе до минимум въздействието.

Прикачена е екранна снимка на нашия код, но не се колебайте да я редактирате, за да отговаря най -добре на параметрите на вашата мисия.

Стъпка 4: Създайте код на бронята

Създайте код на бронята
Създайте код на бронята

Тъй като Roomba се забавя, това ще сведе до минимум въздействието му върху обекта, макар и не толкова, че да не задейства физическата броня. За този сегмент от код, започнете отново с цикъл "while" и задайте израза му като true. За изявлението задайте променливата Т равна на изхода на бронята, или 0 или 1, за false и true. Можете да използвате "T = r.getBumpers" за това. T ще изведе като структура. Въведете израз "if" и задайте израза му за подструктурата T.front на равен на 1 и задайте израза или да зададе скоростта на задвижване на 0, като използва "r.setDriveVelocity (x, y)" или "r.stop ". Въведете „break“, така че Roomba да може да се движи, след като условието в следващия код е изпълнено. Добавете "else" и задайте изявлението му, за да зададете скоростта на задвижване до нормалната крейсерска скорост на Roomba.

Прикачена е екранна снимка на нашия код, но не се колебайте да я редактирате, за да отговаря най -добре на параметрите на вашата мисия.

Стъпка 5: Създайте код за четене на екрана на брояча, интерпретирайте го и се оттеглете от източника

Създайте код, за да прочетете екрана на брояча, да го интерпретирате и да се оттеглите от източника
Създайте код, за да прочетете екрана на брояча, да го интерпретирате и да се оттеглите от източника

В основата на нашия проект е броячът на Гайгер-Мюлер и следният сегмент от код се използва, за да се определи какво означават данните на екрана с помощта на камерата. Като се има предвид, че екранът на нашия брояч променя цвета си в зависимост от активността на източника, ние ще настроим камерата да интерпретира цвета на екрана. Стартирайте кода си, като зададете променлива, равна на командата "r.getImage". Променливата ще съдържа 3d масив от цветни стойности на снимката, направена в червено, зелено и синьо. Задайте променливи, равни на средните стойности на съответните цветни матрици, като използвате командата „mean (mean (mean (img1 (:,:, x)))“), където x е цяло число от 1 до 3. 1, 2 и 3 представляват червено, зелено и синьо съответно. Както при всички споменати команди, не включвайте кавички.

Поставете програмата на пауза за 20 секунди, като използвате „пауза (20)“, за да може броячът да получи точно отчитане на пробата и след това да започне оператор „ако“. Имахме нашия звуков сигнал Roomba няколко пъти, като използвахме „r.beep“, преди той да покаже меню с текст „Радиоизотоп е намерен! Внимание!“това може да се постигне с командата "waitfor (helpdlg ({'texthere'}))". След като щракнете върху OK, Roomba ще продължи да следва останалата част от кода в израза "if". Накарайте Roomba да обиколи извадката, като използва комбинация от командите "r.moveDistance" и "r.turnAngle". Уверете се, че завършвате израза си с "край".

Прикачена е екранна снимка на нашия код, но не се колебайте да я редактирате, за да отговаря най -добре на параметрите на вашата мисия.

Стъпка 6: Създайте код на сензора за скали

Създайте код на сензора за скали
Създайте код на сензора за скали

За да създадете код, който да използва вградените сензори за скали на Roomba, започнете с цикъл "while" и задайте израза му като true. Задайте променлива да бъде равна на "r.getCliffSensors" и това ще доведе до структура. Стартирайте оператор "if" и задайте променливите "X.leftFront" и "X.rightFront" от структурата да бъдат по -големи от някаква предварително определена стойност, където "X" е променливата, която сте избрали за командата "r.getCliffSensors" на бъде равно на. В нашия случай използвахме 1000, тъй като парче бяла хартия беше използвано за представяне на скала и с приближаването на сензорите, хартията, стойностите нараснаха до доста над 1000, гарантирайки, че кодът ще се изпълни само когато се открие скала. Добавете след това командата „break“и след това вмъкнете „else“израз. За изявлението "else", което ще се изпълни, ако не се открие скала, задайте скоростта на движение до нормалната скорост за всяко колело. Ако Roomba открие скала, „прекъсването“ще бъде изпълнено и след това кодът извън цикъла while ще бъде изпълнен. След като поставите „края“за цикъла „ако“и „докато“, настройте Roomba да се движи назад, като използва командата за преместване на разстояние. За да предупредите астронавтите, че наблизо има скала, задайте скоростите на задвижване на всяко колело, x и y в командата за скорост на шофиране, да бъдат a и -a, където a е реално число. Това ще накара Roomba да се завърти, предупреждавайки астронавта към скалата.

Прикачена е екранна снимка на нашия код, но не се колебайте да я редактирате, за да отговаря най -добре на параметрите на вашата мисия.

Стъпка 7: Заключение

Заключение
Заключение

Крайната цел на RADbot на Марс е да помогне на астронавтите при тяхното изследване и колонизация на червената планета. Чрез идентифициране на радиоактивни проби на повърхността, нашите надежди са, че роботът или роувърът в този случай наистина могат да запазят астронавтите в безопасност и да помогнат за идентифицирането на източници на енергия за техните бази. След като изпълните всички тези стъпки и може би с някои опити и грешки, вашият RADbot трябва да работи и да работи. Поставете радиоактивната проба някъде в зоната за изпитване, изпълнете кода си и наблюдавайте как ровърът прави това, за което е проектиран. Насладете се на вашия RADbot!

-Екипът на EF230 RADbot

Препоръчано: