Tabla de contenido:

Visión trasera del vehículo: 9 pasos (con imágenes)
Visión trasera del vehículo: 9 pasos (con imágenes)

Video: Visión trasera del vehículo: 9 pasos (con imágenes)

Video: Visión trasera del vehículo: 9 pasos (con imágenes)
Video: Como Instalar Cámara de Reversa | ¡Es Super Sencillo! (Estéreos Chinos) / JMK 2024, Mes de julio
Anonim
Image
Image

¿Por qué creamos la visión trasera del vehículo?

La colisión de retroceso ha sido un problema importante. El Centro de Control de Enfermedades de EE. UU. Informó que entre 2001 y 2003, aproximadamente 7, 475 niños (2, 492 por año) menores de 15 años fueron tratados por incidentes de retroceso de automóvil. Aproximadamente 300 muertes por año son el resultado de colisiones de respaldo. Para 2018, todos los autos vendidos en Estados Unidos requerirán una cámara de respaldo obligatoria.

¿Cómo solucionamos el problema?

La mayoría de los autos en el mercado hoy en día todavía no tienen cámara de respaldo, eso incluye aproximadamente la mitad de los autos que se venden en los Estados Unidos hoy en día, y mucho más de la mitad en todo el mundo. Podemos solucionar este problema instalando una cámara en la parte trasera del coche, utilizando el espacio de la matrícula.

Walabot podrá detectar la distancia del objetivo más cercano al vehículo.

La cámara Intel RealSense R200 nos dará un mayor detalle de lo que se ve, incluida la situación de poca luz.

El kit de desarrollador Intel Joule es lo suficientemente potente como para ejecutar cámaras RealSense junto con Walabot. Raspberry Pi no es lo suficientemente potente para ejecutar una cámara RealSense 3D, en la que podemos agregar muchas más funciones en el futuro que pueden mejorar las funcionalidades del automóvil. La misma versión se puede usar con Pi con una cámara USB normal, pero no será buena para la noche.

El teléfono / tableta Android se utiliza para mostrar la cámara de respaldo, esto es para reducir el costo de una pantalla adicional. La versión de iOS se puede construir a pedido.

A través de esos componentes, podremos construir una visión trasera que muestre al usuario la parte trasera del automóvil.

Paso 1: Reúna el hardware que necesita

Instale Ubuntu en Joule y las bibliotecas necesarias para ejecutarlo
Instale Ubuntu en Joule y las bibliotecas necesarias para ejecutarlo
  1. Intel Joule
  2. Walabot Pro
  3. Cámara Intel R200 RealSense
  4. Teléfono / tableta Android que funciona con 5.0 o superior
  5. Adaptador de automóvil para salida de enchufe y adaptador de CA de 12 V CC (esto es para una demostración para encender el Joule, la versión de producción contendrá un mecanismo de alimentación diferente)
  6. Hub USB para conectar la cámara y Walabot (USB3 para la cámara y USB2 para Walabot)
  7. Inversor de corriente enchufable directo de CC a CA
  8. Impresora 3D genérica para imprimir el marco de la placa de matrícula personalizado

Paso 2: Instale Ubuntu en Joule y las bibliotecas necesarias para ejecutarlo

Como hemos decidido ir con la ruta de Linux, siga la guía https://developer.ubuntu.com/core/get-started/intel-joule para instalar Ubuntu en Joule. Ubuntu nos brinda una gran flexibilidad para ejecutar un sistema operativo real en un chip basado en IoT.

Paso 3: Transmita la cámara RealSense

Transmita la cámara RealSense
Transmita la cámara RealSense
Transmita la cámara RealSense
Transmita la cámara RealSense

Debido a que estamos usando un teléfono / tableta Android para ahorrar el costo en la lista de materiales, también más accesible para los usuarios, usaremos la biblioteca de movimiento para alojar la cámara de manera similar a las cámaras de seguridad. Una vez que Ubuntu está instalado y conectado a wifi, podemos abrir la terminal y usar el siguiente comando. Primero conectamos la cámara a Joule a través del puerto USB3 y luego hacemos los siguientes pasos.

una. Instalación de movimiento en ubuntu:

sudo apt-get updatesudo apt-get install motion

B. Copiar archivos de configuración:

mkdir.motion sudo cp /etc/motion/motion.conf ~ /.motion / motion.conf

C. Configurando el archivo, aquellos que estén familiarizados con ubuntu pueden instalar Sublime para hacer una edición de texto más fácil, de lo contrario podemos editarlo dentro de la línea de comandos.

sudo nano ~ /.motion / motion.conf

D. Después de enchufar la cámara R200, podemos cambiar las siguientes líneas en motion.conf

Esto es para ponerlo en modo de fondo:

# Inicie en modo daemon (en segundo plano) y libere el terminal (predeterminado: desactivado).

Esto es para usar la vista de cámara de RealSense Camera.

# Dispositivo de video que se utilizará para la captura (predeterminado / dev / video0) # para FreeBSD el dispositivo predeterminado es / dev / bktr0 videodevice / dev / video2

Cambiar el ancho y el alto, 1280 x 720 funcionó muy bien para mí, pero puedes jugar con las dimensiones para ver qué se adapta a tus necesidades.

# Ancho de imagen (píxeles). Rango válido: Depende de la cámara, predeterminado: 352 ancho 1280 # Alto de la imagen (píxeles). Alcance válido: depende de la cámara, predeterminado: 288 altura 720

Configuré esto en 30, cuanto más alto establezca el número, más potencia de cálculo requeriría. Puedes jugar para ver cuál es el punto de referencia, pero 30 me ha funcionado muy bien.

# Número máximo de fotogramas a capturar por segundo. # Rango válido: 2-100. Predeterminado: 100 (casi sin límite). velocidad de fotogramas 30

Dado que siempre estamos transmitiendo hacia atrás del automóvil, podemos configurar un puerto dedicado, usamos 5001

############################################### ######### # Servidor de transmisión en vivo ################################### ####################### # El servidor mini-http escucha las solicitudes en este puerto (predeterminado: 0 = deshabilitado) stream_port 5001 # Calidad del jpeg (en porcentaje) imágenes producidas (predeterminado: 50) stream_quality 50 # Cuadros de salida a 1 fps cuando no se detecta movimiento y aumentan a la # tasa dada por stream_maxrate cuando se detecta movimiento (predeterminado: desactivado) stream_motion desactivado # Velocidad de cuadros máxima para flujos de flujo (predeterminado: 1) stream_maxrate 60 # Restringir las conexiones de transmisión solo a localhost (predeterminado: activado) stream_localhost desactivado

Luego puede ejecutar ifconfig y averiguar la dirección IP y ejecutar en la terminal, el puerto será 5001.

movimiento

Si no hay errores, es fácil verificar la cámara desde su computadora usando la ip, corregir los errores, como problemas de permisos, si los hay.

Una vez que esto se ejecuta, podemos agregar esto a la aplicación de inicio en Ubuntu.

Inicio de movimiento para cámara

motion.conf se adjunta en la sección de código, puede ver más configuraciones allí.

Paso 4: Configurar Walabot

Configurar Walabot
Configurar Walabot
Configurar Walabot
Configurar Walabot
Configurar Walabot
Configurar Walabot
Configurar Walabot
Configurar Walabot

Con la cámara en su lugar, todavía necesitamos configurar el walabot, esto puede detectar la distancia entre el vehículo y el objeto detrás, dando una visión clara de cómo debemos

a, descargue el archivo deb de

Siga las instrucciones de https://api.walabot.com/_install.html#_linuxInstall para instalar la API de Walabot para que se pueda importar a proyectos de Python.

Hay un error en el sitio web en la parte donde está instalando la API de Walabot https://walabot.com/api/_pythonapi.html#_installingwalabotapi donde dice

python -m pip "/usr/share/walabot/python/WalabotAPI-1.0.21.tar.gz"

Eso debería ser

python -m pip install "/usr/share/walabot/python/WalabotAPI-1.0.21.tar.gz"

B. conecte Walabot Pro a través de USB 2, no pude hacer que el usb3 funcione, pero el usb2 funciona bien conectándose a linux. Dado que Joule solo tiene un puerto USB3, conecte un puerto USB2 adicional para acomodar Walabot Pro aquí

C. Pruebe el proyecto Walabot como https://github.com/Walabot-Projects/Walabot-Senso… ejecutando el siguiente comando en la carpeta

python SensorTargets.py

Esto debería darle una buena prueba para ver si Walabot se está ejecutando correctamente, así como también cómo medir la distancia en las cosas que desea. El ejemplo de DistanceMeasure no fue demasiado consistente en la medición, y zPosCm parece ser extremadamente preciso, así que decidí usar el zPosCM para la demostración.

D. Todavía necesitamos pasar los datos al dispositivo de visualización, ya que lo estamos ejecutando en Android para reducir el costo del material, podemos usar sockets. Usamos el siguiente código para configurar el socket y udp en python.

MYPORT = 5002 import sys, tiempo desde socket import * s = socket (AF_INET, SOCK_DGRAM) s.bind (('', 0)) s.setsockopt (SOL_SOCKET, SO_REUSEADDR, 1) s.setsockopt (SOL_SOCKET, SO_BROADCAST, 1)

El siguiente comando transmitirá datos en la actualización

s.sendto (str (objetivos [0].zPosCm), ('255.255.255.255', MYPORT))

mi. Una vez hecho esto, podemos configurarlo en la aplicación de inicio.

F. Walabot ahora está configurando y transfiriendo datos a través de UDP, el código Python completo se puede ver en el área de adjuntos del código. La captura de pantalla a continuación es la impresión de cómo debería verse cuando no hay área. El código se adjunta en la sección de códigos.

Paso 5: Creación de un punto de acceso Wifi desde Joule

Creación de un punto de acceso wifi desde Joule
Creación de un punto de acceso wifi desde Joule

Estamos creando nuestro propio punto de acceso wifi para que el dispositivo Android transfiera datos. El uso del siguiente comando al inicio lo configurará automáticamente. Esto se está utilizando para Ubuntu 16.04 o posterior, ya que se está utilizando. Lo conectaremos automáticamente a través de la aplicación de Android en el siguiente paso. Utilice este comando en las aplicaciones de inicio.

nmcli dispositivo wifi hotspot con-name vehículo-visión trasera ssid vehículo-banda de visión trasera bg contraseña safedriving

Dentro del archivo python de walabot, también lo actualizaremos donde enviaremos un mensaje udp a los dispositivos que estén conectados a través de un punto de acceso privado. Esto es para asegurar que no se pierda ningún paquete.

out = os.popen ('ip neigh'). read (). splitlines () for i, line in enumerate (out, start = 1): ip = line.split ('') [0] s.sendto (str (destinos [0].zPosCm), (ip, MYPORT))

Paso 6: creación de Android como pantalla de visualización

Construyendo Android como pantalla de visualización
Construyendo Android como pantalla de visualización

La aplicación de Android está diseñada para mostrar el dispositivo, principalmente porque reduce la lista de materiales, ya que, de lo contrario, una pantalla separada puede ser costosa y difícil de instalar. En cuanto a este proyecto, podemos usar un teléfono / tableta Android.

Android se enfoca en 3 partes que hicimos anteriormente,

  • Conéctese al punto de acceso wifi creado a través de un dispositivo IoT (Intel Joule)
  • Transmita la cámara RealSense a través de movimiento a través de wifi
  • Medición de la distancia desde el objetivo de Walabot a través de la udp

Después de configurar todo e instalar la aplicación de Android (de código abierto aquí), podrá ver la cámara funcionando junto con walabot

Paso 7: Probar todo

Image
Image
Probando todo
Probando todo
Probando todo
Probando todo

Ahora que tenemos todo funcionando, deberíamos tener una configuración básica de todos los componentes adjuntos. Cuando iniciamos la placa Joule, el punto de acceso debe configurarse automáticamente, la aplicación de movimiento y walabot comenzará junto con él, y cuando encienda nuestra aplicación de Android, deberíamos poder transmitir desde la cámara. Esto significa que el teclado / mouse y el monitor ya no son necesarios para que el dispositivo IoT funcione. Si ocurre algún problema en este momento, como bibliotecas no instaladas correctamente, debemos solucionarlo antes de continuar con el siguiente paso.

La impresión en 3D de la carcasa que puede sujetar la cámara es muy importante.

Al construir el hardware, deberíamos tener nuestra carcasa impresa en 3D personalizada lista para la cámara. Dado que se trata de un prototipo, puede aflojarse un poco, pero cuando construimos un soporte de matrícula personalizado, esperamos que todos los componentes estén dentro del soporte.

Paso 8: Prueba en un coche real

Image
Image
Probar en un automóvil real
Probar en un automóvil real
Probar en un automóvil real
Probar en un automóvil real

Ahora que hemos hecho que todo funcione, podremos probarlo en un coche real. Dado que este es un prototipo, las cosas pueden ser un poco difíciles, usamos cinta adhesiva para algunos de los componentes.

Para encender el kit Joule IoT, usamos un inversor de energía de enchufe directo de CC a CA, luego simplemente conectamos un tomacorriente largo al maletero.

Tendremos la parte delantera y la parte trasera. Esto es solo un prototipo en este momento, la próxima versión integraría los chips dentro del soporte de la placa de matrícula.

Y para la parte frontal, podemos usar un soporte para teléfono o simplemente cinta adhesiva para tableta Android.

Paso 9: Úselo en el mundo

Úselo en el mundo
Úselo en el mundo

Con esta herramienta, podemos hacer retroceder el automóvil de manera segura a otros automóviles y monitorear a los peatones. Puede ver el video de demostración al principio. El objetivo del proyecto es fomentar prácticas de conducción más seguras.

Puede consultar el proyecto desde

Recomendado: