-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathREADME
executable file
·131 lines (87 loc) · 6.37 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
###Atualizações###
19MAR23: Adicionado socket UDP para envio de informações para o OpenCPN localmente (127.0.0.1:10112), podendo ser alterado no código do iDivisorNMEA.
###Introdução:###
Inicialmente, foram criados alguns aplicativos para rodar em conjunto com o MOOS, de forma a alcançar o nosso objetivo, que é de controlar a lancha VSNT-LAB, além de implantar um CollisionAvoidance na mesma.
A princípio foram desenvolvidos os aplicativos iDivisorNMEA e iSerial, no qual eles teriam as funções de :
iDivisorNMEA -> Receber as sentenças NMEA na rede, decodificá-las e jogar as informações no MOOS
iSerial -> Enviar para a placa que contém o PIC da lancha as ordens de leme e máquinas que o MOOS calculou.
Essas foram as funções iniciais dos aplicativos, entretanto com os testes que realizamos a bordo da lancha algumas coisas foram mudando, segue alguns testes e coisas que tivemos que mudar e adaptar:
###TESTES - DIA 26JAN:###
Foi basicamente o primeiro teste em seco que fizemos na lancha, inicialmente tivemos muita dificuldade de conexão, pois o Sgt tinha dito que os dados eram enviados pela rede pelo IP 172.18.14.153 e porta 10110 no formato UDP, entretanto depois eu vi que eles eram enviados no formato TCP (pelo menos naquele momento).
Após conseguir receber os pacotes TCP que continham as sentenças NMEA, eu fiz uma ponte para que essa informação pudesse ser lida pelo iDivisorNMEA e assim a informação poder ser atualizada na base de dados do MOOS.
O iDivisorNMEA conseguiu ler as informações e o iSerial também estava conseguindo enviar comandos para o atuador do leme, movimentando o mesmo.
Após o OK desses dois testes, o de receber informações do iDivisorNMEA e o de enviar comandos pelo iSerial, eu achei que a lancha já estava pronta para os testes de mar, que foram no outro dia.
####TESTES NO MAR - DIA 01FEV:####
Na hora do teste no mar, aconteceram alguns problemas que não tinham acontecido antes, entre eles:
iDivisorNMEA estava crasheando o tempo todo, depois eu dei uma corrigida para evitar esses erros.
iSerial não estava enviando os comandos com velocidade o suficiente para comandar o leme, ai ele mandava meio que todo o leme para um lado só.
Não conseguimos alcançar o objetivo de atingir o waypoint desejado.
Por ser TCP, provavelmente alguns pacotes deviam estar se perdendo pelo caminho, atrapalhando no feedback para controle da lancha, mas EU acredito que na verdade foi a configuração de FREQUÊNCIA de cada aplicativo do Moos, tipo, cada aplicativo do Moos tem uma configuração de QUANTAS VEZES POR SEGUNDO ele deve rodar, ai depois eu vi que o iDivisorNMEA estava configurado para rodar em 4 VEZES por segundo, o que é BEM LENTO para um sistema em tempo real.
####TESTES NO SECO - DIA 02FEV:####
Bem, basicamente nesse dia eu fui mudar a configuração do programa para receber os pacotes UDP ao invés de TCP e ai que tudo deu merda, pq os pacotes TCP vinham todos enfileirados, enquanto os UDP vinham 1 de cada vez, tive que mudar o código do iDivisorNMEA para funcionar.
Também alterei a frequência de execução de cada um dos programas do MOOS para 100 vezes por segundo, antes estava 4 vezes por segundo, provavelmente por isso que estava dando aquela lerdeza toda na atualização das informações;
##############################################################################
# FILE: moos-ivp-extend/README
# DATE: 2014/01/02
# DESCRIPTION: Contains important information regarding the moos-ivp-extend
# repository.
##############################################################################
#=============================================================================
# Introduction
#=============================================================================
The moos-ivp-extend repository contains examples for extending the MOOS-IvP
Autonomy system. This includes a MOOS application and an IvP behavior.
#=============================================================================
# Directory Structure
#=============================================================================
The directory structure for the moos-ivp-extend is decribed below:
bin - Directory for generated executable files
build - Directory for build object files
build.sh - Script for building moos-ivp-extend
CMakeLists.txt - CMake configuration file for the project
data - Directory for storing data
lib - Directory for generated library files
missions - Directory for mission files
README - Contains helpful information - (this file).
scripts - Directory for script files
src - Directory for source code
#=============================================================================
# Build Instructions
#=============================================================================
#--------------------
# Linux and Mac Users
#--------------------
To build on Linux and Apple platforms, execute the build script within this
directory:
$ ./build.sh
To build without using the supplied script, execute the following commands
within this directory:
$ mkdir -p build
$ cd build
$ cmake ../
$ make
$ cd ..
#--------------
# Windows Users
#--------------
To build on Windows platform, open CMake using your favorite shortcut. Then
set the source directory to be this directory and set the build directory
to the "build" directory inside this directory.
The source directory is typically next to the question:
"Where is the source code?"
The build directory is typically next to the question:
"Where to build the binaries?"
Alternatively, CMake can be invoked via the command line. However, you must
specify your gernerator. Use "cmake --help" for a list of generators and
additional help.
#=============================================================================
# Environment variables
#=============================================================================
The moos-ivp-extend binaries files should be added to your path to allow them
to be launched from pAntler.
In order for generated IvP Behaviors to be recognized by the IvP Helm, you
should add the library directory to the "IVP_BEHAVIOR_DIRS" environment
variable.
##############################################################################
# END of README
##############################################################################