Robot móvil que evita obstáculos basado en visión en Raspberry Pi
Resumen
Este informe presenta el diseño e implementación de un robot móvil de bajo coste que usa visión por computadora para detectar y evitar obstáculos. Alimentado por una Raspberry Pi y una webcam USB, el sistema demuestra cómo hardware económico puede permitir navegación autónoma en entornos interiores, como almacenes, sin operadores humanos.
Introducción
Los robots autónomos comerciales suelen ser caros y están adaptados a un solo entorno, basándose en sensores pasivos como ultrasónicos o infrarrojos para evitar colisiones (Wang et al., 2011). Los avances recientes en computación embebida permiten usar algoritmos de visión de alto rendimiento en plataformas económicas. Un enfoque basado en visión puede detectar obstáculos mucho antes de que estén en proximidad cercana, ofreciendo una solución más robusta para navegación interior.
Solución propuesta y artefacto
El objetivo es construir un robot autónomo que detecte obstáculos mediante una webcam USB conectada a una Raspberry Pi. El proceso de desarrollo incluyó:
- Diseñar un algoritmo de visión por computadora con SimpleCV para identificar obstáculos.
- Portar el algoritmo a la Raspberry Pi.
- Implementar control de motores DC mediante Python GPIO.
- Probar y evaluar el rendimiento del sistema en la Pi.
Objetivos clave alcanzados:
- Rango de detección ajustable mediante parámetros del algoritmo.
- Obstáculos marcados con un círculo de tamaño constante para fácil identificación.
- SimpleCV interactúa con la Pi para comandar dos motores DC.
- Rendimiento del sistema validado a varias distancias de obstáculos.
Pila de hardware y software
Hardware
- Kit Raspberry Pi
- Webcam USB
- Dos motores DC
- Driver de motor H‑Bridge
- Chasis y cableado
- Protoboard y cables
Software
- Librería Python SimpleCV
- Ubuntu / Raspberry Pi OS (Raspbian)
- Python 2.7
Visión general del algoritmo de visión por computadora
El algoritmo se desarrolló primero en un portátil Ubuntu y luego se portó a la Pi, aprovechando la compatibilidad Linux. Identifica un marcador circular colocado sobre los obstáculos, binariza la imagen para aislar la forma y calcula su radio para estimar la distancia. La pantalla se divide en tres zonas verticales; la posición horizontal del círculo determina la acción de dirección del robot.
Debido a que el procesador de 700 MHz y 512 MB RAM de la Raspberry Pi limitan el procesamiento de alta resolución, se eligió una resolución de 320×240 para equilibrar precisión de detección y estabilidad de framerate.
Configuración experimental
Un montaje experimental midió la relación entre el área en píxeles del círculo y su distancia física al robot. Moviendo el obstáculo más cerca o más lejos, se calibró el mapeo píxel‑a‑distancia del algoritmo, permitiendo estimación precisa de distancia desde una sola vista de cámara.
Diagrama de flujo del sistema
En el flujo operativo, la webcam USB envía frames a la Pi. SimpleCV escanea cada frame en busca del marcador circular. Al detectarlo, la Pi calcula la posición del marcador y acciona el H‑Bridge para mover los motores a izquierda, derecha o adelante según corresponda.
Conclusión
El proyecto demuestra que una Raspberry Pi, una webcam USB y SimpleCV pueden formar un sistema de evitación de obstáculos viable y rentable apto para aplicaciones de robótica interior. Trabajos futuros podrían extender el algoritmo para detectar obstáculos sin marcar e integrar fusión de sensores para mayor fiabilidad.
Proceso de manufactura
- Colaboración móvil: Reduciendo tiempo de inactividad de mantenimiento e impulsando operaciones globales
- Construye un robot que evita paredes con Raspberry Pi – Guía paso a paso
- gatoBot: Robot Web‑Controlado con Raspberry Pi Zero W y Streaming de Video en Vivo
- Robot Clasificador de Reciclaje con Google Coral Edge TPU
- Sistema de Evitación de Obstáculos con IA y Arduino: Aprendizaje por Refuerzo Q-Learning
- Robot de Desinfección UV con Arduino Mega: Sistema Germicida Controlado Remotamente
- Robot evasor de obstáculos con servo: Construcción con Arduino y HC-SR04
- Sensor de obstáculos IR casero con Arduino – Tutorial fácil con LED IR y fotodiodo
- Robot seguidor de líneas con IA en Arduino Nano
- KUKA KMR iiwa: brazo robótico colaborativo móvil para Industria 4.0
- Visión robótica en la industria: De la visión a la autoprogramación