/ai-project

Desenvolvimento de um Robô Social com Interação Humana Utilizando o Modelo Arquitetônico Sentir-Pensar-Agir

Primary LanguagePython

ShopBot

Trabalho Pratico da Disciplina de Inteligência Artificial - GCC128 (UFLA)

Robô Social com Interação Humana usando Modelo Arquitetônico Sentir-Pensar-Agir

O projeto tem como objetivo atender às necessidades de pessoas com deficiência visual, oferecendo um assistente robótico capaz de auxiliá-las na identificação de produtos em supermercados. Com isso vamos prototipar um robô social capaz de interagir com seres humanos de forma autônoma e natural. O projeto se baseará no modelo arquitetônico "Sentir-Pensar-Agir", que permite que o robô perceba seu ambiente, processe informações e tome decisões, adaptando seu comportamento de acordo com as interações com os humanos.

O projeto inclui o uso da câmera para a visão do robô, com reconhecimento de objetos utilizando TensorFlow. Para a comunicação com o robô, são utilizados o microfone e autofalantes, junto com as bibliotecas speech_recognition (fala em texto) e gTTS (texto em fala).

Funcionalidades

  • Visão: Utilização de uma câmera para a visão do robô, com reconhecimento de objetos implementado usando TensorFlow.

  • Comunicação: O robô utiliza um microfone e alto-falantes para a interação. A comunicação de voz é convertida em texto com a biblioteca speech_recognition, e o texto é convertido em fala usando a gTTS.

  • Tomada de Decisões: As decisões do robô são baseadas na fala do usuario e estão em categorias predefinidas:

    • greetings: Responde cumprimentos com fala.
    • goodbyes: Responde a despedidas com fala e encerra o programa.
    • products: Reconhece produtos na imagem da câmera e responde com fala.
    • other: Responde a perguntas utilizando a API do Chat GPT.

Arquitetura

A arquitetura utilizada é o MVC que se divide em três componentes principais:

  • Model
    • Modelo Keras com Tensorflow para reconhecimento de imagens
    • Chat GPT para entender e gerar respostas e ações de forma inteligente
    • Dataset que combina respostas e ações existentes com dados da API do Chat GPT
  • View
    • Visão: Utiliza da camera.
    • Áudio: Reconhecimento de voz e fala.
  • Controller
    • Controle de entrada: Recebe os comandos e prompts do usuário por entrada de voz.
    • Controle de saida: Responsável por exibir as respostas geradas pelos modelos de IA ao usuário na CLI ou por meio de feedback de áudio.
    • Controle de ações: Realiza ações com base nas respostas ou comandos, como reconhecer um produto pela camera, ação de fala, ou finalizar o programa.

Tecnologias Utilizadas

  • TensorFlow: Utilizado para o reconhecimento de objetos a partir da visão do robô pela câmera.

  • speech_recognition: Biblioteca para converter fala em texto para comunicação com o robô.

  • gTTS (Google Text-to-Speech): Utilizado para converter texto em fala para a comunicação do robô com os humanos.

  • openai: Categorização e respostas para as falas que o robo escutar com a API do Chat GPT.

Instalação

1 . Clone este repositório.

git clone git@github.com:anabrtorres/ai-project.git
cd seu-repositorio
  1. Instale as dependências.
pip install -r requirements.txt
  1. Crie um arquivo com as chaves.
cp config_secret.py # veja config_secret.exemple.py
  1. Execute o programa.
python3 main.py

Contribuição

Contribuições são bem-vindas! Para qualquer melhoria ou correção de bugs, sinta-se à vontade para abrir uma issue ou enviar um pull request.