Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Un robot móvil con evitación de obstáculos basada en la visión

Resumen:

El propósito de este informe es discutir y demostrar el concepto de diseño e implementación de un robot móvil capaz de detectar y evitar obstáculos visualmente utilizando una cámara web USB. El sistema fue portado al hardware Raspberry Pi, una computadora basada en Linux de US $ 35. Este blog destacará los conceptos importantes que se necesitaban para realizar la implementación exitosa de un robot móvil capaz de navegar dentro de un ambiente interior. La solución propuesta está destinada a ser utilizada dentro de un entorno de almacén para transportar mercancías de un lugar a otro sin la necesidad de operadores humanos.

Introducción:

Los robots ya existen en el mercado, pero estos robots son costosos de comprar y están diseñados expresamente para funcionar en un solo entorno ambiental, como un almacén, un campo de batalla o en los hogares. Estos robots son capaces de detectar obstáculos utilizando sensores pasivos como sensores ultrasónicos y sensores infrarrojos y, en ocasiones, se denominan vehículos autónomos debido a su movilidad en la superficie del suelo. Tradicionalmente, estos sistemas autónomos suelen estar equipados con sensores pasivos como sensores de distancia ultrasónicos, sensores de infrarrojos o GPS para detectar su posición y entorno. La presencia de estos sensores permite al robot evitar la colisión con obstáculos cuando se coloca con obstáculos (Wang J. et al, 2011). Sin embargo, con el avance de la tecnología de sistemas informáticos integrados de bajo costo con alta potencia de procesamiento, es posible utilizar un método más confiable y rentable para diseñar robots autónomos capaces de detectar obstáculos. Un posible método sería hacer uso de un algoritmo de visión por computadora que sería visualmente capaz de detectar y evitar obstáculos. El método basado en sensores para detectar obstáculos se limita a la proximidad de los obstáculos con respecto a la distancia del robot; sin embargo, con el método basado en la visión, es posible detectar e identificar el obstáculo antes de evitarlo.

Solución y artefacto propuestos:

El objetivo de este informe es diseñar un robot autónomo que sea capaz de detectar y evitar obstáculos mediante una webcam USB conectada a una Raspberry Pi. Este informe presentará el concepto básico de robots móviles y las tecnologías que se emplean actualmente en un entorno interior. Se llevaron a cabo los siguientes pasos para implementar el sistema propuesto:

Además, se cumplieron los siguientes objetivos para realizar plenamente el sistema propuesto:

Lista de hardware y software:

El sistema propuesto se implementó en una Raspberry Pi utilizando una cámara web USB para capturar imágenes. La siguiente es la lista de hardware y software necesarios para realizar completamente el robot autónomo propuesto.

Hardware:

Paquete de software:

El sistema propuesto es capaz de detectar obstáculos en varios rangos. Esto se inspiró en el algoritmo visual que se avecina y se logró al definir el número mínimo de píxeles dentro del código mientras se mide la distancia entre la cámara y el obstáculo.

Figura:la configuración experimental utilizada para encontrar la relación entre el círculo del proyecto y la distancia del obstáculo al robot

La disposición que se muestra arriba se puede hacer en el laboratorio para medir la distancia entre el obstáculo (círculo) y el robot con el fin de determinar la relación entre el número mínimo de píxeles que corresponderá a la distancia real del obstáculo al robot. Como se ve en el diagrama anterior y en la discusión realizada en el Capítulo 2, el tamaño del círculo es mayor cuando el círculo está más cerca, mientras que es más pequeño cuando el círculo está más alejado. Por lo tanto, se podría realizar un conjunto de pruebas que permitiría medir la distancia del obstáculo contra el robot cuando se cambia el número de píxeles dentro del algoritmo. El obstáculo se moverá como se muestra en el diagrama anterior para encontrar la distancia correcta a la que el algoritmo detecta el obstáculo.

Figura:el concepto de amenaza visual está inspirado en la ciencia médica

Diagrama de flujo general del sistema:

El siguiente diagrama de flujo explica cómo se diseñaría el robot basado en visión propuesto utilizando Raspberry Pi y el marco SimpleCV. Como se muestra en la figura 6, se conectará una cámara web USB a Raspberry Pi como entrada a la computadora. La cámara web USB escaneará los fotogramas entrantes en busca de una forma geométrica específica, es decir, un círculo que se colocará sobre los obstáculos. La razón de marcar los obstáculos con forma geométrica, es decir, círculo, se decidió simplemente para reducir el tiempo al preparar el algoritmo. Por lo general, la detección de obstáculos basada en la visión se realiza mediante dos cámaras que crean una visión estéreo para juzgar la distancia entre el robot y los obstáculos (Neves &Matos, 2013). Por lo tanto, se logró detectar una forma geométrica, es decir, círculos con una sola cámara, calculando el radio del círculo que ayudaría al robot a detectar la distancia del robot y los obstáculos. Este método de detección de un obstáculo se inspiró en el método de visión amenazadora propuesto por Sachin y Paolo (1998).

El sistema propuesto incorporará una cámara USB que se conectará a una Raspberry Pi. Raspberry Pi ejecutará un script de Python que tomará imágenes en el video mientras busca una forma geométrica, es decir, círculos. Si se detecta el círculo, en función de la ubicación del círculo en la pantalla, el script subirá o bajará los pines del puerto GPIO que se utilizarán para controlar la dirección del robot.

Estructura del algoritmo de visión por computadora:

El algoritmo se preparó en una computadora portátil con Ubuntu antes de realizar la migración a una Raspberry Pi. Esto se debe al hecho de que Ubuntu y Raspbian son versiones de Linux, lo que facilita la migración y la implementación del algoritmo entre plataformas cruzadas. Esto me dio la flexibilidad de trabajar con el algoritmo sin necesidad de conectarme constantemente a mi Raspberry Pi. Por lo tanto, el algoritmo se implementó de forma independiente sin preocuparse por la interfaz de hardware.

El primer paso para diseñar un sistema basado en la visión es seleccionar la región de interés (ROI) que detectaría el obstáculo y nos ayudaría con la preparación del algoritmo. El ROI en este caso es un círculo negro que sería detectado por el algoritmo. Después de la detección, el algoritmo binariza la imagen para que solo la región de interés sea visible en el fondo. El algoritmo mediría las coordenadas del círculo en la pantalla y mediría las coordenadas con respecto a qué región de la pantalla se detectó el círculo. Si la coordenada cae en el centro de la pantalla, el algoritmo movería el robot en consecuencia, como se discutió anteriormente.

Antes de escribir el algoritmo, era necesario decidir la resolución de la pantalla que permitiría a la Raspberry Pi detectar y realizar un seguimiento del obstáculo. Dado que Raspberry Pi es una computadora de baja potencia con una velocidad de reloj del sistema de 700MHz y una RAM limitada de 512MB, la entrada de video de alta definición consumiría mucha potencia de procesamiento, lo que eventualmente hará que el sistema no sea confiable. Por lo tanto, es necesario seleccionar un término medio que sea suficiente para que la computadora Raspberry Pi procese los datos de la cámara.

Después de varias pruebas y errores, se seleccionó una resolución de 320 × 240 como se explica en la sección posterior. Esta resolución fue suficiente para detectar los diferentes espacios de color y formas geométricas. También se descubrió en el experimento que esta resolución no provocaba que el vídeo de entrada se retrasara como era el caso con una resolución más alta, en particular, 640 × 480 y superior. Esto se analiza en detalle en la Sección 4 de este informe.

El primer paso para detectar un obstáculo en la imagen fue dividir la pantalla en tres segmentos distintos, como se muestra en la Figura 8. Esto se hizo para detectar y rastrear la posición del obstáculo de modo que la acción del motor respectivo pudiera realizarse como se describe en la sección previa. Para este proyecto de diseño, los obstáculos están representados por un símbolo específico, es decir, un círculo; por tanto, la presencia de un círculo registraría la presencia de un obstáculo en el algoritmo.

Para obtener más detalles:Un robot móvil con evitación de obstáculos basada en la visión


Proceso de manufactura

  1. ¿Cuál es la realidad de la visión del robot?
  2. Robot evitador de paredes basado en Raspberry Pi - FabLab NerveCentre
  3. Robot con video controlado por web Raspberry Pi
  4. Reciclar el robot de clasificación con Google Coral
  5. Solución de problemas de mantenimiento con la colaboración móvil
  6. Evitación de obstáculos utilizando inteligencia artificial
  7. Robot desinfectante con luces ultravioleta
  8. Obstáculos que evitan el robot con servomotor
  9. Sensor de obstáculos simple con Arduino
  10. Robot de seguimiento de línea basado en inteligencia artificial (AI)
  11. Robot combina brazo robótico colaborativo con plataforma móvil