Greensea Import/Export
How to Guide, 1.00.00 |
Copyright NoticeThis 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 |
Table of ContentsSection # - Topic
|
Greensea Import/Export
How to Guide, 1.00.00 |
About this DocumentOnline ManualThis 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:
Document ConventionsSeveral 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.
Beyond this DocumentThere 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 CommitmentVideoRay 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).
DisclaimerThis 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 |
How to Get HelpHelp for your Greensea Import/Export is available through several channels. All Hours Self-Service / Crowd-Source Tools
Global Support
Regional Support
Training
Operational Strategies and Tactics SupportIf 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. |
Before Contacting SupportPlease make sure to consider the following information before contacting VideoRay's Technical Support to report a problem. The following information should available:
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:
|
Greensea Import/Export
How to Guide, 1.00.00 |
Greensea Import/Export ToolsGreensea 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 |
Convert .csv to .yml Overviewconvert_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:
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. |
Convert .csv to .yml Quick StartInstallationThe 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 ExecutionTo start the program: Ubuntu on the Control ConsoleOpen a terminal window and navigate to the folder where the program was installed. Enter: python convert_csv_yml.py Window on a PC / LaptopThe 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 ExecutionsFor 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. |
Convert .csv to .yml Files and FormatsIn 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. |
The .yml File Format and InformationGreensea 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:
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 DataMission 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 DataWaypoint 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. |
The .cfg File Format and InformationThe 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.
This configuration file is provided with the initial installation:
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. |
The .csv File Format and InformationThe .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.
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.
Mission Information
Waypoint 1 Information
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. |
Convert .csv to .yml Template FilesThe 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
Waypoint Template
|
Convert .csv to .yml Setting DefaultsThe 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. |
Importing the .yml FileTo 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.xGreensea Workspace prior to version 6.x |
Greensea Import/Export
How to Guide, 1.00.00 |
Export Recorded Data to .csvYou 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. |
Thin and Reformat an exported .csv File Quick StartInstallationThe 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 ExecutionTo start the program: Ubuntu on the Control ConsoleOpen a terminal window and navigate to the folder where the program was installed. Enter: python convert_gss_csv.py Window on a PC / LaptopNavigate 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 ExecutionsYou can set defaults for the settings in the configuration file. Information about the configuration file is provided later. |
|
Thin and Reformat an exported .csv FileWhen 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
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:
The program is available in the downloads section. |
Greensea Import/Export
How to Guide, 1.00.00 |
Real Time Import/ExportGreensea 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:
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:
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. |
Real Time Import into Greensea WorkspaceReal 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 ExampleIf 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):
Where:
Using a Shell Script to Start the Helper ProgramTo 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 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_nmea2gssYou 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 ImportHere 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. |
Real Time Export from Greensea WorkspaceReal 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 ExampleIf 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):
Where:
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 ProgramTo 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 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_gss2nmeaYou 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 ExportHere 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 |
|
CSV File Format PrimerThe .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:
|
DownloadsDownload the "Convert a .csv file to a .yml" program filesDownload convert_csv_yml.zip Download the "Thin a .csv file" program filesDownload 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. |
Import/Export Helper ProgramsHelp is available for each helper program using the syntax below. For gss_nmea2gssgss_nmea2gss help=true View the gss_nmea2gss help information. For gss_gss2nmeagss_gss2nmea help=true View the gss_gss2nmea help information. |
gss_nmea2gss HelpNMEA2GSS Device Interface Application version r1002000005
Developed by Greensea Systems, Inc. using OpenSEA Usage gss_nmea2gss [options]:
|
gss_gss2nmea HelpGss_lcm_transport Interface Application Usage gss_gss2nmea [options]:
|
Device IntegrationWhen 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:
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. |
Communications Module Configuration SetupConfiguring ports on the Communications Module is done through the vr_debug_putty.py program. The required changes include:
Step by Step Configuration ProceduresThe following steps show how to the configure Communications Port 6 for the Cygnus UT.
The Communications Module Port 6 is now configure as required for the Cygnus UT gauge. |
Virtual Port SetupA 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).
|
Windows Firewall SetupSometimes 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:
|