Skip to content

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

  1. ROV Control Room
    1. Serial Cables
      1. Serial cable from SDB Ship GPS Splitter to Ocean Imaging
      2. Serial cable from SDB Ship GPS Splitter to Sonardyne Sprint
      3. Serial cable from SDB Ship GPS Splitter to Sonardyne
      4. Serial cable from SDB Ship Gyro Splitter to Sonardyne
      5. Serial cable from SDB Ship GPS Splitter to Winfrog/4D Nav
      6. Serial cable from SDB Ship Gyro Splitter to Winfrog/4D Nav
      7. Serial cable from SDB Ship Wind Splitter to Winfrog/4D Nav
    2. Coax Cables
      1. Coax from SDB Ship GPS 1PPS Splitter to Ocean Imaging
      2. Coax from SDB Ship GPS 1PPS Splitter to Sonardyne
      3. Coax from SDB Ship GPS 1PPS Splitter to Sonardyne Sprint
    3. NOTE: Please install several spare serial and coax lines from SDB to ROV control room.
  2. For Terminal Server (terminal server can be located close to SDB)
    1. Serial cable from Ship Wind Serial Splitter to Terminal Server
    2. Serial cable from Ship Gyro Splitter to Terminal Server
    3. Serial cable from Ship UHS Splitter to Terminal Server
    4. Serial cable from Ship GPS Splitter to Terminal Server
    5. 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:

  1. Green indicates systems and data provided by the ship contractor.
  2. Data items of interest on Umbilical Handling System (UHS) are: Line speed and line count.
  3. It is desirable for the terminal server to be located very close to the signal distribution box to simplify cabling.
  4. MDM system will be added at later date.

Outstanding Questions:

  1. Is UHS data feed over ethernet or serial?
  2. How will overlay get data (used to be via serial)?
  3. Where does VARS and video recording fit in?