Taula de continguts:

Robot de reconeixement de Mart: 4 passos
Robot de reconeixement de Mart: 4 passos

Vídeo: Robot de reconeixement de Mart: 4 passos

Vídeo: Robot de reconeixement de Mart: 4 passos
Vídeo: Аномально вкусно‼️ ЧЕХОСЛОВАЦКИЙ СУП ИЗ ФАРША. Жена Липована в шоке. 2024, Desembre
Anonim
Robot de reconeixement de Mart
Robot de reconeixement de Mart

Aquest instructable és una guia pas a pas per programar i comandar el robot de reconeixement de Mars.

Per començar, s’ha d’obtenir la llista dels materials següents: Un iRobot carregat creat personalitzat pel Tickle College of Eningeering Univerisity de Tennessee, una xarxa sense fils connectada al Raspberry Pi a l’iRobot, UTK iRobot crea un carregador, compatible amb Wifi ordinador amb accés a MATLAB i a Internet.

Pas 1: Roomba Toolbox

Caixa d'eines Roomba
Caixa d'eines Roomba

Obriu MATLAB i creeu una carpeta nova per als fitxers de codi que es desaran del vostre projecte. A MATLAB, obriu un script nou i executeu el codi següent. Un cop executat l'script, afegiu la nova carpeta al directori on MATLAB busca fitxers.

Codi:

function roombaInstallclc; % llista de fitxers per instal·lar fitxers = {'roomba.m', 'roombaSim.m', 'roombaSimGUI.m', 'roombaSimGUI.fig'}; % ubicació per instal·lar des d'opcions = opcions web ('CertificateFilename', ''); % digueu-li que ignori els requisits del certificat servidor = 'https://ef.engr.utk.edu/ef230/projects/roomba-f2016/install/'; dlgTitle = 'Instal·lació / actualització de Roomba'; % display purpose and get confirmation prompt = {'Aquest programa descarregarà aquests fitxers EF 230 Roomba:' '' strjoin (files, '') '' 'a aquesta carpeta:' '' cd '' 'Voleu continuar? '}; bip; yn = questdlg (indicador, … dlgTitle, … "Sí", "No", "Sí");

si ~ strcmp (yn, 'Sí'), torna; final

% obtenir la llista de fitxers que existeixen existing_files = fitxers (cellfun (@exist, fitxers)> 0); if ~ isempty (existing_files)% assegureu-vos que està realment bé substituir-los prompt = {'Esteu substituint aquests fitxers:' '' strjoin (existing_files, '') '' 'Voleu substituir?' }; bip; yn = questdlg (indicador, … dlgTitle, … "Sí", "No", "Sí"); si ~ strcmp (yn, 'Sí'), torna; fi final

% descarrega els fitxers cnt = 0; per a i = 1: longitud (fitxers) f = fitxers {i}; disp (['Descarregant' f]); proveu url = [servidor f]; websave (f, url, opcions); % d'opcions afegides per evitar errors de seguretat cnt = cnt + 1; catch disp (['Error en descarregar' f]); maniquí = [f '.html']; si existeix (fictici, 'fitxer') == 2 esborra (fictici) extrem extrem extrem

if cnt == length (files) msg = 'Instal·lació correcta'; waitfor (msgbox (msg, dlgTitle)); else msg = 'Error d'instal·lació: vegeu la finestra d'ordres per obtenir més detalls'; waitfor (errordlg (msg, dlgTitle)); final

end% roombaInstall

Pas 2: Preparació per connectar-se

Preparació per connectar-se
Preparació per connectar-se
Preparació per connectar-se
Preparació per connectar-se

Connecteu el micro-USB que sobresurt del robot al port inferior del Raspberry Pi. A continuació, a la part superior del Roomba, mantingueu premuts simultàniament els botons de moll i punt fins que la llum del Roomba es desaparegui. Haureu d’escoltar una balança electrònica del Roomba un cop alliberada.

Pas 3: Connexió al robot

Connexió al robot
Connexió al robot

Obriu les xarxes disponibles a l’ordinador i seleccioneu la xarxa existent entre l’ordinador i Raspberry Pi. A la carpeta actual de MATLAB, feu clic dret sobre la carpeta del projecte actual i seleccioneu la caixa d'eines roomba descarregada al pas 1 i afegiu-la al camí d'accés. En una xarxa dissenyada per a diverses connexions Pi, especifiqueu el robot creant un objecte de la classe Roomba. Vegeu l'exemple següent

Si teniu assignat un Roomba al número 7, introduïu el següent:

r = roomba (7)

% Recordeu que aquesta variable ara està assignada a roomba, qualsevol ordre que es doni al robot ha de ser dirigida per la variable assignada.

Pas 4: Codi

Codi
Codi

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

Utilitzant l'enllaç anterior, deseu tots els fitxers.m a la carpeta indicada on s'executarà el programa principal. L'enllaç hauria d'estar obert a tothom que tingui l'enllaç. Obriu un nou script a la carpeta actual i executeu mycontrolprogram.m com es mostra a continuació:

function mycontrolprogram (r) global m m = mobiledev; emailInit (); corrent = 1; global f recompte global = 0; f = r; direc global direc = 0; r.getAngle; r.getDistance; curLoc global curLoc = [0, 0]; pts globals pts = zeros (1, 2, 2); manual = cert; graphObs (1); v = 0,15; mentre que compte <50 if (manual == false) obsDetect (r, v, pts); direc = direc + r.getAngle; r.setLEDDigits (num2str (count)); else direc = direc + r.getAngle; manualDrive (); end end figSend (); final

Ara el robot hauria de realitzar el seu treball dissenyat.

Recomanat: