Proposed Packard Data Flow
Simplified Cabling Diagram
This is a simplified data flow diagram to help with defining cable routes in the shipyard.
flowchart LR
subgraph Ship-Systems
shipgps(Ship GPS)
shipgyro(Ship Gyro)
shipwind(Ship Wind)
uhs(UHS)
style Ship-Systems fill:#0F0
end
subgraph Signal-Distribution-Box
ship-gps-splitter(Ship GPS Splitter)
ship-gps-1pps-splitter(Ship GPS 1PPS Splitter)
ship-gyro-splitter(Ship Gyro Splitter)
ship-wind-splitter(Ship Wind Splitter)
ship-uhs-splitter(Ship UHS Splitter)
style Signal-Distribution-Box fill:#0F0
end
subgraph terminal-server
ts1(Port)
ts2(Port)
ts3(Port)
ts4(Port)
end
subgraph ROV Control Room
direction LR
sonardyne(Sonardyne)
sonardyne-sprint(Sonardyne Sprint)
ocean-imaging(Ocean Imaging)
winfrog-4d-nav(Winfrog-4D Nav)
subgraph navproc
navproccpu(dpnavproc)
end
end
ship-gps-splitter -- serial --> ts1
ship-gyro-splitter -- serial --> ts2
ship-wind-splitter -- serial --> ts3
ship-uhs-splitter -- serial --> ts4
ship-gps-splitter -- serial --> sonardyne
ship-gyro-splitter -- serial --> sonardyne
ship-gps-splitter -- serial --> sonardyne-sprint
ship-gps-splitter -- serial --> ocean-imaging
ship-gps-splitter -- serial --> winfrog-4d-nav
ship-gyro-splitter -- serial --> winfrog-4d-nav
ship-wind-splitter -- serial --> winfrog-4d-nav
terminal-server -- tcpip --> navproccpu
navproccpu -- ? --> sonardyne
shipgps -- bnc-coax --> ship-gps-1pps-splitter
ship-gps-1pps-splitter -- bnc-coax --> sonardyne
ship-gps-1pps-splitter -- bnc-coax --> sonardyne-sprint
ship-gps-1pps-splitter -- bnc-coax --> ocean-imaging
shipgps -- serial --> ship-gps-splitter
shipgyro -- serial --> ship-gyro-splitter
shipwind -- serial --> ship-wind-splitter
uhs -- serial --> ship-uhs-splitter
Cabling Lists
NOTE: SBD = Signal Distribution Box. UHS = Umbilical Handling System
- ROV Control Room
- Serial Cables
- Serial cable from SDB Ship GPS Splitter to Ocean Imaging
- Serial cable from SDB Ship GPS Splitter to Sonardyne Sprint
- Serial cable from SDB Ship GPS Splitter to Sonardyne
- Serial cable from SDB Ship Gyro Splitter to Sonardyne
- Serial cable from SDB Ship GPS Splitter to Winfrog/4D Nav
- Serial cable from SDB Ship Gyro Splitter to Winfrog/4D Nav
- Serial cable from SDB Ship Wind Splitter to Winfrog/4D Nav
- Coax Cables
- Coax from SDB Ship GPS 1PPS Splitter to Ocean Imaging
- Coax from SDB Ship GPS 1PPS Splitter to Sonardyne
- Coax from SDB Ship GPS 1PPS Splitter to Sonardyne Sprint
- NOTE: Please install several spare serial and coax lines from SDB to ROV control room.
- Serial Cables
- For Terminal Server (terminal server can be located close to SDB)
- Serial cable from Ship Wind Serial Splitter to Terminal Server
- Serial cable from Ship Gyro Splitter to Terminal Server
- Serial cable from Ship UHS Splitter to Terminal Server
- Serial cable from Ship GPS Splitter to Terminal Server
- Please install several spare serial lines between the SDB and the Terminal Server
Detailed Diagrams
Below are a series of diagrams that dive into the details of the navproc and logging designs on the David Packard.
---
title: High Level Diagram
---
flowchart BT
ship-instrument[Ship Instrumentation] --> sdb[Signal Distribution Box] --> ship-term-serv[Terminal Server]
subgraph rov[ROV Subnet]
serial-data-source[Serial Data Source]
ethernet-datasource[Ethernet Data Source]
udp[UDP Message]
term-serv[Terminal Server]
v-ser-port[Virtual Serial Port]
v-ser-port2[Virtual Serial Port]
np-process[Navproc Process]
subgraph lcm-udp[LCM Message]
subgraph Single LCM Type Payload
bool_list
int64_list
double_list
string_list
byte_array_list
end
end
npf-logr[Logger]
log-file[Log File]
end
subgraph zmq-message[ZeroMQ Message]
json[JSON Payload]
end
subgraph client-libraries[Client Libraries]
java-client[Java Client]
python-client[Python Client]
cpp-client[C++ Client]
end
subgraph clients[Clients]
dataprobe[Dataprobe]
arcmap-nav[ArcMap Nav]
science-client[Science Data Client]
end
data-storage[High Bandwidth Data Storage] --> grafana[Grafana/Kibana/etc]
data-storage --> web-app[Monitoring Web App]
serial-data-source --> term-serv --> v-ser-port --> np-process
ship-term-serv --> v-ser-port2 --> np-process
ethernet-datasource --> udp --> np-process
np-process --> lcm-udp --> npf-logr --> log-file
lcm-udp --> data-proxy[Data Proxy] --> zmq-message
zmq-message --> client-libraries --> clients
zmq-message --> data-storage
This diagram captures the detailed view of the proposed data flow on the David Packard.
flowchart LR
subgraph Ship-Systems
shipgps(Ship GPS)
shipgyro(Ship Gyro)
shipwind(Ship Wind)
uhs(UHS)
ntp(Time Server)
ctd(Ship CTD)
thermo-salinagraph(Thermo Salinagraph)
science-therm(Science Therm)
style Ship-Systems fill:#0F0
end
subgraph Signal-Distribution-Box
ship-gps-splitter(Ship GPS Splitter)
ship-gps-1pps-splitter(Ship GPS 1PPS Splitter)
ship-gyro-splitter(Ship Gyro Splitter)
ship-wind-splitter(Ship Wind Splitter)
ship-uhs-splitter(Ship UHS Splitter)
style Signal-Distribution-Box fill:#0F0
end
subgraph MDM
mdmclient1(MDM Client)
mdmclient2(MDM Client)
mdmclient3(MDM Client)
mdmserver(MDM Server)
style MDM fill:#00758f
end
subgraph terminal-server
ts1(Port)
ts2(Port)
ts3(Port)
ts4(Port)
end
subgraph ROV
vehicle(Ricketts)
umbilical(Umbilical)
rovinst1(DVL)
rovinst2(CTD)
rovinst3(Octans FOG)
rovinst4(Port PnT)
rovinst5(Stbd PnT)
end
subgraph ROV Control Room
direction LR
4dnav(4D Nav)
focal(Focal MUX)
smd(SMD System)
sonardyne(Sonardyne)
sonardyne-sprint(Sonardyne Sprint)
ocean-imaging(Ocean Imaging)
4klapbox(4K Lapbox)
overlay(Overlay)
vorne(Vorne Display Replacement)
ctd-gui(CTD GUI)
lava(Lava computer for ArcGIS/MapNav)
ship-ctd-computer(Ship CTD Computer)
sba-data-conversion(SBA Data Conversion)
dataprobe(Dataprobe)
telepresence-agent(Telepresence Agent)
screengrabber(Telepresence Screen Grabber)
vars(VARS)
subgraph navproc
navproccpu(dpnavproc)
logr(Logger)
bcserver(UDP Server)
end
end
subgraph Bridge
4dnav-bridge(Bridge 4D Nav)
bridge-odss(ODSS on Bridge)
end
subgraph Malibu Server
tracking-client(Tracking Client)
local-odss(Ship ODSS)
end
subgraph Shore Systems
odss(ODSS)
rabbitmq(RabbitMQ)
telepresence(Telepresence Server)
end
vehicle --> umbilical
rovinst1 --> vehicle
rovinst2 --> vehicle
rovinst3 --> vehicle
rovinst4 --> vehicle
rovinst5 --> vehicle
ship-gps-splitter -- serial --> ts1
ship-gyro-splitter -- serial --> ts2
ship-wind-splitter -- serial --> ts3
ship-uhs-splitter -- serial --> ts4
umbilical --> focal
focal --> smd
ship-gps-splitter -- serial --> sonardyne
ship-gyro-splitter -- serial --> sonardyne
ship-gps-splitter -- serial --> sonardyne-sprint
ship-gps-splitter -- serial --> ocean-imaging
sba-data-conversion --> thermo-salinagraph
thermo-salinagraph --> science-therm
smd <-- udp --> navproccpu
navproccpu -- tcpip --> logr
logr -- udp --> bcserver
terminal-server -- tcpip --> navproccpu
navproccpu -- ? --> sonardyne
navproccpu -- ? --> overlay
navproccpu <-- serial --> 4klapbox
shipgps -- bnc-coax --> ship-gps-1pps-splitter
ship-gps-1pps-splitter -- bnc-coax --> sonardyne
ship-gps-1pps-splitter -- bnc-coax --> sonardyne-sprint
ship-gps-1pps-splitter -- bnc-coax --> ocean-imaging
shipgps -- serial --> ship-gps-splitter
shipgyro -- serial --> ship-gyro-splitter
shipwind -- serial --> ship-wind-splitter
uhs -- serial --> ship-uhs-splitter
ntp -- tcpip --> ocean-imaging
odss -- amqp --> tracking-client
tracking-client -- ? --> 4dnav-bridge
local-odss -- http --> bridge-odss
tracking-client --> local-odss
tracking-client -- tcpip --> 4dnav
rabbitmq -- amqp --> telepresence
bcserver -- udp --> dataprobe
bcserver -- udp --> telepresence-agent
telepresence-agent -- amqp --> rabbitmq
screengrabber -- ftp --> telepresence
ship-gps-splitter -- serial --> mdmclient1
ship-gyro-splitter -- serial --> mdmclient2
ship-wind-splitter -- serial --> mdmclient3
mdmclient1 -- UDP --> mdmserver
mdmclient2 -- UDP --> mdmserver
mdmclient3 -- UDP --> mdmserver
navproccpu -- UDP --> mdmserver
ship-ctd-computer --> ctd
Notes:
- Green indicates systems and data provided by the ship contractor.
- Data items of interest on Umbilical Handling System (UHS) are: Line speed and line count.
- It is desirable for the terminal server to be located very close to the signal distribution box to simplify cabling.
- MDM system will be added at later date.
Outstanding Questions:
- Is UHS data feed over ethernet or serial?
- How will overlay get data (used to be via serial)?
- Where does VARS and video recording fit in?