Saltar al contenido principal

Localización de fuentes de sonido con reCamera Gimbal

Introducción

Decidimos divertirnos un poco y experimentar combinando IA perimetral de audio y visión. 🤖

En esta demo, conectamos la reSpeaker USB Mic Array de Seeed Studio a nuestro reCamera Gimbal con tecnología RISC-V. Al utilizar la localización de fuentes de sonido (DOA), el sistema permite que los motores sin escobillas del gimbal giren automáticamente y se orienten hacia la dirección del hablante en tiempo real. Es una exploración muy divertida de cómo nuestros dispositivos perimetrales multimodales pueden interactuar sin problemas.

Aquí se muestra el efecto de uso después de completar esta demo.

Preparación de hardware

un reCamerab Gimbal
un reSpeaker XVF3800
un ordenador

reCamera GimbalreSpeaker XVF3800

1. Abre SenseCraft para desplegar la aplicación

1.1 Configurar reCamera Gimbal

Primero, no conectes la fuente de alimentación de reCamera Gimbal, conecta directamente el Type-C al ordenador, accede a 192.168.42.1, haz clic en "Login to SenseCraft" en la esquina inferior izquierda después de entrar, luego conéctale WiFi después de iniciar sesión, asegúrate de que el WiFi conectado sea el mismo que el de tu ordenador, luego comprueba la dirección IP de reCamera Gimbal, copia la dirección IP y accede a ella para ver si se puede acceder con normalidad, luego desconecta el cable Type-C y conecta la fuente de alimentación de 12 V, después de que se complete la calibración automática de reCamera Gimbal, vuelve a visitar la dirección IP anterior en el navegador y entra en la interfaz de reCamera Gimbal para asegurarte de que Node-RED ha empezado a ejecutarse con normalidad.

1.2 Despliegue de la aplicación

Entra en SenseCraft, haz clic en "Applications" para encontrar la aplicación llamada "Sound source localization Camera", haz clic en "Deploy this Application" después de entrar y luego selecciona "Option 1: Deploy via USB"

El flujo de trabajo que veas después del despliegue debería ser similar a este:

2. Obtén el código fuente y configura el entorno de trabajo de Python

Visita el proyecto en GitHub, descarga el paquete y luego descomprímelo.

Para comunicarte con el reSpeaker a través de USB, instala la dependencia en tu ordenador:

# Instala el paquete de Python requerido desde el archivo de requisitos proporcionado

pip install -r Sound-Tracking/requirements.txt

# Instala libusb a través de Conda (esencial para la compatibilidad del controlador de back-end)

conda install -c conda-forge libusb

Por favor, sustituye "192.168.31.198" en el código reSpeaker.py por la dirección IP real de tu reCamera Gimbal después de conectarlo a WiFi.

3. Pruebas

Ejecuta el script de Python en tu ordenador para hacer lo siguiente:

python Sound-Tracking/reSpeaker.py

Habla al micrófono: deberías ver que la terminal de Python imprime continuamente SPEECH_DETECTED:1, mientras que la reCamera gira rápidamente hacia el ángulo de tu voz.

¡Amplía más formas de jugar!

Esta demo es solo el comienzo. Animamos mucho a todos a llevar a cabo un desarrollo secundario sobre esta base y ampliar un juego más hardcore. Por ejemplo:

-** Activar enlace **: Puedes modificar el script de Node-RED o de Python para hacer que reCamera Gimbal empiece a grabar ** o hacer fotos * inmediatamente después de girar hacia la posición de la fuente de sonido.

-Seguridad inteligente: Combinado con Home Assistant, puede rastrear y grabar automáticamente cuando se produce un ruido anormal en la habitación.

-Confirmación dual visual y auditiva: Combina la detección de objetivos YOLO11n con el seguimiento auditivo (por ejemplo: escuchar un sonido -> girar para mirar -> reconocimiento visual para confirmar si es una "persona").

¡Esperamos ver tus ideas!🎉

Instrucciones de funcionamiento y precauciones

  1. Confirmar el despliegue: Después de que Node-RED importe el nodo anterior, haz clic en Deploy en la esquina superior derecha para que surta efecto.

  2. Mecanismo de prueba: Inicia primero Node-RED para asegurarte de que se está ejecutando en segundo plano y luego ejecuta el siguiente comando en el PC para ejecutar el script de Python:

Por favor, sustituye "192.168.31.198" en el código reSpeaker.py por la dirección IP real después de que reCamera Gimbal se conecte a WiFi.

python Sound-Tracking/reSpeaker.py

Hablando al micrófono, deberías poder ver que la terminal de Python imprime constantemente:

SPEECH_DETECTED: 1

Al mismo tiempo, la reCamera girará rápidamente hacia el ángulo físico del sonido.

  1. Calibración de la orientación física: La orientación '0 de' de la matriz de micrófonos reSpeaker puede no ser exactamente la misma que la '0 de' por defecto de reCamera hacia adelante. Si descubres que el cabezal panorámico siempre se desvía de un ángulo fijo después de girar (por ejemplo, siempre se desvía 90 grados), puedes hacer doble clic directamente en el nuevo nodo de función recién creado 'Calculate & Throttle' en Node-RED, descomentar el código correspondiente y modificar el cálculo del desplazamiento: 'targetYaw = (targetYaw +90)% 360;'.

      • Diseño anti-vibración **: Debido a que el código de Python actualiza y envía datos cada 0,1 segundos, si todas estas señales de alta frecuencia se envían al controlador del motor (bus CAN), es fácil que el bus del dispositivo se sobrecargue y se bloquee. Por lo tanto, he escrito la lógica anti-vibración en el nodo de función de Node-RED (el generador solo se activará cuando el ángulo cambie '>5 °' o el intervalo de tiempo sea '>1 second').

Soporte técnico y debate sobre el producto

Gracias por elegir nuestros productos. Estamos aquí para ofrecerte diferentes tipos de soporte y garantizar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para adaptarnos a diferentes preferencias y necesidades.

Loading Comments...