Мазмұны:

Марсты барлау роботы: 4 қадам
Марсты барлау роботы: 4 қадам

Бейне: Марсты барлау роботы: 4 қадам

Бейне: Марсты барлау роботы: 4 қадам
Бейне: Они все полетели на Марс Что из этого вышло 2024, Шілде
Anonim
Марсты барлауға арналған робот
Марсты барлауға арналған робот

Бұл нұсқаулық Марс барлау роботын бағдарламалау мен басқаруға арналған қадамдық нұсқаулық болып табылады.

Бастау үшін келесі материалдардың тізімін алу қажет: Теннесси штатындағы Эннингинг Университетінің Тикле колледжі реттейтін зарядталған iRobot, iRobot-та Raspberry Pi-ге қосылған сымсыз желі, UTK iRobot зарядтағышын жасайтын, Wi-Fi бар MATLAB және интернетке кіруге болатын компьютер.

1 -қадам: Roomba Toolbox

Roomba құралдар тақтасы
Roomba құралдар тақтасы

MATLAB ашыңыз және сіздің жобаңыздан сақталатын код файлдары үшін жаңа қалта жасаңыз. MATLAB -та жаңа сценарий ашып, төмендегі кодты іске қосыңыз. Сценарий іске қосылғаннан кейін MATLAB файлдарды іздейтін каталогқа жаңа қалтаны қосыңыз.

Код:

roombaInstallclc функциясы; % файлдарды орнататын файлдар тізімі = {'roomba.m', 'roombaSim.m', 'roombaSimGUI.m', 'roombaSimGUI.fig'}; опциялардан орнатылатын % орын = weboptions ('CertificateFilename', ''); % сертификат талаптарын елемеуді айтады сервер = 'https://ef.engr.utk.edu/ef230/projects/roomba-f2016/install/'; dlgTitle = 'Roomba орнату/жаңарту'; % display мақсаты және растау шақыруын алу = {'Бұл бағдарлама EF 230 Roomba файлдарын жүктейді:' '' strjoin (файлдар, '') '' 'мына қалтаға:' '' cd '' 'Жалғастырғыңыз келе ме? '}; дыбыстық сигнал; yn = questdlg (шақыру,… dlgTitle,… 'Иә', 'Жоқ', 'Иә');

if ~ strcmp (yn, 'Yes'), қайтару; Соңы

% бұрыннан бар файлдардың тізімін алады_files = файлдар (cellfun (@exist, files)> 0); if ~ isempty (existing_files) % оларды ауыстырудың дұрыс екеніне көз жеткізіңіз шақыру = {'Сіз бұл файлдарды ауыстырасыз:' '' strjoin (existing_files, '') '' 'Ауыстыруға болады ма?' }; дыбыстық сигнал; yn = questdlg (шақыру,… dlgTitle,… 'Иә', 'Жоқ', 'Иә'); if ~ strcmp (yn, 'Yes'), қайтару; соңы соңы

% файлдарды жүктеу cnt = 0; i = 1 үшін: ұзындық (файлдар) f = файлдар {i}; disp (['Жүктеу' f]); url = [сервер f] көріңіз; websave (f, url, опциялар); қауіпсіздік қателерін болдырмау үшін % опциялар қосылды cnt = cnt + 1; catch disp (['Жүктеу қатесі' f]); манекен = [f '.html']; егер бар болса (муляж, 'файл') == 2 жою (манекен) соңы соңы

if cnt == length (files) msg = 'Орнату сәтті болды'; күту (msgbox (msg, dlgTitle)); else msg = 'Орнату қателігі - мәліметтерді командалық терезеден қараңыз'; күту (errordlg (msg, dlgTitle)); Соңы

end %roombaInstall

2 -қадам: қосылуға дайындық

Қосылуға дайындалуда
Қосылуға дайындалуда
Қосылуға дайындалуда
Қосылуға дайындалуда

Роботтан шығатын micro-USB Raspberry Pi төменгі портына қосыңыз. Содан кейін Roomba жоғарғы жағында қондырғы мен нүкте түймелерін Roomba шамы сөнгенше басып тұрыңыз. Босатқаннан кейін сіз Roomba электронды таразысын естуіңіз керек.

3 -қадам: роботқа қосылу

Роботқа қосылу
Роботқа қосылу

Компьютердегі қол жетімді желілерді ашып, компьютер мен Raspberry Pi арасындағы желіні таңдаңыз. MATLAB ағымдағы қалтасында ағымдағы жоба қалтасын тінтуірдің оң жақ түймесімен нұқыңыз және 1 -қадамда жүктелген Roomba құралдар тақтасын таңдап, жолға қосыңыз. Бірнеше Pi қосылымына арналған желіде Roomba класының объектісін құру арқылы роботыңызды көрсетіңіз. Төмендегі мысалды қараңыз

Егер сізде 7 нөміріне тағайындалған Roomba болса, келесіні енгізіңіз:

r = бөлмеба (7)

Есіңізде болсын, бұл айнымалы енді бөлме бөлмесіне тағайындалған, роботқа берілген кез келген команда тағайындалған айнымалымен басқарылуы керек.

4 -қадам: код

Код
Код

drive.google.com/drive/folders/1OVR5oTHUsn…

Жоғарыдағы сілтемені пайдаланып, барлық.m файлдарын негізгі бағдарлама орындалатын қалтаға сақтаңыз. Сілтеме бар барлық адамдарға ашық болуы керек. Ағымдағы қалтада жаңа сценарийді ашып, төменде көрсетілгендей mycontrolprogram.m іске қосыңыз:

mycontrolprogram (r) жаһандық m m = mobiledev функциясы; emailInit (); жүгіру = 1; жаһандық f жаһандық санау саны = 0; f = r; жаһандық direc direc = 0; r.getAngle; r.getDistance; жаһандық curLoc curLoc = [0, 0]; жаһандық pts pts = нөлдер (1, 2, 2); нұсқаулық = ақиқат; graphObs (1); v = 0,15; while <50 if (manual == false) obsDetect (r, v, pts); direc = direc + r.getAngle; r.setLEDDigits (num2str (санау)); else direc = direc + r.getAngle; manualDrive (); figSend () соңы; Соңы

Енді робот өзінің тапсырмасын орындауы керек.

Ұсынылған: