Skip to content

Latest commit

 

History

History
78 lines (55 loc) · 3.41 KB

README.md

File metadata and controls

78 lines (55 loc) · 3.41 KB

Apollo Heart - Emotion-Based LED Display Using ROS and NeoPixel

Este repositório contém um código para controlar um anel de LEDs WS2812 (NeoPixel) com base em mensagens de emoções recebidas via ROS (Robot Operating System). O projeto utiliza a biblioteca Adafruit NeoPixel para manipulação dos LEDs e integra a comunicação ROS para receber e processar as mensagens de emoções. Ademais, o projeto foi criado para trabalhar em conjunto com o projeto Display Emotions a fim de desenvolver a representação das emoções do robô Apollo do laboratório LASER.

Read this page in English


Sumário

  1. Funcionalidades
  2. Dependências
  3. Como Usar
  4. Demonstração
  5. Possíveis Melhorias

🔵 Funcionalidades

  • Controle de LEDs WS2812: Configura e controla um anel de 16 LEDs WS2812.
  • Integração com ROS: Recebe mensagens de emoções através do ROS e altera as cores dos LEDs conforme a emoção recebida.
  • Mapeamento de Emoções para Cores: Define um mapeamento de 24 emoções para cores RGB específicas baseadas na roda das emoções de Plutchik.

🟡 Dependências

🟢 Como Usar

Instale o programa no seu workspace

Clone o repositório
https://github.com/GabrielSpdf/Apollo-Heart.git

Lance o nó das emoções

roslaunch display_emotions display_emotions.launch

Inicie o programa no arduino

rosrun rosserial_python serial_node.py /dev/ttyACM0

Note

Substitua /dev/ttyACM0 pela porta USB onde seu dispositivo está conectado.

Publique uma mensagem no tópico /emotion

rostopic pub /utbots/display_emotions/emotion std_msgs/String "data: 'joy'"

🟣 Demonstração

A seguir está a demonstração do uso do projeto com as emoções TRUST e RAGE, respectivamente:

🔴 Possíveis Melhorias

Sincronização

No momento em que a face do robô muda de cor, a cor do coração deveria acompanhar essa mudança.

Pulsar cor enquanto espera alguma ação

A fim de melhorar a aparência e a ideia do coração em estado de repouso, seria ideal adicionar uma pulsação da cor do coração tal como o coração na realidade.

Transição entre as cores do mesmo espectro

É imprescindível que, tal como a face do robô transiciona entre as cores de acordo com a roda das emoções de Plutchik, o coração deveria também transicionar entre as cores.

Note

Na pasta do projeto, existe um arquivo chamado for_future, o qual foi deixado como base para implementar a transição entre as cores.