ULS-ProCopter Operation Manual

Operation Manual ULSDC-PBOM070425, version 1.0.0

ULSDC-PBOM070425 · version 1.0.0 · issued June 14, 2025
The numbered PDF is the controlled copy: download it from the portal.

Introduction

Purpose

The purpose of this operation manual is to provide comprehensive guidance on the installation, configuration, operation, and troubleshooting of the ULS-ProCopter System. This manual is designed to help users effectively integrate and utilize the system for precision landing and navigation applications.

Scope

This document is intended for use by system engineers, integrators, operators, and developers working with ULS-ProCopter systems. It provides detailed information on system operation, configuration procedures, and integration with autopilot systems.

System Base Components

Transmitter (Ground Unit)

ULS-ProCopter Transmitter

Figure: ULS-ProCopter Transmitter

A transmitter is a device placed on the ground (platform, moving object). It emits a signal in the Infrared range and serves as a kind of beacon. Transmitter marks position for drone landing.

The primary function of the transmitter is to continuously send out a coded signal that can be detected and interpreted by the receiver unit onboard the ULS-ProCopter. This signal contains critical information needed for the operation of the ULS-ProCopter, such as positional data, commands, and system status.

Receiver (Onboard Unit)

ULS-ProCopter Receiver

Figure: ULS-ProCopter Receiver

A receiver is a device that is placed on board an aircraft.

The receiver decodes this signal to derive flight information such as positional coordinates, real-time transmitter status updates, and landing guidance. It interprets the data to navigate accurately and ensure drone follows the intended flight path. It provides feedback to the autopilot systems, such as Ardupilot and PX4, to adjust the flight parameters as needed for optimal and safety landing or hovering above.

Operation theory

All data communication from the transmitter to the receiver is done in the optical band, which eliminates interference with other radio devices and radio signals.

The transmitter contains an array of emitting elements that operate in the infrared range. The transmitter emits a modulated signal with each of the transmitter emitters transmitting a unique signal. Each of the transmitter emitters emits in a unique direction. The receiver receives the signal from the transmitter decodes it and by analyzing the signal can determine in which direction relative to the transmitter it is located. The distance to the transmitter is determined by the signal strength. Thus the system determines the position in a polar coordinate system with the origin at the center of the transmitter.

It is worth noting that due to the features described above, the receiver position readings will change when the transmitter orientation is changed, but the change in receiver orientation will have no effect if the transmitter and receiver are within the range of visibility of the systems specified in the specification.

This must be taken into account when working with the system. In order to calculate the position of the receiver without errors in case of orientation changes, the transmitter is equipped with an inertial orientation measurement system. This system allows you to determine the orientation of the module and transmit this information to the receiver by means of an infrared signal so that it can correct the position according to the inclination of the transmitter (transmitter level correction function).

The system can then convert the polar coordinate system to a Cartesian coordinate system. In this case, this coordinate system originates at the center of the transmitter.

Usually, to navigate and ensure a precise landing, the autopilot needs information about the position of the landing point in a coordinate system either attached to the drone’s body or in a global coordinate system.

The system can then convert the polar coordinate system to a Cartesian coordinate system. In this case, this coordinate system originates at the center of the transmitter.

To navigate and ensure a precise landing, the autopilot needs information about the position of the landing point in a coordinate system either attached to the drone’s body or in a global coordinate system. For this purpose, the receiver requests information from the autopilot about its position and orientation. Then, using this information and information about the orientation of the ground transmitter, the receiver can calculate the position of the transmitter relative to the drone in the required coordinates.

It important to point out that the system will act as a navigation sensor. The information from our system can be used by autopilots and drones for various purposes:

  • Landing vehicle on platform
  • Hovering over a point of interest
  • Accurately dropping a load or precisely lowering it on a tether.

Functional description diagram

System specification.

Common specification:

ParameterValue
Distance range m.:0.1 - 20.0
Working angle (deg):>100
Data update frequency (Hz):20

Table: Common System Specifications Receiver (on board unit):

ParameterValue
Field of view (deg):100
Dimensions mm :18.4 x 33.4 x 6.9
Weight g.:10
Power Consumption (W):0.3
Voltage supply (V):5.0
Interfaces:USB, CAN, UART

Table: Receiver Specifications Transmitter (on ground)

ParameterValue
Field of emitting (deg):>100
Dimensions mm. :183 x 183 x 29
Weight g.:1200
Power Consumption (W):18.4
Voltage supply (V):12V- 27V
Interfaces :USB, CAN, UART

Table: Transmitter Specifications

Pinout information

Transmitter Pinout

ULS-ProCopter Transmitter Pinout

Figure: ULS-ProCopter Transmitter Pinout Diagram

Pin numberProCopter
1Vcc Input (+12.0V..+27V)
2CAN2 H
3CAN2 L
4UART TX
5UART RX
6USB D-
7USB D+
8GND

Table: Transmitter 8-pin Main Connector Pinout

Pin numberProCopter
1+5V Output
2CAN1 H
3CAN1 L
5GND

Table: Transmitter 4-pin Connector Pinout

Please DO NOT "HOT-PLUG" Transmitter cable. Apply power on transmitter only when connector connected to transmitter. Please check pin numbers on connector. Incorrect wiring or connection under voltage can damage the device and USB interface of connected PC !

Receiver Pinout

ULS-ProCopter Receiver Pinout

Figure: Receiver Top Side Connector Variant

ULS-ProCopter Receiver Pinout

Figure: Receiver Strait Variant

ULS-ProCopter Receiver Pinout

Figure: ULS-ProCopter Receiver connector

Pin numberStrait VariantTop Side Connector Variant
1+5V InputGND
2UART RXUART2 TX
3UART TXUART2 RX
4CAN HUSB D+
5CAN LUSB D-
6USB D-CAN L
7USB D+CAN H
8UART2 RXUART TX
9UART2 TXUART RX
10GND+5V Input

Table: Receiver JX1 Connector Pinout (External Power and Control)

Mechanical dimensions

ULS-ProCopter Receiver - Straight Connector

Figure: ULS-ProCopter Receiver dimensions

ULS-ProCopter Transmitter Dimensions

Figure: ULS-ProCopter Transmitter Mechanical Dimensions

Integration

Ground unit installation (transmitter)

The device must be installed on a clean surface to avoid any obstacles. The device must be installed in an open area. There must be no obstacles in the radiation field of the transmitting device. If possible, avoid installing the system near vertical surfaces that can strongly reflect infrared radiation. Device developed to be installed in panel and bolted with M4 screw. All customers get 3d model of system and cut panel as reference to make integration process more simple.

Panel cut-out drawing.

A drawing of a square object with a square object in the middle AI-generated content may be incorrect.

After installation, it is recommended to verify the correctness of the compass reading and, if necessary, correct the compass calibration.

Wiring Transmitter

The transmitter only requires power to operate. The transmitter can be powered via a 8-pin connector located nearby. External compass (IMU) and control data can be send over UART and CAN protocol. See pinout information of transmitter.

Configure transmitter in ULS-Tools

ULS-ProCopter on beta stage now pls use Beta version of ULS-Tools for configuration and firmware update. https://github.com/UAVLAS/ULSTools-Beta/releases/
To apply any changes, press "Apply Config" button at the bottom of the field.
A screenshot of a computer
ParameterDescription
Device nameName of the device displayed in main window
Device low voltageVoltage limit to start indicator flash warning
Device off voltageVoltage limit to disable IR emitters to prevent battery under discharge
Device illumination powerEmitters power correction (100 for normal operation)
Emitter (enable/disable)Disable (for configure) or enable emitter
Device Indicator BrightnessAdjust transmitter RGB led indicator brightness
Device CAN address/speedSetup external CAN interface parameters
Compass Override (enable/disable) [deg]Enable in case of module installed on fixed platform. The entered value will be used instead of internal compass data in “Compass mode”. In this way, the transmitter must be turned on the corresponding angle, CW to North.
Mag(ExMag) offset/scaleCalibration parameters for internal/external magnetometer
ExCompass mode onlyIf enabled - system will not use internal compass. If external compass data unavailable system generate error. If disabled internal compass will be used if External magnetometer unavailable

Table: Transmitter Configuration Parameters

Compass calibration

This compass is used to calculate an absolute heading of the ground unit. This information is transmitted to the Receiver and used to calculate NED coordinates. To be able to use compass, it needs to be calibrated before. To calibrate compass:

  • Press “Reset calibrations”.
  • Rotate device in different directions until you get 3 circles on charts (see picture below).
  • Press “Apply calibration” & “Apply configuration”.
During of calibration you can press "Clear chart" to reset previous compass measurements.
Compass chart before calibration: A screen shot of a graph AI-generated content may be incorrect.

Compass chart after calibration:

A screen shot of a graph AI-generated content may be incorrect.

Charts Transmitter

Program display several parameters of the device on charts:

  • IMU data.
  • Voltage (not valid when powered from USB).
  • Temperature data.
A screenshot of a computer AI-generated content may be incorrect.A screenshot of a computer AI-generated content may be incorrect.

Led Indicator

You can check the status of the transmitter looking on the LED indicator on the transmitter. LED flashes in sequences of colors, so it can flash green-red-off-off or green-off-blue-off.

Flash colorDescription
GreenNormal operation.
OrangeLow voltage.
RedProblem, check device. If it is first in sequence it can be led malfunctions of power voltage below minimum, second for compass fail detect.
BlueCompass ok and device points to the North (brightness of illumination depends on how precise it is pointed to the North).

Table: LED Indicator Status Colors

On-board unit installation (receiver)

The receiver can be installed both inside and outside the vehicle. However, please note that this version of the system is not equipped with protection against moisture and dust. The orientation of the receiver does not matter - however, when installing the receiver, care should be taken to ensure line-of-sight conditions between the transmitter and receiver throughout the entire field of view of the receiver (100 deg). The receiver sensor zone is indicated in the figure.

A drawing of a machine AI-generated content may be incorrect.

Once the receiver is installed, enter the appropriate receiver offset information into the configuration.

Wiring Receiver Pixhawk 4 autopilot connection using UART

A diagram of a device AI-generated content may be incorrect.

Wiring for MultiRX mode (MRX)

A diagram of a cable AI-generated content may be incorrect.

Configure Receiver in ULS-Tools

Note:

To apply any changes, press “Apply Config” button at the bottom of the field.

A screenshot of a computer program AI-generated content may be incorrect.
ParameterDescription
Device nameName of the device displayed in main window.
Receiver offset (Front, Right) [m]Location of receiver in the drone (in meters). This configuration used to calculate drone heading in MultiRX mode.
2Receiver prediction time [s]Prediction time is used to send prediction information of landing position. It is useful to avoid the effect of short terms signal interruptions. Generally, its value can be set from 0.3 up to 1 sec.
Filter responseSet response for internal position filter of receiver. Hi values make lag time shorter, lower values smooth position information.
Transmitter level compensationUsed to compensate Pan-Tilt rotations of the transmitter. It is used in case of landing on the moving objects.
Noise debugUse this function to check the noise interference with other devices. In this mode, receiver do not receive the signal from the transmitter, but can capture all the other signals. At the time of the test, transmitter must be switched off, and you can see on Signal Viewer the level of noise and detect what devices around affect the receiver. In general, max level of noise needs to be lower than 0.0025 for Beans B channel. NO OPERATIONS CAN BE PERFORMED IF THIS OPTION IS ENABLED - switch off before the normal use.
Compass mode (disable/enable)If settings are disabled - receiver will not perform data calculation based on ground compass data. Multi RX mode and (or) compass mode must be enabled to allow the operation.
MRX mode (disable/enable)If settings are enabled - receiver will use secondary receiver to perform the data calculation. Multi RX mode and (or) compass mode must be enabled to allow the operation.
Device Indicator BrightnessAdjust transmitter led indicator brightness
Device CAN address/speedSetup external CAN interface parameters
UART ProtocolSelect corresponding protocol to communicate with autopilot. If protocol “MavlinkV2” is selected, you can enable the corresponding MAV_FRAME message to be sent to the autopilot (Ardupilot - MAV_FRAME_BODY_FRD and PX4 MAV_FRAME_LOCAL_NED for now)
UART baud rateSelect UART communication speed.

Table: Receiver Configuration Parameters

Status Information field

In the status display area, you can check the status of the receiver and visualise the position of the receiver relative to the drone.

A screenshot of a computer AI-generated content may be incorrect.
ParameterDescription
CarrierThe carrier signal from transmitter is detected.
SQ_OKSignal quality of the carrier is ok.
PosRAW sensor position is estimated.
VelRAW sensor velocity.
CompassGround unit orientation is received.
MRXSecondary sensor for MRX mode is connected and sending data.
MRX-YAWYaw orientation is calculated using MRX.
REL-NEDRelative NED position is calculated.
REL-FRDRelative FRD position is calculated.
LLMLat Lon Msl position is available (reserved for future options).
ABS-NEDAbsolute position of transmitter is available.
VEHICLE-NEDAbsolute position of vehicle is provided by the autopilot (used to calculate ABS position data).
BEACONIndicate System Ok state.
PREDICTIONIndicate when system uses predicted information for the calculation.
PLATFORMPosition of landing platform is provided by third party devices.

Table: Receiver Status Information Fields

Setup MRX mode

This option enables to use data from two receivers to calculate position. It allows calculating receiver yaw orientation using triangular method. In this mode, compass data (on ground and on board) is not affecting the position estimation, so it is more durable way to land. In this mode the maximum distance is limited by 10 m and at altitude above, it will use compass mode.

To set up and check MRX mode do the following:

  • Connect receivers on board with CAN BUS.
  • Configure “Receiver offset” for both receivers.
  • Configure “Receiver orientation YAW” for both receivers (XCopter-G2).
  • Enable option “MRX mode”.
  • After set up, hover the drone above the transmitter (1 m - 2 m) and check that Tdistance and Distance are the same (+/- 20%).
  • Correct “Receiver offset” option in case of TDistance and Distance are not approximately the same. Increasing position between receivers increases Tdistance and backwards.
  • Rotate Drove over transmitter (1 m - 2 m) and check the value of the MRX-YAW on chart “GU Orientation”. It needs to be corresponding to the heading of the drone relatively to the transmitter.
Check "Remote IMU", "Filter smoothness", "Receiver sensitivity", "Receiver prediction time", setting MUST be equal to ALL the receivers on the vehicle
Please note, you can connect receiver directly to PC using USB pins. It will make the set up and testing receiver much easier.

Receiver Charts

Program display several parameters of the device on charts:

  • Angles, Positions in different coordinate systems
  • Distance
  • Vehicle information (position and velocity)
  • Data from Transmitters IMU.
screenshotscreenshot

Integration instructions for Ardupilot based systems.

Preparing for integration:

  • Download the latest version of the ULSTools software. It is recommended to connect all sensors to PC and update the firmware for all UAVLAS devices in the system.
  • Update autopilot with Arducopter latest version.
  • Configure transmitter.
  • Configure receiver.
ULS-ProCopter software on beta stage now. Pls Use Beta version ULS-Tools for configuration and update.
Current version of the system can use MavlinkV2 protocol to communicate with Ardupilot autopilots (for now it supports MAV_FRAME_BODY_FRD).

Example of receiver configuration:

screenshot

Autopilot configuration

Setup PLND section

ParamValueComment
PLND_ENABLED1Enable precision landing module
PLND_TYPE1Use type = 1 to enable UAVLAS sensor over Companion computer driver

Table: Ardupilot PLND Section Parameters All other parameters in PLND section defaults or use accordingly to your vehicle set up requirements.

On a picture example configuration provided.

A black screen with white text AI-generated content may be incorrect.
It is recommended to test several options of Kalman filter during the test flights (or switch it off) to achieve the best performance.

Set up serial communication in SERIALx Section.

ParamValueComment
SERIAL2_BAUD230Select baud rate - it needs to be same as in receiver’s configuration.
SERIAL2_OPTIONS0Default
SERIAL2_PROTOCOL2MAVlink2 protocol support.

Table: Serial Communication Configuration (SERIALx Section) Set up serial communication messages in SRx Section. Sensor requires some data from autopilot to work in different modes.

ParamValueComment
SR2_EXTRA1 (or MAV2_EXTRA1)20Stream Attitude information (20Hz) (YAW Orientation is required for sensor in compass mode)
SR2_POSITION (or MAV2_POSITION)20Optional - Stream Vehicle position (20Hz) (LOCAL_POSITION_NED is required for sensor to provide LOCAL position for the target)

Table: Serial Communication Messages (SRx Section) Check setup.

If all settings are done correct, autopilot has GPS data and receiver in the field of view of the transmitter, you can find LANDING_TARGET message in mavlink inspector (a screenshot from Mission Planner)

A screenshot of a computer AI-generated content may be incorrect.

Setup Precision loiter mode.

To enable precision loiter mode you need attach any unused switch to PrecLoiter option see picture below:

A screenshot of a computer program AI-generated content may be incorrect.

Try to use this switch and you must get messages: “PrecLoiter: LOW” and “PrecLoiter: HIGH” After test flight above target check telemetry - you will find PL data contains offsets form landing target.

A graph on a black background AI-generated content may be incorrect.

PID tuning

In case of oscillations and other issues at landing stage, pls, check PID parameters of Ardupilot.

It is recommended to check the Position XY, Velocity XY and Loiter speed parameters in “Extended tuning” section to achieve the best performance.

A screenshot of a computer program AI-generated content may be incorrect.
For example, settings Velocity XY P = 0.8, I = 0.2, and D = 0.6 works well for some of our customers
It recommended to start testing PIDs and precision system performance in "Precision Loiter" mode. I use some algorithms and settings in precision landing.

For additional information, see Ardupilot manual.

Integration instructions for PX4 based systems.

Preparing for integration:

  • Download the latest version of the ULSTools software. It is recommended to connect all sensors to PC and update the firmware for all UAVLAS devices in the system.
  • Update autopilot with PX4 latest version.
  • Configure transmitter.
  • Configure receiver.
ULS-ProCopter software on beta stage now. Pls Use Beta version ULS-Tools for configuration and update.

Current version of the system can use MavlinkV2 protocol to communicate with PX4 autopilots (for now it supports MAV_FRAME_LOCAL_NED).

Example of receiver configuration:

A screenshot of a computer AI-generated content may be incorrect.

Configure PX4 autopilot.

Values are provided as example (in our case, Pixhawk4-mini AP)

PX4 ParameterValue
MAV_1_CONFIGTELEM/SERIAL4 (require reboot to set next params)
MAV_1_FORWARDEnabled.
MAV_1_MODEOnboard.
SER_TEL4_BAUD460800_8N1 (It needs to be corresponding to the setting of UART in Receiver ULS-QR1-R1 connected to PX4 AP)

Table: PX4 Autopilot Configuration Parameters

Running and testing

After configuration and wiring, power up drone and transmitter. On QGround control, go “Analyze Tools” -> MAVLINK Inspector. Check LANDING_TARGET MAVLINK message

In case the vehicle provide LOCAL_POSITION_NED message to UAVLAS system, and it hovers over beacon, you get “position_valid = 1” in LANDING_TARGET

To perform precision landing, you need to create a flight plan and enable Precision Landing option on the landing point.

LANDING_TARGET may be unavailable in case of connection over USB. So, use telemetry channel (uart modem etc.) to connect drone to the QGroundControl.
A screenshot of a computer AI-generated content may be incorrect.

Troubleshooting

Before of all check:

  • You are using latest version of ULS-Tools, latest firmware on ULS-XCOPTER transmitter and receiver, and latest Ardupilot (PX4) firmware.
  • Transmitter are switched on and receiver in field of view of transmitter.
  • Red light on receiver flashes fast ( > 5 times per second ). If it flash 2 times per sec it mean that transmitter not switched on, or not in field of view. If it not flash - check power.
  • Check Serial setting on AP params and on receiver be sure you are set EXTRA params for corresponding serial port on AP.
  • Check wiring power and RX, TX (see pinouts and wiring diagram)
  • Check on receiver that MAV_FRAME_BODY_FRD (MAV_FRAME_LOCAL_NED) enabled.
  • Check that you setup Precision loiter mode on AP

Circular motions during landing:

  • Check compass calibration on ground unit.
  • Check Compass calibration on AP.
  • Check magnetic interference on ground.
  • Use compass override mode to debug landing.
  • Check precision landing PID settings.

The landing is not precise enough:

  • Check the position control PID settings of AP.
  • For Ardupilot check Kalman filter settings.
  • Check filter smoothness param on receiver.
  • Check trajectory Jerk settings on AP.

Change Control

All changes to this document must be reviewed and approved by the relevant technical leads and stakeholders