Skyhub User Manual r9
Skyhub User Manual r9
Skyhub User Manual r9
User Manual
integrated.ugcs.com
September 2022 Revision 9
UgCS SkyHub User Manual
Revision History
Table of Contents
1 • Description 7
Compatible drones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Interaction diagrams with drones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Supported sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2 • Warnings 12
3 • Assembling 13
4 • Preparation 14
Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Setup Interface to DJI Autopilot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Setup Interface to ArduPilot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Setup Interface to PX4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Setup the UgCS SkyHub Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5 • Payloads Setup 36
Altimeter Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Ground-Penetrating Radar Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Echosounder Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Gas Detector Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Metal Detector Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Conductivity Meter Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Remote Water Sampling Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Anemometer Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Obstacle Detector Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
GPS Receiver Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Outputs Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
6 • Getting Started 57
True Terrain Following . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Grasshopper Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Obstacle Avoidance Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
About Log Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Log Files Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Update Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Uninstall Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
7 • Configuration Parameters 77
UgCS SkyHub Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Autopilot Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Flight Control Mode Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Altimeter Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
GPR Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Echosounder Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Gas Detector Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Metal Detector Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Conductivity Meter Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Drop Messenger Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Anemometer Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Obstacle Detector Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
GPS Receiver Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Outputs Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Guidelines for navigation values choosing . . . . . . . . . . . . . . . . . . . . . . . . . 107
1 • Description
The UgCS SkyHub solution is a hardware and software set designed to enhance
commercial-off-the-shelf UAVs capabilities for industrial purposes and to support integration
of diverse sensors.
• Data collection from sensors like GPR, methane detector, echosounder, etc. which do not
have internal data logger. Data recorded in CSV format as well in the formats compatible
with specialized software for sensor data processing and analysis (SEG-Y, NMEA-0183,
etc.).
• Data fusion from the payload and UAV telemetry. Data without coordinates
(non-geotagged) is in most cases useless. UgCS SkyHub uses the positioning
information from the drone to geotag sensor data.
• UgCS SkyHub can supply NMEA coordinate stream to the external sensor. Some sensors
have internal data recorders but require an external GPS receiver. UgCS SkyHub can act
as such an additional GPS receiver by providing the UAV coordinates to sensors.
• Support for True Terrain Following for DJI drones to automatically keep constant
elevation over the surface using real-time data from a radar or laser altimeter.
• Support for Grasshopper mode for DJI drones. The mode provides the flight between
waypoints at a safe altitude and descends in waypoints to the set altitude to make
measurements (using NDT sensor, echo sounder, etc.) or to drop a parcel or seismic
sensor.
• Support for an external detector of obstacles to interrupt the flight and save the UAV,
especially if the weather conditions or payload configuration interfere with the built-in
sensors on the UAV or the UAV does not have such sensors.
Compatible drones
• DJI M300 RTK
• DJI M600 / M600 Pro
• DJI M210 / M210 V2 / M210 V2 RTK
• Custom frames based on DJI A3 flight controller
• Drones based on Pixhawk autopilot with ArduCopter or PX4 firmware.
Laser / Radio
Wi-Fi
Payload Payload
Altimeter
Drone
Ground
Laptop
Radio Link
Custom
UgCS UgCS
Payload
Client UCS
Monitor
Wi-Fi / Bluetooth
Android Device
DJI Remote USB
UgCS for DJI Mobile Application
Controller
UgCS SKYHUB
UART
GNSS Onboard Software
Mavlink
Receiver (UgCS SkyHub)
Telemetry
Port
Payload Drone System
Ardupilot / PX4 Data Position Log
Flight Controller Log Log
Ethernet
UART / RS232 Bluetooth / Wi-Fi
Air Telemetry Laser / Radio
Module Altimeter
Wi-Fi
Payload Payload
Drone
Ground
Radio Link
Laptop
Custom
UgCS UgCS
Ground Telemetry USB / Wi-Fi Payload
Client UCS
Module Monitor
Supported sensors
Power
Data
Data / feed
Manufact Sensor logging
control from Notes
urer name on UgCS
interface UgCS
Skyhub
Skyhub
Altimeter
(used for flight control in True Terraion-Following (TTF) and Grasshopper (GH) flight
modes)
Max range:
Nanoradar NRA24 YES UART YES
50 m
LightWare
SF11/C YES UART / I²C YES Obsolete
Lidar
Attollo
WASP-200 YES UART YES Obsolete
Engineering
Zond Aero
Radar System YES Ethernet YES
500
Zond Aero
Radar System YES Ethernet YES
1000
Zond-12e
Radar System YES Ethernet YES
Drone 500A
Zond-12e
Radar System YES Ethernet YES
Drone 1000A
Zond-12e Dual
Radar System YES Ethernet YES
1000a
Zond-12e
Radar System YES Ethernet YES
Drone LF
Power
Data
Data / feed
Manufact Sensor logging
control from Notes
urer name on UgCS
interface UgCS
Skyhub
Skyhub
Radarteam Cobra Plug-In YES Bluetooth YES
Magnetometer
GPR feed
MagDrone R3 (GPS-out)
SENSYS - - YES
/ R4 from UgCS
Skyhub
Tested for
MagArrow /
Geometrics - - - compatibility
MagArrow-SX
with TTF
Tested for
GSMP-35U /
GEM Systems - - - compatibility
25U
with TTF
Echosounders
Optionally
Echologger ECT400 YES RS-232 YES
USB
Optionally
Echologger ECT D052 YES RS-232 YES
USB
Optionally
Echologger ECT D032 YES RS-232 YES
USB
Methane detector
Metal detector
Conductivity meter
RS-232 /
Geonics EM38-MK2 YES YES
Bluetooth
Power
Data
Data / feed
Manufact Sensor logging
control from Notes
urer name on UgCS
interface UgCS
Skyhub
Skyhub
Other sensors and devices
FT FT742-SM
YES UART YES
Technologies anemometer
MR72
Nanoradar obstacles YES UART YES
detector
2 • Warnings
! Read this user manual carefully before you use the appliance and save it for future
reference.
! In order to avoid damage to components, all connections to the UgCS SkyHub device
must be made with the device unpowered.
3 • Assembling
Assembling instructions how mounting UgCS SkyHub and an altimeter are published on the
webpage How to install UgCS SkyHub.
4 • Preparation
Prerequisites
Required desktop software:
• DJI Assistant 2 for A3 Autopilot, DJI Assistant 2 for Matrice (M210) or DJI Assistant 2 for
Enterprize (M300, M600)
• QGroundControl
• Mission Planner
After powering on the UgCS SkyHub operates as Wi-Fi access point with following credentials:
Note: Windows users might be suggested to enter PIN the first time. Please, switch to security
key mode before entering the passphrase.
One may connect to UgCS SkyHub via SSH protocol (e.g. using PuTTY or WinSCP).
• IP address: 10.1.0.1
• Port: 22
• Username: root
• Password: <empty>
• IP address: 192.168.0.33
• Port: 22
• Username: root
• Password: <empty>
UgCS SkyHub runs DHCP service onboard, therefore, the PC’s IP address will be assigned
automatically after connection.
While pressing the Login button one may choose between login via SCP (to have access to the
file system) or opening with PuTTY (for SSH access).
/run/media/mmcblk1p1/sk
Logs directory /data/skyhub_logs/
yhub_logs/
2. Connect the DJI flight controller to the PC and press the Login button.
3. Enter User’s DJI credentials created during DJI User's Credentials Registration and
press Sign in button.
4. Switch on the drone, wait for the device to appear, open the main window, then
choose the SDK/Onboard SDK tab and check Enable API Control,
Ground Station Status and Enable SDK Failsafe Actions checkboxes.
5. When available: Choose the Basic Settings > Remote Controller tab, check the Enable
Multiple Flight Mode checkbox, and configure the flight mode switch to be in P-mode
for left and right positions while being in A-mode for the middle position.
An alternative way to activate the Multiple Flight Mode is using the DJI GO/Pilot app
(see step 9 below).
6. Switch on the DJI Remote Controller, run DJI GO (DJI Pilot), choose the Me tab, press
the Login button.
7. Enter User’s DJI credentials created during DJI User's Credentials Registration and
press the Sign in button.
8. Choose the Equipment tab, wait for A3 / M600 / M600 Pro / M210 / M210 V2 /
M300, then press Camera button.
9. An alternative way to activate the Multiple Flight Mode. Go to the DJI GO/Pilot app >
Camera View/Manual Flight > Menu > > Enable Multiple Flight Mode.
10. Note: If DJI M210 is used, should be set to enable M210 Power Supply and OSDK
Communication Ports in the DJI Pilot application for the first time.
Figure 4.14 — DJI Pilot screen. Additional setups for DJI M210
11. Restart the drone by a power cycle. The UgCS SkyHub device should be properly
connected to the flight controller.
12. Wait for the UgCS SkyHub firmware loads and starts. The DJI mobile application may
request you about additional permissions for the Onboard SDK. Confirm all of them
allowing the UgCS SkyHub to access the DJI autopilot.
Now the flight controller is ready to be connected via Onboard SDK. Please don’t forget to
move User’s DJI App ID and Key to the skyhub.conf configuraiton file.
Important: The DJI flight controller may not activate from the first attempt. If there is no
connection with flight controller after full system setup, try to logout and login several times
with the drone power cycling.
1. Make sure UgCS version 4.3 or higher is used (download links can be found in
Prerequisites section) and VSM for ArduPilot vehicles is installed.
3. Within [AUTOPILOT] section set to true for the only MAVPILOT parameter and
false for others:
[AUTOPILOTS]
DJI=false
DJI_M=false
MAVPILOT=true
9. In case of correct Autopilot, UgCS and UgCS SkyHub configuration, Payload data b64
is displayed at drone telemetry in UgCS.
1. Make sure UgCS version 4.3 or higher is used (download links can be found in
Prerequisites section) and VSM for PX4 vehicles is installed.
3. Within [AUTOPILOT] section set to true for the only MAVPILOT parameter and
false for others:
[AUTOPILOTS]
DJI=false
DJI_M=false
MAVPILOT=true
7. Restart autopilot.
8. After restart data forwarding for TELEM2 autopilot telemetry ports should be enabled,
set to 1 parameter MAV_1_FORWARD.
Figure 4.26 — UgCS SkyHub PX4 TELEM2 port data forwarding configuration
9. Change baudrate for the TELEM2 Serial Port (recommended 230400). Speed should
be the same as configured at UgCS SkyHub side in the [MAV] section of the UgCS
SkyHub config.
Note: UgCS SkyHub subscribes to the following MAVLink messages with telemetry rate
defined by the TELEMETRY_RATE parameter in the MAV section in UgCS SkyHub config file:
GPS2_RAW
GPS_RAW_INT
GLOBAL_POSITION_INT
ATTITUDE
SYSTEM_TIME
HEARTBEAT
DISTANCE_SENSOR
The first step is to enable the only used autopilot and disable others. Go to [AUTOPILOTS]
sections and set the corresponding field to true. For example, when using the solution with
drones:
DJI M600/M600Pro/M210:
[AUTOPILOTS]
DJI=true
DJI_M=false
MAVPILOT=false
The second important step is to configure used autopilot and payloads. Pay attention that
related section will be available for configuration only after it enabling and UgCS SkyHub
restart. For example, DJI autopilot related parameters are collected within the [DJI] section:
[DJI]
APP_ID=1071019
APP_KEY=42873...30b25
BAUD_RATE=230400
RESPONSE_TIMEOUT_S=1
SENDING_PERIOD_MS=20
SERIAL_DEVICE=/dev/ttymxc3
ArduPilot / PX4 autopilot related parameters are collected within the [MAV] section:
[MAV]
BAUD_RATE=230400
COMPONENT_ID=5
CONNECTION_TYPE=UART
SENDING_PERIOD_MS=20
SERIAL_DEVICE=/dev/ttymxc3
SYSTEM_ID=2
V2_EXTENSION=false
Within [PAYLOADS] section set to true for the only used payloads and false for the
unused ones. For example, when using the high frequency GPR with the radar altimeter:
[PAYLOADS]
DROP_MESSENGER=false
ECHOLOGGER_DUAL=false
ECHOLOGGER_ECT=false
FTTECHNOLOGIES_FT742_SM=false
GEONICS_EM_38_MK2=false
GEONICS_EM_61=false
GNSS=false
LIGHTWARE_SF30=false
NANORADAR_MR=false
NANORADAR_NRA=true
PAYLOAD_EXAMPLE=false
PERGAM_FALCON=false
PERGAM_LMM=false
RADARTEAM_COBRA=false
RADSYS_ZGPR=false
RADSYS_ZOND=true
Within [OUTPUTS] section set to true for the only used outputs and false for the unused
ones. For example, when using the GPS output:
[OUTPUTS]
OUTPUT_GPS=true
PPS_SYNC=false
For a more detailed description of the configuration file, see Configuration Parameters.
5 • Payloads Setup
Choose the usage scenario below:
• Altimeter Setup
• Nanoradar NRA24 Altimeter Setup
• Lightware SF30/D Altimeter Setup
• Ground-Penetrating Radar Setup
• Low Frequency GPR Setup
• High Frequency GPR Setup
• RadSys zGPR Setup
• Echosounder Setup
• Echologger ECT400 Setup
• Echologger ECT D052/D032 Setup
• Gas Detector Setup
• Pergam Laser Falcon Setup
• Pergam LMm Setup
• Metal Detector Setup
• Geonics EM-61 Setup
• Conductivity Meter Setup
• Geonics EM38-MK2 Setup
• Remote Water Sampling Setup
• Drop Messenger Setup
• Anemometer Setup
• FT Technologies FT742-SM Setup
• Obstacle Detector Setup
• Nanoradar MR72 Setup
• Outputs Setup
• GPS Output Setup
• PPS Sync Setup
Altimeter Setup
There are common altimeter settings in the [ALTIMETER] section. Check whether minimum
and maximum values correspond to your needs:
[ALTIMETER]
MIN_ALTITUDE_M=0.5
MAX_ALTITUDE_M=20
These values are used to bound valid drone altitude values. When the drone flies out of the
limits, the operator will be notified. Also, while flying in TF mode, descending below
MIN_ALTITUDE_M or ascending above MAX_ALTITUDE_M make the drone hover and go to
the safe altitude.
Another parameter to be set is the sensor’s zero-level above ground when the drone stands at
the surface:
[ALTIMETER]
ZERO_LEVEL_M=0.4
The ZERO_LEVEL_M value will be subtracted from the distance reported by the rangefinder
resulting in the true drone’s altitude above ground level.
[PAYLOADS]
NANORADAR_NRA=true
[NANORADAR_NRA]
SERIAL_DEVICE=/dev/ttymxc5
; or
SERIAL_DEVICE=/dev/ttymxc1
; or
SERIAL_DEVICE=/dev/ttyAMA1
Important: Nanoradar NRA24 radar altimeter doesn’t detect any reflection from the ground
when there is no motion due to technological limitations. Therefore, it starts to measure the
altitude only after takeoff. Move the drone by hands before a flight to be sure the altimeter
operates well.
See the Nanoradar NRA24 Altimeter Configuration section to find all available settings with
default values and descriptions.
[PAYLOADS]
LIGHTWARE_SF30=true
[LIGHTWARE_SF30]
UART_SERIAL_DEVICE=/dev/ttyAMA1
See Lightware SF30/D Altimeter Configuration to find all available settings with default values
and descriptions.
[PAYLOADS]
LIGHTWARE_SF30=false
To enable this module edit the /etc/skyhub/skyhub.launch script to start up altimeter driver
for Ainteins US-D1. See ROS-based Ainteins US-D1 Altimeter Configuration to find script
example.
[PAYLOADS]
RADARTEAM_COBRA=true
[RADARTEAM_COBRA]
MODEL=SE-150
TIME_RANGE_NS=800
See Low Frequency GPR Configuration to find all available settings with default values and
descriptions.
2. While using dual-channel GPR model one may choose either single-channel or
dual-channel mode by setting the MODE parameter in the [RADSYS_ZOND] section:
[RADSYS_ZOND]
MODE=CHANNEL_1 ; Single-channel
; or
MODE=TWO_CHANNELS ; Dual-channel
3. Set the trace time range, sample count, pulse delay, and filter in the corresponding
fields in the [RADSYS_ZOND] section:
[RADSYS_ZOND]
FILTER_1=OFF
FILTER_2=OFF
MODE=TWO_CHANNELS
PULSE_DELAY_1=297
PULSE_DELAY_2=301
SAMPLE_COUNT=256
TIME_RANGE_NS_1=300
TIME_RANGE_NS_2=300
Note: When using the Aero version of RadSys Zond radar, all fields are ignored apart
PULSE_DELAY_1 and TIME_RANGE_NS_1.
4. While using dual-channel mode one may setup the antenna offsets in the
corresponding fields:
[RADSYS_ZOND]
OFFSET_FORWARD_M_1=0.1 ; 10 cm alongside the heading line
OFFSET_FORWARD_M_2=0.1
OFFSET_RIGHT_M_1=0.25 ; 25 cm alongside the traverse line
OFFSET_RIGHT_M_2=-0.25 ; -25 cm alongside the traverse line (left offset)
See High Frequency GPR Configuration to find all available settings with default values and
descriptions.
[PAYLOADS]
RADSYS_ZGPR=true
3. Set the code of trace time range per sample, sample count, pulse delay, and stacking
fields in the [RADSYS_ZGPR] section:
[RADSYS_ZOND]
PULSE_DELAY=174
SAMPLE_COUNT=512
STACKING=128
TIME_RANGE_PER_SAMPLE=7
See RadSys zGPR Configuration to find all available settings with default values and
descriptions.
Echosounder Setup
There are common echosounder settings in the [ECHOSOUNDER] section. Check whether
minimum and maximum values correspond to your needs:
[ECHOSOUNDER]
MIN_DEPTH_M=0.5
MAX_DEPTH_M=20
These values are used to bound valid echosounder depth values. When the depth value is out
of the limits, the operator will be notified.
[ECHOSOUNDER]
CABLE_LENGTH_M=0
This parameter is set to zero by default. If set to the value greater than zero, it is used to
determine whether the echosounder is immersed in water. When the drone altitude becomes
lower than the cable length, it means the echosounder is immersed in water.
Also, the cable length parameter is used to find the True Depth value. True Depth is a
calculated value of depth from the surface resulting from the echosounder’s value and the
current altitude using the specified cable length parameter.
The True Depth value is recorded as a separate column in the position log file and
echosounder NMEA log (see About Log Files). Also, this data is sent to the PC application.
The first samples of the trace in SEG-Y log (see About Log Files) are set to zero if the
echosounder is immersed in water. Zeros number (N) is defined from the difference between
the True Depth value (TDepth, m) and the depth measured with the echosounder (Depth, m)
taking into account the speed of sound (1500 m/s) and set sampling rate (Rate, Hz) by the
formula:
[PAYLOADS]
ECHOLOGGER_ECT=true
[ECHOLOGGER_ECT]
MAX_SENSOR_ANGLE_DEG=10
MIN_SENSOR_DEPTH_M=0.1
[ECHOLOGGER_ECT]
DEADZONE_MM=300
RANGE_M=10
5. One may choose the output data format for Echologger ECT400. The NMEA value is
useful when only NMEA log file should be recorded. The ECHOSOUNDER mode is used
to record both NMEA and SEG-Y logs:
[ECHOLOGGER_ECT]
MODE=NMEA
; or
MODE=ECHOSOUNDER
Note the data rate in the ECHOSOUNDER mode is significantly lower than in the NMEA one.
Table 5.1 — Maximum measure interval against range in NMEA and Echosounder mode for Echologger
ECT400
20 m 1 sec
40 m 0.2 sec
See Echologger ECT400 Configuration to find all available settings with default values and
descriptions.
[PAYLOADS]
ECHOLOGGER_DUAL=true
[ECHOLOGGER_DUAL]
MAX_SENSOR_ANGLE_DEG=10
MIN_SENSOR_DEPTH_M=0.1
[ECHOLOGGER_DUAL]
DEADZONE_HIGH_MM=500
DEADZONE_LOW_MM=1000
RANGE_HIGH_M=10
RANGE_LOW_M=10
D032:
[ECHOLOGGER_DUAL]
FREQUENCY_HIGH_HZ=200000
FREQUENCY_LOW_HZ=30000
D052:
[ECHOLOGGER_DUAL]
FREQUENCY_HIGH_HZ=200000
FREQUENCY_LOW_HZ=50000
Please note that these parameters are not used to change frequency of echosounder because
frequencies are fixed for a particular model. They are utilized for correct echosounder data
handling.
6. One may choose the output data format for Echologger ECT D052/D032. The NMEA
value is useful when only NMEA log file should be recorded. The ECHOSOUNDER mode
is used to record both NMEA and SEG-Y logs:
[ECHOLOGGER_DUAL]
MODE=NMEA
; or
MODE=ECHOSOUNDER
Note the data rate in the ECHOSOUNDER mode is significantly lower than in the NMEA one.
Strongly recommended to set the INTERVAL_S value in the ECHOLOGGER_DUAL section
according to the table:
Table 5.2 — Maximum measure interval against range in NMEA and Echosounder mode for Echologger ECT
D052/D032
Table 5.3 — Sampling rate depending on the range in Echosounder mode for Echologger ECT D052/D032
60 ~ 100 m 50000 Hz
Important: if the improper value of sampling rate sets for a certain range, Echologger ECT
D052/D032 can reset continuously until the proper value is set.
See Echologger ECT D052/D032 Configuration to find all available settings with default values
and descriptions.
[GAS_DETECTOR]
MIN_CONCENTRATION_PPM=0
MAX_CONCENTRATION_PPM=1000
These values are used to bound valid gas detector values. When the gas concentration is out
of the limits, the operator will be notified.
[GAS_DETECTOR]
ZERO_LEVEL_PPM=0
The ZERO_LEVEL_PPM value will be subtracted from the gas concentration reported by the
gas detector resulting in the true gas concentration.
[PAYLOADS]
PERGAM_FALCON=true
[PERGAM_FALCON]
SERIAL_DEVICE=/dev/ttyUSB0
See Pergam Laser Falcon Configuration to find all available settings with default values and
descriptions.
[PAYLOADS]
PERGAM_LMM=true
[PERGAM_LMM]
SERIAL_DEVICE=/dev/ttymxc5
; or
SERIAL_DEVICE=/dev/ttymxc1
; or
SERIAL_DEVICE=/dev/ttyAMA1
See Pergam LMm Configuration to find all available settings with default values and
descriptions.
[METAL_DETECTOR]
MIN_OUTPUT_VALUE_MV=0
MAX_OUTPUT_VALUE_MV=1000
These values are used to bound valid metal detector values. When the output value is out of
the limits, the operator will be notified.
[PAYLOADS]
GEONICS_EM_61=true
[GEONICS_EM_61]
CONNECTION_TYPE=BLUETOOTH ; connection through bluetooth (preferable)
; or
CONNECTION_TYPE=RS232 ; connection through RS323
[GEONICS_EM_61]
SERIAL_DEVICE=/dev/ttymxc1
; or
SERIAL_DEVICE=/dev/ttyUSB0
; or
SERIAL_DEVICE=/dev/ttyAMA3
See Geonics EM-61 Configuration to find all available settings with default values and
descriptions.
[CONDUCTIVITY_METER]
MIN_OUTPUT_VALUE_MS_M=0
MAX_OUTPUT_VALUE_MS_M=500
These values are used to bound valid conductivity values. When the conductivity is out of the
limits, the operator will be notified.
[PAYLOADS]
GEONICS_EM_38_MK2=true
[GEONICS_EM_38_MK2]
CONNECTION_TYPE=BLUETOOTH ; connection through bluetooth
; or
CONNECTION_TYPE=RS232 ; connection through RS323
[GEONICS_EM_38_MK2]
CHANNEL_NUMBER=3
See Geonics EM38-MK2 Configuration to find all available settings with default values and
descriptions.
Important: should calibrate the conductivity meter before using it according to the
manufacture documentation.
[PAYLOADS]
DROP_MESSENGER=true
2. DROP_MESSENGER plugin has only one purpose is to drop messenger to close Ruttner
water sampler. UgCS SkyHub drops the messenger using servo controlled through
PWM. By default, it’s used the following PWM settings:
[DROP_MESSENGER]
SERVO_LOCK_PULSE_MS=1.5
SERVO_PERIOD_MS=10
SERVO_UNLOCK_PULSE_MS=0.5
Anemometer Setup
There are common anemometer settings in the [ANEMOMETER] section. Check whether
minimum and maximum values correspond to your needs:
[ANEMOMETER]
MIN_WIND_SPEED_MPS=0
MAX_WIND_SPEED_MPS=10
These values are used to bound valid wind speed values. When the wind speed is out of the
limits, the operator will be notified.
[PAYLOADS]
FTTECHNOLOGIES_FT742_SM=true
See FT Technologies FT742-SM Configuration to find all available settings with default values
and descriptions.
[PAYLOADS]
NANORADAR_MR=true
See the Nanoradar MR72 Configuration section to find all available settings with default
values and descriptions.
2. Should decide how to power Emlid Reach M2. It could be done over USB or one of it
S1, S2, C1, or C2 ports. Emlid Reach M2 requires up to 3 A current @ 5.2 V to power up
properly, 600 mA for regular power consumption, and 3 A for peaks.
3. If USB connection is used, USB cable +5 wire should be isolated from UgCS SkyHub.
Make sure that there is a stable power source for Emlid Reach M2, only the red LED
lights up when the receiver lacks power.
Important: Do not plug two power supplies at the same time as it may damage the device.
4. When Emlid Reach M2 is powered on, connect to its Wi-Fi. Adjust the receiver using
the special app from the manufacture or the internet browser. Should set Output
1/Serial to ON on the Position Output Settings Page.
5. Select output interface according to connection type to UgCS SkyHub, USB or UART.
6. Select the baud rate and NMEA format. Save settings.
7. Then should change skyhub configuration. Set GNSS item to true in [PAYLOADS]
section:
[PAYLOADS]
GNSS=true
Important: GPS Receiver loads settings from separate config file. The file location:
/etc/skyhub/gnss.conf. File format: INI (https://en.wikipedia.org/wiki/INI_file)
[GNSS]
BAUD_RATE=115200 ; equals selected on step 6
PAYLOAD_ID=193
SERIAL_DEVICE=/dev/ttymxc1 ; UART connection
or
SERIAL_DEVICE=/dev/ttyUSBX ; USB connection
See GPS Receiver Configuration to find all available settings with default values and
descriptions.
9. To check correct Emlid Reach M2 connection to UgCS SkyHub, use the Payload
Example Widget in UgCS-CPM and set Payload Message ID to
GNSS/PAYLOAD_ID value from GNSS configuration file. There will be a satellite count
on the Payload Example Widget if all settings are right.
Outputs Setup
GPS Output Setup
GPS Output sends to defined address messages contained ZDA and GGA sentences in NMEA
format. Coordinates, date, time, and other information for NMEA sentences are received from
an drone (UAV).
[OUTPUTS]
OUTPUT_GPS=true
See the GPS Output Configuration section to find all available settings with default values and
descriptions.
[OUTPUTS]
PPS_SYNC=true
By default, UgCS SkyHub supports the connector 2 as the PPS signal source and the
connector 5 as output for the PPS signal consumer.
Note: Please, contact our support team if PPS Sync configuration changes are required.
[OUTPUTS]
DBUS_BRIDGE=true
Restart UgCS SkyHub after this. Then reboot is complete with enabled BDUS_BRIDGE plugin,
new section DBUS_BRIDGE will appear. You may use default values of change them for your
needs.
See the DBUS Bridge Configuration section to find all available settings with default values
and descriptions.
Note: Please, contact our support team if ROS2 integration configuration changes are
required.
6 • Getting Started
It is strongly recommended to verify any usage scenario using the simulator before starting
the real flight. There is a dedicated simulator mode in the UgCS for DJI mobile application. Go
to Menu > Simulator to enable or disable it.
6. Make sure that the drone with a correct profile appears in the UgCS on the PC and all
drone indicators (battery, uplink, downlink, satellites) are green. Select the drone and
the mission.
Figure 6.2 — Good (left) and bad (right) vehicle state in UgCS
7. Start the UgCS-CPM application and connect to UgCS with default credentials. Check
the UgCS, Drone, and UgCS SkyHub indicators are green. Add the Terrain Following
widget and other widgets related to connected payloads by clicking the plus button.
8. Upload the route to the drone. After that, click the Read button in the Terrain Following
widget (UgCS-CPM), then click Configure and make sure the
Terrain Following ENABLED message appears in the UgCS-CPM log window at
the bottom side. If not, toggle the flight mode switch to A-mode (S-mode for DJI M300
RTK) and back it to P-mode, then try again to press the Configure button.
9. Arm the drone using the DJI Remote Controller then take off at the valid altitude (see
Altimeter Setup for details).
10. Click the Activate button in the Terrain Following widget to activate the Terrain
Following Flight mode. Check the drone simulator has started a mission.
11. Make sure the data from connected payloads are displayed in UgCS-CPM. Try to
move the UAV and check the sensors’ response.
12. Land the drone simulator after the mission has been completed and try to download
log files (see Log Files Management below). Check the log files for validity.
13. Erase all log files.
14. Restore the UgCS SkyHub settings in the [TF] section before the real flight. Set the
ALTITUDE_SOURCE field back to ALTIMETER. For more details about configuration
settings, see True Terrain Following Configuration.
Flight
Configuration steps to be done before the real flight are similar to ones described above for
simulator mode. Use the checklist below:
1. Make sure the ALTITUDE_SOURCE field in the [TF] section is set to ALTIMETER.
2. Check the altitude limits MIN_ALTITUDE_M and MAX_ALTITUDE_M in the
[ALTIMETER] section.
3. Set the ZERO_LEVEL_M value in the [ALTIMETER] section according to the real
position of the altimeter.
4. Make sure the only used payloads are true in the [PAYLOADS] section. Every
payload should be properly configured (see Payloads Setup).
5. Erase old log files if they are not more needed (see Log Files Management below for
details).
6. Connect both the PC and the mobile device to the same Wi-Fi network.
7. Switch on the drone and the DJI Remote Controller. Make sure the flight mode switch
is in P-mode. Run UgCS, UgCS for DJI, and make sure the drone has a good status in
UgCS.
8. Run UgCS-CPM, wait for all indicators become green, and press the Start button.
9. Check the Altimeter widget for it displays the altimeter data. Note that there is no data
from the radar altimeter until the drone is moving. Gently shake the drone by hand
until the altitude starts to change. Note the altitude limits may be changed in Settings
> Altimeter window.
10. Upload the route to the drone using UgCS.
11. Go to the Terrain Following widget, press Read to read current TTF settings.
12. Set the Target Altitude and Safe Altitude to desired values.
Attention: It is strongly recommended not to set Target Altitude more than 10 meters for
the laser altimeter above water
13. Press the Configure button. Wait for the Terrain Following ENABLED message.
14. If there is no message mentioned above, change the flight mode switch to A-mode
(S-mode for DJI M300 RTK) and back it to P-mode, then try again to press the
Configure button.
15. Take off using the DJI Remote Controller or from the UgCS and rise up to the
appropriate altitude (see limits from step 2).
16. Press the Activate button in the Terrain Following widget to start the flight in
terrain-following mode. The alternative way to activate it is to move the flight mode
switch to A-Mode then to F-mode. The alternative way doesn’t support with
M210/M300 series DJI of drones.
17. You may interrupt the flight by moving the flight mode switch to A-Mode (S-mode for
for DJI M300 RTK) then to P-mode or by pressing the Pause button in the Terrain
Following widget (UgCS-CPM).
The flight can be resumed by moving the flight mode switch to A-mode then to
F-mode or by pressing the Resume button in the Terrain Following widget
(UgCS-CPM). Resuming using the DJI Remote Controller don’t support with
M210/M300 series DJI of drones.
During pause you may manually control the drone, for example fly around an obstacle.
In this case the drone returns to the nearest point on the route by the shortest way
after resuming.
Attention: the flight mode on the DJI Remote Controller must be obligatory switched back to
P-mode before manually control. Otherwise, the drone returns to an unexpected resuming
point.
18. If the drone descends below the minimum allowed altitude or ascends above the
maximum allowed altitude (see step 2), it stops then climbs to increase its altitude to
value configured at step 12. You may manually correct drone position and resume the
flight according to recommendations at step 17.
19. After the mission has been completed the drone stops at the last waypoint then
climbs to increase its altitude to value configured at step 12.
20. Move the flight mode switch to P-Mode to take control, then return the drone to the
desired landing position, and land. If the flight has been ended over the desired
landing point, press the Land button in UgCS.
21. Download log files (see Log Files Management).
The configuration of TTF using the new drivers includes these steps:
1. Configure new driver as described before. For example, see ROS2-based Ainteins
US-D1 Altimeter Setup.
2. Configure TTF for Simulation or real Flight mode as was shown above.
3. Add Altimeter monitor node description into Skyhub.launch file.
4. Add TTF feeder node description into Skyhub.launch file.
5. Restart the skyhub.
6. Configure [_MONITOR_SKYHUB%255FALTIMETER%255FMONITOR_0] section
parameters (see Configure Altimeter Monitor).
7. Configure [_MONITOR_SKYHUB%255FTTF%255FFEED_0] section parameters (see
Configure TTF Feeder).
Grasshopper Mode
Simulator Mode
1. Connect to UgCS SkyHub (see Connect to UgCS SkyHub Using Wi-Fi or Connect to
UgCS SkyHub Using Ethernet) and set the ALTITUDE_SOURCE field in the [GH]
section to AUTOPILOT (see Grasshopper Configuration for additional options).
Disconnect from the UgCS SkyHub.
2. Start the PC and connect it to the Wi-Fi network. Start the UgCS and plan a mission for
the drone. The descent points must be set as wait action, the wait duration defines
waiting time in the descent point.
3. Turn on the drone, the payload, and UgCS SkyHub device.
4. Connect the mobile device to the same Wi-Fi network as the PC. Turn on the DJI
Remote Controller. Be sure that the flight mode switch on the DJI Remote Controller is
in the P-mode. Run the UgCS for DJI mobile application. Wait for the application
shows the main window and connects to the UgCS. UCS connection indicator in the
UgCS for DJI should become green.
5. Click Menu, choose Simulator and enable the Simulator checkbox.
6. Make sure that the drone with a correct profile appears in the UgCS on the PC and all
drone indicators (battery, uplink, downlink, satellites) are green. Select the drone and
the mission.
7. Start the UgCS-CPM application and connect to UgCS with default credentials. Check
the UgCS, Drone, and UgCS SkyHub indicators are green. Add the Grasshopper widget
and other widgets related to connected payloads by clicking the plus button.
8. Upload the route to the drone. After that, click the Read button in the Grasshopper
widget (UgCS-CPM), then click Configure and make sure the
Grasshopper ENABLED message appears in the UgCS-CPM log window at the
bottom side. If not, toggle the flight mode switch to A-mode (S-mode for DJI M300
RTK) and back it to P-mode, then try again to press the Configure button.
9. Arm the drone using the DJI Remote Controller then take off at the valid altitude (see
Altimeter Setup for details).
10. Click the Activate button in the Grasshopper widget (UgCS-CPM) to activate the
Grasshopper Flight mode. Check the drone simulator has started a mission.
11. Make sure the data from connected payloads are displayed in UgCS-CPM and
payloads send data.
12. Land the drone simulator after the mission has been completed and try to download
log files (see Log Files Management below). Check the log files for validity.
13. Erase all log files.
14. Restore the UgCS SkyHub settings in the [GH] section before the real flight. Set the
ALTITUDE_SOURCE field back to ALTIMETER. For more details about configuration
settings, see Grasshopper Configuration.
Flight
Configuration steps to be done before the real flight are similar to ones described above for
simulator mode. Use the checklist below:
1. Make sure the ALTITUDE_SOURCE field in the [GH] section is set to ALTIMETER.
2. Check the altitude limits MIN_ALTITUDE_M and MAX_ALTITUDE_M in the
[ALTIMETER] section.
3. Set the ZERO_LEVEL_M value in the [ALTIMETER] section according to the real
position of the altimeter.
4. Make sure the only used payloads are true in the [PAYLOADS] section. Every
payload should be properly configured (see Payloads Setup).
5. Erase old log files if they are not more needed (see Log Files Management below for
details).
6. Connect both the PC and the mobile device to the same Wi-Fi network.
7. Switch on the drone and the DJI Remote Controller. Make sure the flight mode switch
is in P-mode. Run UgCS, UgCS for DJI, and make sure the drone has a good status in
UgCS.
8. Run UgCS-CPM, wait for all indicators become green, and press the Start button.
9. Check the Altimeter widget for it displays the altimeter data. Note that there is no data
from the radar altimeter until the drone is moving. Gently shake the drone by hand
until the altitude starts to change. Note the altitude limits may be changed in Settings
> Altimeter window.
10. Upload the route to the drone using UgCS.
11. Go to the Grasshopper widget, press Read to read current GH settings.
12. Set Target Altitude in order to follow terrain, set Descent To to desired values.
Attention: It is strongly recommended not to set Target Altitude more than 10 meters for
the laser altimeter above water
13. Press the Configure button. Wait for the Grasshopper ENABLED message.
14. If there is no message mentioned above, change the flight mode switch to A-mode
(S-mode for DJI M300 RTK) and back it to P-Mode, then try again to press the
Configure button.
15. Take off using the DJI Remote Controller or from the UgCS and rise up to the
appropriate altitude (see limits from step 2).
16. Press the Activate button in the Grasshopper widget to start the flight in grasshopper
mode. The alternative way to activate it is to move the flight mode switch to A-Mode
then to F-mode. The alternative way doesn’t support with M210/M300 series DJI of
drones.
17. You may interrupt the flight by moving the flight mode switch to A-Mode (S-mode for
DJI M300 RTK) then to P-mode or by pressing the Pause button in the Grasshopper
widget (UgCS-CPM).
The flight can be resumed by moving the flight mode switch to A-mode then to
F-mode or by pressing the Resume button in the Grasshopper widget (UgCS-CPM).
Resuming using the DJI Remote Controller don’t support with M210/M300 series DJI
of drones.
During pause you may manually control the drone, for example fly around an obstacle.
In this case the drone returns to the nearest point on the route by the shortest way
after resuming.
Attention: the flight mode on the DJI Remote Controller must be obligatory switched back to
P-mode before manually control. Otherwise, the drone returns to an unexpected resuming
point.
18. If the drone descends below the minimum allowed altitude or ascends above the
maximum allowed altitude (see step 2), it stops then climbs to increase its altitude to
value defined the FAIL_SAFE_ALTITUDE_M parameter in the [GH] section in config
and then the route pauses. You may manually correct drone position and resume the
flight according to recommendations in the step 17.
19. After the mission has been completed the drone stops at the last waypoint then
climbs to increase its altitude to value defined the FAIL_SAFE_ALTITUDE_M
parameter in the [GH] section in config.
20. Return the drone to the desired landing position, and land. If the flight has been ended
over the desired landing point, press the Land button in UgCS.
21. Download log files (see Log Files Management).
Description
The mode can be activated by pressing the Activate button on the Obstacle Avoidance widget
in UgCS-CPM. The activation status is kept in config (see the ACTIVATED parameter in the
[OA] section in config Obstacle Avoidance Configuration) so if the previous UgCS SkyHub
session was finished with activated mode, UgCS SkyHub restores activation status in the new
session. In this case UgCS-CPM contains the Deactivate button.
Obstacle Avoidance mode, when it’s activated, has two possible states:
• DISARMED: not all conditions are executed, the distance to obstacles isn’t controlled.
• ARMED: the distance to obstacles is controlled.
Obstacle detection is based on data received from the special collision detector or from a
connected altimeter. Obstacle distance source sets in the SAFETY_DISTANCE_SOURCE in the
[OA] section (see details in Obstacle Avoidance Configuration). Safe distance to an obstacle
is configured on the Obstacle Avoidance widget in UgCS-CPM. When Obstacle Avoidance is in
ARMED state and the distance to an obstacle is less than configured value, Obstacle
Avoidance executes the safety action. Default safety action is returning home, see other
safety actions in Obstacle Avoidance Configuration. UgCS-CPM shows current safety action
on the Obstacle Avoidance widget.
Usage
1. Connect to UgCS SkyHub (see Connect to UgCS SkyHub Using Wi-Fi or Connect to
UgCS SkyHub Using Ethernet) and set desired parameter values in the [OA] section
(see details in Obstacle Avoidance Configuration). Disconnect from the UgCS SkyHub.
2. Start the PC and connect it to the Wi-Fi network. Start the UgCS and plan a mission for
the drone.
3. Turn on the drone, payloads, and UgCS SkyHub device.
4. Connect the mobile device to the same Wi-Fi network as the PC. Turn on the DJI
Remote Controller. Run the UgCS for DJI mobile application. Wait for the application
shows the main window and connects to the UgCS. UCS connection indicator in the
UgCS for DJI should become green.
5. Make sure that the drone with a correct profile appears in the UgCS on the PC and all
drone indicators (battery, uplink, downlink, satellites) are green. Select the drone and
the mission.
6. Start the UgCS-CPM application and connect to UgCS with default credentials. Check
UgCS, Drone, and UgCS SkyHub indicators are green.
7. Add the Obstacle Avoidance widget and other widgets related to connected payloads
by clicking the plus button. To monitor the distance to obstacles using the special
obstacle detector, add the Payload Example widget by clicking the plus button and set
Payload Message ID equals 195 by clicking the settings button.
8. Go to the Obstacle Avoidance widget, click the Read button to read current OA
settings.
9. Set the Safe Distance to Obstacle to desired value. Make sure the Safety Action
shows desired action.
10. Press the Configure button. Wait for the
Safety Distance to Obstacle CHANGED message.
11. Press the Activate button, if the mode is deactivated. Wait for the
Obstacle Avoidance ACTIVATED message.
12. Upload the route to the drone using UgCS, launch auto, TTF, or Grasshopper Flight
mode or start manual flight.
13. If the distance to obstacles drops below the Safe Distance (see step 9), the safety
action will be activated.
14. You may interrupt the safety action using the DJI Remote Controller, then click the
Deactivate button. To activate Obstacle Avoidance mode again press the Activate
button on the Obstacle Avoidance widget.
15. Reconfiguring of Obstacle Avoidance mode is available any time.
16. After flights has been completed, return the drone to the desired landing position, and
land. Press the Deactivate button on the Obstacle Avoidance widget.
Position logs (-position.csv suffix) contain drone position data (GPS coordinates,
attitude, altitude, etc.) followed with the payload’s specific parameters, if any. For more
details, see Position Log.
System logs (-system.log extension) is a journal of various system events. Please keep it
while contacting our support team.
Also, depending on the concrete payload used one may get following log files:
GPR data logs (-gpr.sgy suffix) contain radar trace data in SEG-Y format. These files can be
analyzed in PC applications such as Prism2 or similar software capable to read and process
GPR data in SEG-Y format.
Echosounder data logs in SEG-Y format (-echo.sgy suffix) contain sounding trace data.
These file can also be analyzed in the SEG-Y data processing software.
Echosounder data logs in NMEA 0183 format (-nmea.txt suffix) contain bathymetric data.
These files can be processed in any software capable of handling data in NMEA 0183 format
(e.g. ReefMaster).
Gas detector data logs in mixed NMEA 0183 + raw messages format (-pergam.txt suffix)
contain measured concentration data. These files can be processed in Pergam’s proprietary
software.
The filename contains the sequential numbers (000001, 000002, etc.) before the time
synchronization and date/time (in YEAR-MONTH-DAY-HOUR-MIN-SEC format) after the
synchronization with the GPS. The time is UTC.
Logging (except system log) is started only by command from UgCS-CPM (using the
Record/Stop button) or automatically after taking off. The system log begins after onboard
software is started.
The logs with the same file names have been created simultaneously. When the filename is to
be changed (e.g. after the time synchronization) a new set of logs is created.
The logs can be automatically divided by file size, time, trace count (GPR or echosounder
only), and waypoints. This option is turned off by default. To enable it, set corresponding
parameters to values greater than zero in the [APP] section. More than one parameter can be
set simultaneously, in this case splitting will be fulfilled when the first of selected conditions
occurs:
[APP]
LOG_SPLIT_SIZE_MB=0 ; megabytes
LOG_SPLIT_TIME_S=0 ; seconds
LOG_SPLIT_TRACES=0
LOG_SPLIT_WAYPOINTS=0 ; 0 or 1
When LOG_SPLIT_WAYPOINTS is set to 1 or another value greater than zero, each log file will
contain one flight line with two waypoints.
When the second way is chosen, open http://10.1.0.1 (Wi-Fi) or http://192.168.0.33 (Ethernet)
in your browser and choose the required log file from a list of all recorded ones.
Position Log
Position logs contain common parameter group and the payload’s specific parameters if any.
Common parameter columns fill in with the latest received value. Specific parameter columns
fill in at the moment when the payloads received data, excluding altimeters, its columns write
as common parameters
GNSS:Date Date
GNSS:Time Time
7. Press the Download button and wait for downloading has been finished.
8. After the log files are not more needed you may delete them all using the Erase All
button.
9. If you need to delete only certain files you may set the date and file extension filters
then press the Erase button.
10. You also have 2 options for downloading and deleting depending on logs creation
date: All dates and Today.
11. Note, if you choose Today, UgCS-CPM will work not only with today’s logs but with
yesterday’s and tomorrow’s. The reason is the possible difference between local date
and the UTC one used in log file names.
Update Firmware
1. Connect the PC to the UgCS SkyHub using Wi-Fi (see Connect to UgCS SkyHub Using
Wi-Fi) or by wire (see Connect to UgCS SkyHub Using Ethernet).
2. Open UgCS-CPM and go to Tools > Manage UgCS SkyHub
3. The UgCS SkyHub (Aux) indicator is green when there is the connection to the UgCS
SkyHub device via Ethernet or Wi-Fi and red otherwise.
4. Since UgCS-CPM v3.15 this supports two hardware versions of UgCS SkyHub device.
The Device line on the Manage UgCS SkyHub page displays the version of the
connected device.
5. The latest UgCS SkyHub firmware compatible with the installed UgCS-CPM is located
in UgCS-CPM/firmware folder. Also, the latest UgCS SkyHub firmware is available
by the link https://integrated.ugcs.com/dl/s/skyhub-armhf for the UgCS SkyHub v2
device and by the link https://integrated.ugcs.com/dl/s/skyhub-arm64 for the
UgCS SkyHub v3 device.
6. Click the Browse button and choose the firmware archive file. If the device version is
UgCS SkyHub v2, should choose the file named as skyhub-v2-*.tar.gz. If the
device version is UgCS SkyHub v3, should choose the skyhub-v3-*.tar.gz file.
Then press the Upgrade button.
7. Wait for the progress bar becomes filled and check the firmware version after it
appears.
8. Click the Back button to return on the main UgCS-CPM page. Wait for the UgCS
SkyHub device reboots and click the Reconnect button.
Uninstall Firmware
Important: This article is intended for advanced users only.
1. Connect the PC to the UgCS SkyHub using Wi-Fi (see Connect to UgCS SkyHub Using
Wi-Fi) or by wire (see Connect to UgCS SkyHub Using Ethernet).
To uninstall the firmware on the UgCS SkyHub 3 device, launch the command:
$ dpkg -r ugcs-skyhub
The following steps describe the uninstall procedure for the UgCS SkyHub 2.
If the firmware is uninstalled, the configuration file is also deleted, but log files in the folder
/run/media/mmcblk1p1/skyhub_logs/ are kept.
7 • Configuration Parameters
• Configuration file location: /etc/skyhub/skyhub.conf
• File format: INI (https://en.wikipedia.org/wiki/INI_file)
Important: The UgCS SkyHub device should be restarted after any change in the
configuration file by reboot command or by power cycling.
Default
Parameter Description
Value
[APP]
[AUTOPILOTS]
Default
Parameter Description
Value
Using the DJI autopilot except for
DJI false support for DJI M300 RTK.
Set to true if DJI drone is used.
[PAYLOADS]
Default
Parameter Description
Value
Using the Nanoradar MR72 radar
NANORADAR_MR false obstacle detector.
Set to true if used.
Default
Parameter Description
Value
[APP]
[PAYLOADS]
Autopilot Configuration
DJI Autopilot Configuration
Default
Parameter Description
Value
[DJI]
UgCS SkyHub 2:
UART serial device. Default value
/dev/ttymxc3
SERIAL_DEVICE depends on the UgCS SkyHub
UgCS SkyHub 3:
generation
/dev/ttyS0
ArduPilot/PX4 Configuration
Default
Parameter Description
Value
[MAV]
Connection type:
CONNECTION_TYPE UART • UART: to connect through UART
• TCP: to connect through Ethernet
Default
Parameter Description
Value
UgCS SkyHub 2:
UART serial device. Default value
/dev/ttymxc3
SERIAL_DEVICE depends on the UgCS SkyHub
UgCS SkyHub 3:
generation
/dev/ttyS0
Default
Parameter Description
Value
[TF]
Grasshopper Configuration
Default
Parameter Description
Value
[GH]
Default
Parameter Description
Value
[OA]
• OBSTACLE_DETECTOR: Use
external obstacle detector as
OBSTACLE_DET obstacle distance source
SAFETY_DISTANCE_SOURCE
ECTOR • ALTIMETER: Use external
altimeter as obstacle distance
source
Navigation Configuration
See the Guidelines for navigation values choosing section for tips on tuning.
Default
Parameter Description
Value
[NAV]
0.5 m
The distance to the waypoint after
Permissible
ACCEPTANCE_RADIUS_M which the waypoint is considered
range: 0.01 – 10
reached.
m
Default
Parameter Description
Value
The proportional component of the PID
0.5 Permissible controller for calculating the speed
POS_P
range: 0.1 – 1 from the position error in the horizontal
plane.
This node works as a single instance. You should provide the only section of monitor
paramenters for all configured altimenter instances:
[_MONITOR_SKYHUB%255FTTF%255FFEED_0]
SOURCE=v1:altimeter:Lightware_SF30D:0
Default
Parameter Description
Value
[_MONITOR_SKYHUB%255FTTF%255FFEED_0]
Altimeter Configuration
Default
Parameter Description
Value
[ALTIMETER]
Default
Parameter Description
Value
Process noise for terrain offset, m/s.
EF_FILTER_PROC_NOISE 0.5 Less values will softer result greater.
Range 0.1 - 1.0
Default
Parameter Description
Value
[NANORADAR_NRA]
UgCS SkyHub 2:
UART serial device. Default value
/dev/ttymxc5
SERIAL_DEVICE depends on the UgCS SkyHub
UgCS SkyHub 3:
generation
/dev/ttyAMA1
Default
Parameter Description
Value
[LIGHTWARE_SF30]
Default
Parameter Description
Value
Log extended data to CSV position log
EXTENDED_CSV_LOG false with prefix SF. See details in Position
Log
# ugcs_skyhub/launch/skyhub.launch.py
import launch_ros.actions
import launch_ros.events
import launch_ros.events.lifecycle
import launch
import launch.actions
import launch.events
import lifecycle_msgs.msg
launch.actions.DeclareLaunchArgument(
"log_level",
default_value=["info"],
description="Logging level",
)
def generate_launch_description():
ld = LaunchDescription()
logger = launch.substitutions.LaunchConfiguration("log_level")
ld.add_action(skyhub_gateway_node)
ld.add_action(altimeter)
return ld
This driver supports multiple instances of SD30D altimeters connected to the same UgCS
SkyHub device. You should provide additional section for every configured instance
(zero-base):
[_ALTIMETER_LIGHTWARE%255FSF30D_0]
IS_FILTERED=false
RATE_HZ=39
RETURN_MODE=LAST
UART_BAUD_RATE=115200
UART_SERIAL_DEVICE=/dev/ttyAMA1
Default
Parameter Description
Value
[ROS_LIGHTWARE_SF30]
Default
Parameter Description
Value
Defines the return for TTF or GH mode
RETURN_MODE LAST • FIRST: first return is used
• LAST: last return is used
import launch_ros.actions
import launch_ros.events
import launch_ros.events.lifecycle
import launch
import launch.actions
import launch.events
import lifecycle_msgs.msg
launch.actions.DeclareLaunchArgument(
"log_level",
default_value=["info"],
description="Logging level",
)
def generate_launch_description():
ld = LaunchDescription()
logger = launch.substitutions.LaunchConfiguration("log_level")
ld.add_action(skyhub_gateway_node)
ld.add_action(altimeter)
return ld
This driver supports multiple instances of US-D1 altimeters connected to the same UgCS
SkyHub device. You should provide additional section for every configured instance
(zero-base):
[_ALTIMETER_AINSTEIN%255FUS%255FD1_0]
UART_BAUD_RATE=115200
UART_SERIAL_DEVICE=/dev/ttyAMA1
Default
Parameter Description
Value
[ROS_US_D1]
This node works as a single instance. You should provide the only section of monitor
paramenters for all configured altimenter instances:
[_MONITOR_SKYHUB%255FALTIMETER%255FMONITOR_0]
DATALOG=25376e65-2866-40b4-bbdf-7dfd08fb7c32
SOURCE=v1:altimeter::
Default
Parameter Description
Value
[_MONITOR_SKYHUB%255FALTIMETER%255FMONITOR_0]
GPR Configuration
Low Frequency GPR Configuration
Default
Parameter Description
Value
[RADARTEAM_COBRA]
Default
Parameter Description
Value
[RADSYS_ZOND]
Default
Parameter Description
Value
Offset of the second antenna alongside
OFFSET_RIGHT_M_2 0
the traverse line, m
Note: When using the Aero version of RadSys Zond radar, all fields are ignored apart
PULSE_DELAY_1 and TIME_RANGE_NS_1.
Default
Parameter Description
Value
[RADSYS_ZGPR]
Echosounder Configuration
Default
Parameter Description
Value
[ECHOSOUNDER]
Default
Parameter Description
Value
[ECHOLOGGER_ECT]
Default
Parameter Description
Value
Data filtering by sensor dept in the
water.
Sensor depth is calculated as a
difference between the length of the
MIN_SENSOR_DEPTH_M 0.1 cable (set by CABLE_LENGTH_M
parameter in the ECHOSOUNDER
section) and current altitude.
The data are not recorded if the sensor
depth is lower than specified value, m.
UgCS SkyHub 2:
Serial device name. Default value
/dev/ttymxc1
SERIAL_DEVICE depends on the UgCS SkyHub
UgCS SkyHub 3:
generation
/dev/ttyAMA3
Default
Parameter Description
Value
[ECHOLOGGER_DUAL]
Default
Parameter Description
Value
BAUD_RATE 115200 UART baud rate, bps
Default
Parameter Description
Value
Measuring range for high acoustic
frequency, m. Only fixed ranges are
RANGE_HIGH_M 10 available: 1, 1.5, 2, 3, 5, 10, 15, 20, 30,
40, 50, 60, 70, 80, 90, 100, 120, 150, 200
meters
UgCS SkyHub 2:
Serial device name. Default value
/dev/ttymxc1
SERIAL_DEVICE depends on the UgCS SkyHub
UgCS SkyHub 3:
generation
/dev/ttyAMA3
Default
Parameter Description
Value
[GAS_DETECTOR]
Default
Parameter Description
Value
[PERGAM_FALCON]
Note: The Pergam Laser Falcon measures the methane concentration every 100ms, and a
series of 5 measurements are combined into an average. The average and intermediate
measurements are stored on the Pergam Laser Falcon board and can be sent upon request.
The stored information is updated every 500 ms. The FREQUENCY_HZ parameter only sets
the frequency of requests from SkyHub to the Pergam Laser Falcon, while the Pergam Laser
Falcon continues to work according to its scheme.
Default
Parameter Description
Value
[PERGAM_LMM]
UgCS SkyHub 2:
UART serial device. Default value
/dev/ttymxc5
SERIAL_DEVICE depends on the UgCS SkyHub
UgCS SkyHub 3:
generation
/dev/ttyAMA1
Default
Parameter Description
Value
[METAL_DETECTOR]
Default
Parameter Description
Value
[GEONICS_EM_61]
Default
Parameter Description
Value
Connection type:
• BLUETOOTH: to connect through
CONNECTION_TYPE RS232 bluetooth
• RS232: to connect through UART
UgCS SkyHub 2:
RS232 serial device. Default value
/dev/ttymxc1
SERIAL_DEVICE depends on the UgCS SkyHub
UgCS SkyHub 3:
generation
/dev/ttyAMA3
Default
Parameter Description
Value
[CONDUCTIVITY_METER]
Default
Parameter Description
Value
[GEONICS_EM_38_MK2]
Connection type:
• BLUETOOTH: to connect through
CONNECTION_TYPE RS232 bluetooth
• RS232: to connect through UART
UgCS SkyHub 2:
UART serial device. The USB-UART
/dev/ttymxc1
SERIAL_DEVICE adapter is used. Default value depends
UgCS SkyHub 3:
on the UgCS SkyHub generation
/dev/ttyAMA3
Default
Parameter Description
Value
[DROP_MESSENGER
Anemometer Configuration
Default
Parameter Description
Value
[ANEMOMETER]
Default
Parameter Description
Value
[FTTECHNOLOGIES_FT742_SM]
Default
Parameter Description
Value
[NANORADAR_MR]
UgCS SkyHub 2:
UART serial device. Default value
/dev/ttymxc1
SERIAL_DEVICE depends on the UgCS SkyHub
UgCS SkyHub 3:
generation
/dev/ttyAMA3
Default
Parameter Description
Value
[GNSS]
UgCS SkyHub 2:
/dev/ttymxc1 Device name. Default value depends on
SERIAL_DEVICE
UgCS SkyHub 3: the UgCS SkyHub generation
/dev/ttyAMA3
Important: GPS Receiver loads settings from separate config file. See details in GPS Receiver
Setup.
Outputs Configuration
GPS Output Configuration
Default
Parameter Description
Value
[OUTPUT_GPS]
UgCS SkyHub 2:
UART serial device. Default value
/dev/ttymxc1
ADDRESS depends on the UgCS SkyHub
UgCS SkyHub 3:
generation
/dev/ttyAMA3
HORIZONTAL_ACCEL_MSS parameter
If the drone is heavy and it is important to maintain smoothness during acceleration and
deceleration, it is better to set a value not exceeding 1 m/s2 at the waypoints. At the same
time, long acceleration and deceleration can increase the total flight time, which will
negatively affect the work productivity. The maximum value is 10 m/s2, but there is a
possibility to run into the limitations of the autopilot/drone, as it may not be able to provide
the specified speed and acceleration. That is, the target point will move ahead of the current
position and the drone will have to catch up with it, exceeding the specified speed on the
route. This is also true for stopping at a point: the drone can fly over it (overshoot).
VERTICAL_ACCEL_MSS parameter
There are two considerations of choosing the values of this parameter. First, the trajectories
(smooth and continuous functions of time, twice differentiable) will be built based on the
restriction on the allowable acceleration. Those, if the drone, while following the route, must
descend or climb at the speed specified in the mission, then the speed will change smoothly
according to this parameter. Secondly, the sudden change of the ground level in the Terrain
Following flight mode will be smoothed out so that the acceleration does not exceed this
value. This is an important point: if the acceleration is low, the drone can smooth out the
trajectory too much before or after the obstacle. Therefore, for flying over water and a smooth
surface, the acceleration value should be made in the region of 0.5 - 1 m/s2, and for flying
over a relief surface, it is worth increasing the value of the parameter - up to about 2-3 m/s2.
The exact value should be selected empirically.
YAW_RATE_DS parameter
The turn rate (Yaw) is smoothed by the PID controller before being passed to the flight
controller. The value specified in this parameter will be close to the targeted, but may be less
at the beginning and end of the turn maneuver.
VELOCITY_FEED_FORWARD parameter
Due to technical limitations, it is not possible to explicitly set the controller with exact
acceleration value to decelerate or accelerate: to compensate, a value is transmitted slightly
more or less than the targeted speeds so that the controller has time to provide more
accurate trajectory following. With a well-performing autopilot (reacting quickly and clearly
following speed targets), the value of the VELOCITY_FEED_FORWARD parameter should be
close to or equal to 0. In some cases, it allows you to compensate for the drop in altitude
during descent.
POS_P parameter
The higher the value, the more accurately the device follows the trajectory, but the higher the
probability of oscillations. Horizontal oscillations look like pecks in the direction of flight. If
the value is small, then the device moves unsteadily in a straight line or can serpentine or
overshoot waypoints during StopAndTurn maneuvers.
POS_Z_P parameter
Higher values allow you to follow the target trajectory more closely, but may cause vertical
oscillation. Vertical oscillations while descending look like fading and jumps with a
characteristic sound (Bzz - bzzz - bzzz…). If the value is small, then the speed changes
sluggishly and the obstacles avoiding can be very smooth and with a noticeable delay.
ACCEPTANCE_RADIUS_M parameter
If the distance between the current position of the drone and the target waypoint is less than
the specified parameter, then the waypoint is considered reached. At the moment of reaching
the notification of this event will be sent to the ground control station and the device can
proceed to build a trajectory to the next point. If the reached point was the last one, then the
device will keep the position inside the ball with the given radius.
LEAN_COMPENSATION parameter
The influence of the parameter increases with flight altitude increasing. At low altitudes, the
difference lies within the altitude hold error.
8 • Legal Notice
SPH Engineering reserves the right to make corrections, enhancements, improvements and
other changes to its products and services and to discontinue any product or service.
Buyers should obtain the latest relevant information before placing orders and should verify
that such information is current and complete.
Buyer acknowledges and agrees that it is solely responsible for compliance with all legal,
regulatory and safety-related requirements concerning its products, and any use of our
products in its applications, notwithstanding any applications-related information or support
that may be provided by SPH Engineering. Buyer represents and agrees that it has all the
necessary expertise to create and implement safeguards which anticipate dangerous
consequences of failures, monitor failures and their consequences, lessen the likelihood of
failures that might cause harm and take appropriate remedial actions. Buyer will fully
indemnify SPH Engineering and its representatives against any damages arising out of the
use of any our products in safety-critical applications.
Disclaimer
Information in this document is subject to change without notice and does not represent a
commitment on the part of SPH Engineering. SPH Engineering provides this document “as is”
without warranty of any kind, expressed or implied, including, but not limited to, the implied
warranties of fitness or merchantability for a particular purpose. SPH Engineering may make
improvements and/or changes in this document or in the product(s) and/or the program(s)
described in this document at any time.
Trademarks
UgCS is a registered trademark of SPH Engineering.
All other trademarks and registered trademarks mentioned in this document are the property
of their respective owners.
Document License
Document contents are licensed under Creative Commons
Attribution-NonCommercial-NoDerivatives 4.0 International License (CC BY-NC-ND 4.0).
integrated.ugcs.com
ugcs@ugcs.com www.ugcs.com