Todos os projetos tratam de algum problema distribuído na Internet cds coisas móveis (IoMT) muitas vezes envolvendo o desenvolvimento de um serviço/protocolo de middleware e/ou aplicações para sistemas distribuídos móveis que interagem oportunisticamente com sensores e atuadores estacionários ou móveis do ambiente. Vários deles usam e estendem os middlewares ContextNet e Mobile-Hub2.
1) Projeto GrADyS (Ground-and-Air Dynamic sensors networkS) Iniciado em: 2022
Existem várias situações em que uma região geográfica de larga extensão e de difícil acesso precisa ser escaneada ou monitorada por meio de muitos sensores, mas em que é absolutamente impossível ou proibitivamente caro implantar e manter uma infraestrutura de comunicação sem fio para os sensores distribuídos. Talvez porque a região não é facilmente acessível ou porque está infectada com alguma bactéria letal ou transmissor de vírus.
Nesse caso, o melhor é espalhar sensores (descartáveis) na região e permitir que eles transmitam os dados coletados por meios sem fio para um UAV/drone que sobrevoa a região e, em seguida, transporta fisicamente os dados coletados da região monitorada para uma estação base central que funciona como um gateway para a Internet.
Nessa solução, o idela é usar mais de um UAVs, pois um único UAV poderia perder os dados dos sensores visitados na região enquanto estiver transportando os dados para lá e para cá. Portanto, em situações em que se precisa de um monitoramento ambiental contínuo de uma região de forma mais eficaz, eficiente e com a menor perda possível de dados, é obrigatório usar um enxame (uma esquadra) de UAVs itinerantes que coordenem suas trajetórias de combate e suas operações de troca de dados para minimizar os intervalos de tempo em que os sensores no solo ficam sem serem visitados.
Isso deve ser feito na rede de UAVs no Ar, mas a rede de sensores no solo também pode otimizar seu roteamento de dados para alcançar mais rapidamente qualquer um dos UAVs que estejam sobrevoando um sensor.. Portanto, com base nas reservas de energia do nó sensor e na posição atual (ou “em breve”) de qualquer coletor de dados em movimento (o coletor de dados do UAV), o protocolo de roteamento da rede de sensores pode tentar minimizar o gasto global de energia e a descarga mais rápida possível dos dados coletados. Com o objetivo de investigar os problemas mencionados acima, conceber protocolos e serviços de middleware, bem como testá-los por meio de simulações e em experimentos reais.
Nesse projeto GrADyS desenvolvemos e avaliamos heurísticas e técnicas de ML para coordenação de planos de voo, protocolos de roteamento, simulações (com o simulador desenvolvido em casa, o GrADyS-SIM NG) e testes de campo com drones construídos no próprio projeto. Este projeto é parcialmente apoiado pelo Escritório de Pesquisa Científica da Força Aérea dos EUA (AFOSR).
Mais informações no no site web.
2) Problemas/assuntos de P&D disponíveis:
Análise, escolha, implantação e comparação de FANNETs (flying ad-hoc networks) em mundo real:
Neste trabalho devem ser investigadas as alternativas atualmente implementadas para FANNET, compará-las e testar as mais promissoras em Drones durante o voo;
Idealmente o foco será utilizar Single Board Computers (ie raspberry pi) como hosts;
Projeto ideal para quem gosta e é familiarizado com linux, redes e sistemas operacionais.
Rover.py & Plane.py
No projeto GrADyS construímos uma biblioteca chamada Copter.py e nela criamos abstrações para comunicações através do protocolo MAVLINK, assim o programador pode usar primitivas como “DRONE.DECOLAR(10 metros)” ;
Neste projeto o aluno irá criar uma versão dessa biblioteca python que possua as primitivas para controlar Rovers e Aviões através do protocolo MAVLINK.
Design e prototipagem de placa de controle integrada para DIY smartdrones:
Atualmente o método mais utilizado para construção de smartdrones de pesquisa é fazer uma ligação serial entre um Single Board Computers (ie raspberry pi) e placas de controle de voo para controlá-las via o protocolo MAVLINK. Em um DIY smartdrone a quantidade de conexões é relevante, desta maneira, acarreta em risco e dificuldade de organização;
Neste trabalho deve ser desenhado uma placa para integrar essas ligações e integrar componentes nela;
Neste trabalho é previsto orçamento para que a placa seja efetivamente fabricada em sites tais como o PCBWay, restando ao aluno projetar, testar e avaliar seus protótipos de drones feitos com essas placas;
Projeto ideal para quem gosta, e é familiarizado com, eletrônicos e desenhos de circuitos em softwares como em:
https://www.pcbway.com/blog/PCB_Layout_Software/Pcb_circuit_design_software.html
3) Federated Learning para Sensores inteligentes e UAVs agregadores
Aprendizagem Federada (Federated Learning) surgiu como uma abordagem promissora para enfrentar os desafios de privacidade e eficiência e distribuição e carga de processamento em redes de dispositivos e sensores IoT.
Nesse projeto propomos uma estrutura de Federated Learning em que os dispositivos de IoT usam autoencoders para treinamento local, e veículos aéreos não tripulados (UAVs) coordenam a agregação desses modelos. Os resultados experimentais demonstram que, embora o modelo supervisionado obtenha maior precisão de classificação, a abordagem baseada em auto decodificador oferece vantagens em ambientes com dados rotulados limitados, reduzindo a sobrecarga de comunicação e preservando a privacidade dos dados. Esta pesquisa abre caminhos para uma maior exploração de modelos híbridos que combinam os pontos fortes dos autoencoders e da aprendizagem supervisionada em sistemas de aprendizagem federados.
Problemas/assuntos de P&D disponíveis:
Integração da versão python do M-Hub com o controlador de voo dos UAVs
Explorar diferentes topologias e algoritmos de agregação de modelos de treinamento
4) Projeto AirQyMo (inicio oficial Março/2025)
O projeto AirQyMo (Air QualitY MOnitoring and Notification System), a ser desenvolvido no LAC e GIST da PUC-Rio, tem como objetivo desenvolver tecnologia vestível (wearable) e software de infra-estrutura distribuída (nuvem-mobile) para o monitoramento das condições ambientais e geração de alertas em tempo real de situações de insalubridade em sítios de produção (sejam eles mineradoras, agro, fábricas, galpões de peças, etc).
O projeto irá utilizar e adaptar os middlewares ContextNet e Mobile-Hub que executam, respectivamente, em servidores backend e em celulares Android e que permitem a comunicação sem fio (de dados dos sensores dos wearables) para a nuvem, e dos alertas da nuvem para os celulares. Além disso, o projeto irá projetar e construir protótipos 100% funcionais de um wearable (que se comunica com smartphones via BLE), e que será customizado para cada indústria, seu problema de insalubridade e de segurança do trabalho (e.g. partículas, gases, temperatura, umidade, etc.).
Usando essa tecnologia, uma empresa terá uma poderosa ferramenta para alertar, em tempo real, os seus funcionários expostos a uma súbita mudança das condições de salubridade, seja por causa de um defeito ou mal funcionamento de um maquinário, da ventilação, refrigeração, ou então de uma súbita mudança climática. Além de notificações (alertas) customizados por funcionário, a situação de risco (ou ausência do mesmo) também ficará registrada fins de verificação de conformidade com normas de trabalho e ambientais.
projeto tem a parceria do SESI Maranhão,que irá contactar possíveis empresas interessadas em utilizar a tecnologia a ser desenvolvida, e depois a participar da implantação e dos testes in loco da tecnologia.
Problemas/assuntos de P&D disponíveis: Agregador de dados de contexto heterogêneos no Mobile-Hub
Mais informações: https://docs.google.com/document/d/12X4BZnsew3DdQ_ARqgc4yYYZ9kRJ1cX7TXXvSY7P6bA/edit?usp=sharing
5) Projeto DroneLink/ ECOSustain (iniciado em Novembro 2024)
O projeto DroneLink visa investigar e desenvolver estratégias inovadoras para a criação de redes resilientes, com foco na superação dos desafios de conectividade em regiões remotas e de difícil acesso, especialmente em ambientes naturais. A proposta utiliza drones equipados com dispositivos de coleta de dados e repetidores de sinal como intermediários para garantir a interconexão eficiente de sensores IoT em áreas com conectividade limitada. O projeto também explora a otimização de plataformas IoT, como Ibirapitanga/InterSCity, e sistemas operacionais embarcados, buscando aprimorar a resiliência e a eficiência no gerenciamento de dados em cenários desafiadores. Além disso, serão investigadas tecnologias de comunicação, como LoRa e 5G, soluções de energy harvesting para prolongar a autonomia dos dispositivos, e aplicações de tecnologias de sensores quânticos em rede para aumentar a precisão na detecção de fenômenos ambientais e melhorar a segurança e a robustez das redes em condições extremas. O projeto será desenvolvido em quatro fases: levantamento de requisitos, desenvolvimento e simulação, implementação em campo e avaliação contínua, com testes-piloto e validações em regiões-alvo. A iniciativa busca expandir as capacidades das redes IoT para o monitoramento ambiental e a preservação de recursos naturais em áreas críticas, alinhando-se aos objetivos de pesquisa aplicada e contribuindo para avanços tecnológicos no campo da conectividade em regiões de difícil acesso.
Esse é um subprojeto que é fnanciado pelo projeto ECOSustain, e conta com os parceiros: IPT/SP, UFMA, UFPA.
Mais informações nessa url: https://docs.google.com/document/d/19-On8xCQ7XRFkEDDoNoKHZjYHxuQHpO-026tVraGLAE/edit?usp=sharing
6) Outros projetos relacionados ao ContextNet, Mobile-hub e MUSANet
6.1) Dashboard
Usando a ferramenta Hackke (adaptação do framework Play para um ProcessingNode do ContextNet), desenvolver um dashboard para exibir todos os Mobile Hubs em um mapa e ao selecionar o elemento no mapa, mostrar os dados de sensores sendo trazidos para o ContextNet Core e IntersScity. Além disso, exibir o estado operacional (ativo, quantidade de mobile devices conectados, utilização de RAM e outros de recursos) de cada Gateway e GroupDefiner. Gateways são os “portais de acesso” de mobile devices aos serviços “Core”. Cada Gateway periodicamente publica o seu “load report” para o PoA-Manager, para que esse tome decisões sobre realocar mobile devices para a outros Gateways menos carregados.
Altyernativamente, pode-se usar também outros frameworks para Dashboards como o open source: Grafana (https://grafana.com/dashboards)
Complexidade: média.
6.2) GUI para o Global CEP Manager (GCEP)
Desenvolvimento de uma Interface gráfica intuitiva para gerenciamento de regras EPL (linguagem do CEP Esper) para ser o front-end do Global CEP Manager do ContextNet. O Global CEP Manager permite escrever e fazer o deployment de regras CEP tanto em Mobile Hubs (interagindo com o seu serviço MEPA) como em Processing Nodes (no SDDL core). Na interface deve ser possivel visualizar as classes/categorias de MHs e PNs disponíveis no sistema, ter uma sub-janela para escrever uma regra CEP em EPL (https://www.dropbox.com/s/7vxtyagxxkpou22/CEP-EPL-slides.pdf?dl=0), reduzi-la a um icone e poder arrasta-la sobre uma classe de nós, causando assim o deployment dessa regra no nos nós da classe. E ao clicar no icone da classe de nós, deveria ser possivel ver a lista de regras lá implantadas, e fazer o seu gerenciamento com opções de um contextual pop-up menú.
Complexidade: media.
6.3)Packet Manager (Instalador) para o ContextNet Core e o Interscity
O MUSANet integra o middleware ContextNet e o InterSCity em um sistema de middlewares para SmartCities. No entanto, ambos requerem vários passos de instalação, seja em um notebook, um desktop ou servidor de um cluster. O objetivo desse trabalho é desenvolver um instalador integrado para os dois softwares de forma a facilitar o deployment e uso deles. A parte mobile (Mobile Hub) não precisará ser tratada, já que consistirá de um .apk a ser instalado pelos clientes móveis. Preferencialmente, será para a plataforma linux-like, e portanto poderá usar uma ferramenta como o apt-get, rpm, ou o pkg-tools
Complexidade: Baixa
6.4) Geolocalizacão Simbólica usando BLE Beacons
Através do Mobile Hub é possível detectar e identificar todos os beacons BLE presentes na vizinhança do smartphone. Isso ocorre porque os beacons emitem os seus UUIDs a cada anúncio periódico d protocolo Bluetooth (i.e. o beacon). No entanto, mesmo que se registre esse conjunto de beacons vistos em cada local da região de interêsse, essa localização ainda está desprovida de um significado simbólico (i.e. um tipo e nome), por exemplo, se é o almofarixado, a copa, a secretaria, um corredor, uma sala de estudos, etc, e qual é a identificação do local, por exemplo, sala 503. O objetivo portanto é desenvolver um sistema mobile-app cliente e um serviço do ContextNet core com uma base de dados Ctree, que permita um usuário nomear e classificar os seus locais de interesse. A ideia é que ele percorra a região, e em cada local de interesse, acione um botão de “gravar”, que irá armazenar as UUIDs e as intensidades de sinal de Rádio BLE durante um certo tempo (30 segundos), para em seguida permitir que o usuário digite no mobile app a posição do local na hierarquia de contenimento, como por exemplo, “PUC-Rio/RDC/floor4/418” e o tipo da sala/aposento , como “Sala-aula”. Estas informações, incluindo o UUID e os sinais de rádio BLE de todos os beacons, serão então empacotadas em um JSON, enviadas para o servidor no Core, que as armazena de acordo com a hierarquia na base de dados. Uma vez armazenadas essas informações, elas podem ser consultadas para fins de geo-localização indoor, por qualquer Mobile Hub que passe nesses locais. Para tal, o servidor disponibiliza uma API RESTFul getSymbolicName() que, recebe como entrada a lista de UUIDs e RF signal strengths e retorna como resultado a identificação simbólica (e a classe) do local cujo fingerprint na base de dados (lista de UUIDs e RF signal strengths) se aproxima ao fingerprint enviado na consulta.
6.5) Light CEP Engine em Lua
Atualmente, no ContextNet temos engines ESPER para Complex Event Processing (CEP) executando em servidores do ContextNet Core (cluster) mas também em smartphones Android como parte do Mobile-Hub, que são os M-EPAs.
Mas cada vez mais percebemos a necessidade ter essa mesma funcionalidade de CEP em dispositivos (Mobile-Hub) com menos recursos, como por exemplo o SoC ESP32 (https://www.espressif.com/en/products/hardware/esp32/overview).
Assim, esse projeto consiste de implementar engine CEP parcial em Lua para esses dispositivos com poucos recursos.
E precisaria traduzir também um subset da linguagem Event Processing Language (EPL) do ESPER para Lua, para permitir o carregamento e a execução de regras CEP.
Referências:
> MEPA ContexNet ** http://www-di.inf.puc-rio.br/~endler/paperlinks/SBRC-Talavera-2016.pdf
> ESPER Tech ** http://www.espertech.com/ **
> Overview of the EPL** https://docs.oracle.com/cd/E14571_01/apirefs.1111/e14304/overview.htm#EPLLR106 **
6.6) Comunicação direta de M-OBJ para M-OBJ
No ContextNet cada M-OBJ (aquele descoberto) e alcançado por um M-Hub possui uma identificação única (UUID), que serve como endereço destino de mensagens. No entanto, por enquanto realizamos somente a comunicação nos sentidos: M-OBJ => Core e Core => M-OBJ, mas nunca a possibilidade de um sensor conversar diretamente com um objeto com atuação, como por exemplo um TemperatureSensor enviar comandos {+Frio, -Frio Desliga} para um ar-condicionado. Naturalmente, na maioria dos casos não será o próprio sensor capaz de construir tal mensagem, mas sim uma lógica nos M-Hubs correspondentes. Então, é o M-Hub quem deve selecionar o M-OBJ onde a atuação deve acontecer, verificar se ele está operacional e se ele é alcançável através de outro M-Hub. Caso positivo, deve então encaminhar a msg de comando para o M-Hub alvo, que usará o M-ACT para fazer a atuação.
Se houver mobilidade em curso, com possibilidade de alcançabilidade intermitente, então isso ainda requer algum mecanismo de confirmacão (ack) da atuação e de retrial caso a atuacão ainda não tenha sido concluida.
6.7) Atuação confiável em Smart (Mobile) objects — Victor Cortez
Internet das Coisas (IoT) não consiste só de redes e dispositivos que capturam dados de sensores, mas também dispositivos que permitem interferir nos ambientes físicos através de dispositivos inteligentes com atuadores, como lâmpadas, ar condicionado, som, fechaduras, etc. e que assim fecham o elo para a automação de processos em equipamentos e ambientes físicos. Exemplos de tais serviços ou aplicações incluem conforto térmico, conforto visual, eficiência energética, segurança, etc. em prédios inteligentes, moradias de idosos/doentes, dispositivos de injeção de medicação/insulínica, ou controle rígido da temperatura, pressão, gases ou iluminação, em processos produtivos.
A próxima geração de sistemas IoT terá que realizar processamento distribuído e ações coordenadas em elementos da infra-estrutura de IoT, do edge e da cloud, gerenciar o ciclo desde a detecção de uma condição anormal até a atuação “reativa” correspondente, além de ter que lidar com a vasta heterogeneidade, escalabilidade e dinâmica dos sistemas IoT e seus ambientes. Usando como base o serviço para atuação genérica do ContextNet M-ACT/SOM esse trabalho deverá se ocupar em desenvolver mecanismos para a atuação confiável e segura de M-OBJs.
7) AirQyMo Project