Pular para o conteúdo principal

Localização de fonte sonora do reCamera Gimbal

Introdução

Decidimos nos divertir um pouco e experimentar a combinação de IA de borda de áudio e visual! 🤖

Neste demo, conectamos o reSpeaker USB Mic Array da Seeed Studio ao nosso reCamera Gimbal com tecnologia RISC-V. Ao utilizar Localização de Fonte Sonora (DOA), o sistema permite que os motores brushless do gimbal girem automaticamente e fiquem voltados para a direção do locutor em tempo real. É uma exploração super divertida de como nossos dispositivos multimodais de borda podem interagir perfeitamente!

Aqui está o efeito de uso após concluir este demo.

Preparação de hardware

um reCamerab Gimbal
um reSpeaker XVF3800
um computador

reCamera GimbalreSpeaker XVF3800

1. Abra o SenseCraft para implantar o aplicativo

1.1 Configurar reCamera Gimbal

Primeiro, não conecte a fonte de alimentação do reCamera Gimbal, conecte diretamente o Type-C ao computador, acesse 192.168.42.1, clique em "Login to SenseCraft" no canto inferior esquerdo após entrar, depois conecte o WiFi a ele após fazer login, certifique-se de que o WiFi conectado seja o mesmo do seu computador, então verifique o endereço IP do reCamera Gimbal, copie o endereço IP e acesse-o para ver se pode ser acessado normalmente, depois desconecte o cabo Type-C e conecte a fonte de alimentação de 12 V, após a conclusão da calibração automática do reCamera Gimbal, acesse novamente o endereço IP anterior no navegador e entre na interface do reCamera Gimbal para garantir que o Node-RED tenha começado a rodar normalmente.

1.2 Implantar aplicativo

Entre no SenseCraft, clique em "Applications" para encontrar o aplicativo chamado "Sound source localization Camera", clique em "Deploy this Application" após entrar e, em seguida, selecione "Option 1: Deploy via USB"

O fluxo de trabalho que você verá após a implantação deve ser assim:

2. Obtenha o código-fonte e configure o ambiente de trabalho Python

Visite o projeto no GitHub, baixe o pacote e depois descompacte-o.

Para se comunicar com o reSpeaker via USB, instale a dependência no seu computador:

# Install the required Python package from the provided requirements file

pip install -r Sound-Tracking/requirements.txt

# Install libusb via Conda (essential for back-end driver support)

conda install -c conda-forge libusb

Substitua "192.168.31.198" no código reSpeaker.py pelo endereço IP real do seu reCamera Gimbal após conectar ao WiFi!

3. Teste

Execute o script Python no seu computador para fazer o seguinte:

python Sound-Tracking/reSpeaker.py

Fale no microfone – você deverá ver o terminal Python imprimindo continuamente SPEECH_DETECTED:1, enquanto o reCamera gira rapidamente para o ângulo da sua voz.

Expanda mais formas de brincar!

Este demo é apenas o começo. Incentivamos muito que todos realizem desenvolvimento secundário com base nele e ampliem mais formas de uso avançadas! Por exemplo:

-** Acionamento por ligação **: Você pode modificar o script Node-RED ou Python para fazer o reCamera Gimbal começar a gravar ** ou tirar fotos * imediatamente após girar para a posição da fonte sonora.

-Segurança inteligente: Combinado com Home Assistant, pode rastrear e gravar automaticamente quando ocorrer ruído anormal no ambiente.

-Confirmação dupla visual e auditiva: Combine detecção de alvo YOLO11n com rastreamento auditivo (por exemplo: ouvir um som -> virar para ver -> reconhecimento visual para confirmar se é uma "pessoa").

Estamos ansiosos para ver suas ideias!🎉

Instruções de operação e precauções

  1. Confirmar implantação: Depois que o Node-RED importar o nó anterior, clique em Deploy no canto superior direito para entrar em vigor.

  2. Mecanismo de teste: Inicie o Node-RED primeiro para garantir que ele esteja em execução em segundo plano e, em seguida, execute o comando a seguir no PC para rodar o script Python:

Substitua "192.168.31.198" no código reSpeaker.py pelo endereço IP real do reCamera Gimbal após conectá-lo ao WiFi!

python Sound-Tracking/reSpeaker.py

Falando no microfone, você deverá conseguir ver o terminal Python imprimindo constantemente:

SPEECH_DETECTED: 1

Ao mesmo tempo, o reCamera irá girar rapidamente para o ângulo físico do som.

  1. Calibração de orientação física: A orientação '0 de' do array de microfones do reSpeaker pode não ser exatamente a mesma que o '0 de' padrão do reCamera voltado para a frente. Se você perceber que o pan-tilt sempre desvia de um ângulo fixo após girar (por exemplo, sempre desvia 90 graus), você pode clicar duas vezes diretamente no novo nó de função 'Calculate & Throttle' recém-criado no Node-RED, remover o comentário do código relevante e modificar o cálculo de compensação: 'targetYaw = (targetYaw +90)% 360;'.

      • Design anti-tremor **: Como o código Python atualiza e envia dados a cada 0,1 segundo, se todos esses sinais de alta frequência forem enviados ao controlador do motor (barramento CAN), é fácil fazer com que o barramento do dispositivo sobrecarregue e trave. Portanto, escrevi a lógica anti-tremor no nó de função do Node-RED (o gerador só será acionado quando o ângulo mudar '>5 °' ou o intervalo de tempo for '>1 second').

Suporte técnico e discussão de produto

Obrigado por escolher nossos produtos! Estamos aqui para oferecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...