Tabla de contenido:
- Paso 1: Paso 1: Materiales necesarios
- Paso 2: Paso 2: Configuración / obtención de código para Roomba
- Paso 3: Paso 3: Configuración de sensores de desnivel / luces LED
- Paso 4: Paso 4: Comprobación de obstáculos
- Paso 5: Paso 5: Trazado
Video: Proyecto Roomba MATLAB: 5 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
El plan actual que tiene la NASA para el rover de Marte es que sea un recolector de datos y deambule por Marte, recolectando muestras del suelo para traer de regreso a la Tierra para que los científicos puedan ver si hubo formas de vida anteriores en el planeta. Además, el rover envía imágenes a los científicos para que puedan ayudar a navegar el rover y solucionar cualquier problema que pueda tener.
La idea de nuestro grupo para nuestro proyecto es que el rover haga lo mismo que el rover de la NASA que dejará la Tierra en 2020, pero que también traza un mapa de la geografía de la tierra. El roomba podría detectar acantilados y detenerse antes de que se caiga, y luego retroceder, girar y cambiar su curso para que no se caiga y se dañe. Nuestra otra idea integrada en nuestro proyecto es que roomba pueda trazar los puntos de referencia que ve y mostrar una trama cada vez que finaliza el ciclo y se ejecuta su curso.
Este instructivo es para cualquier otra persona que desee crear el mismo tipo de código para su roomba.
Paso 1: Paso 1: Materiales necesarios
Necesitará:
- Un roomba
- MATLAB
- Este archivo para ejecutar el roomba
- Una superficie plana
- Una superficie de mesa para actuar como un "acantilado"
Paso 2: Paso 2: Configuración / obtención de código para Roomba
Su pantalla se verá así una vez que ingrese los archivos.
Paso 3: Paso 3: Configuración de sensores de desnivel / luces LED
Este código le dirá a su roomba exactamente en qué ángulo girar, comprobará la información de la batería, le dirá a su roomba qué tan rápido debe ir y comprobará si hay una persona a través de la cámara del roomba. También emitirá un pitido si identifica a una persona y se detendrá antes de caer por un precipicio.
% intente rob.setLEDDigits ('') x = 0; y = 0; theta = 0; obstáculo = ; ciclo = 1; AngCorr = @ (x) x + 3.059. * X. ^ 0.4205; % Función para corregir ángulos de giro mientras rob.getBatteryInfo.percent> 15 rob.setLEDDigits ('') rob.setDriveVelocity (0.1)% Go% Verificar persona si AA_checkperson (rob) rob.beep end% Verificar sensor de acantilado si AA_cliffcheck (rob) rob.stop rob.setLEDDigits ('Cliff') pause (0.5) obstáculo (ciclo) = 2; AA_cliffbeep (rob)% Retroceder y girar rob.moveDistance (-. 15) rob.turnAngle (30) end
Paso 4: Paso 4: Comprobación de obstáculos
Este código hará que el roomba verifique si hay elementos a su alrededor y verificará el sensor de golpes para asegurarse de que se detenga antes de que se dañe.
% Compruebe el sensor de luz si AA_lightcheck (rob) rob.stop rob.setLEDDigits ('Wall') pause (0.5) obstáculo (ciclo) = 1; % Wall AA_wallbeep (rob)% Retroceda y gire rob.moveDistance (-. 15) rob.turnAngle (30) end% Compruebe el sensor de impacto si AA_bumpcheck (rob) rob.stop rob.setLEDDigits ('Wall') pause (0.5) obstáculo (ciclo) = 1; % Wall AA_wallbeep (rob)% Retrocede y gira rob.moveDistance (-. 15) rob.turnAngle (30) end% Si ninguno si está vacío (obstáculo) obstáculo (ciclo) = 0; elseif longitud (obstáculo) <ciclo obstáculo (ciclo) = 0; fin
Paso 5: Paso 5: Trazado
Este código le dirá a su roomba que trace lo que encuentre en su viaje. Una trama como esta aparecerá después de que el roomba se haya detenido.
% Obtener posición d = rob.getDistance; si ciclo == 1 theta (ciclo) = 0; x (ciclo) = d. * cosd (theta (ciclo)); % dist total viajado en x y (ciclo) = d. * sind (theta (ciclo)); % dist total viajado en y else theta (ciclo) = theta (ciclo-1) + rob.getAngle; x (ciclo) = d. * cosd (theta (ciclo)) + x (ciclo-1); % dist total viajado en x y (ciclo) = d. * sind (theta (ciclo)). * d + y (ciclo-1); % dist total recorrido en el final de y% Condición de ruptura si rob.getButtons.clean break end% Incremento del ciclo del ciclo = ciclo + 1; end rob.stop for i = 1: cycle if obstacle (i) == 1% Wall plot (x (i), y (i), 'Marker', 'square', 'MarkerEdgeColor', 'r') elseif obstáculo (i) == 2% Gráfico de acantilado (x (i), y (i), 'Marcador', 'o', 'MarkerEdgeColor', 'k') end text (.9, 0.9, sprintf ('Cuadrado = Muro / nCircle = Cliff '),' Units ',' normalized ') mantenga al final% Señal de socorro mientras es verdadero rob.beep pausa (3) if rob.getButtons.clean break end end% catch% rob.stop% end
Recomendado:
Roomba controlado por MATLAB: 5 pasos
Roomba controlado por MATLAB: el objetivo de este proyecto es utilizar MATLAB y un robot programable iRobot modificado. Nuestro grupo combinó nuestras habilidades de codificación para crear un script MATLAB que utiliza muchas funciones del iRobot, incluidos los sensores de desnivel, la sensibilidad del parachoques
Proyecto Roomba: 5 pasos (con imágenes)
Proyecto Roomba: este instructivo fue creado en cumplimiento del requisito de proyecto de Makecourse en la Universidad del Sur de Florida (www.makecourse.com). Este instructivo cubrirá todos los pasos y componentes necesarios para ensamblar mi proyecto Roomba
¡De Roomba a Rover en solo 5 pasos !: 5 pasos
¡De Roomba a Rover en solo 5 pasos!: Los robots Roomba son una forma divertida y fácil de sumergirse en el mundo de la robótica. En este Instructable, detallaremos cómo convertir un Roomba simple en un móvil controlable que analiza simultáneamente su entorno. Lista de piezas1.) MATLAB2.) Habitación
Roomba con MATLAB: 4 pasos (con imágenes)
Roomba con MATLAB: este proyecto utiliza MATLAB y un robot programable iRobot Create2. Al poner a prueba nuestro conocimiento de MATLAB, podemos programar Create2 para interpretar imágenes y detectar señales. La funcionalidad del robot depende principalmente de
¡Quemador alimentado por USB! Este proyecto se puede quemar a través de plásticos / madera / papel (el proyecto divertido también tiene que ser de madera muy fina): 3 pasos
¡Quemador alimentado por USB! Este proyecto se puede quemar a través de plásticos / madera / papel (el proyecto divertido también tiene que ser de madera muy fina): ¡NO HAGA ESTO USANDO USB! Descubrí que puede dañar tu computadora por todos los comentarios. mi computadora está bien aunque. Utilice un cargador de teléfono de 600ma 5v. Usé esto y funciona bien y nada se puede dañar si usa un enchufe de seguridad para detener la energía