| Nome: | Descrição: | Tamanho: | Formato: | |
|---|---|---|---|---|
| 11.48 MB | Adobe PDF |
Autores
Orientador(es)
Resumo(s)
Nesta dissertação, abordamos o desafio de tornar um veleiro numa embarcação não tri-
pulada e capaz de navegar de forma completamente autónoma. Este tipo de embarcações
permite realizar explorações em alto mar, sem expor seres humanos a riscos. Podem tam-
bém ser usadas em fins mais recreativos como a participação em regatas para embarcações
autónomas.
Partindo do protótipo de um veleiro autónomo desenvolvido usou-se um Raspberry Pi,
responsável por fazer todas as interfaces com os diferentes sensores, atuadores e módulos
de comunicação presentes. Este controlador identifica a melhor direção a navegar de forma
a chegar ao seu objetivo da forma mais rápida possível. Para isso utiliza um controlador
de baixo nível em lógica difusa responsável pelo controlo dos atuadores, um algoritmo
de campos potenciais artificiais que escolhe a melhor estratégia de navegação e um gestor
de navegação que está responsável por identificar os objetivos para os quais o veleiro tem
de navegar.
Este veleiro consegue, através de comunicação LoRa ou RF fazer interface com um
controlador remoto, implementado num Arduino. Este Arduino, se estiver ligado a um
computador, comunica com uma aplicação desenvolvida em Node.JS que permite interagir
com uma plataforma web desenvolvida de forma a mostrar dados de telemetria do mesmo
e receber novos comandos ou missões a executar. A comunicação entre esta aplicação e os
clientes na plataforma web é feita recorrendo-se a web sockets.
Em conjunção foram desenvolvidos procedimentos autónomos para o caso de o
veleiro ter alguma falha num dos seus módulos, nomeadamente adoção de estratégias
de resiliência e de redundância de comunicações LoRa/RF, bem como para os sistemas
sensoriais (bússola, GPS e cata-vento). Este controlador está também preparado para
receber dados de outras embarcações ou obstáculos, que foram também desenvolvidos
nesta dissertação.
In this dissertation, we tackle the challenge of turning a sailboat into an unmanned vessel capable of sailing completely autonomously. This type of vessel enables explorations to be carried out on the high seas without exposing human beings to risk. They can also be used for more recreational purposes, such as taking part in regattas (boat races) for autonomous vessels. Starting from the prototype of an autonomous sailboat developed, a Raspberry Pi was used, responsible for interfacing with all the different sensors, actuators and communica- tion modules present. This controller identifies the best direction to sail in order to reach its goal as quickly as possible. To do this, it uses a low-level fuzzy logic controller respon- sible for controlling the actuators, an artificial potential fields algorithm that chooses the best navigation strategy and a navigation manager that is responsible for identifying the objectives that the sailboat has to navigate towards. Through LoRa or RF communication, this sailboat can interface with a remote controller, implemented in an Arduino. This Arduino, if connected to a computer, communicates with an application developed in Node.JS that allows it to interact with a web platform developed to display telemetry data and receive new commands or missions to execute. Communication between this application and the clients on the web platform is done using web sockets. In conjunction, autonomous procedures were developed in the event of the sailboat experiencing a failure in one of its modules, namely the adoption of resilience strategies and LoRa/RF communications redundancy, as well as for the sensory systems (compass, GPS and wind vane). This controller is also prepared to receive data from other vessels or obstacles, which were also developed in this dissertation.
In this dissertation, we tackle the challenge of turning a sailboat into an unmanned vessel capable of sailing completely autonomously. This type of vessel enables explorations to be carried out on the high seas without exposing human beings to risk. They can also be used for more recreational purposes, such as taking part in regattas (boat races) for autonomous vessels. Starting from the prototype of an autonomous sailboat developed, a Raspberry Pi was used, responsible for interfacing with all the different sensors, actuators and communica- tion modules present. This controller identifies the best direction to sail in order to reach its goal as quickly as possible. To do this, it uses a low-level fuzzy logic controller respon- sible for controlling the actuators, an artificial potential fields algorithm that chooses the best navigation strategy and a navigation manager that is responsible for identifying the objectives that the sailboat has to navigate towards. Through LoRa or RF communication, this sailboat can interface with a remote controller, implemented in an Arduino. This Arduino, if connected to a computer, communicates with an application developed in Node.JS that allows it to interact with a web platform developed to display telemetry data and receive new commands or missions to execute. Communication between this application and the clients on the web platform is done using web sockets. In conjunction, autonomous procedures were developed in the event of the sailboat experiencing a failure in one of its modules, namely the adoption of resilience strategies and LoRa/RF communications redundancy, as well as for the sensory systems (compass, GPS and wind vane). This controller is also prepared to receive data from other vessels or obstacles, which were also developed in this dissertation.
Descrição
Palavras-chave
Veleiro Navegação Autónoma Navegação Autónoma LoRa Tolerância a falhas Controlo remoto
