Construye un robot de cobertura de área para limpiar suelos
Un robot que cubre una sala con solo dos interruptores de choque, y un análisis medido para evaluar si compensa añadir odometría y planificación.
Qué está construyendo
Un robot cuyo trabajo no es llegar a algún sitio, sino haber estado en todas partes. Eso suena a un problema menor que la navegación, y es mayor, porque no hay objetivo hacia el que dirigir y no hay manera de saber desde donde está de pie si está ganando.
Es también el proyecto que más recompensa medir antes de construir. Toda la primera mitad es un robot con dos interruptores y ninguna idea de dónde está, y funciona: un descubrimiento genuinamente incómodo si estaba a punto de dedicarle un fin de semana a un mapa.
El número que gobierna el proyecto
El área del suelo dividida entre el ancho de su cepillo es la distancia que recorrería un robot perfecto:
d_optimal = A / w
Una habitación de 20 m² y un cepillo de 250 mm dan 80 m. Cada estrategia se juzga como múltiplo de eso, y los múltiplos no están cerca:
| Estrategia | Distancia para llegar al 90 % | En esa sala, a 0.25 m/s |
|---|---|---|
| Barrido perfecto | 1.0× | 5 min |
| Serpentina planificada | 1.35× | 7 min |
| Rebote aleatorio | 2.9× | 15 min |
| Espiral y reubicación | 5.5× | 30 min |
Esos datos salen de ejecutar el simulador de cobertura sobre cinco habitaciones. Antes de comprar nada, ejecútelo usted y mueva el mobiliario por mientras va: los números se mueven con la habitación, que es la mayor parte de la lección.
Lista de materiales
| Componente | Cant. | Coste aprox. | Notas |
|---|---|---|---|
| Arduino Uno | 1 | $5–8 | El modo de rebote aleatorio no necesita casi nada; el barrido planificado necesita los encoders |
| Microinterruptores | 2 | $1 | Izquierda y derecha, tras una carcasa envolvente. El sensor principal aquí |
| Array de reflectancia IR | 1 | $5 | Detección de precipicio: apuntando abajo al borde del suelo, no a una línea |
| Motores N20 con encoder | 2 | $16 | Necesarios para el barrido planificado; la marcha aleatoria funciona sin ellos |
| TB6612FNG | 1 | $3 | |
| Chasis 2WD | 1 | $10 | Redondo es mejor que cuadrado aquí: no se atasca en las esquinas |
| Pack de baterías | 1 | $8 | Las pasadas de cobertura son largas; la capacidad importa más que en otros montajes |
Total: aproximadamente $50–65.
Este es el único proyecto del sitio donde el sensor más barato es el principal. Dos microinterruptores y un giro aleatorio cubrirán una habitación entera dado tiempo suficiente, que es exactamente como funcionaron los aspiradores robóticos de la primera generación, y merece la pena construirlo antes de recurrir a algo más ingenioso.
El array de IR se usa de forma inusual aquí: apuntando hacia abajo al suelo como sensor de precipicio en vez de hacia delante a una línea. Un robot que cubre una habitación se va a encontrar con la cabeza de las escaleras.
Orden de construcción
1 — Compita las estrategias en el simulador. Una hora aquí ahorra un fin de semana. Vea cómo la curva de cobertura se aplana y fíjese en que las tres estrategias son idénticas durante la primera mitad del suelo.
2 — Construya la tracción y el parachoques, y nada más. Dos microinterruptores de palanca detrás de una carcasa con muelle que envuelva al menos 45° a cada lado, cableados normalmente abiertos a masa con los pull-up internos activados. Rebótelos bien: una pulsación son nueve flancos, y una interrupción que cuenta informará de una colisión nueve veces.
3 — Añada los sensores de precipicio antes de que el robot llegue a funcionar sin supervisión. Sensores de reflectancia hacia abajo en las esquinas delanteras, leídos en cada pasada. Después calcule qué tan rápido le está permitido conducir: latencia por velocidad, más v²/2µg de frenado, tiene que caber en la distancia entre ver el desnivel y llegar a él.
4 — Escriba el rebote aleatorio y déjelo correr una hora. Avance recto; ante un golpe, retroceda un poco y gire una cantidad aleatoria entre 90° y 270°. El componente aleatorio es lo que sostiene todo: un ángulo de reflexión fijo convierte la habitación en una mesa de billar y el robot traza un recorrido cerrado para siempre.
5 — Mídalo. Dibuje con tiza o cinta una cuadrícula en el suelo, ejecútelo un tiempo fijo y cuente casillas. Esta es la línea base, y es la única forma honesta de saber si el paso 6 le vale algo.
6 — Solo ahora, añada odometría. Los encoders y la odometría de tracción diferencial le dan una estimación de posición. Planifique filas en serpentina separadas un ancho de cepillo, menos un 10–20 % de solape, y rote alrededor del mobiliario en vez de contra él.
7 — Observe cómo las filas dejan de ser paralelas. Lo harán, en unas diez, porque la odometría deriva. Eso no es un fallo de su planificador: es la razón de que las máquinas comerciales lleven un giróscopo, una cámara cenital o un balizador. Decidir si añadir uno es el final real de este proyecto.
Notas de hardware que importan
Chasis redondo, ruedas en el diámetro. Un robot circular siempre puede salir girando de una colisión en la que se metió. Uno cuadrado puede encajarse en diagonal en una esquina y necesita un parachoques trasero y comportamientos extra para salir.
El cepillo debe ser más ancho que el robot. Esto no es decoración. Un planificador mantiene el cuerpo despejado de cada pared, así que todo lo que el cuerpo no alcanza es suelo que nunca se cubre: en el simulador, 130 de las 133 casillas que el planificador se pierde están a menos de dos celdas de una pared o de una pata de mesa. Un cepillo que sobresale es lo que las recupera.
Dos mitades de parachoques, no una. Un solo interruptor le dice que ha chocado con algo. Dos le dicen de qué lado, que es la información que necesita el sentido de giro, y cuesta un pin.
Presupueste la batería en metros, no en minutos. Una hora a 0.25 m/s son 900 m. Una sala con rebote aleatorio ronda los 540 m para llegar al 99 %. Tres salas no salen, y esa aritmética —no ninguna idea algorítmica— es lo que empujó a toda la categoría de producto hacia el mapeo.
Cómo se ve un buen resultado
La cobertura es uno de los pocos comportamientos de robot con un único número limpio asociado, y la comparación entre estrategias es dramática:
| Estrategia | Cobertura tras 1× el área de la sala recorrida | Tras 3× | Tras 10× |
|---|---|---|---|
| Rebote aleatorio | ~35% | ~70% | ~93% |
| Espiral, y luego rebote | ~45% | ~78% | ~95% |
| Barrido boustrophedon planificado | ~85% | ~99% | ~99% |
La forma de esas columnas es toda la lección. El rebote aleatorio se acerca a la cobertura total de forma asintótica y nunca llega del todo: los últimos pocos puntos percentages tardan más que los noventa primeros. Un barrido planificado llega ahí más o menos en una pasada y luego no le queda nada que hacer.
Esa es la diferencia entre tener memoria y no tenerla, expresada como número.
| Medición | Típico |
|---|---|
| Separación entre líneas de barrido | 80–90 % del ancho efectivo del robot, para que las pasadas se solapen |
| Deriva de rumbo en una pasada de 4 m | 3–8° sin giróscopo, menos de 2° con uno |
| Error de posición tras diez pasadas | 15–40 cm solo con odometría |
| Tamaño practical de sala para odometría pura | Hasta unos 4 × 4 m antes de que el barrido se incline visiblemente |
La última fila es el techo honesto de este proyecto. Un barrido planificado depende de saber dónde está, y la odometría deriva sin límite, así que a partir de unos 4 m las pasadas paralelas dejan de ser paralelas y se abren huecos. Eso no es un problema de ajuste; es por lo que existe el mapeo.
Cuando va mal
| Síntoma | Suele ser |
|---|---|
| Traza el mismo bucle para siempre | El ángulo de rebote es determinista: hágalo aleatorio |
| Cubre el 90 % rápido y luego parece detenerse | Funcionando como se diseñó: esa es la curva de cobertura exponencial |
| Un golpe se cuenta varias veces | Sin rebote, o con una ventana más corta que el rebote de 5 ms |
| Se va por un escalón | Demasiado rápido para el presupuesto del sensor de precipicio, o el bucle bloquea |
| Las filas dejan de ir paralelas | La odometría, no el planificador. Añada una referencia de rumbo |
| Se pierde franjas entre filas | Separación de filas puesta exactamente al ancho del cepillo, sin solape |
| Se encaja en una esquina | Chasis cuadrado, o sin parachoques trasero |
| Nunca pasa por detrás del sofá | Nunca se planificó el tránsito entre tramos de fila |
Seis de esas ocho son sensado, mecánica o aritmética y no algoritmo: la misma distribución que en el micromouse, y por la misma razón.
Para la capa reactiva que esto comparte con cualquier otro robot móvil, el robot esquivador de obstáculos es la construcción más amable con casi el mismo hardware, y la ruta de navegación reactiva cubre el sensado y el comportamiento que hay bajo ambos.
Hoja de ruta del proyecto
La ruta de construcción
Sigue el árbol tecnológico desde las piezas hasta un robot que funciona. Cada nodo se desbloquea cuando completas sus requisitos previos, y tu progreso se guarda en este dispositivo.
0 / 18 completados
Componentes
- ControladorArduino UnoLa tolerante placa de 8 bits con la que la mayoría descubre la robótica.
- SensorBump SwitchDetección táctil por contacto mecánico directo: infalible, instantánea y de coste mínimo.
- SensorIR Reflectance Sensor ArrayEl sensor óptico esencial para seguidores de línea y resolución de laberintos.
- ActuadorN20 Micro Gearmotor with EncoderMicromotor con reductora metálica y encoder trasero, para que el robot sepa cuánto ha avanzado realmente.
- DriverTB6612FNG Motor DriverPuente en H dual con tecnología MOSFET: alta eficiencia y tamaño ultracompacto para robots móviles.
- Chasis2WD Robot ChassisLa plataforma donde se atornillan dos motores, una rueda loca y toda tu electrónica.
- AlimentaciónBattery Power PackLa fuente de energía determinante: por qué la química y la resistencia interna importan más que los voltios.
Tutoriales de esta ruta
- Intermedio · 30 minPlanificación de cobertura: barrer un suelo completoPor qué un robot sin mapa necesita siete veces la distancia para terminar la misma habitación.
- Principiante · 25 minSensores de choque y antirrebotes para colisiones de robotUna pulsación, nueve transiciones —y la interrupción las cuenta todas.
- Intermedio · 25 min de lecturaFrenado en el borde: latencia y distancia de frenadoA qué distancia se detiene un robot tras detectar la línea del borde y cuál es la velocidad máxima segura.
- Principiante · 17 min de lecturaLeer codificadores en cuadratura para distancia y velocidadConvierte los pulsos de un codificador en cuadratura en direccion, distancia y velocidad de rueda fiables.
- Intermedio · 20 min de lecturaOdometria diferencial con codificadores de ruedaIntegra el movimiento de las ruedas izquierda y derecha en la pose de un robot movil y despues identifica y calibra la deriva.
Practica antes de cablear
Ajústalo en el simulador en vivo
La ruta de construcción pasa por un laboratorio en el navegador. Consigue aquí el comportamiento correcto y luego traslada tus ajustes al robot real.
Preguntas frecuentes
¿Es este proyecto una aspiradora robot completa?
Constituye la mitad de navegación autónoma, que es la componente formativa esencial. Incorporar un motor de succión y depósito ciclónico es un desarrollo puramente mecánico (turbina, cepillo giratorio y baterías de alta descarga) que no añade nuevos principios de control. Si instalas una mopa de microfibra electrostática en la base inferior, obtendrás un robot que limpia de forma efectiva suelos duros utilizando exactamente los mismos algoritmos que las unidades comerciales.
¿Por qué empezar con rebote aleatorio si un barrido planificado es superior?
Porque el rebote reactivo con sensores de contacto funciona con un circuito que se monta en una tarde y proporciona una referencia cuantitativa inicial que el planificador posterior debe superar. En el simulador se observa que la estrategia aleatoria cubre el primer 50% de una sala con la misma distancia recorrida que un planificador geométrico; la divergencia aparece en el tramo final. Desarrollar el planificador primero te expondría a lidiar con la deriva de odometría sin una base comparativa.
¿Cuánto mejora realmente el planificador frente al rebote reactivo?
Medido empíricamente en cinco entornos: un barrido planificado alcanza el 90% de cobertura recorriendo 1.35 veces la distancia teórica mínima; el rebote aleatorio precisa 2.9 veces, y la espiral requiere 5.5 veces. En una sala de 20 m² con cepillo de 250 mm a 0.25 m/s, esto supone 7 minutos frente a 15 y 30 minutos respectivamente. Sin embargo, el planificador no alcanza el 99% absoluto debido a los márgenes de seguridad impuestos alrededor de paredes y patas de muebles.
¿Son obligatorios los codificadores (encoders) en las ruedas?
No para el robot de rebote aleatorio de la primera etapa, ya que no utiliza odometría. Se incorporan en la lista de materiales inicial porque la segunda fase de barrido en serpentina los exige, y ensamblar encoders en un chasis ya cerrado resulta engorroso. Monta motorreductores con encoders de fábrica, deja las líneas de señal desconectadas al inicio y actívalas cuando abordes la navegación planificada.
¿Qué impide que el robot caiga por las escaleras o desniveles?
Sensores de reflectancia infrarroja orientados hacia el suelo en las esquinas frontales, muestreados en cada iteración del bucle, combinados con un límite estricto de velocidad derivado analíticamente. El robot recorre una distancia igual al producto de su latencia por la velocidad antes de iniciar la frenada, más una distancia física de deceleración v²/(2·μ·g). La suma de ambas cotas debe ser forzosamente menor que la distancia entre el sensor óptico y el punto de contacto de las ruedas.
¿Por qué se utiliza un chasis cilíndrico o redondeado?
Porque la silueta de un robot circular no varía al girar sobre su propio eje, lo que le permite rotar sobre el punto medio entre ruedas para zafarse de cualquier colisión frontal. Un robot de planta rectangular atrapado en ángulo agudo en una esquina debe recular en línea recta para maniobrar, requiriendo parachoques traseros adicionales. Por este principio mecánico, la práctica totalidad de robots de limpieza domésticos son circulares.