Skip to content

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

License

Notifications You must be signed in to change notification settings

UtBotsAtHome-UTFPR/robot_heart

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 100.0%