Download Goby v2 - gobysoft

Transcript
CONTENTS
i
Contents
1
2
Goby Underwater Autonomy Project
1
1.1
Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2
Developer manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.3
Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.4
Download and Install Goby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.5
Building Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.6
Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
goby-acomms: An overview of Acoustic Communications Library
2
2.1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2.1.1
Acoustic Communications are slow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2.1.2
Efficiency to make messages small is good . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.1.3
Total throughput unrealistic: prioritize data . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.1.4
Despite all this, simplicity is good . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.1.5
Component model
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.2
dccl: Encoding and decoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.3
queue: Priority based message queuing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.4
modemdriver: Modem driver
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.5
amac: Medium Access Control (MAC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.6
Software concepts used in goby-acomms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.6.1
Signal / Slot model for asynchronous events . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.6.2
Google Protocol Buffers
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
UML models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
2.7
3
Quick Start
goby-acomms: DCCL (Dynamic Compact Control Language)
9
3.1
Designing a message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
3.2
DCCL Protobuf Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
3.3
Interacting with the DCCLCodec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
3.4
Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
3.5
Example messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
3.5.1
Minimal functional DCCL message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
3.5.2
Two Message example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
3.5.3
DCCL Test2 showing an embedded message encoded by a custom (non-default) codec . .
18
3.5.4
DCCL Test3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
3.5.5
DCCL Test4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
3.5.6
DCCL Test5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
3.5.7
DCCL Test6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
3.5.8
DCCL Test7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
3.5.9
DCCL Test8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
Generated on Wed Mar 26 2014 01:41:49 for Goby v2 by Doxygen