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, Noviembre
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: