Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Construa um Robô Controlado por Fala com Windows 10 IoT Core no Raspberry Pi 2

História

A computação inicial dependia de cartões perfurados, trackballs e teclados — cada um exigindo contato físico direto. Com a evolução tecnológica, interfaces sem fio e toque simplificaram a interação do usuário. Hoje, entrada visual e de voz oferecem maneiras ainda mais intuitivas de controlar dispositivos.

Este guia demonstra como aproveitar o Reconhecimento de Fala integrado do Windows 10 IoT Core para comandar um robô construído num Raspberry Pi 2. No final, você terá um robô que se move, vira e gerencia detecção de obstáculos através de comandos falados.

Novo no Windows 10 IoT Core? Comece com esta visão geral.

Atualizado em 30 de março de 2016

O Que é Reconhecimento de Fala?

Reconhecimento de Fala traduz palavras faladas em texto. Geralmente envolve dois componentes principais: processamento de sinal e decodificador de fala. O Speech SDK da Microsoft abstrai essas complexidades, permitindo que desenvolvedores foquem na lógica da aplicação.

Passo 1

Introdução ao Reconhecimento de Fala

O fluxo de trabalho básico é:

Criar Gramática de Reconhecimento de Fala

Definir uma gramática personalizada permite que o app entenda os comandos específicos que você quer que o robô aceite. Para este projeto, o vocabulário inclui:

A gramática é expressa em XML SRGS. Regras estruturais principais:

Para orientação detalhada sobre SRGS, consulte a documentação MSDN e W3C.

Inicializar Reconhecedor de Fala e Carregar Gramática

SpeechRecognizer reside no namespace Windows.Media.SpeechRecognition. Importe-o, então carregue seu arquivo XML SRGS. Se a compilação falhar, verifique se um microfone está conectado e reconhecido pelo IoT Core.

Registrar Eventos do Reconhecedor de Fala e Criar Manipulador

Uma vez em execução, o reconhecedor emite ResultGenerated quando analisa fala com sucesso. Use este evento para extrair args.Result.Text e mapeá-lo para ações do robô. O evento StateChanged informa quando o reconhecedor inicia ou para de ouvir.

O Visual Studio pode auto-gerar métodos manipuladores usando a tecla Tab. Alternativamente, registre manipuladores imediatamente após criar a instância SpeechRecognizer.

Passo 2

Como Dirigir com Fala Analisada

No manipulador ResultGenerated, inspecione args.Result.Text e execute lógica condicional para controlar os motores do robô. A classe MotorDriver (incluída no exemplo) abstrai manipulação de GPIO. Código-fonte completo é fornecido ao final do artigo.

Passo 3

Atualizar Capacidade do Dispositivo

Antes de implantar no Raspberry Pi 2, adicione a capacidade microphone ao manifesto do pacote do app. Isso concede permissão para acessar entrada de áudio.


Uma vez que o software está pronto, conecte o hardware conforme descrito abaixo.

Passo 4

Implantar e Registrar App como Aplicação de Inicialização

Para garantir que o robô escute comandos imediatamente após boot, registre seu app como aplicação de inicialização. Implante-o primeiro, depois use PowerShell ou o Portal de Gerenciamento Web do IoT Core.

É boa ideia alterar o nome da família do pacote antes da implantação para evitar conflitos.


Após implantação, registre o app como serviço de inicialização usando o Portal de Gerenciamento Web.


Se encontrar problemas de registro, consulte este guia de solução de problemas.

Após registro bem-sucedido, reinicie o Raspberry Pi 2 e confirme que o app inicia automaticamente.

Esquemático

O hardware do robô consiste num chassi com motores DC, Raspberry Pi 2 rodando Windows 10 IoT Core, bateria de motor 9-12 V, sensor de distância e fontes de alimentação. A bateria do motor alimenta o driver H-Bridge, enquanto o Raspberry Pi 2 requer fonte dedicada de 5 V — seja um USB PowerBank ou regulador 7805.

Por Que Resistores com Sensor Ultrassônico de Distância?

O sensor ultrassônico emite 5 V no pino Echo, excedendo o nível lógico de 3,3 V do Raspberry Pi 2. Um divisor de tensão (R1 = 1 kΩ, R2 = 2 kΩ) reduz a tensão para 3,3 V:

Vout = 5 × (2 kΩ / (1 kΩ + 2 kΩ)) = 3,3 V

AVISO: Conectar diretamente o pino Echo a um GPIO do Pi danificará a placa. Sempre use um conversor de nível ou divisor.

Montagem Final



Problemas Conhecidos

Reconhecimento de Fala Não Funciona (Build 10586)

Reconhecimento de fala falha em dispositivos IoT rodando Windows IoT Core build 10586.

Solução: Reverta para build 10240 até a Microsoft lançar atualização que resolva o problema.

Problema de Microfone

Precisão de reconhecimento cai com microfones de baixa qualidade, especialmente a distâncias acima de 1-2 m.

Solução: Use microfone de alta qualidade ou sem fio. Se necessário, amplifique o sinal ou considere headset com cancelamento de ruído.

Atraso de Processamento do Reconhecedor

Reconhecimento de fala introduz latência de 600-2000 ms. Para robôs de movimento rápido, este atraso pode causar desalinhamento entre comando e ação.

Solução: Versões atuais do SDK não reduzem este atraso. Lançamentos futuros podem oferecer otimizações.

Diferença de Pronúncia

Sotaques e pronúncias regionais podem afetar reconhecimento. Especifique idioma e região no arquivo SRGS (ex: xml:lang="en-GB" para inglês britânico).

Ruído Ambiental

Ruído de fundo pode reduzir precisão. Embora difícil de eliminar, usar microfone com cancelamento de ruído pode mitigar o problema.

Microfone USB / Placa de Som USB Não Reconhecida

A partir do build 10531, Windows IoT Core suporta dispositivos de áudio USB genéricos. Se seu dispositivo usa driver proprietário, pode não funcionar.

Tente outro microfone USB ou placa de som que use driver genérico.

Melhorias Futuras

Estenda o robô com feedback visual — ex: LED verde acende para comandos bem-sucedidos e LED vermelho indica erros. Também pode adicionar estados "ouvindo" e "dormindo" para evitar ativações acidentais.

Você Notou?

O título animado mostra uma funcionalidade não coberta neste texto. Explore a animação cuidadosamente e tente implementar a capacidade oculta.

Boa sorte!

Fonte: Speech Controlled Robot

Processo de manufatura

  1. Leia Pulso de Frequência Cardíaca com Windows 10 IoT Core no Raspberry Pi – Guia Passo a Passo
  2. Construa uma Porta com Reconhecimento Facial Seguro usando Windows IoT e Raspberry Pi
  3. Construa um Botão IoT AWS Controlado por Movimento com Raspberry Pi, Sensor PIR e MQTT
  4. Enviando Dados do IMU Adafruit 10DOF do Raspberry Pi 2 ao Azure Event Hubs com Windows 10 IoT Core
  5. Monitoramento Preciso de Temperatura e Umidade com SHT15 no Windows 10 IoT Core
  6. Instalando Windows 10 IoT Core no Raspberry Pi 3 Model B+: Guia Passo a Passo
  7. Construa um Robô Raspberry Pi Controlado por Bluetooth com Feedback de Áudio
  8. Robô Controlado por Gestos Alimentado por Raspberry Pi
  9. Construa um Robô Controlado por WiFi com Raspberry Pi e Smartphone Android
  10. Estendendo GoPiGo v2 no Windows 10 IoT Core para Raspberry Pi 3