2,406 research outputs found

    Automatic plan generation and adaptation by observation : supporting complex human planning

    Get PDF
    Tese de doutoramento. Engenharia Informática. Universidade do Porto. Faculdade de Engenharia. 201

    Robust Controller Design for an Autonomous Underwater Vehicle

    Get PDF
    Worldwide there has been a surge of interest in Autonomous Underwater Vehicles (AUV). The ability to operate without human intervention is what makes this technology so appealing. On the other hand, the absence of the human narrows the AUV operation to its control system, computing, and sensing capabilities. Therefore, devising a robust control is mandatory to allow the feasibility of the AUV. Motivated by this fact, this thesis aims to present, discuss and evaluate two linear control solutions being proposed for an AUV developed by a consortium led by CEiiA. To allow the controller design, the dynamic model of this vehicle and respective considerations are firstly addressed. Since the purpose is to enable the vehicle’s operation, devising suitable guidance laws becomes essential. A simple waypoint following and station keeping algorithm, and a path following algorithms are presented. To devise the controllers, a linear version of the dynamic model is derived considering a single operational point. Then, through the decoupling of the linear system into three lightly interactive subsystems, four Proportional Integral Derivative controllers (PIDs) are devised for each Degree Of Freedom (DOF) of the vehicle. A Linear Quadratic Regulator (LQR) design, based on the decoupling of the linear model into longitudinal and lateral subsystems is also devised. To allocate the controller output throughout the actuators, a control allocation law is devised, which improves maneuverability of the vehicle. The results present a solid performance for both control methods, however, in this work, LQR proved to be slightly faster than PID.É visível, a nível mundial, um aumento considerável do interesse em Veículos Autónomos Subaquáticos (Autonomous Underwater Vehicles - AUV). O que torna esta tecnologia tão atraente é a capacidade de operar sem intervenção humana. Contudo, a ausência do ser humano restringe a operação do AUV ao seu sistema de controlo, computação e capacidades de detecção. Desta forma, conceber um controlo robusto é obrigatório para viabilizar o AUV. Motivado por este facto, esta tese tem como objetivo apresentar, discutir e avaliar duas soluções de controlo linear, a propor a um AUV desenvolvido por um consórcio liderado pelo CEiiA. Para que o projeto do controlador seja possível, o modelo dinâmico deste veículo e respectivas considerações são primeiramente abordados. Com a finalidade de possibilitar a operação do veículo, torna-se essencial a elaboração de leis de guidance adequadas. Para este efeito são apresentados algorítmos de Waypoint following e Station keeping, e de path following. Para a projeção dos controladores é derivada uma versão linear do modelo dinâmico, considerando um único ponto operacional. Através da separação do modelo linear em três subsistemas são criados quatro controladores Proporcional Integral Derivativo (PID) para cada grau de liberdade (Degree Of Freedom - DOF) do veículo. É também projetado um Regulador Linear Quadrático (LQR), baseado na separação do modelo linear em dois subsistemas, longitudinal e lateral. É ainda apresentada uma lei de alocação de controlo para distribuir o sinal de saída dos controladores pelos diferentes atuadores. Esta provou melhorar a manobrabilidade do veículo. Os resultados finais apresentam um desempenho sólido para ambos os métodos de controlo. No entanto, neste trabalho, o LQR provou ser mais rápido do que o PID

    A state consistency framework for programmable network data planes

    Get PDF
    Tese de mestrado, Engenharia Informática (Arquitetura, Sistemas e Redes de Computadores) Universidade de Lisboa, Faculdade de Ciências, 2021A tecnologia de Rede Definida por Software (SDN – Software-Defined Networking) é um método de gestão de rede que permite um planeamento dinâmico e programaticamente eficiente da mesma, a fim de melhorar o seu desempenho e monitorização. SDN tenta centralizar o cérebro da rede num único dispositivo, desassociando o processo de encaminhamento de pacotes (Data Plane), do processo de roteamento (Control Plane). A constituição do control plane consiste em um ou mais controladores, nomeadamente, aplicações que atuem de forma estratégica, que são referenciadas como sendo o cérebro da rede SDN, onde toda a inteligência é agregada. Esta dissertação foca-se em redes programáveis, o que significa que o programador da rede, pode controlar a forma como um dado dispositivo controla o fluxo de pacotes, por meio de software, sendo executado de forma independentemente do hardware da rede. Dado que a cada dia que passa as SDNs tornam-se cada vez mais importantes, permitindo aos programadores optar por diferentes métodos e formas para desenhar, implementar, e operacionalizar as redes com que diariamente se deparam. Assim, uma ferramenta que permita garantir uma comunicação fidedigna entre os dispositivos de rede, assume um papel cada vez mais relevante. Existe também o objetivo desejável de manter um estado global partilhado entre os dispositivos que constituem a rede. A crescente necessidade de garantir a segurança das redes, que cada vez mais são o veículo de transmissão da informação neste mundo globalizado e por conseguinte a proteção dos dados que nelas circulam, provocam de uma forma global um crescente interesse na atividade dos atacantes. Cada vez mais utilizam ferramentas e conceitos mais sofisticados tentando quebrar ou contornar as regras de segurança na tentativa de obter gratificação pessoal, ou porque, ao existirem melhorias numa nova área, é provável que com a sua introdução, estas insiram novas vulnerabilidades que possam ser exploradas por esses atacantes. Além disso, existe o fato que, no campo das SDNs, muitos propuseram mecanismos de comunicação entre os dispositivos do plano de dados, ou seja, switches, e mesmo entre estes. No entanto, dada a inexistência de uma maneira globalizada para realizar esta comunicação, este trabalho visa propor uma estrutura de consistência de estado que aproveite a abstração de uma máquina de estados, usando atualizações de rede consistentes, entre switches adjacentes, por meio da clonagem de pacotes, oferecida pela linguagem de programação P4 e por piggybacking de pacotes que já se encontravam a circulação na rede. Também é usada uma média movel exponencial ponderada, onde determinada condição é alcançada, e de seguida acionamos o recurso P4, anteriormente mencionado, i.e., acionamos a clonagem de pacotes, garantindo assim que todos os pacotes chegam ao seu destino. Além disso, usamos ferramentas para realizar as verificações bit a bit, considerando que a linguagem P4, ainda carece de uma forma para aceder a partes específicas do pacote que circulam na rede. Também utilizamos uma estrutura capaz de armazenar qualquer tipo de informação, i.e., os registos, nos quais decidimos armazenar todos os dados por nós considerados relevantes e a serem utilizados durante a execução. Concretamente, guardamos toda a informação relativa, tanto aos endereços de origem e ao endereço de destino do pacote, bem como os portos de entrada e os portos de saída do switch. Foi também ponderado o uso de outra linguagem de programação em vez do P4, porém esta outra linguagem, o Domino, não nos oferece a característica principal que é possibilitar a criação novos cabeçalhos, pois este era o objetivo inicial quando a linguagem foi procurada, acabando por ser posto de parte o Domino e a escolha recaiu sobre o P4, como a linguagem de programação para a implementação da ferramenta. Tendo em conta as ferramentas de simulação e de emulação dos casos de teste, á frente apresentados, foram estudadas outras ferramentas, como o NS-3 e o Estinet. Pelo conhecimento prévio e experiência na utilização do Mininet, para simular redes de casos-tipo e atendendo que uma das características chave do Mininet é similar á do NS-3 e ambas têm um mecanismo de virtualização leve, optamos pelo Mininet, pois o Mininet possibilita-nos o uso direto do OpenFlow, sem a necessidade de adicionar extras, ao contrário das outras duas ferramentas atrás referidas, que necessitam de adicionar esses extras, para suportar o uso do OpenFlow. Para a implementação da ferramenta inicialmente, consideramos a utilização um método de pacotes de tipo probe, e depois atentamos uma metodologia baseada em um novo cabeçalho, para implementar a ferramenta ao invés da utilizada, i.e., o piggybacking. Primeiramente, atentamos utilizar pacotes do tipo probe que seriam gerados pelos switches, e conforme acontecessem alterações na rede, e.g., aumentar ou diminuir a quantidade de dispositivos de rede, envisionamos que os pacotes seriam enviados pelo switch e eles continham informação de modo aos switches restantes, poderem ter conhecimento dos eventos. A outra metodologia que atentamos consistia em criar um novo cabeçalho no qual colocaríamos toda a informação que iria ser necessária para o correto funcionamento da ferramenta proposta. Contudo, e após exaustivas tentativas de testes para concretizar a sua implementação, esta apresentou demasiados problemas. Deparamo-nos com o problema fulcral que era saber onde colocar nova informação dentro dos componentes que formam a pilha de cabeçalhos da internet, uma vez que esta, é de uso globalizado e quebrar ou tentar alterar a sua estrutura, significaria que o pacote seria puramente descartado sem a possibilidade de atentar qualquer intervenção nele. Para avaliar a solução proposta, coletamos uma ampla quantidade de informações através de um programa corrido nos emissores e bem como nos recetores dos pacotes e para isso usamos dois cenários de teste distintos. No primeiro cenário, usando uma rede com um pequeno número de dispositivos, mais concretamente, 4 switches e 3 hosts, coletamos o número de pacotes recebidos no destino e o número de pacotes retransmitidos na origem. No segundo cenário, usamos uma rede com um número maior de dispositivos em comparação com o primeiro cenário, ou seja, desta vez a rede seria composta por 8 switches e 4 hosts, e nela coletamos o mesmo tipo de dados, isto é, a quantidade de pacotes recebidos no destino, após o host ter sido reajustado de modo a fazer uso desta nova rede. Também coletamos o número de pacotes retransmitidos na origem. Após uma análise extensa dos resultados obtidos, foi possível verificar que apesar de falhas nos links superiores a 70%, ainda assim conseguimos garantir que mais de 95% dos pacotes chegam com sucesso ao seu destino. Apresentando os resultados com mais detalhe, no primeiro cenário, relativamente ao número de pacotes recebidos no destino, em 75% das execuções realizadas, a nossa solução, assegurou que perto de 100 pacotes chegassem ao seu destino em cada execução. Em referência ao segundo cenário, em 79% das execuções, a nossa solução conseguiu entregar perto de 99 pacotes por execução e que estes alcançaram o seu destino. No que diz respeito ao número de pacotes retransmitidos, nestes encontramos três tipos de retransmissões. As retransmissões normais, que como o nome sugere, são aquelas em que nada de extraordinário acontece, ou seja, os pacotes são simplesmente clonados e são novamente enviados por uma rota alternativa para seu destino. Identificamos também, retransmissões com pacotes espúrios, estas retransmissões são verdadeiramente aleatórias e repetem-se em 1 ou 2 pacotes em todos os enviados. Por último, existem as retransmissões que ocorreram e que foram afetadas pelo problema de congestionamento de pacotes ou ciclos de CPU do PC quando este se encontrava mais congestionado ou ocupado. Nestas circunstâncias os pacotes foram simplesmente marcados, para existir a possibilidade de distingui-los dos restantes. Em referência ao número de pacotes retransmitidos, no primeiro cenário a nossa solução obteve em 75% das execuções, perto de 98 pacotes retransmitidos por cada uma dessas execuções. No segundo cenário, houve uma consistência nos tipos de retransmissões, pois podemos constatar que se mantiveram os mesmos tipos, todavia foi-nos também possível verificar uma diminuição considerável dos tipos de retransmissão com pacotes espúrios e nas retransmissões afetadas pelo problema de congestionamento de pacotes ou ciclos de CPU do PC quando este se encontrava mais congestionado ou ocupado. Pelo que neste segundo senário foi notável um aumento do número de pacotes retransmitidos. Para concluir, este trabalho procurou resolver o problema de inconsistência de informação presente nos dispositivos de rede ou mesmo entre eles, i.e, switches, para isso propomos uma ferramenta que garanta consistência de estado para data planes programáveis e que aproveite a clonagem de pacotes através da aplicação de uma condição ligada á média movel exponencial ponderada e piggybacking usando P4. É notável que mesmo com falhas nos links superiores a 70%, a nossa solução mesmo assim, consegue garantir que 95% dos pacotes que foram enviados, chegam aos seus destinos. Focando-nos no trabalho futuro, poderia ser utilizado o conceito de tuplos para tornar o código mais simples e tornar o acesso a certas partes do pacote ainda mais simples. Para finalizar esta dissertação, contribui uma nova ferramenta que garante consistência de estado para data planes programáveis que nos garante que os pacotes que circulam dentro de uma rede não são perdidos utilizando a clonagem de pacotes através da utilização de uma média movel, também possibilita a utilização de piggybacking através da criação de espaço no pacote que circulam na rede. Por fim, baseado nesta dissertação foi submetido um artigo para uma conferência internacional.The Software-Defined Networking (SDN) technology is a method of network management that allows dynamic, programmatically efficient network planning to improve its performance and monitoring. This dissertation focuses on programmable networks, which means that the network programmer can control how the network devices control packet flows via software that runs independently from network hardware. Given that SDN at each passing day becomes more and more prominent, a framework that can ensure reliable communication and a global state among devices become more and more important. There is also the desirable goal of being able to maintain a global shared state among all network devices. Also, there is the fact that in the field of SDNs, many have proposed communication mechanisms among data plane devices, i.e., switches, and between the latter and the controller. However, given the inexistence of a widespread manner to do so, this work aims at proposing a state consistency framework that leverages on a state machine abstraction using consistent network updates among adjacent switches through packet cloning offered by the P4 programming language and packet piggybacking. We also use a moving average that when a condition is met, such P4 feature is triggered, hence ensuring that all packets arrive at their destination. Also, we use tools to perform bitwise checks, considering that the P4 language lacks ways to access specific parts of a packet. We also use a structure that is capable of storing any type of information, i.e., registers, in which we decide to store the data to be used. To evaluate the proposed solution, we collected a broad amount of information using two scenarios. In the first scenario using a network with a small number of devices, we collect the number of packets received at the destination and the number of packets retransmitted at the sender. In the second scenario this time, using a network with a higher number of devices compared to the first scenario, we collect the same type of data, that is, the number of packets received at the destination after it has been readjusted to mirror this new network structure. We also collect the number of packets retransmitted at the sender. After an extensive analysis of the results obtained, it was possible to verify that despite link failures higher than 70%, we still managed to have more than 95% of packets arriving successfully

    Energy consumption forecasting: a proposed framework

    Get PDF
    With the development of underdeveloped countries and the digitization of societies, energy consumption is expected to continue to show high growth in the coming decades. While there is still a strong focus on fossil fuels for energy generation, the implementation of energy policies is crucial to gradually shift to renewable sources and the consequent reduction in CO2 emissions. Buildings are currently the sector that consumes the most energy. To contribute for a better energy consumption efficiency, it was proposed a framework, to be applied to buildings or households, to allow users to know their energy consumption and the possibility to forecast it. Different data analysis techniques for time series were used to provide information to the user about their energy consumption as well as to validate important data characteristics, namely stationarity and the existence of seasonality, which can have an impact in the forecasting models. For the definition of the forecasting models, state of the art was done to identify used models for energy consumption forecasting, and three models were tested for both types of data, univariate and multivariate. For the univariate data, the tested models were SARIMA, Holt-Winters and LSTM as for the multivariate data, SARIMA with exogenous variables, Support Vector Regression and LSTM. After the first execution of each model, hyperparameter tuning was done to conclude on the improvement of the results and the robustness of the models for later application to the framework.Com o desenvolvimento de países subdesenvolvidos e a digitalização das sociedades, é esperado que o consumo de energia continue a apresentar um crescimento elevado nas próximas décadas. Existindo ainda um grande foco em fontes fósseis para a geração de energia, a implementação de políticas energéticas são cruciais para a mudança gradual para energias renováveis e consequente redução de emissões de CO2. Edifícios são atualmente o sector que mais energia consomem. De forma a contribuir para uma melhor eficiência no consumo de energia foi proposta uma framework, a aplicar em edifícios ou apartamentos, para possibilitar aos utilizadores ter um conhecimento do seu consumo de energia bem como a previsão desse mesmo consumo. Diferentes técnicas de análise de dados para séries temporais foram utilizadas para proporcionar informação ao utilizador sobre o seu consumo de energia bem como a validação de caraterísticas importantes dos dados, nomeadamente a verificação da estacionariedade e a existência da sazonalidade, que terão impacto no modelo de previsão. Para a definição dos modelos preditivos, foi feita uma revisão de literatura sobre modelos utilizados atualmente para previsão do consumo de energia e testados três modelos para os dois tipos de dados, univariados e multivariados. Para os dados univariados os modelos testados foram SARIMA, Holt-Winters e LSTM e para os dados multivariados SARIMA com variáveis exógenas, Support Vector Regression e LSTM. Após a primeira execução de cada modelo, foi feita uma otimização dos modelos para concluir na melhoria dos resultados previstos e na robustez dos modelos para posterior aplicação na framework

    Signals on graphs : transforms and tomograms

    Get PDF
    Development of efficient tools for the representation of large datasets is a precondition for the study of dynamics on networks. Generalizations of the Fourier transform on graphs have been constructed through projections on the eigenvectors of graph matrices. By exploring mappings of the spectrum of these matrices we show how to construct more general transforms, in particular wavelet-like transforms on graphs. For time-series, tomograms, a generalization of the Radon transforms to arbitrary pairs of non-commuting operators, are positive bilinear transforms with a rigorous probabilistic interpretation which provide a full characterization of the signals and are robust in the preseninfo:eu-repo/semantics/publishedVersio
    corecore