Tabla de contenido:

Robot de reconocimiento de Marte: 4 pasos
Robot de reconocimiento de Marte: 4 pasos

Video: Robot de reconocimiento de Marte: 4 pasos

Video: Robot de reconocimiento de Marte: 4 pasos
Video: Las trágicas imágenes finales del rover Opportunity de la NASA 2024, Mes de julio
Anonim
Robot de reconocimiento de Marte
Robot de reconocimiento de Marte

Este Instructable es una guía paso a paso para programar y comandar el Mars Reconnaissance Robot.

Para comenzar, se debe obtener la lista de los siguientes materiales: Un iRobot cargado creado personalizado por el Tickle College of Eningeering Univerisity de Tennessee, Una red inalámbrica que está conectada a la Raspberry Pi en el iRobot, UTK iRobot create cargador, compatible con Wifi computadora con acceso a MATLAB e internet.

Paso 1: Caja de herramientas Roomba

Caja de herramientas Roomba
Caja de herramientas Roomba

Abra MATLAB y cree una nueva carpeta para que los archivos de código se almacenen desde su proyecto. En MATLAB, abra un nuevo script y ejecute el siguiente código. Una vez que se ejecuta el script, agregue la nueva carpeta al directorio donde MATLAB busca archivos.

Código:

función roombaInstallclc; % lista de archivos para instalar archivos = {'roomba.m', 'roombaSim.m', 'roombaSimGUI.m', 'roombaSimGUI.fig'}; % ubicación para instalar desde options = weboptions ('CertificateFilename', ''); % decirle que ignore los requisitos del certificado server = 'https://ef.engr.utk.edu/ef230/projects/roomba-f2016/install/'; dlgTitle = 'Instalación / Actualización de Roomba'; % propósito de visualización y solicitud de confirmación = {'Este programa descargará estos archivos EF 230 Roomba:' '' strjoin (archivos, '') '' 'a esta carpeta:' '' cd '' '¿Desea continuar? '}; bip; yn = questdlg (indicador,… dlgTitle,… 'Sí', 'No', 'Sí');

si ~ strcmp (yn, 'Yes'), return; fin

% obtener la lista de archivos que existen existing_files = files (cellfun (@exist, files)> 0); if ~ isempty (existing_files)% asegúrese de que esté realmente bien reemplazarlos prompt = {'Está reemplazando estos archivos:' '' strjoin (existing_files, '') '' '¿Está bien reemplazar?' }; bip; yn = questdlg (indicador,… dlgTitle,… 'Sí', 'No', 'Sí'); si ~ strcmp (yn, 'Yes'), return; fin fin

% descarga los archivos cnt = 0; para i = 1: longitud (archivos) f = archivos {i}; disp (['Descargando' f]); intente url = [servidor f]; websave (f, url, opciones); % de opciones agregadas para evitar errores de seguridad cnt = cnt + 1; catch disp (['Error al descargar' f]); ficticia = [f '.html']; si existe (ficticio, 'archivo') == 2 eliminar (ficticio) end end end

if cnt == longitud (archivos) msg = 'Instalación exitosa'; esperar (msgbox (msg, dlgTitle)); else msg = 'Error de instalación; consulte la ventana de comandos para obtener más detalles'; esperar (errordlg (msg, dlgTitle)); fin

end% roombaInstalar

Paso 2: prepararse para conectarse

Preparándose para conectarse
Preparándose para conectarse
Preparándose para conectarse
Preparándose para conectarse

Conecte el micro-USB que sobresale del robot al puerto inferior de la Raspberry Pi. Luego, en la parte superior del Roomba, presione y mantenga presionados simultáneamente los botones de acoplamiento y de foco hasta que la luz del Roomba se atenúe. Debería escuchar una balanza electrónica del Roomba una vez que suelte.

Paso 3: Conexión al robot

Conectando al Robot
Conectando al Robot

Abra las redes disponibles en su computadora y seleccione la red existente entre la computadora y Raspberry Pi. En la carpeta actual de MATLAB, haga clic derecho en la carpeta de su proyecto actual y seleccione la caja de herramientas roomba descargada en el paso 1 y agregue a la ruta. En una red diseñada para múltiples conexiones Pi, especifique su robot creando un objeto de clase Roomba. Ver ejemplo a continuación

Si tiene un Roomba asignado al número 7, ingrese lo siguiente:

r = roomba (7)

% Recuerde que esta variable ahora está asignada al roomba, cualquier comando dado al robot debe ser dirigido por la variable asignada.

Paso 4: Código

Código
Código

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

Usando el enlace de arriba, guarde todos los archivos.m, en la carpeta dada donde se ejecutará el programa principal. El enlace debe estar abierto a todos los que lo tengan. Abra un nuevo script en la carpeta actual y ejecute mycontrolprogram.m como se ve a continuación:

función mycontrolprogram (r) global m m = mobiledev; emailInit (); corriendo = 1; global f global count count = 0; f = r; direc global direc = 0; r.getAngle; r.getDistance; curLoc global curLoc = [0, 0]; pts globales pts = ceros (1, 2, 2); manual = verdadero; graphObs (1); v = 0,15; while count <50 if (manual == false) obsDetect (r, v, pts); direc = direc + r.getAngle; r.setLEDDigits (num2str (recuento)); else direc = direc + r.getAngle; manualDrive (); end end figSend (); fin

El robot ahora debería realizar su trabajo diseñado.

Recomendado: