JaiaBot 2.2.0
JaiaBot micro-AUV software
 
Loading...
Searching...
No Matches
Key Data

This document provides a description of some of the more commonly requested data fields logged by the JaiaBot. Below, you will find a series of tables providing key metadata about these fields.

<strong>Contents</strong>

<strong>Notes</strong>

<strong>Updates:</strong>

This file was generated and completed using data from JaiaBot Embedded Version 2.0.0. In the future, data fields and the path to reach them may change. This file will be kept up to date.

<strong>Timestamps:</strong>

Timestamps are logged in Unix Time - the amount of microseconds since 1 January, 1970 - and can be found in the parent group's **_utime_** field. Because values are measured, messages sent and received, and data logged at different times between sensors and boards, each group has its own "_utime_" field. For this reason, it's important to use the specific utime field which corresponds to the data field of interest.

<strong>Data Paths:</strong>

The Data Paths listed below include the path a user would follow to find the specific data field via the Jaia Data Visualizer (JDV), as well as in the raw HDF5 log file (e.g. via a custom script).

<strong>Example Scripts:</strong>

Internal data analysis scripts can be found in our public GitHub Repository. Anyone is able to access these by checking out the following branch, then navigating to jaiabot/scripts/log-analysis. In the coming months, these scripts will be merged into our main branch, but will remain in the same file location.

https://github.com/jaiarobotics/jaiabot/tree/task/developer-log-analysis-tools

<strong>Sensor Data</strong>

Many of the measurements taken by the JaiaBot's environmental sensors undergo some form of post-processing in order to be useful universally. The word **"raw"** in the title of a field denotes that this field records the measurement taken directly from the sensor, before any compensation has been applied.

If a data field does not have the word **"raw"** in its title, then either no compensation is needed for this field, or a compensation has already been applied to it.

**We are working to implement compensation models for all sensor data.**

<strong>Temperature Data</strong>

<strong>Data Paths</strong>

Data Field Unit Frequency JDV Path HDF5 Log Path
Temperature °C 10 Hz jaiabot::pressure_temperaturetemperature /jaiabot::pressure_temperature/jaiabot.protobuf.PressureTemperatureData/temperature

<strong>Timestamp Paths</strong>

Units JDV Path HDF5 Log Path
Microseconds jaiabot::pressure_temperature_utime_ /jaiabot::pressure_temperature/jaiabot.protobuf.PressureTemperatureData/_utime_


<strong>Pressure Data</strong>

<strong>Data Paths</strong>

Data Field Unit Frequency JDV Path HDF5 Log Path
Depth m 10 Hz jaiabot::pressure_adjustedcalculated_depth /jaiabot::pressure_adjusted/jaiabot.protobuf.PressureAdjustedData/calculated_depth
Pressure mbar 10 Hz jaiabot::pressure_adjustedpressure_adjusted /jaiabot::pressure_adjusted/jaiabot.protobuf.PressureAdjustedData/pressure_adjusted
Raw Pressure mbar 10 Hz jaiabot::pressure_adjustedpressure_raw /jaiabot::pressure_adjusted/jaiabot.protobuf.PressureAdjustedData/pressure_raw

<strong>Timestamp Paths</strong>

Unit JDV Path HDF5 Log Path
Microseconds jaiabot::pressure_adjusted_utime_ /jaiabot::pressure_adjusted/jaiabot.protobuf.PressureAdjustedData/_utime_


<strong>Salinity Data</strong>

<strong>Data Paths</strong>

Data Field Unit Frequency JDV Path HDF5 Log Path
Conductivity μS/cm 10 Hz jaiabot::salinityconductivity HYDRO/PAM:/jaiabot::salinity/jaiabot.protobuf.SalinityData/conductivity
BIO:/jaiabot::salinity/jaiabot.sensor.protobuf.AtlasScientificOEMEC/conductivity
Raw Conductivity μS/cm 10 Hz jaiabot::salinityconductivity_raw HYDRO/PAM:/jaiabot::salinity/jaiabot.protobuf.SalinityData/conductivity_raw
BIO:/jaiabot::salinity/jaiabot.sensor.protobuf.AtlasScientificOEMEC/conductivity_raw
Salinity ppt 10 Hz jaiabot::salinitysalinity HYDRO/PAM:/jaiabot::salinity/jaiabot.protobuf.SalinityData/salinity
BIO:/jaiabot::salinity/jaiabot.sensor.protobuf.AtlasScientificOEMEC/salinity
Raw Salinity ppt 10 Hz jaiabot::salinitysalinity_raw HYDRO/PAM:/jaiabot::salinity/jaiabot.protobuf.SalinityData/salinity_raw
BIO:/jaiabot::salinity/jaiabot.sensor.protobuf.AtlasScientificOEMEC/salinity_raw

<strong>Timestamp Paths</strong>

Units JDV Path HDF5 Log Path
Microseconds jaiabot::salinity_utime_ HYDRO/PAM:/jaiabot::salinity/jaiabot.protobuf.SalinityData/_utime_
BIO:/jaiabot::salinity/jaiabot.sensor.protobuf.AtlasScientificOEMEC/_utime_

<strong>pH Data</strong>

<strong>Data Paths</strong>

Data Field Unit Frequency JDV Path HDF5 Log Path
pH pH 10 Hz jaiabot::phph /jaiabot::ph/jaiabot.sensor.protobuf.AtlasScientificOEMpH/ph
Raw pH pH 10 Hz jaiabot::phph_raw /jaiabot::ph/jaiabot.sensor.protobuf.AtlasScientificOEMpH/ph_raw
Temperature °C 10 Hz jaiabot::phtemperature /jaiabot::ph/jaiabot.sensor.protobuf.AtlasScientificOEMpH/temperature

<strong>Timestamp Paths</strong>

Units JDV Path HDF5 Log Path
Microseconds jaiabot::ph_utime_ /jaiabot::ph/jaiabot.sensor.protobuf.AtlasScientificOEMpH/_utime_


<strong>Dissolved Oxygen Data</strong>

  • Dissolved Oxygen Solubility - Dissolved oxygen solubility (mg/L) at current temperature (C), salinity (ppt), and pressure (mmhg)
  • Normalized Dissolved Oxygen Solubility - Dissolved oxygen solubility at 0 salinity (ppt), same temperature (C) and pressure (mmhg), scaled by observed saturation
  • Raw Dissolved Oxygen - The dissolved oxygen as reported by the dissolved oxygen sensor
  • Dissolved Oxygen Saturation - Measured DO / DO Solubility at current temperature (C), salinity (ppt), and pressure (mmhg)
  • Temperature - The temperature as reported by the dissolved oxygen sensor
  • Measured via an Atlas Scientific OEM DO and **Atlas Scientific Industrial DO Probe w/ Temp.***

<strong>Data Paths</strong>

Data Field Unit Frequency JDV Path HDF5 Log Path
Dissolved Oxygen Solubility mg/L 10 Hz jaiabot::dissolved_oxygendo_solubility /jaiabot::dissolved_oxygen/jaiabot.sensor.protobuf.AtlasScientificOEMDO/do_solubility
Normalized Dissolved Oxygen Solubility mg/L 10 Hz jaiabot::dissolved_oxygendo_normalized_solubility /jaiabot::dissolved_oxygen/jaiabot.sensor.protobuf.AtlasScientificOEMDO/do_normalized_solubility
Raw Dissolved Oxygen mg/L 10 Hz jaiabot::dissolved_oxygendo_raw /jaiabot::dissolved_oxygen/jaiabot.sensor.protobuf.AtlasScientificOEMDO/do_raw
Dissolved Oxygen Saturation % 10 Hz jaiabot::dissolved_oxygendo_saturation_percent /jaiabot::dissolved_oxygen/jaiabot.sensor.protobuf.AtlasScientificOEMDO/do_saturation_percent
Temperature °C 10 Hz jaiabot::dissolved_oxygentemperature /jaiabot::dissolved_oxygen/jaiabot.sensor.protobuf.AtlasScientificOEMDO/temperature

<strong>Timestamp Paths</strong>

Units JDV Path HDF5 Log Path
Microseconds jaiabot::dissolved_oxygen_utime_ /jaiabot::dissolved_oxygen/jaiabot.sensor.protobuf.AtlasScientificOEMDO/_utime_


<strong>Fluorometer Data</strong>

  • Concentration - The concentration of a fluorophore reported by the fluorometer
  • Sensor Voltage - The raw voltage reported by the fluorometer, before a calibration coefficient or offset have been applied
  • *Measured via a **Turner Designs C Fluor***

<strong>Data Paths</strong>

Data Field Unit Frequency JDV Path HDF5 Log Path
Concentration Varies 10 Hz jaiabot::fluorometerconcentration /jaiabot::fluorometer/jaiabot.sensor.protobuf.TurnerCFluor/concentration
Sensor Voltage V 10 Hz jaiabot::fluorometerconcentration_voltage /jaiabot::fluorometer/jaiabot.sensor.protobuf.TurnerCFluor/concentration_voltage

<strong>Timestamp Paths</strong>

Units JDV Path HDF5 Log Path
Microseconds jaiabot::fluorometer_utime_ /jaiabot::fluorometer/jaiabot.sensor.protobuf.TurnerCFluor/_utime_


<strong>Vehicle Data</strong>


<strong>Location Data</strong>

  • Latitude/Longitude - Accuracy of ~3 m (radius)
  • Speed Over Ground - GPS speed of the JaiaBot

<strong>Data Paths</strong>

Data Field Unit Frequency JDV Path HDF5 Log Path
Latitude Decimal ° 5 Hz goby::middleware::groups::gpsd::tpvlocationlat /goby::middleware::groups::gpsd::tpv/goby.middleware.protobuf.gpsd.TimePositionVelocity/location/lat
Longitude Decimal ° 5 Hz goby::middleware::groups::gpsd::tpvlocationlon /goby::middleware::groups::gpsd::tpv/goby.middleware.protobuf.gpsd.TimePositionVelocity/location/lon
Speed Over Ground m/s 5 Hz goby::middleware::groups::gpsd::tpvspeed /goby::middleware::groups::gpsd::tpv/goby.middleware.protobuf.gpsd.TimePositionVelocity/speed

<strong>Timestamp Paths</strong>

Units JDV Path HDF5 Log Path
Microseconds goby::middleware::groups::gpsd::tpvlocation_utime_ /goby::middleware::groups::gpsd::tpv/goby.middleware.protobuf.gpsd.TimePositionVelocity/_utime_


<strong>IMU Data</strong>

  • Heading/Pitch/Roll - Three degrees of rotation the IMU reports

<strong>Data Paths</strong>

Data Field Unit Frequency JDV Path HDF5 Log Path
Heading Decimal ° 10 Hz jaiabot::imujaiabot.protobuf.IMUDataeuler_anglesheading /jaiabot::imu/jaiabot.protobuf.IMUData/euler_angles/heading
Pitch Decimal ° 10 Hz jaiabot::imujaiabot.protobuf.IMUDataeuler_anglespitch /jaiabot::imu/jaiabot.protobuf.IMUData/euler_angles/pitch
Roll Decimal ° 10 Hz jaiabot::imujaiabot.protobuf.IMUDataeuler_anglesroll /jaiabot::imu/jaiabot.protobuf.IMUData/euler_angles/roll

<strong>Timestamp Paths</strong>

Units JDV Path HDF5 Log Path
Microseconds jaiabot::imujaiabot.protobuf.IMUData_utime_ /jaiabot::imu/jaiabot.protobuf.IMUData/_utime_


<strong>Mission State</strong>

<strong>Data Paths</strong>

Data Field Unit Frequency JDV Path HDF5 Log Path
Mission State n/a 1 Hz jaiabot::mission_reportstate /jaiabot::mission_report/jaiabot.protobuf.MissionReport/state

<strong>Timestamp Paths</strong>

Units JDV Path HDF5 Log Path
Microseconds jaiabot::mission_report_utime_ /jaiabot::mission_report/jaiabot.protobuf.MissionReport/_utime_


<strong>Task Packets</strong>

  • Task Packets are reported from the JaiaBot to the Hub whenever a dive or drift task are completed
  • Task packets contain data about the specific task, including its start and end point/time, and some key characteristics of the task.
  • Task Packet fields contain an API reference number (integer) which may change depending on the version of embedded software that the JaiaBot is running on when the log is created. Below, this reference number is denoted with 'X'. A regex pattern should be used to future-proof any custom scripts.

<strong>Data Paths</strong>

Data Field Unit JDV Path HDF5 Log Path
Bot ID Integer jaiabot::task_packet;Xbot_id /jaiabot::task_packet;X/jaiabot.protobuf.TaskPacket/bot_id
Start Time Microseconds jaiabot::task_packet;Xstart_time /jaiabot::task_packet;X/jaiabot.protobuf.TaskPacket/start_time
End Time Microseconds jaiabot::task_packet;Xend_time /jaiabot::task_packet;X/jaiabot.protobuf.TaskPacket/end_time
Type Integer jaiabot::task_packet;Xtype /jaiabot::task_packet;X/jaiabot.protobuf.TaskPacket/type
Bottom Dive Boolean jaiabot::task_packet;Xdivebottom_dive /jaiabot::task_packet;X/jaiabot.protobuf.TaskPacket/dive/bottom_dive
Bottom Type Boolean jaiabot::task_packet;Xdivebottom_type /jaiabot::task_packet;X/jaiabot.protobuf.TaskPacket/dive/bottom_type
Depth Achieved m jaiabot::task_packet;Xdivedepth_achieved /jaiabot::task_packet;X/jaiabot.protobuf.TaskPacket/dive/depth_achieved
Dive Rate m/s jaiabot::task_packet;Xdivedive_rate /jaiabot::task_packet;X/jaiabot.protobuf.TaskPacket/dive/dive_rate
Dive Start Location Lat/Lon jaiabot::task_packet;Xdivestart_location /jaiabot::task_packet;X/jaiabot.protobuf.TaskPacket/dive/start_location
Drift Duration Seconds jaiabot::task_packet;Xdriftdrift_duration /jaiabot::task_packet;X/jaiabot.protobuf.TaskPacket/drift/drift_duration
Drift Start Location Lat/Lon jaiabot::task_packet;Xdriftstart_location /jaiabot::task_packet;X/jaiabot.protobuf.TaskPacket/drift/start_location
Drift End Location Lat/Lon jaiabot::task_packet;Xdriftend_location /jaiabot::task_packet;X/jaiabot.protobuf.TaskPacket/drift/end_location
Estimated Drift m jaiabot::task_packet;Xdriftestimated_drift /jaiabot::task_packet;X/jaiabot.protobuf.TaskPacket/drift/estimated_drift

<strong>Timestamp Paths</strong>

Units JDV Path HDF5 Log Path
Microseconds jaiabot::task_packet;X_utime_ /jaiabot::task_packet;X/jaiabot.protobuf.TaskPacket/_utime_


<strong>Bot Status</strong>

  • Bot Status messages contain key information about the JaiaBot and its sensors throughout the mission. The information is pulled from other sources and automatically downsamples to 1 Hz.
  • Bot Status fields contain an API reference number (integer) which may change depending on the version of embedded software that the JaiaBot is running on when the log is created. Below, this reference number is denoted with 'X'. A regex pattern should be used to future-proof any custom scripts.

<strong>Data Paths</strong>

Data Field Unit Frequency JDV Path HDF5 Log Path
Battery Charge % 1 Hz jaiabot::bot_status;Xbattery_percent /jaiabot::bot_status;X/jaiabot.protobuf.BotStatus/battery_percent
Bot ID Integer 1 Hz jaiabot::bot_status;Xbattery_percent /jaiabot::bot_status;X/jaiabot.protobuf.BotStatus/bot_id
Depth m 1 Hz jaiabot::bot_status;Xdepth /jaiabot::bot_status;X/jaiabot.protobuf.BotStatus/depth
Latitude Decimal ° 1 Hz jaiabot::bot_status;Xlocationlat /jaiabot::bot_status;X/jaiabot.protobuf.BotStatus/location/lat
Longitude Decimal ° 1 Hz jaiabot::bot_status;Xlocationlon /jaiabot::bot_status;X/jaiabot.protobuf.BotStatus/location/lon
Mission State n/a 1 Hz jaiabot::bot_status;Xmission_state /jaiabot::bot_status;X/jaiabot.protobuf.BotStatus/mission_state
Salinity ppt 1 Hz jaiabot::bot_status;Xsalinity /jaiabot::bot_status;X/jaiabot.protobuf.BotStatus/salinity
Speed Over Ground m/s 1 Hz jaiabot::bot_status;Xspeedover_ground /jaiabot::bot_status;X/jaiabot.protobuf.BotStatus/speed/over_ground
Temperature °C 1 Hz jaiabot::bot_status;Xtemperature /jaiabot::bot_status;X/jaiabot.protobuf.BotStatus/temperature

<strong>Timestamp Paths</strong>

Units JDV Path HDF5 Log Path
Microseconds jaiabot::bot_status;X_utime_ /jaiabot::bot_status;X/jaiabot.protobuf.BotStatus/_utime_