GithubHelp home page GithubHelp logo

apollo-heart's Introduction

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.

apollo-heart's People

Contributors

gabrielspdf avatar joaoreis28 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.