NAVsolve CMD (command line)
NAVsolve command line (NAVsolve-cmd) is a cross platform processing tool enabling users to process raw navigation data (RD) files. Files can be processed to OxTS processed navigation format (NCOM) or output automatically as CSVs containing specified measurements through the command line system, providing a ‘no touch’ solution for processing. This provides additional software compatibility with the desired control systems of customers, allowing output of NCOM or CSV file types.
Fig. 1 - RD to CSV basic settings process:
Limitations:
NAVsolve command line does not have full feature parity compared to NAVsolve Windows application (Part of the NAVsuite application package).
Notable exclusions:
Improved configuration settings - There is no feature built in to this utility to optimise INS unit configuration files. You can optimise configuration files separately via NAVconfig, saving those settings to a *.cfg file, which you can use by specifying in the XML process settings file.
Full OxTS measurement CSV output - A subset including all core measurements can be selected for output. Most other measurements can be derived from these. See "Specifying CSV measurements to output" section for a full list of measurements available to NAVsolve command line. If additional measurements are specified in the XML, they will be ignored.
CSV output format - The CSV output format is pre-defined and has no relation to the order the measurements are specified in the XML file. The order the measurements are displayed in the CSV is set but measurements can be removed or added according to settings in the XML file.
Modify CSV output units - For each measurement output in the CSV there is no option to specify unit measurements are output in. Units will be OxTS default for the specific measurement.
Trigger output - Cannot output CSV files based on trigger input.
Supported platforms
Linux Debian based OS 32 & 64 bit (Tested with: Ubuntu 22.04.3 LTS) |
|||
Windows 10 32 & 64 bit |
Linux (Debian based) Quick start
Installation (Linux)
1. Install 64 bit dependencies (64 bit system only) - Install additional dependency "libc6-i386 lib32stdc++6" for 64 bit systems by running:
sudo apt update && sudo apt install libc6-i386 lib32stdc++6 -y
2. Install .NET Core dependency - Install .NET Core 6 found here.
3. Download NAVsolve CMD package - Download the NAVSolve CMD package by running:
sudo wget https://www.oxts.com/software/navsuite/navsolve-cmd/navsolve-cmd_1.3.1_linux.zip
4. Unpack .zip file - Unpack contents of .zip package with unzip command. Contents should include navsolve-cmd.deb for both system architectures:
unzip navsolve-cmd_1.3.1_linux.zip
5. Install packages with dpkg - Install navsolve-cmd.deb with "sudo dpkg -i <PACKAGE NAME>".
Linux 64 bit version 1.3.1 example:
Install navsolve-cmd.deb package by running:
sudo dpkg -i navsolve-cmd_1.3.1_amd64.deb
Linux 32 bit version 1.3.1 example:
sudo dpkg -i navsolve-cmd_1.3.1_i386.deb
6. Confirm installation - Confirm installation by calling the package executable.
navsolve-cmd
-If you are fully installed you should see the help page for the software application.
Issues - If you are having issues installing, enter the following in your terminal:
sudo apt -f install
Use (Linux)
Call the tool chain in your terminal by entering "navsolve-cmd" followed by any parameters you wish to use. Minimum parameter requirements are [--inputFolder] and [--batchsettings].
- Configure your batch process settings - Navsolve-cmd requires a batch settings XML file that specifies the process settings. This needs to be configured before processing data. A template XML (batchsettings.xml) file is attached to this article and then modified to your process requirements using the XML Batch Settings section.
- Open Terminal and Run Navsolve-cmd - See example below.
Linux terminal example:
navsolve-cmd -i=/path/folderOrList -b=/path/batchSettings.xml -o=/path/outputFolder
Killing the process (Linux)
Only the following methods work for killing the process and ensuring an orderly exit:
CTRL+C
at the console.kill [pid]
command at the terminal.kill -15 [pid]
command at the terminal.
Due to limitations in .NET Core, we are unable to capture any other kill
signal - if these are used, then the application will end abruptly and the CSV Summary file will not have any lines written.
Windows quick start
Installation (Windows)
- Install tool dependencies - Install .NET 6 found here.
- Create installation directory - Create an installation directory called "navsolve-cmd" in "c\Program Files".
- Unpack zip files - The download package will be a zip file containing 2 inner zip files. Unpack the downloaded zip file then the contents of the 2 inner zip files to installation directory.
Tip: “blended.exe” should appear in the same directory as “navsolve-cmd.cmd”
Use (Windows)
To use the tool chain, run the command line from within the installation directory. Use the command ".\navsolve-cmd.cmd " to initialise NAVsolve-cmd followed by the processing parameters you wish to use. Minimum parameter requirements are [--inputFolder] and [--batchsettings], although calling the tool with none will cause an error resulting in displaying the help page.
- Configure your batch process settings - NAVsolve-cmd requires a batch settings XML file that specifies the process settings. This needs to be configured before processing data. A template XML (batchsettings.xml) file is attached to this article and then modified to your process requirements using the XML Batch Settings section.
- Open Windows command line - Windows PowerShell or Command Prompt work well.
- Navigate to installation directory:
cd "C:\Program Files\navsolve-cmd"
- Run batch processing tool - See example below.
Windows minimum parameter example - Running navsolve-cmd pointing to the input (-i) directory you want all RD files processed from and to your batch settings (-b) XML file.
.\navsolve-cmd.cmd -i="C:\path\to\input\directory" -b="C:\path\to\batch\settings\file\batchsettings.xml"
Example output -
Location: "C:\Users\AppData\Local\Temp\NAVSolveWorkingFolder". Explanation: As no output directory specified working directory will be used. No working directory specified so defaults is "C:\Users\AppData\Local\Temp\NAVSolveWorkingFolder".
Output files:
- NCOM file/s (One for each RD in input directory named as such)
- Summary.csv (Contains process details for each file)
Killing the process (Windows)
CTRL+C
at the console.- Message appears asking "Terminate batch job?"
- Type
y
then pressENTER
.
Command parameter reference
The following is a list of all command parameters accepted for NAVsolve-cmd along with a description of how to use them.
Parameter | Short | Default if not specified | Description |
--inputFolder |
-i |
Required |
Can be either: - a /path/folder for all RD files in that location to be processed - or a list (/path/list.txt) containing /path/file.rd on separate lines for specific RD files to be processed |
--batchSettings |
-b |
Required | The path and name of the batch settings XML file. |
--outputFolder |
-o |
Outputs saved to working folder | Specify folder to output processed data to. |
--workingFolder |
-w |
Interstitial files saved to: /tmp/NAVSolveWorkingFolder | Specify folder name and path to save interstitial files to |
--outputType |
-t |
NCOM output | Specify output file type as either "NCOM" or "CSV" |
--logFile |
-l |
None output ("N") | Specify "Y" or "N" for process console log to be output as text file to working folder. |
--logLevel |
None | Default = WARNING(3) | Specify console message level output to log file as: DEBUG (1), INFO (2), WARNING (3), ERROR (4) or FATAL (5). |
--summaryFile |
-s |
None |
Specify path and name of summary CSV file (/path/summary.csv) |
--skipExisting |
None | "N" = Overwrites previously processed data of the same name |
"Y" = Skips any pre-existing processed data with the same name |
--version |
-v |
N/A | Version & Dev ID displayed |
--help |
-h |
N/A | Help page displayed |
Notes:
- A process summary file is written at {workingfolder}/summary.csv. The summary CSV file is over written on each run.
- All parameter flags are non-case sensitive, but parameter values are case sensitive e.g.
inputfolder
,INPUTFOLDER
, andInputFolder
will all be accepted. - Windows file paths use "\" instead of "/" for Linux terminal.
XML batch settings file
NAVsolve-cmd requires a XML settings file, which gives the process detailed instructions on how to process the RD files. Using the XML file you can modify the process to include RINEX files and/or use a configuration other than the one contained within your RD file.
Fig. 2 - RD-CSV Process with user specified configuration & RINEX files:
The following settings can be specified in the XML file:
- Blended process - method blended uses to process RD to NCOM.
- Advanced smoothing - When enabled, the process smooths the combined average of processed navigation data.
- Specify configuration file - Lets the process know you want to use a different configuration file to the one contained within the RD file. By default RawData file configuration is used.
- Location of configuration file - Once you have opted to use a configuration from File, this setting tag points to the folder containing your desired configuration.
- Clean up - When enabled, once the process has completed all interstitial files will be removed from the working directory.
- Multiple RINEX - Points to folder containing RINEX files for retrieval and use in processing with differential corrections.
- Specify RINEX - Allows location and name of individual RINEX files to be specified for use in processing with differential corrections.
- RINEX file type filter - You can use this setting to filter in or out RINEX type "G" or "N" files from the processing.
- Specify CSV output data rate - You have the option to select at what rate data is output to CSV.
- Specify CSV output measurements - You can specify exactly which measurements are output to CSV.
XML file settings reference
The following is a list of process settings available for configuration via batch settings XML file. Defined is what the setting controls, the XML Tag to use in the file and the options available to input into the XML tag.
Setting | XML Tag | Available options |
Blended process |
<BlendedProcessType>Option</BlendedProcessType>
|
|
Advanced smoothing |
<EnableSmoothing>Option</EnableSmoothing>
|
|
Specify configuration file |
<CfgFileOption>Option</CfgFileOption>
|
|
Location of configuration file |
<CfgFileOption>File</CfgFileOption> **Required**
|
Folder of configuration folder |
Clean up |
<CleanFolders>Option</CleanFolders>
|
|
RINEX source |
<SelectedBaseStationOption>Option</SelectedBaseStationOption>
|
|
Multiple RINEX |
<BaseStationFolder>/path/RINEX</BaseStationFolder>
|
Location of RINEX folder (Limit 256 RINEX) |
Specify RINEX |
<BaseStationFileList> |
Specify location and name of target RINEX files |
RINEX type filter |
<IncludeRinexFiles> |
|
RINEX Autodownloader search distance |
<MaximumDistance>Option</MaximumDistance>
|
|
Specify CSV output data rate |
<ExportDataRate>Option</ExportDataRate>
|
|
Specify CSV output time format |
<ExportTimeFormat>Option</ExportTimeFormat>
|
See below for CSV time format options |
Specify CSV status measurement format |
<ExportStatus>Option</ExportStatus>
|
|
Specify CSV invalid measurement format |
<ExportInvalid>Option</ExportInvalid>
|
|
Specify CSV heading format |
<Headings>Option</Headings>
|
|
Specify CSV output measurements |
<ExportMeasurements> |
See attached measurementList.txt for all supported measurements |
Notes:
- Using a Combined process for a large RD file (typically >1.5GB) can cause blended.exe to fail for that process. If this happens, use Simulated mode to process this RD file.
- 256 is the maximum RINEX files the process can handle without failing.
- RINEX file type "O" cannot be filtered out of processing.
GPS ns
GPS µs
GPS Ás
GPS ms
GPS s
GPS week/second
HH:mm:ss
HH:mm:ss.fff
hh:mm:ss AM/PM
h:mm:ss.fff AM/PM
dd/MM/yyyy
dd/MM/yyyy HH:mm:ss
dd/MM/yyyy HH:mm:ss.fff
MM/dd/yyyy
MM/dd/yyyy HH:mm:ss
MM/dd/yyyy HH:mm:ss.fff
yyyy-MM-dd
yyyy-MM-dd HH:mm:ss
yyyy-MM-dd HH:mm:ss.fff
Seconds of Day
Seconds of Week
<ExportMeasurements>Output measurements</ExportMeasurements>
Output meaurement are individually specified with the following XML tags:
<BPMeasurementItem>
<DisplayName>Option</DisplayName>
<Name>Option</Name>
<Unit>Option</Unit>
</BPMeasurementItem>
Measurement group | Name | Display name | Description | Unit |
GNSS status | GpsDiffAge | Differential GPS age | Age of the current differential corrections | s |
GpsVelMode | GpsVelModeGPS velocity mode | Velocity mode of the GPS receiver being used for velocity | N/A | |
GpsPosMode | GPS position mode | Position mode of the GPS receiver being used for position | N/A | |
GpsNumObs | Number of GPS satellites used | Number of satellites tracked by the Primary GNSS receiver | N/A | |
Position | Dist2d | Distance horizontal | Distance travelled in horizontal directions | m |
Lat | Latitude | Latitude | deg | |
Lon | Longitude | Longitude | deg | |
Alt | Altitude | Altitude | m | |
NorthAcc | Position accuracy north | Position accuracy north | m | |
EastAcc | Position accuracy east | Position accuracy east | m | |
AltAcc | Position accuracy down | Down Position Accuracy | m | |
Velocity | Vn | Velocity north | OxTS NED frame north velocity | m/s |
Ve | Velocity east | OxTS NED frame east velocity | m/s | |
Vd | Velocity down | OxTS NED frame vertical (down) velocity | m/s | |
VnAcc | Velocity accuracy north | OxTS NED frame north velocity accuracy | m/s | |
VeAcc | Velocity accuracy east | OxTS NED frame east velocity accuracy | m/s | |
VdAcc | Velocity accuracy down | OxTS NED frame vertical (down) velocity accuracy | m/s | |
Vf | Velocity forward | OxTS horizontal frame longitudinal (forward) velocity | m/s | |
Vl | Velocity lateral | OxTS horizontal frame lateral (right) velocity | m/s | |
Speed2d | Speed horizontal | Speed in horizonal directions | m/s | |
IsoVnX | ISO e.f.s. east velocity | ISO 8855 earth-fixed system east velocity | m/s | |
IsoVnY | ISO e.f.s. north velocity | ISO 8855 earth-fixed system north velocity | m/s | |
IsoVnZ | ISO e.f.s. vertical velocity | ISO 8855 earth-fixed system vertical (up) velocity | m/s | |
IsoVhX | ISO i.s. longitudinal velocity | ISO 8855 intermediate system longitudinal (forward) velocity | m/s | |
IsoVhY | ISO i.s. lateral velocity | ISO 8855 intermediate system lateral (left) velocity | m/s | |
IsoVhZ | ISO i.s. vertical velocity | ISO 8855 intermediate system vertical (up) velocity | m/s | |
IsoVoX | ISO v.s. longitudinal velocity | ISO 8855 vehicle system longitudinal (forward) velocity | m/s | |
IsoVoY | ISO v.s. lateral velocity | ISO 8855 vehicle system lateral (left) velocity | m/s | |
IsoVoZ | ISO v.s. vertical velocity | ISO 8855 vehicle system vertical (up) velocity | m/s | |
Acceleration | Ax | Acceleration Xv | OxTS output frame longitudinal (forward) IMU acceleration | m/s2 |
Ay | Acceleration Yv | OxTS output frame lateral (right) IMU acceleration | m/s2 | |
Az | Acceleration Zv | OxTS output frame vertical (down) IMU acceleration | m/s2 | |
Af | Acceleration forward | OxTS horizontal frame longitudinal (forward) IMU acceleration | m/s2 | |
Al | Acceleration lateral | OxTS horizontal frame lateral (right) IMU acceleration | m/s2 | |
Ad | Acceleration down | OxTS horizontal frame vertical (down) IMU acceleration | m/s2 | |
IsoAnX | ISO e.f.s. east acceleration | ISO 8855 earth-fixed system east acceleration | m/s2 | |
IsoAnY | ISO e.f.s. north acceleration | ISO 8855 earth-fixed system north acceleration | m/s2 | |
IsoAnZ | ISO e.f.s. vertical acceleration | ISO 8855 earth-fixed system vertical (up) acceleration | m/s2 | |
IsoAhX | ISO i.s. longitudinal acceleration | ISO 8855 intermediate system longitudinal (forward) acceleration | m/s2 | |
IsoAhY | ISO i.s. lateral acceleration | ISO 8855 intermediate system lateral (left) acceleration | m/s2 | |
IsoAhZ | ISO i.s. vertical acceleration | ISO 8855 intermediate system vertical (up) acceleration | m/s2 | |
IsoAoX | ISO v.s. longitudinal acceleration | ISO 8855 vehicle system longitudinal (forward) acceleration | m/s2 | |
IsoAoY | ISO v.s. lateral acceleration | ISO 8855 vehicle system lateral (left) acceleration | m/s2 | |
IsoAoZ | ISO v.s. vertical acceleration | ISO 8855 vehicle system vertical (up) acceleration | m/s2 | |
Orientation | Heading | Heading | Heading | deg |
Pitch | Pitch | Pitch | deg | |
Roll | Roll | Roll | deg | |
HeadingAcc | Heading accuracy | Heading accuracy | deg | |
PitchAcc | Pitch Accuracy | Pitch Accuracy | deg | |
RollAcc | Roll Accuracy | Roll Accuracy | deg | |
IsoYaw | ISO yaw angle | ISO 8855 yaw angle | deg | |
IsoPitch | ISO pitch angle | ISO 8855 pitch angle | deg | |
IsoRoll | ISO roll angle | ISO 8855 roll angle | deg | |
Angular Rate | Wx | Angular rate Xv | OxTS output frame longitudinal (forward) IMU angular rate | deg/s |
Wy | Angular rate Yv | OxTS output frame lateral (right) IMU angular rate | deg/s | |
Wz | Angular rate Zv | OxTS output frame vertical (down) IMU angular rate | deg/s | |
Wf | Angular rate forward | OxTS horizontal frame longitudinal (forward) IMU angular rate | deg/s | |
Wl | Angular rate lateral | OxTS horizontal frame lateral (right) IMU angular rate | deg/s | |
Wd | Angular rate down | OxTS horizontal frame vertical (down) IMU angular rate | deg/s | |
IsoWnX | ISO e.f.s. roll velocity | ISO 8855 earth-fixed system roll (east angular) velocity | deg/s | |
IsoWnY | ISO e.f.s. pitch velocity | ISO 8855 earth-fixed system pitch (north angular) velocity | deg/s | |
IsoWnZ | ISO e.f.s. yaw velocity | ISO 8855 earth-fixed system yaw (vertical angular) velocity | deg/s | |
IsoWhX | ISO i.s. roll velocity | ISO 8855 intermediate system roll (longitudinal angular) velocity | deg/s | |
IsoWhY | ISO i.s. pitch velocity | ISO 8855 intermediate system pitch (lateral angular) velocity | deg/s | |
IsoWhZ | ISO i.s. yaw velocity | ISO 8855 intermediate system yaw (vertical angular) velocity | deg/s | |
IsoWoX | ISO v.s. roll velocity | ISO 8855 vehicle system roll (longitudinal angular) velocity | deg/s | |
IsoWoY | ISO v.s. pitch velocity | ISO 8855 vehicle system pitch (lateral angular) velocity | deg/s | |
IsoWoZ | ISO v.s. yaw velocity | ISO 8855 vehicle system yaw (vertical angular) velocity | deg/s | |
Angular Acceleration | Yx | Angular acceleration Xv | OxTS output frame longitudinal (forward) IMU angular acceleration | deg/s2 |
Yy | Angular acceleration Yv | OxTS output frame lateral (right) IMU angular acceleration | deg/s2 | |
Yz | Angular acceleration Zv | OxTS output frame vertical (down) IMU angular acceleration | deg/s2 | |
Yf | Angular acceleration forward | OxTS horizontal frame longitudinal (forward) IMU angular acceleration | deg/s2 | |
Yl | Angular acceleration lateral | OxTS horizontal frame lateral (right) IMU angular acceleration | deg/s2 | |
Yd | Angular acceleration down | OxTS horizontal frame vertical (down) IMU angular acceleration | deg/s2 | |
IsoYnX | ISO e.f.s. roll acceleration | ISO 8855 earth-fixed system roll (east angular) acceleration | deg/s2 | |
IsoYnY | ISO e.f.s. pitch acceleration | ISO 8855 earth-fixed system pitch (north angular) acceleration | deg/s2 | |
IsoYnZ | ISO e.f.s. yaw acceleration | ISO 8855 earth-fixed system yaw (vertical angular) acceleration | deg/s2 | |
IsoYhX | ISO i.s. roll acceleration | ISO 8855 intermediate system roll (longitudinal angular) acceleration | deg/s2 | |
IsoYhY | ISO i.s. pitch acceleration | ISO 8855 intermediate system pitch (lateral angular) acceleration | deg/s2 | |
IsoYhZ | ISO i.s. yaw acceleration | ISO 8855 intermediate system yaw (vertical angular) acceleration | deg/s2 | |
IsoYoX | ISO v.s. roll acceleration | ISO 8855 vehicle system roll (longitudinal angular) acceleration | deg/s2 | |
IsoYoY | ISO v.s. pitch acceleration | ISO 8855 vehicle system pitch (lateral angular) acceleration | deg/s2 | |
IsoYoZ | ISO v.s. yaw acceleration | ISO 8855 vehicle system yaw (vertical angular) acceleration | deg/s2 |
Process exit codes
Once NAVsolve-cmd ends its process it will return an exit code to the console. The following is a list of possible exit codes and what they mean.
Code | Meaning | Occurs When |
---|---|---|
0 | Success | All RD files successfully converted to output format. |
1 | Process Killed | Happens when a process is killed either using Ctrl^C or kill command. |
2 | Invalid Command Line | Happens when invalid command-line parameters are passed. |
3 | No Input Files Found | Happens when there a valid input folder/file is provided but no RD files found. |
4 | Some Output Files Missing | Happens when either Blended or CSV conversion fails for at least one file. |
5 | With Warnings | Indicates that the process finished with valid output files but with warnings. |
6 | Rinex Error | Indicates that the chosen Rinex process failed for at least one file. |
7 | Blended Error | Indicates that the Blended process failed for at least one file. |
8 | Export Error | Indicates that the Export process failed for at least one file. |
9 | Summary file Error | Indicates that there was a problem writing the summary file. |
100 | Unhandled Exception | Happens whenever an exception is thrown and it is not handled internally. |
Attachments
batchsettings.xml - Example batch settings .xml file containing all measurements.
Comments
0 comments
Please sign in to leave a comment.