Greensea Import/Export
How to Guide, 1.00.00

Section 1

Copyright Notice

This material is copyright protected. No material may be reproduced or transmitted in any form or by any means for any purpose without expressed written consent of VideoRay LLC.

Copyright © 2022, VideoRay LLC - The Global Leader in Micro-ROV Technology

Greensea Import/Export
How to Guide, 1.00.00

Section 2

Greensea Import/Export
How to Guide, 1.00.00

Section 3

About this Document

Online Manual

This printed Quick Start Guide is a subset of the full version of this manual, which is available on the Greensea Import/Export control panel and online in the following formats:

  • Installed on the Greensea Import/Export control panel at: gss_import_export for viewing the HMTL locally.

  • https://download.videoray.com/gss_import_export for viewing the HMTL online.

  • https://download.videoray.com/documentation/gss_import_export/pdf/videoray_doc_gss_import_export.pdf for viewing the PDF online.

  • https://download.videoray.com/documentation/gss_import_export/zip/videoray_doc_gss_import_export.exe for downloading the HTML and PDF files.

Document Conventions

Several symbols are used throughout this documentation to add emphasis and to assist in relocating important information. The following table describes these symbols and their uses.

SYMBOL DESCRIPTION
The Danger icon is used to indicate there is a potential risk of personal injury or death. Extra care should be taken to understand the risks, and all personnel should exercise caution. It may also be appropriate to warn others in the immediate vicinity.
The Caution icon is used to indicate there is a potential risk of damage to the equipment or surrounding property. Personnel should receive training in the appropriate procedures before attempting to operate or maintain the equipment.
The Do Not icon is used to indicate that an action or activity should NOT be performed.
The Note icon is used to highlight a specific detail or point of information.
The Tip icon is used to highlight a suggestion or recommendation.

Beyond this Document

There is no substitute for experience and/or training, especially with respect to the real purpose for which you plan to use this equipment. We encourage you to explore options beyond the scope of these materials to expand your knowledge and skills necessary to support your applications. In addition to this documentation, VideoRay offers training and technical support and hosts a general user discussion forum and user image gallery.

We also realize that collectively, users of our products spend considerably more time operating our systems than we do ourselves. Users also encounter more diverse operating environments across an extremely broad range of applications. We highly value this vast experience base, and invite and encourage you to share your experiences and suggestions with us. Please feel free to contact us by any of the methods listed below.

Quality Commitment

VideoRay strives to design, manufacture, deliver and support the highest quality products and services, including this documentation. We have made every effort to ensure that this documentation is accurate and provides you with the most up-to-date information.

If you find any errors in this documentation or have suggestions for improvements, each page contains a "Help us improve this document" feedback link in the left margin (you must be connected to the Internet to use this link).

Address  
VideoRay LLC
212 East High Street
Pottstown, PA 19464
USA
 
 
Email  
info@videoray.com General Information and Sales
support@videoray.com
 
Technical Support
Telephone  
+1 610-458-3000 Office
+1 610-458-3010 Fax

Disclaimer

This document is deemed accurate at the time of its writing, however it is not a legal contract and the information contained herein should not be construed to represent any form of commitment. This document as well as the associated products and services are subject to change without notice.

Greensea Import/Export
How to Guide, 1.00.00

Section 4

How to Get Help

Help for your Greensea Import/Export is available through several channels.

All Hours Self-Service / Crowd-Source Tools

Operator's Manuals and Standard Operating Procedureswww.videoray.com/support/manuals.html
Software Downloadswww.videoray.com/support/downloads.html
Frequently Asked Questionswww.rovfaq.com
ROV User Forumwww.rovinfo.com

Global Support

Emailsupport@videoray.com
Phone+1 610-458-3000 (select option 1)
Additional messaging services are available.Contact us using one of the above methods for options supported.
Remote Sessionswww.videoray.com/support/remote-support.html (by appointment )

Regional Support

VideoRay Authorized Dealers and Service Centershttps://videoray.com/contact-us/locate-dealer-or-service-center/

Training

Emailtraining@videoray.com
Phone+1 610-458-3000 (select option 1)
Training OpportunitiesTraining Overview

Operational Strategies and Tactics Support

If you need help understanding how to apply your system to a specific project, contact VideoRay or you local VideoRay dealer. We can provide guidance or help you find a certified consultant.

Section 5

Before Contacting Support

Please make sure to consider the following information before contacting VideoRay's Technical Support to report a problem. The following information should available:

  • User name and contact information
  • Name of the owner if not the same as the user
  • System model
  • Serial Number of the affected component(s)
  • Accessories in use
  • Detailed information about the issue:
    • Symptoms
    • Operating conditions that create the symptoms
    • Anything new or unusually about the system or operations

Once you have collected the recommended information, visit the "How to Get Help" page for contact information.

In addition, please review VideoRay's Support website for additional information about:

  • Principles of Customer Interactions
  • Customer Care Philosophy
  • Technical Support Policy
  • Third Party Accessory Support Statement
  • Use of Non-VideoRay Supplied Computers
Greensea Import/Export
How to Guide, 1.00.00

Section 6

Greensea Import/Export Tools

Greensea Import/Export Tools includes instructions on Greensea's Workspace data importing and exporting capabilities and procedures, and a collection of tools that can help with the integration of to-be-imported or exported data with other applications. These tools typically convert and/or reformat data to automate the integration process.

The tools include:

Greensea Import/Export
How to Guide, 1.00.00

Section 7

Convert .csv to .yml Overview

convert_csv_yml.py converts a coordinate file in .csv format into a Greensea .yml mission file.

It is designed to be as easy to use as possible:

  • You configure the program to match your requirements, rather than the program forcing you to modify all of your .csv data files
  • Values for any data element can be assigned as a default
  • The column order can be user defined
  • Unused columns can be ignored by the program so you don't have to delete them from your data
  • The Lat/Lon Degrees format is flexible (DD, DDM, DMS; use +/- or N/S; use "," "'" and """ or not)

The program can run on Ubuntu on the Control Console or on Windows on a PC / Laptop.

Before converting your .csv file, you will likely need to set up the defaults to match your data requirements. This manual will explain how to do that.

for Real Time Import of data from other sensors or applications, see the Real Time Import section.

The program is available in the downloads section.

Section 8

Convert .csv to .yml Quick Start

Installation

The program and necessary files are delivered as a zip file. These files can be downloaded and unzipped to the folder of your choice.

First Time Program Execution

To start the program:

Ubuntu on the Control Console

Open a terminal window and navigate to the folder where the program was installed. Enter:

python convert_csv_yml.py

Window on a PC / Laptop

The program requires Python be installed on your computer.

Open a DOS window and navigate to the folder where the program was installed. Enter:

python convert_csv_yml.py

When the program starts, click on the Show / Set Defaults button. Check and set the defaults according to your preference. See the Setting Defaults page for more information.

Addition information about the data format and defaults is provided in the remainder of this manual.

A sample .csv data file, mission.csv, is included as part of the installation for a test execution.

After the defaults are set as desired, save the defaults by clicking on Save Defaults to File button and then click on the Convert button.

Subsequent Program Executions

For future executions using data in the same format, you will only need to start the program, select the filenames and click on the Convert button.

Section 9

Convert .csv to .yml Files and Formats

In addition to the program itself, convert .csv to .yml requires a configuration file (a .cfg file), and input file with data about the mission and waypoints in .csv format.

Additionally, two template files, one for the mission and one for the waypoints, are used in the background to create the .yml file.

When executed, it creates a Greensea mission file in .yml format for use in Greensea's Workspace ROV control program.The files will be described on the following pages, starting with the .yml mission file.

Section 10

The .yml File Format and Information

Greensea mission files contain general information about the mission, such as its name, and a series of waypoints. Mission files are stored in a .yml files. The .yml file is in text format that is easy to read. An example mission file with two waypoints is shown here:

####################################################
### Greensea Workspace Waypoint Data
###  Created by VideoRay: 2021-05-23  20:21:09
##########################
mission_data:
  - id: "{2fa9aade-537d-494d-b260-c236e459ae7c}"
    name: mission
    color: "#00ffff"
    color_propagate: false
    locked: false
    waypoints:
      - id: "{b1cb7cc1-c655-4444-8bce-81cae366d76d}"
      - id: "{5541b691-276e-405c-bb68-ef5d1707fb55}"
waypoint_data:
  - id: "{b1cb7cc1-c655-4444-8bce-81cae366d76d}"
    mission_id: "{2fa9aade-537d-494d-b260-c236e459ae7c}"
    name: A
    color: "#ffff00"
    x: -75.5
    y: 41.5
    z: 0.9144000000000001
    tolerance: 1.8288000000000002
    z_alt: false
    z_matters: true
    speed: 0.1524
    use_speed: true
    effort: 70
    display_rb: false
    locked: false
    heading: 0
    heading_mode: NONE
  - id: "{5541b691-276e-405c-bb68-ef5d1707fb55}"
    mission_id: "{2fa9aade-537d-494d-b260-c236e459ae7c}"
    name: B
    color: "#ffff00"
    x: -75.08722666666667
    y: 41.36926166666667
    z: 0.6096
    tolerance: 1.8288000000000002
    z_alt: false
    z_matters: true
    speed: 0.1524
    use_speed: true
    effort: 70
    display_rb: false
    locked: false
    heading: 0
    heading_mode: NONE

You may notice that there are many parameters associated with the mission and each waypoint. The program allows you to set defaults for all of these values so you do not have to include these data elements in your file if you do not want to. Here is the full list of .yml data elements with descriptions. Additional information about each these parameters can be found on the CFG File page.

Mission Data

Mission ID (Auto generated by the program)

Mission Name (Text)

Mission Color (Hex RGB color value, range: #000000 - #9999FF; the program includes a graphic color picker.)

Mission Color Propagate (True / False)

Mission Locked (True / False)

List of Waypoint IDs (Auto generated by the program)

Waypoint Data

Waypoint ID (Auto generated by the program)

Waypoint name (Text)

Waypoint color (Hex RGB color value, range: #000000 - #FFFF00; the program includes a graphic color picker.)

Waypoint y [North] (Number - Degrees value)

Waypoint x [East] (Number - Degrees value)

Waypoint z [Depth / Altitude] (Number, meters)

Waypoint tolerance (Number)

Waypoint z_alt [Z is Altitude] (True / False)

Waypoint z_matters [Use Depth Lock] (True / False)

Waypoint speed (Number, speed in meters/second)

Waypoint use_speed [Use Speed Lock] (True / False)

Waypoint effort [% Effort] (Number, range: 1 - 100)

Waypoint display_rb (True / False)

Waypoint locked (True / False)

Waypoint heading (Number, range: 0 - 360)

Waypoint heading_mode (NONE / ALONG_LINE / FIXED)

Within the .yml, the Units Type is Meters and the Degrees Format is always Decimal Degrees. Your .csv file can contain units of feet and other degrees formats (Degrees Decimal Minutes or Degrees Minutes Seconds) by specifying these as default units to use.

Section 11

The .cfg File Format and Information

The Configuration file is used to store default values for the program and can be modified to meet your data requirements. This table provides comprehensive information about the data and default values. An initial configuration file is provided as part of the installation and there are tools within the program to modify it.

CFG RowNameDescriptionData Type / Explanation
1showHelpShow Help On Start-upTrue / False
True - Show help on start-up
False - Do not show help on start-up
3outFileOutput .yml File NameText
4mission_nameMission NameText
5mission_colorMission ColorHex RGB Color Value, range: #000000 - #FFFFFF;
the program includes a graphic color picker.
6mission_color_propagatereservedTrue / False
True -
False -
7mission_lockedMission LockedTrue / False
True - Mission is locked
False - Mission is unlocked
8unitsTypeUnits of MeasureFeet / Meters
Feet - .csv units are in feet
Meters - .csv units are in meters
9degreesFormatDegrees FormatDD / DDM / DMS
DD - .csv uses Decimal Degrees
DDM - .csv uses Degrees Decimal Minutes
DMS - .csv uses Degrees Minutes Sections
10autoIncrementAdd a sequential number to waypoint names True / False
True - Add a 3 digit sequential number to the waypoint name
False - Do not add a 3 digit sequential number to the waypoint name
11N/AReservedInternal Note
User DefinednameWaypoint Prefix>Text, added to as a prefix to the waypoint name
User DefinedcolorWaypoint ColorHex RGB Color Value, range: #000000 - #FFFFFF;
the program includes a graphic color picker.
User DefinedyWaypoint Latitude (North/South)Number, Degrees Value
Variable format -
User DefinedxWaypoint Longitude (East/West)Number, Degrees Value
Variable format -
User DefinedzWaypoint Depth (or Altitude)Number, depth or altitude in selected units
User DefinedtoleranceWaypoint ToleranceNumber, tolerance in selected units
User Definedz_altWaypoint Depth ReferenceTrue / False
True - z is the waypoint altitude
False - z is the waypoint depth
User Definedz_mattersWaypoint Depth LockTrue / False
True - Waypoint depth is locked
False - Waypoint depth is unlocked
User DefinedspeedWaypoint SpeedNumber, waypoint speed in selected units per second
User Defineduse_speedWaypoint Speed Lock True / False
True - Waypoint speed is locked
False - Waypoint speed is unlocked
User DefinedeffortWaypoint EffortNumber, % of effort to achieve waypoint
User Defineddisplay_rbReservedTrue / False
True - display_rb is True
False - display_rb is False
User DefinedlockedWaypoint LockedTrue / False
True - Waypoint is locked
False - Waypoint is unlocked
User DefinedheadingWaypoint HeadingNumber, waypoint heading in degrees azimuth, range 0 - 360
User Definedheading_modeWaypoint Heading ModeNONE / ALONG_LINE / FIXED
NONE -
ALONG_LINE
FIXED

This configuration file is provided with the initial installation:

showHelp=false
inFile=mission.csv
outFile=mission.yml
unitsType=feet
degreesFormat=ddm
autoIncrement=false
mission_name=mission
mission_color=#00ffff
mission_color_propagate=false
mission_locked=false
--You may change any of the =values in this file to set your own defaults, and you may change...
name=
y=
x=
z=
color=#ffff00
tolerance=6
z_alt=false
z_matters=true
speed=0.5
use_speed=true
effort=70
display_rb=false
locked=false
heading=0
heading_mode=NONE

The configuration file is named convert_csv_yml.cfg and is a text file. It can be edited using the Show / Set / Save Defaults feature provided within the program, or manually in a text editor. Either method can be used. You may use whichever is more comfortable for you.

Section 12

The .csv File Format and Information

The .csv file contains your data. It may be manually created or generated by another program. If you are not familiar with .csv files, you can view a brief .csv primer.

For the purposes of using the convert_csv_yml.py program, the data represents coordinates or waypoints with one waypoint per line. Here is a sample of a typical coordinate file in .csv format with a header row.

Name,Latitude,Longitude,Depth
A,41 30,-75 30,3.0
B,41 22.1557,-75 5.2336,2.0
C,41 11.0544,-75 4.2312,1.0

Commas are not allowed within a value, because they are used as the separator between values.

In addition to the list of coordinates/waypoints, the program requires that the first line of the .csv file provide information about the mission, and the header row either needs to be removed or identified as a comment by using a "#" as the first character. Lines with the "#" symbol as the first character on the line are considered comments. You can also use the "#" to exclude specific coordinates from the conversion.

Here is the required mission information:

Name,Color,Color Propagate,Locked,Units Type,Degrees Format,Auto Increment Waypoint Names

The sequence of the mission data elements must be in the order listed above, and this order cannot be modified like it can be for waypoint data elements.

Here is an example of a working .csv file that the program can read and convert correctly (defaults must be set accordingly). This example conforms to the defaults as defined in the initial installation.

My Mission,#00FFFF,False,False,Feet,DDM,False
#Name,Latitude,Longitude,Depth
A,41 30.2,-75 30,3.0
B,41 22.1557,-75 5.2336,2.0
C,41 11.0544,-75 4.2312,1.0

Mission Information

  • Mission Name = My Mission
  • Mission Color = #00FFFF (Blue, Default colors can be selected using a color picker.)
  • Mission Color Propagate = False (Do not propagate mission color)
  • Mission Locked = False (The mission is not locked)
  • Units Type = Feet(the values are in feet)
  • Degrees Format = DDM (The degrees format is Degrees, Decimal Minutes)
  • Auto Increment = False (Do not add an auto incremented number to waypoint names)

Waypoint 1 Information

  • Waypoint Name = A
  • Waypoint Latitude = 41 degrees, 30.2 minutes (North)
  • Waypoint Longitude = -75 degrees, 30 minutes (The - indicates West)
  • Depth = 3.0 Feet

You may notice that this data does not include many of the .yml parameters. The program will insert the default values for any missing parameters. You can also omit entire columns as long as they are at the end of the rows.

For more information about data elements and their definitions, see the CFG File page.

A sample data set is included in the mission.csv file that is included as part of the installation. It uses a blank line as the first line - All mission data is defined by defaults and not the .csv file.

Section 13

Convert .csv to .yml Template Files

The program uses template files to structure the .yml. These files should not be modified without training. They are presented here for your information.

Mission Template

####################################################
### Greensea Workspace Waypoint Data
###  Created by VideoRay: <!--##creation_time##-->
##########################
mission_data:
  - id: "{<!--##mission_id##-->}"
    name: <!--##mission_name##-->
    color: "<!--##mission_color##-->"
    color_propagate: <!--##color_propagate##-->
    locked: <!--##mission_locked##-->
    waypoints:

Waypoint Template

  - id: "{<!--##waypoint_id##-->}"
    mission_id: "{<!--##mission_id##-->}"
    name: <!--##waypoint_name##-->
    color: "<!--##waypoint_color##-->"
    x: <!--##x##-->
    y: <!--##y##-->
    z: <!--##z##-->
    tolerance: <!--##tolerance##-->
    z_alt: <!--##z_alt##-->
    z_matters: <!--##z_matters##-->
    speed: <!--##speed##-->
    use_speed: <!--##use_speed##-->
    effort: <!--##effort##-->
    display_rb: <!--##display_rb##-->
    locked: <!--##locked##-->
    heading: <!--##heading##-->
    heading_mode: <!--##heading_mode##-->

Section 14

Convert .csv to .yml Setting Defaults

The program includes tools to set or modify the defaults. To set the defaults, start the program and click on the Show / Set / Save Defaults button.

Enter or select the values for the defaults for each piece of information listed.

If you want to reorder the waypoint data elements or specify columns to ignore, click on the Reorder Waypoint Data button.

This will bring up a list of the waypoint data elements. You can select an element and use the Move Up or Move Down buttons to achieve the order that matches your data. Any data elements that you do not plan to include in your data should be moved to the bottom and the columns for these data elements do not need to be included in your .csv file.

If your data includes columns that are not required by the .yml file format, you can specify that these columns should be ignored or not used. To designate that a column should be ignored and not used click on the Insert Unused Column button and then move the "Unused" column marker to the correct position to match you data. For example, if your data has a date in the first column, insert an Unused column marker and move it to the top of the list. If you no longer want to use the Unused column marker, you can remove it by selecting it and clicking on the Remove Unused Column button.

When you are finished reordering the data elements, click on the Update Waypoint Column Order button. If you decide you do not want to reorder the columns, click on the Close without Updating button.

At this point, the default values are enabled, but not saved. If you execute the conversion, the defaults will be used as assigned. However, tif you want to save these defaults for future executions of the program, click on the Save Defaults to File button. If you only want to use the defaults this one time, click on the Close without Saving to File button.

Section 15

Importing the .yml File

To import the .yml file into Greensea Workspace, navigate to the Missions tab and click on the Import button (or Load button depending on version). Select your .yml file and confirm your selection.

Greensea Workspace version 6.x

Greensea Workspace prior to version 6.x

Greensea Import/Export
How to Guide, 1.00.00

Section 16

Export Recorded Data to .csv

You can export recorded data from a Greensea recording (telemetry file of type.gssbin) using the Export feature found in the Logging tab under the map view." Data is exported in Channels. Each Channel contains several related Data Items.

To export data from a recording, click on the "Choose Log File" button and select the desired .gssbin file. A list of channels will be presented above the button. Select the desired channel or channels, To select more than one channel, hold the shift key while clicking to select a range, or hold the CTRL key while clicking to select additional channels individually. After selecting the desired channels, click on the "Convert to CSV" button. The exported channels will be saved in separate .csv files using the channel name in the logging location, which is "gss_logs," unless the default was redefined by a user.

.csv files can be viewed in a text editor or spreadsheet program.

To determine which channels to export, you can use the Channel List Tool to see what data items are in each channel, or find out which channels contain a specific data item (data items may reside in more than one channel).

Data is recorded from Workspace at approximately 10 HZ and can result in large exported files. See the section about thinning data files.

for Real Time Export, see the Real Time Export section.

Section 17

Thin and Reformat an exported .csv File Quick Start

Installation

The program and necessary files are delivered as a zip file. These files can be downloaded and unzipped to the folder of your choice.

First Time Program Execution

To start the program:

Ubuntu on the Control Console

Open a terminal window and navigate to the folder where the program was installed. Enter:

python convert_gss_csv.py

Window on a PC / Laptop

Navigate to the installation folder and click on the convert_gss_csv.exe file.

When the program starts, select the input and output files and then select the desired settings.

Addition information about the data format and settings is provided in the remainder of this manual.

A sample input data file, input.csv, is included as part of the installation for a test execution.

After the settings have been selected, click on the Process button.

Subsequent Program Executions

You can set defaults for the settings in the configuration file. Information about the configuration file is provided later.

Section 18

Section 19

Thin and Reformat an exported .csv File

When a .csv file is exported, it contains data recorded at approximately 10 Hz. This can lead to large data files. If the ROV hovers in one place for a while, this will result in a lot of redundant and unnecessary data points. You can thin this data by weeding out these redundant data points based on a minimum distanced moved threshold.

Primary input is a GSS export in CSV format and information about which input columns to use for output and the output order. Input order is flexible - you defined which columns hold your X, Y and Z values. Column numbers start at 0 in the input file.

Output order is Longitude (East or X), Latitude (North or Y) and Z (Depth or Altitude) and any additional column(s) you select to include with the output. If you require a different order, see the tip below.

Z is not used for distance moved calculations.

Program input defaults can be changed by editing gss-3d.cfg

  • Line 1: Input file to read from.
  • Line 2: Output file to write to.
  • Line 3: Coordinates Type - One of: [ 3 | 2 ]
            3 = 3-D; 2 = 2-D
  • Line 4: Invert Z value - One of: [ - | (any other character) ]
  •         If set to \"-\" Z values are multiplied by minus one (-1) to invert the sign.
  • Line 5: Units Type - One of: [ M | F ]
            M = Meters; F = Feet
  • Line 6: Degrees Format - One of: [ DD | DDM | DMS ]
            DD = Decimal Degrees; DDM = Degrees Decimal Minutes; DMS = Degrees Minutes Seconds
  • Line 7: Minimum Distance Threshold.
            Amount the vehicle has to move from a previous point to add a new point.
  • Line 8: Column number of the East or X column of the input file to use in output.
  • Line 9: Column number of the North or Y column of the input file to use in output.
  • Line 10: Column number of the Z column of the input file to use in output (not used for 2D).
  • Additional lines can be added for additional columns desired in the output.

To be completely generic, you can select any input column to be output in column 1, any other input column to be output in column 2 and so on. However, the distance traveled is calculated based on output columns 1 and 2. If you want a different order output, this technique can work:

  1. Run the program choosing the columns you want setting the X (East) to the first column and the Y North) to the second Column and the distance threshold to the value of your choice.
  2. Rerun the program using your output as the input and specify the column order you want and set the distance threshold to 0.
  3. For this second run you can specify any column order, such as Y (North)in the first column and X (East) in the second column.
  4. The output will be thinned correctly and in the column order of your preference.

The program is available in the downloads section.

Greensea Import/Export
How to Guide, 1.00.00

Section 20

Real Time Import/Export

Greensea Workspace allows for real time import of NMEA messages from external applications or export of NMEA messages to external applications. This is handled by a set of helper programs:

  • gss_nmea2gss - Real time import of NMEA messages from other applications to Greensea Workspace.
  • gss_gss2nmea - Real time export of NMEA messages from Greensea Workspace to other applications..

These programs are installed as part of Greensea Workspace. Greensea Workspace uses the helper programs to receive or publish information to or from its channels. More information about Greensea Workspace's channels can be found in the Channel/Data Lists page.

The general procedure is as follows.

More information will be provided about setting up specific importing and exporting requirements on the following pages:

  1. Determine the capabilities of the other application, including messages available or permitted, communications protocols and ports available.
  2. Make all physical connections for the ROV and other application's device requirements (if necessary).
  3. Open a terminal window and enter the gss_* command (where * = either "nmea2gss" or "gss2nmea") and associated parameters (as appropriate for the other application).
  4. Start Greensea Workspace and the other application. (the order of starting will generally not matter, but in some cases it might - this will depend on the other application's requirements, including time-out settings, etc.)
  5. Verify import or export is operational.

You can create a shell script (.sh) and desktop shortcut for the gss_* command to make it easier to start the helper program.

You can customize the Greensea Workspace configuration to include the shell script when Greensea Workspace is started.

You can use the Greensea Workspace Process View to enable or disable import / export processes allowing you to alternate between configurations.

Some applications may require setting up a virtual port to enable communications between Greensea Workspace and another application, depending on the protocols supported by that application. See Device Integration section in the appendices.

Section 21

Real Time Import into Greensea Workspace

Real Time Import requires an application that can export NMEA sentences in real time via a computer port, and the use of gss_nmea2gss.

Real Time Import Example

If your application can export NMEA sentences in real time to a computer port, you will need to know how to configure it. The application's documentation should provide the information you need. For example, if your application can export an NMEA GGA sentence (LAT/LON coordinate data) using TCP/IP address 192.168.1.34, port 16720, you would execute the following command in a terminal window before starting Greensea Workspace (this command should be entered on one line):

  • gss_nmea2gss transport=tcp hostname=192.168.1.34 ip_port=16720 gps_channel=TS_SHIPS_POS_STAT

Where:

  • gss_nmea2gss is the helper program
  • transport=tcp tells the program to use the TCP protocol for communication
  • hostname=192.168.1.34 is the TCP/IP address that the application uses for export
  • ip_port=16720 is the TCP/IP port that the application uses for export
  • gps_channel=TS_SHIPS_POS_STAT is the Greensea Workspace Channel for receiving the data - in this example the data will be treated as a topside GPS

Using a Shell Script to Start the Helper Program

To create a shell script, the above command can be entered into a .sh file as follows (using the "\" to indicate more data for the command follows on the next line, which makes the file easier to read):

#!/bin/bash
 
gss_nmea2gss \
transport=tcp \
hostname=192.168.1.34 \
ip_port=16720 \
gps_channel=TS_SHIPS_POS_STAT

A desktop shortcut can be created for this .sh file to make it easier to execute. Information about creating a shortcut can be found online.

Options for gss_nmea2gss

You can add the help=true option to the gss_nmea2gss command to display a complete list of supported channels and input parameters.

gss_nmea2gss help=true

View the gss_nmea2gss help information.

Modifying Greensea's Workspace Configuration for Import

Here is a sample excerpt of the modification required to be added to the process_server_config.yml file.

    - client_name: videoray
      uuid: USER_CREATED_NAME
      process_name: /home/videoray/USER_CREATED_SHELL_SCRIPT_NAME.sh
      arguments:
        - ~
      process_cmd: keep_alive
      publish_console: 0
      keep_alive_ms: 1000

USER_CREATED_NAME and USER_CREATED_SHELL_SCRIPT_NAME should be replaced with the names based on your preference and the filename of your shell script.

For assistance modifying the Greensea Workspace configuration or managing processes, please contact VideoRay Support at support@videoray.com.

Section 22

Real Time Export from Greensea Workspace

Real Time Export requires an application that can receive NMEA sentences in real time via a computer port, and the use of gss_gss2nmea.

Real Time Export Example

If your application can import NMEA sentences in real time to a computer port, you will need to know how to configure it. The application's documentation should provide the information you need. For example, if your application can import an NMEA GGA sentence (LAT/LON coordinate data) using UDP address 192.168.1.102, port 29470, and you want the export rate set to 10 Hz, you would execute the following command in a terminal window before starting Greensea Workspace (this command should be entered on one line):

  • gss_gss2nmea transport=udp subscribe_channel=OPENINS_NAV_SOLUTION serial_message_out=GGA serial_mesage_out=PAUV udp_src_adr=192.168.1.215 udp_dst_adr=192.168.1.102 udp_port=29470 publish_hz-10

Where:

  • gss_gss2nmea is the helper program
  • transport=udp tells the program to use the UDP protocol for communication
  • subscribe channel=OPENINS_NAV_SOLUTION tells the helper program to use (listen to) the OPENINS_NAV_SOLUTION channel
  • serial_message_out=GGA tells the helper program to send the GGA sentence to the other application
  • serial_message_out=PAUVA is the helper program to send the PAUV sentence to the other application
  • usd_src_adr=192.168.1.215 is the UDP address of the source of the data (192.168.1.215 is the default address of the Operator Control console computer)
  • usd_dst_adr=192.168.1.102 is the UDP address that the application uses for its import
  • udp_port=29470 is the UDP port that the other application uses for its import
  • publish_hz=10 sets the frequency of output messages to 10 Hz

You can export more than one serial message - in this case the GGA and PAUV sentences will be exported.

Using a Shell Script to Start the Helper Program

To create a shell script, the above command can be entered into a .sh file as follows (using the "\" to indicate more data for the command follows on the next line, which makes the file easier to read):

#!/bin/bash
 
gss_gss2nmea \
transport=udp \
subscribe_channel=OPENINS_NAV_SOLUTION \
serial_message_out=GGA \
serial_mesage_out=PAUV \
udp_src_adr=192.168.1.215 \
udp_dst_adr=192.168.1.102 \
udp_port=29470 \
publish_hz=10

A desktop shortcut can be created for this .sh file to make it easier to execute. Information about creating a shortcut can be found online.

Options for gss_gss2nmea

You can add the help=true option to the gss_gss2nmea command to display a complete list of supported channels and export parameters.

gss_gss2nmea help=true

View the gss_gss2nmea help information.

Modifying Greensea's Workspace Configuration for Export

Here is a sample excerpt of the modification required to be added to the process_server_config.yml file.

    - client_name: videoray
      uuid: USER_CREATED_NAME
      process_name: /home/videoray/USER_CREATED_SHELL_SCRIPT_NAME.sh
      arguments:
        - ~
      process_cmd: keep_alive
      publish_console: 0
      keep_alive_ms: 1000

USER_CREATED_NAME and USER_CREATED_SHELL_SCRIPT_NAME should be replaced with the names based on your preference and the filename of your shell script.

For assistance modifying the Greensea Workspace configuration or managing processes, please contact VideoRay Support at support@videoray.com.

Greensea Import/Export
How to Guide, 1.00.00

Section 23

Appendices

Downloads

CSV Primer

Section 24

CSV File Format Primer

The .csv file format is a general purpose method of storing data. CSV stands for Comma Separated Values and is generally used to store data the can be arranged in rows and columns. Each row represents a record and the columns represent data values (or fields) for that record. A simple example for the use of a .csv file is an address book. The data could include a record (or row) for each person and the records might contain the following information: name, street address, city, state and zip code.

Example address book in .csv file format with a header (or title) row:

Name,Street Address,City,State,Zip Code
John Video,10 Main Street,Springfield,PA,19331
Mary Ray,18 Oak Lane,Lincoln,WA,92231

Section 25

Downloads

Download the "Convert a .csv file to a .yml" program files

Download convert_csv_yml.zip

Download the "Thin a .csv file" program files

Download convert_gss_csv.zip

After downloading either of these zip files, unzip the file to the folder of your choice. Follow the instructions in the quick start for each program.

Section 26

Import/Export Helper Programs

Help is available for each helper program using the syntax below.

For gss_nmea2gss

gss_nmea2gss help=true

View the gss_nmea2gss help information.

For gss_gss2nmea

gss_gss2nmea help=true

View the gss_gss2nmea help information.

Section 27

gss_nmea2gss Help

NMEA2GSS Device Interface Application version r1002000005
Developed by Greensea Systems, Inc. using OpenSEA
Greensea Systems, Inc. ::www.greenseainc.com

Usage gss_nmea2gss [options]:
Available options (must not contain spaces)

gps_channel=GPS_STATPublish gss::gps_data_t on the argument channel
pose_channel=GPS_POSE_STATPublish gss::pose_t on the argument channel
alt_channel=ALT_STATPublish gss::pose_t on the argument channel
depth_channel=DEPTH_STATPublish gss::pose_t on the argument channel
hdg_channel=COMPASS_STATPublish gss::compass_stat_t on the argument channel
imu_channel=IMU_STATPublish gss::imu_stat_t on the argument channel
gga_channel=GGA_STATPublish gss::nmea_gga_t on the argument channel
hdt_channel=HDT_STATPublish gss::nmea_hdt_t on the argument channel
pressure_channel=PRESSURE_STATPublish gss::pressure_stat_t on the argument channel
mda_channel=MDA_STATPublish gss::nmea_mda_t on the argument channel
mwv_channel=MWV_STATPublish gss::nmea_mwv_t on the argument channel
zda_channel=ZDA_STATPublish gss::nmea_zda_t on the argument channel
vhw_channel=VHW_STATPublish gss::nmea_vhw_t on the argument channel
vlw_channel=VLW_STATPublish gss::nmea_vlw_t on the argument channel
mtw_channel=MTW_STATPublish gss::nmea_mtw_t on the argument channel
pose_lbl_channel=LBL_STATPublish LBL messages with a gss::pose_t on the argument channel.
pose_gga_with_id_channel=GGA_ID_STATPublish GGA messages with a gss::pose_t on the argument channel with the reference ID appended to channel.
Note:The GGA with ID messages will publish a different channel for each tracked target.The target number will be appended to the end of the POREG channel.
pose_poreg_channel=POREG_STATPublish POREG messages with a gss::pose_t on the argument channel.
Note:The POREG messages will publish a different channel for each tracked target.The target number will be appended to the end of the POREG channel.
pose_offset_northing=0Set a Northing offset in meters for pose_stat_t
pose_offset_easting=0Set a Easting offset in meters for pose_stat_t
pose_offset_height=0Set a Height offset in meters for pose_stat_t
cfg_fileUse the argument configuration file to configure the serial port
port=/dev/ttyS0An NMEA data source is connected to serial port /dev/ttyS0
baud=9600Use 9600 as the serial port baud rate
gga_only=falseFor GPS only, Transmit only when receiving gga messages.
use_fix_time=falseFor GPS pose_t only, Use the fix time instead of the unix time
compass_stat_gga_quality_en=falseEnable adding the GGA fix quality to the anlaog_t vector for compass_stat_t messages
compass_declination=0.0Set a compass declination value
settings=9600,8,n,1,offSerial NMEA data source is configured for 9600 baud, 8 databits, no parity, 1 stop bit
NOTE: only one of 'baud' or 'settings' argument is allowed
transport=serialSet the transport type.Options: serial,tcp,udp
hostname=192.168.1.201The hostname to connect.
ip_port=9000The IP port to connect.
datavalid=0Set a datavlid time before closing and opening the port.Default is disabled.
ignore_csumSet to ignore the checksum.
logging_level=0Use the lowest level of logging
Error logging levels
  • Debug
  • Info
  • Warning
  • Severe
  • Fatal
ping=falseEnable to ping option to verify the correct serial settings
help=falsePrint Usage Information

Section 28

gss_gss2nmea Help

Gss_lcm_transport Interface Application
Developed by Greensea Systems, Inc. using openSEA
Greensea Systems, Inc. :: www.greenseainc.com

Usage gss_gss2nmea [options]:
Available options (must not contain spaces)

publish_hzTarget GGA transmit rate in Hz
subscribe_channelReceive messages on the specified channel
nav_pcomms_channel=Receive Navigation pcomms messages on the specified channel
gps_channel=Receive gps_data_t messages on the specified channel
command_channelReceive commands from the UI on command channel (optional)
cfg_fileUse the configuration file: lcm_soln2serialconfig
portAn lcm_soln2serial is connected to serial port /dev/ttyS0
baudUse 9600 as the serial port baud rate settings=9600,8,n,1,off
Serial NMEA data source is configured for 9600 baud, 8 databits,no parity, 1 stop bit
NOTE: only one of 'baud' or 'settings' argument is allowed
logging_level=0Use the lowest level of logging
Error logging levels
  • Debug
  • Info
  • Warning
  • Severe
  • Fatal
serial_message_out= GGA Options:
  • GGA
  • HDT
  • RVR
  • TG
  • DPT
  • HPR
  • TSS1
  • PAUV
  • VHW
  • RMC
  • MPOS
  • PRDID
  • LOKI
input_type=NAV_SOLNDefault will accept the navigation solution:
Options:
  • NAV_SOLN
  • GPS
  • COMPASS
  • IMU
udp_port=Port to transmit UDP data
udp_src_adr=UDP Source Address
udp_dst_adr=UDP Destination Address
transport=SERIALTransport type Default: Serial
Options: SERIAL, UDP
help=truePrint Usage Information

Section 29

Device Integration

When integrating devices for real time import or export, you may need to modify the Communications Module port settings, or create virtual ports to pass data between different protocols. Each device will have setup and configuration requirements that are unique, and you will need to be familiar with your device and its specific requirements. The following sections are presented as examples of setting up a Cygnus Instruments Ultrasonic Thickness gauge, but your device's requirements may be different.

For reference, the Cygnus UT is an RS-485 device that uses it's own interface program (CygLink) to display the measurement results from the gauge. Typically, this device is connected to a computer using a standard RS-485 serial port and the port is configured as follows:

ParameterValue
Baud Rate2400
Data Bits8
ParityNone
Stop Bits1
Flow ControlNone

CygLink is a Windows based program and a second computer running Windows is generally the preferred method. The external computer and the Operator Control Console are connected using an Ethernet cable. Windows emulation is possible to allow CygLink to run on the Operator Control Console, but VideoRay has not validated this approach, and screen space is limited while Greensea Workspace is running.

For integration purposes, the Communications Module port settings need to be modified and a virtual port needs to be set up to convert from Ethernet to an RS-485 port on the external computer.

If you are unable to integrate your device using the information provided on the following pages as guidance, contact VideoRay Support at support@videoray.com for assistance.

Section 30

Communications Module Configuration Setup

Configuring ports on the Communications Module is done through the vr_debug_putty.py program.

The required changes include:

  1. Changing the Communications Module Port 6 Baud rate to 2400.

  2. Setting the destination address for the Cygnus UT gauge data to the IP address of the external computer running the CygLink software. This computer would be connected using an Ethernet cable from the Operator Control Console Ethernet port to the external computer.

Step by Step Configuration Procedures

The following steps show how to the configure Communications Port 6 for the Cygnus UT.

  1. Connect the system and power on the ROV, but do not start Greensea Workspace.

    • If Greensea Workspace was running, reboot the Operator Control Console

  2. Open a Terminal window on the Operator Control Console.

  3. Type cd flighthack followed by the [Enter] key. Commands are case senstive.

  4. Type ./vr_debug_putty.py 2 followed by the [Enter] key. The VR debug window will open.
    • If the VR debug window does not respond, close the window and try again.
    • You might need to type the + several times immediately after typing the ./vr_debug_putty 2 command in order for the communications to synchronize.

  5. Type c in the VR debug window to enter the configuration mode.
    • Typing a ? will display a list of all available option while in debug mode, including the configuration mode.
  6. For this example, we will use Port 6.

    Make a note of the current settings displayed for Port 6, so you can revert back to them if necessary for when you are not using the Cygnus UT gauge.

  7. To make the changes required to support the Cygnus UT:

    1. Type 31 followed by the [Enter] key to indicate you want to change parameter 31.

    2. Type 2400 followed by the [Enter] key to specify the new value for parameter 31.

    3. Type 33 followed by the [Enter] key.

    4. Type 192.168.1.3 followed by the [Enter] key.

  8. You should see the Port 6 settings as shown below. (highlighted at the bottom)

  9. Press the s key followed by the [Enter] key to save the configuration.

  10. Press the x key followed by the [Enter] key to exit the configuration menu.

  11. Press the x key again to exit diagnostic mode. You do not need to press [Enter].

  12. Close the diagnostic window.

  13. Close the terminal window.

The Communications Module Port 6 is now configure as required for the Cygnus UT gauge.

Section 31

Virtual Port Setup

A Virtual Port may be required to connect an external computer to the Operator Control Console for device integration communications requirements.

Setting up a virtual port requires software on the host compture. VideoRay uses Eltima's, Serial over Ethernet software. The following instructions explain the setup of the Virtual Port to integrate a Cygnus UT gauge. The Virtual Port is installed on the external computer to convert the data from the device (via the ROV and Operator Control Console) over Ethernet to a serial port that can be accessed by the CygLink Software.

The IP address of the external computer running the CygLink software is manually set to 192.168.1.3 (VideoRay's default IP address for integration purposes).

  1. Connect the ROV system and turn it on, but do not start Greensea Workspace.

  2. Make sure the vehicle has power/communication (use a terminal window and ping 192.168.1.64), then turn off power to the ROV so it does not overheat while performing the rest of the setup.

  3. Connect an Ethernet cable from the Operator Control Console to the external computer. Verify that the external computer recognizes the connection.

  4. Install the Eltima software onto the external computer.

  5. Open up the Eltima software and click on "UDP connection."

  6. Type Cygnus in the "Connection Name" field.

  7. In Select serial port, click on the down arrow and click on "COM13" (any serial port can be used).

  8. Type localhost in the "Remote Host Name" field.

  9. type 7449 in the "Port" field (This is the default port number assigned to Port 6 on the Operator Control Console).

  10. Click on "Advanced Settings" and make sure it matches the image below. Note the baud rate does not matter at this point.

  11. Click on "Apply Changes" to save the Connection.

Section 32

Windows Firewall Setup

Sometimes the Windows Firewall on the external computer can block packets of information from being accepted. To get around this, you can create an inbound rule to pass UDP from port 7449 (port 6 in our Cygnus UT example).

Follow these steps to allow messages to pass through the Firewall:

  1. Open Windows Firewall (In the Windows search box, type in Windows Firewall and click on Window Defender Firewall.)

  2. Click on "Advanced Settings."

  3. Click on "Inbound Rules".

  4. Click on "New Rule."

  5. Click on "Port."

  6. Click on "UDP."

  7. Type 7449 in the Specific local ports field and click on "Next."

  8. Click on "Allow the Connection" and click "Next."

  9. Check all the boxes and click "Next."

  10. Type in a Name and Description of your choice and click "Finish."

  11. Check to see if the Rule showed up.