Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouAllan Lawrence Alterado mais de 7 anos atrás
1
Development of a Low-Cost Autonomous Surface Vehicle Using MOOS-IvP
Boa tarde, O tema desta apresentação de mestrado é “Development of a Low-Cost Autonomous Surface Vehicle using the Software MOOS-IvP”. Os slides estão em inglês, mas a apresentação será realizada em português. David Issa Mattos Advisor: Dr. Cairo L. Nascimento Jr. Co-Advisor: Dr. Douglas Soares dos Santos April 21, 2016
2
Topics Motivation and Research Scope
An Overview of the MOOS-IvP Software The Boat The ASV System The Sensor Fusion Module Results Conclusion A organização dessa apresentação segue uma estrutura semelhante a da dissertação. Inicialmente vou cobrir a motivação desse trabalho, fazer uma breve descrição do software MOOS-IvP e descrever a estrutura náutica utilizada. Em seguida irei abordar o trabalho que eu desenvolvi. Apresentarei as duas abordagens para o veículo autônomo desenvolvido. A primeira abordagem pode ser vista como uma etapa para a segunda abordagem. Depois apresentarei alguns das aplicações MOOS desenvolvidas. Na seção de resultados apresentarei os resultados obtidos, tanto em simulação quanto em condições reais, para o primeiro design e para o segundo design. Nesta seção mostrarei dois vídeos, um de simulação e um do experimento real. Acredito que esses dois vídeos darão uma visão mais ampla do projeto. Por último discutirei o projeto com um todo e sugestões de trabalhos futuros. April 21, 2016
3
Motivation and Research Scope
The development of a low-cost navigation system April 21, 2016
4
Motivation Large river extension (over 42,000 km)
Low-cost Autonomous Surface Vehicle Surveillance Environmental monitoring Autonomous transportation Search and rescue O Brasil possui uma grande extensão de rios, lagos e represas. Devido a essa extensão o uso de veículos autônomos pode trazer benefícios em uma série de missões. Como missões de: Vigilancia Monitoramento ambiental (qualidade de agua por exemplo) Transporte autonomo (por exemplo transporte de medicamentos para areas mais remotas) Missões de busca e resgate Soluções comerciais de veículos aquáticos já existem, mas o seu custo pode chegar a dezenas de milhares de dólores. O objetivo principal desse trabalho é o desenvolvimento de um veículo autônomo de superfície de baixo custo. April 21, 2016
5
Research Scope Develop a low-cost ASV Generate mission
Integrate a mission planner with a vehicle Localization and sensors interfacing April 21, 2016
6
An Overview of the MOOS-IvP Software
Essa seção traz uma breve introdução aos conceitos principais do software MOOS-IvP The backseat-driver paradigm, the MOOS and the IvP software April 21, 2016
7
The Backseat-driver Paradigm
Independence between the Vehicle Computer and the Payload Computer Communication: CAN, USB, Serial, Ethernet... Autonomy system is developed independently Autonomous Decision-Making IvP Helm Um importante conceito utilizado no desenvolvimento de soluções com o MOOS-IvP é o Backseat-driver. A idéia do backseat-driver é separar o desenvolvimento do sistema que autonomia do desenvolvimento do veículo. Por exemplo, o computador de bordo, que implementa as malhas de controle, navegação e sistemas de segurança são desenvolvidos de forma independente da parte autônoma. Esse conceito permite um fabricante desenvolver um veículo e utilizarmos as interfaces de comunicação como barramento CAN, USB, Serial, Ethernet (fornecidas pelo fabricante) para implementarmos nossa própria solução autônoma. Isso também permite que o sistema autônomo seja desenvolvido por outras pessoas. A figura representa exatamente isso. O computador do veículo implemnta a navegação e o controle enquanto o backseat toma as decisões de navegação autônoma. April 21, 2016
8
The MOOS Mission Oriented Operating Suite (MOOS) Open source metaOS
Star-topology Inter-process communication No peer-to-peer communication Publish-subscribe architecture Used in ASVs and AUVs Several ready-to-use modules MOOSDB O MOOS-IvP pode ser dividido em duas partes. O MOOS e o IvP O MOOS pode ser considerado um meta sistema operacional para robotica (ou seja ele roda por cima de um sistema operacional). E ele é responsável por diversas funcionalidades do veículo Ele é open source, desenvolvido em C++ para aplicações reais. Possui uma topologia estrela, onde cada aplicativo é um processo diferente, assim o MOOS coordena a comunicação entre os processos. Utiliza uma arquitetura Publicador-Assinante, onde os módulos publicam suas mensagens para o elemento central (MOOSDB) e assinam apenas as variáveis que eles tem interesse. Esse software foi desenvolvido inicialmente para veículos de superfície e subaquáticos. Mas pode ser utilizado em outros tipos de veículo, como carros autônomos April 21, 2016
9
The IvP Helm Interval Programming (IvP) A MOOS Application
The Mission Planner Behavior-based autonomy Decision over multiple behaviors selected by the user Hierarchical missions Several ready-to-use behaviors O IvP (Interval Programming) é uma técnica de decisão multi-objetiva por comportamento. O IvPHelm é um aplicativo MOOS que implementa essa técnica. Esse aplicativo utiliza funções de comportamento (IvP behavior functions) para realizar a tomada de decisão. Esses comportamentos podem ser de seguir um ponto ou veículo, evitar obstáculos etc. Vários comportamentos prontos são fornecidos junto com o MOOS-IvP As missões são configuradas em uma hierarquia, de modo que dependendo das variáveis apenas alguns comportamentos podem estar ativos April 21, 2016
10
The Boat The nautical structure and model April 21, 2016
11
The Boat RF antenna Embedded Hardware DC motors Water Wheels Floaters
A estrutura náutica utilizada é um barco tipo catamarã, com duas rodas da agua movidas por motores DC. A caixa metálica contem o hardware embarcado Floaters April 21, 2016
12
The Mathematical Model
{-1,0,1} = {reverse, stopped, forward} O barco foi modelado na tese de doutorado do professor Douglas, como mostrado na figura. Dessa figura chegou-se a um modelo não linear com as constantes físicas. Essas constantes físicas foram determinadas experimentalmente, também na tese. Os motores do barco são controlados por uma ponte H de relés e assumem apenas 3 estados, Para frente (1), parado (0) e para trás (-1). A tabela indica a implementação do controlador dos motores baseado no erro de posição e no erro de orientação. 2 frames: : Heading Vehicle frame (xb, yb) Vxb, Vyb: velocities in vehicle frame Local frame (x, y) Px, Py: position in local frame Dx,Dy,Dz: Drag Forces April 21, 2016
13
The Mathematical Model
O barco foi modelado na tese de doutorado do professor Douglas, como mostrado na figura. Dessa figura chegou-se a um modelo não linear com as constantes físicas. Essas constantes físicas foram determinadas experimentalmente, também na tese. Os motores do barco são controlados por uma ponte H de relés e assumem apenas 3 estados, Para frente (1), parado (0) e para trás (-1). A tabela indica a implementação do controlador dos motores baseado no erro de posição e no erro de orientação. April 21, 2016
14
The ASV System Esse primeiro design é uma continuação da arquitetura utilizada na tese do professor Douglas. Esse design também pode ser visto como um passo intermediário para o segundo design The ASV system, the embedded hardware, the embedded software and the MOOS-IvP April 21, 2016
15
The ASV System O sistema autonomo utiliza a seguinte arquitetura. O barco possui um rádio-modem que se comunica com a estação em solo, e envia os dados dos sensores (GPS, IMU). A estação solo recebe esses dados, processa-os utilizando o software MOOS-IvP e envia para o barco sinais de controle do motor M1,2=-1,0,1 April 21, 2016
16
The Embedded Hardware April 21, 2016
Essa figura mostra um diagrama esquemático do hardware embarcado do primeiro design. Neste diagrama podemos ver o microcontrolador Arduino, o receptor GPS via serial TTL a IMU via I2C A ponte H é ativada utilizando os pinos de I/O A comunicação com a estação de solo é via rádio modem RS232 April 21, 2016
17
The Microcontroller Software
Inicialmente o software embarcado configura as portas serial, serial por software, I2C, configura o GPS e a IMU Então o software embarcado executa um loop em que ele Recebe os dados Atualiza os motores Le o GPS Le a IMU Envia os dados dos sensores Na parte final do loop o software verifica o link de comunicação. Caso o link seja perdido o barco para e espera o link ser reestabelecido April 21, 2016
18
The MOOS-IvP O software MOOS-IvP é executado no computador da estação de controle. Em azul estão os MOOS Apps do repositório oficial Em amarelo estão os aplicativos MOOS desenvolvidos para esse trabalho O pLogger realiza um log das variaveis pHelm: tomada de decisão pNodeReporter cria mensagens que são consumidas pelo visualizador pMarineViewer iSerial: interface serial com o radio Modem pControl: tabela de controle pManual: controle Manual pKalmanSensorFusion: Fusão sensorial entre GPS/IMU uKalmanVIsual: visualizador para ajudar no ajuste do filtro pGeodesy: conversão de coordenadas globais para coordenadas locais retangulares April 21, 2016
19
The Sensor Fusion Module
Nessa seção irei apresentar apenas dois dos módulos MOOS desenvolvidos O pKalmanSensorFusion e o uKalmanVisual O primeiro é responsável pela implementação do filtro de Kalman, o segundo é uma ferramenta de visualização do filtro. The pKalmanSensorFusion April 21, 2016
20
pKalmanSensorFusion Inertial Navigation Systems
High data rate (100 Hz or more) Diverge over time due to errors Good precision in short time window Global Position Systems Low data rate (1 Hz) Does not diverge Noise standard deviation: 1 m Digital Compass High data rate (100Hz) Noise standard deviation: 5o Sensor Fusion with an Extended Kalman Filter Inertial Navigation System sensor fusion with GPS/Digital Compass Estimate the bias errors for the INS INS estimates the position and heading without divergence Uma navegação puramente inercial tem a vantagem de ter uma taxa de dados de saída alta e não ser sucetível a interferências externas. No entanto, os erros embutidos no sistema fazem com que ele divirja com o tempo. No entanto para intervalos curtos ele possui uma precisão mais alta. O GPS tem uma saída de dados mais lenta (1Hz no caso escolhido), mas tem a vantagem de não divergir com o tempo. No Brasil não temos torres em terra que geram sinais diferenciais para correção do GPS (sinais consumiveis em um sistema de baixo custo) A integração entre o GPS e a IMU tenta juntar o melhor dos dois lados. Ela utiliza uma navegação inercial, mas com correções do GPS para evitar a divergencia do sistema. April 21, 2016
21
pKalmanSensorFusion April 21, 2016
A idéia do Filtro de Kalman então é estimar o erro de bias dos acelerometros e dos giroscopios para que o sistema inercial consiga realizar a navegação. De forma geral pela figura temos a etapa de inicialização. Na etapa de atualização recebemos os inputs do GPS e da bussola para estimar o Bias. Na etapa de propagaçao recebemos os dados da IMU. Assim estimamos por meio de um sistema de navegação inercial corrigido com bias a posição do sistema. April 21, 2016
22
Results The mission behaviors, simulation and experimental results
Nessa seção discutirei como o filtro de Kalman foi sintonizado, os resultados de simulação e experimentais. Vou mostrar também 2 videos que exemplificam The mission behaviors, simulation and experimental results April 21, 2016
23
Used IvP-Behaviors Waypoints Avoid Obstacles Station Keep
Points defined by the user Can be changed in real time Define a capture radius Avoid Obstacles Predefined obstacles (virtual or real) Define a safety area Station Keep Maintain the position until an user command is received O processo de sintonização ocorreu de forma iterativa. Primeiro com o veículo parado mediu-se as covariancias do GPS e da IMU. Em seguida determinou-se o valor de P0 simulando e testando no veículo real. Essa iteração permitiu uma sintonização rápida do filtro. April 21, 2016
24
Simulation Results April 21, 2016
Podemos observar pelo resultado que o veículo é capaz de atingir os waypoints e evitar os obstaculos virtuais, com o Filtro de Kalman e com os erros adicionados April 21, 2016
25
Experimental Results April 21, 2016
26
Experimental Results with Simulation Results
April 21, 2016
27
Conclusion Final remarks and future works April 21, 2016
28
Final Remarks and Future Works
Hardware design Software modules to integrate the boat with the MOOS-IvP ASV worked as desired Basis for different missions Future works Hardware modifications (embed the MOOS-IvP) Use of the software MOOS-IvP in different vehicles Small scale cars AUVs Different payload sensors DVL, LIDAR Water quality sensors for environmental monitoring Use of a RTK-GPS (real-time kinematic GPS) April 21, 2016
29
Thank you! April 21, 2016
30
Appendix The other developed MOOS Modules, Kalman Filter Graphics
April 21, 2016
31
Kalman plots (Simulation)
April 21, 2016
32
Kalman plots April 21, 2016
33
Kalman Filter Equations
Step 1: Initialization Step 2: Update Step 3: Propagation April 21, 2016
34
uKalmanVisual Helps to tune the Kalman Filter
Esse aplicativo é responsável por plotar os erros estimados do Filtro de Kalman. Sua principal vantagem é auxiliar no processo de ajuste do Filtro. Outro interesse nesse aplicativo foi mostrar uma forma de incorporar ao MOOS-IvP aplicativos não desenvolvidos em C++ (neste caso foi em Python). Isso possibilita extender as funcionalidades do MOOS-IvP. A comunicação entre os processos é feita através da biblioteca de mensagens ZeroMQ. Esse biblioteca permite comunicação entre diferentes processos e computadores. Helps to tune the Kalman Filter Also shows how to incorporate other tools and computer languages to MOOS-IvP April 21, 2016
35
Tuning the Kalman Filter
O processo de sintonização ocorreu de forma iterativa. Primeiro com o veículo parado mediu-se as covariancias do GPS e da IMU. Em seguida determinou-se o valor de P0 simulando e testando no veículo real. Essa iteração permitiu uma sintonização rápida do filtro. April 21, 2016
36
Mathematica 9 Matrices April 21, 2016
37
pControl Sequence of if else statements to implement the lookup table
April 21, 2016
38
pGeodesy Implement the conversion using the WGS-84 Earth Model.
There are other methods and approximations April 21, 2016
39
pManual Implements 2 threads Uses the SDL2 gaming library Keyboard
Joystick Uses the SDL2 gaming library April 21, 2016
40
iSerial Example of a received message: Example of a sent message:
Uses the boost::asio library Implements serial USB TTL in C++ For the First design Needs a RS232 to TTL converter For the Second design Connects directly to the Arduino April 21, 2016
Apresentações semelhantes
© 2025 SlidePlayer.com.br Inc.
All rights reserved.