# ULS-XCopter-G2 Operation Manual

> Installation, setup, integration and troubleshooting of ULS-XCopter-G2 — compact precision landing system for small VTOL drones, from 100 g up to 30 kg.

---

Site [llms.txt](/llms.txt)

---

> **ULSDC-PBOM310325** · version 0.1.0 · issued April 2, 2025  
> The numbered PDF is the controlled copy: [download it from the portal](https://downloads.uavlas.com).

## Introduction

### Purpose

The purpose of this operation manual is to provide comprehensive guidance on the installation, configuration, operation, and troubleshooting of the ULS-XCopter-G2 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-XCopter-G2 systems. It provides detailed information on system operation, configuration procedures, and integration with autopilot systems.

## System Base Components

### Transmitter (Ground Unit)

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.

![Transmitter unit](/library-assets/images/uls-xcopter-g2/transmitter-unit.png)

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 XCopter. This signal contains critical information needed for the operation of the ULS-XCopter, such as positional data, commands, and system status.

### Receiver (Onboard Unit)

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

![Receiver unit](/library-assets/images/uls-xcopter-g2/receiver-unit.png)

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.

**Signal Transmission**

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.

<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
			<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/6tjSJlEo55w?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe>
		</div>


*Video: ULS-XCopter-G2 transmitter in action showing IR LED distributed illumination pattern*

**Position Calculation**

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.

**Orientation Considerations**

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).

**Coordinate System Conversion**

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.

**Distance and Azimuth Correction System (DACS)**

The unit also has a DACS (Distance and Azimuth Correction System). This allows you to more accurately calculate the YAW (Yaw) of the receiver versus the transmitter. This system serves as an aid in calculating the mutual orientation using a compass or MRX system.

**System Applications**

It is 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

![Functional description diagram](/library-assets/images/uls-xcopter-g2/functional-diagram.png)

*Figure: ULS-XCopter-G2 Functional Description*

## System Specifications

### Common Specification

| **Parameter** | **XCopter-G2** |
|---|---|
| Distance range (m) | 0.1 - 20.0 |
| Working angle (deg) | 60 |
| Data update frequency (Hz) | 20 |

*Table: Common System Specifications*
### Receiver (Onboard Unit)

| **Parameter** | **XCopter-G2** |
|---|---|
| Field of view (deg) | 100 |
| Dimensions (mm) | 20 x 32 x 9 |
| Weight (g) | 10 |
| Power Consumption (W) | 0.3 |
| Voltage supply (V) | 5.0 |
| Interfaces | USB, CAN, UART |

*Table: Receiver Specifications*
### Transmitter (Ground Unit)

| **Parameter** | **XCopter-G2** |
|---|---|
| Field of emitting (deg) | 60 |
| Dimensions (mm) | 50 x 50 x 23 |
| Weight (g) | 45 |
| Power Consumption (W) | 2.4 |
| Voltage supply (V) | 7.5 - 27 |
| Interfaces | USB, CAN, UART |

*Table: Transmitter Specifications*
<div class="note">
Please note that if you use a USB cable to connect the ULS-XCopter-G2 transmitter and power is supplied via this cable, you must ensure that the cable and power supply allows at least 3A. If the power supply or cable does not allow 5V 3A to be delivered to the transmitter, the device may not work properly. In this case it is recommended to use an external power supply of 7.5-24V connected to connector JX1 - External power and control.
</div>

### Pinout Information

#### Receiver Pinout
![Receiver connector diagram](/library-assets/images/uls-xcopter-g2/receiver-connector-diagram.png)

*Figure: ULS-XCopter-G2 Receiver Connector*

| **Pin Number** | **XCopter-G2** |
|---|---|
| 1 | +5V Input |
| 2 | UART RX |
| 3 | UART TX |
| 4 | CAN H |
| 5 | CAN L |
| 6 | USB D- |
| 7 | USB D+ |
| 8 | UART2 RX |
| 9 | UART2 TX |
| 10 | GND |

*Table: Receiver Pinout (JX1)*
#### Transmitter Pinout
![Transmitter connector diagram](/library-assets/images/uls-xcopter-g2/transmitter-control-connector.png)

*Figure: ULS-XCopter-G2 Transmitter Main Connector*

| **Pin Number** | **XCopter-G1&G2** |
|---|---|
| 1 | Vcc Input (+7.5V..+27V) |
| 2 | CAN2 H |
| 3 | CAN2 L |
| 4 | UART TX |
| 5 | UART RX |
| 6 | GND |

*Table: Transmitter Main Connector Pinout (JX1)*
![Transmitter submodule connectors](/library-assets/images/uls-xcopter-g2/transmitter-submodule-connectors.png)

*Figure: ULS-XCopter-G2 Transmitter Submodule Connectors*

| **Pin Number** | **XCopter-G1&G2** |
|---|---|
| 1 | +5V Output |
| 2 | CAN1 H |
| 3 | CAN1 L |
| 4 | GND |

*Table: Transmitter Submodule Connectors Pinout (JC1-JC4)*
### Mechanical Dimensions
### Receiver (G2) Dimensions

![Receiver mechanical dimensions](/library-assets/images/uls-xcopter-g2/receiver-dimensions.png)

*Figure: ULS-XCopter-G2 Receiver Dimensions (mm)*

### Transmitter (G2) Dimensions

![Transmitter mechanical dimensions](/library-assets/images/uls-xcopter-g2/transmitter-dimensions.png)

*Figure: ULS-XCopter-G2 Transmitter Dimensions (mm)*



## Integration
### Ground Unit Installation (Transmitter)

![Transmitter mechanical interface](/library-assets/images/uls-xcopter-g2/transmitter-mechanical-interface.png)

*Figure: Transmitter Mechanical Interface*

The transmitter can be installed both indoors and outdoors. However, please note that this version of the system is not equipped with protection against moisture and dust. When installing the transmitter, care should be taken to ensure line-of-sight conditions between transmitter and receiver.

![Transmitter installation](/library-assets/images/uls-xcopter-g2/transmitter-installation.png)

*Figure: Transmitter installation variant*

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. The 4 holes on the bottom of the device can be used to mount the device. For fastening, use M2 screws, thread depth 2 mm.

It is allowed to install the device under a surface that is optically transparent to infrared radiation by more than 95%. Glass or transparent plastic can act as such a surface. In this case, to increase the coverage of the system at low altitudes, it is recommended to install the transmitter below the level of the platform. This will allow you to expand the coverage of the system to a larger area during touchdown.

<br></br>
<br></br>


<div class="note">
Please note, to compensate for the loss of transmitter illumination, you can adjust the illumination power of the transmitter. To do this, place the receiver at a fixed distance from the installed transmitter (recommended 1-2 meters) and adjust the “Device illumination power” of the transmitter until the distance information on the receiver does not correspond to the actual distance. Maximum Correction for “Device illumination power” 110% 
![Transmitter illumination](/library-assets/images/uls-xcopter-g2/transmitter-illumination.png)

*Figure: Transmitter illumination power*

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


</div>

#### Wiring Transmitter

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

#### Configure Transmitter in ULS-Tools

<div class="note">
To apply any changes, press "Apply Config" button at the bottom of the field.
</div>

![ULS-Tools Transmitter Configuration](/library-assets/images/uls-xcopter-g2/uls-tools-transmitter-config.png)

*Figure: ULS-Tools Transmitter Configuration Interface*

Configuration parameters:

| Parameter | Description |
|-----------|-------------|
| Device name | Name of the device displayed in main window |
| Device low voltage | Voltage limit to start indicator flash warning |
| Device off voltage | Voltage limit to disable IR emitters to prevent battery under discharge |
| Device illumination power | Emitters power correction (100 for normal operation) |
| Emitter (enable/disable) | Disable (for configure) or enable emitter |
| 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. |


*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:**

1. Press "Reset calibrations"
2. Rotate device in different directions until you get 3 circles on charts (see picture below)
3. Press "Apply calibration" & "Apply configuration"

<div class="note">
During calibration you can press "Clear chart" to reset previous compass measurements.
</div>

![Compass before calibration](/library-assets/images/uls-xcopter-g2/compass-before-calibration.png)

*Figure: Compass Chart Before Calibration*

![Compass after calibration](/library-assets/images/uls-xcopter-g2/compass-after-calibration.png)

*Figure: Compass Chart After Calibration*

#### Emitters Power Indicator

On this field, system shows emitter's state.

![Emitters power indicator](/library-assets/images/uls-xcopter-g2/emitters-power-indicator.png)

*Figure: Emitters Power Indicator*

#### Charts Transmitter

Program displays several parameters of the device on charts:

- IMU data
- Voltage (not valid when powered from USB)
- Temperature data

![Transmitter charts 1](/library-assets/images/uls-xcopter-g2/transmitter-charts-1.png)

*Figure: Transmitter Charts - IMU and Compass Data*

![Transmitter charts 2](/library-assets/images/uls-xcopter-g2/transmitter-charts-2.png)

*Figure: Transmitter Charts - Voltage and Temperature*

#### LED Indicator

You can check the status of the transmitter by looking at 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 Color | Description |
|-------------|-------------|
| Green | Normal operation |
| Orange | Low voltage |
| Red | Problem, check device. If it is first in sequence it can be LED malfunctions or power voltage below minimum, second for compass fail detect |
| Blue | Compass OK and device points to the North (brightness of illumination depends on how precise it is pointed to the North) |


*Table: LED Indicator Status*
### 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.

![Receiver sensor zone](/library-assets/images/uls-xcopter-g2/receiver-sensor-zone.png)

*Figure: Receiver Sensor Zone*

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

#### Wiring Receiver Pixhawk 4 Autopilot Connection Using UART

![Receiver Pixhawk 4 wiring](/library-assets/images/uls-xcopter-g2/receiver-pixhawk4-wiring.png)

*Figure: Receiver Pixhawk 4 Autopilot Connection*

#### Wiring for MultiRX Mode (MRX)

![Receiver MRX wiring](/library-assets/images/uls-xcopter-g2/receiver-mrx-wiring.png)

*Figure: MultiRX Mode Wiring Diagram*

#### Configure Receiver in ULS-Tools

<div class="note">
To apply any changes, press "Apply Config" button at the bottom of the field.
</div>

![ULS-Tools Receiver Configuration](/library-assets/images/uls-xcopter-g2/uls-tools-receiver-config.png)

*Figure: ULS-Tools Receiver Configuration Interface*

Configuration parameters are detailed in the table below.

#### Status Information Field

In the status display area, you can check the status of the receiver and visualize the position of the receiver relative to the drone. For XCopter-G2, the YAW orientation of the drone received from the DACS system is displayed.

![Receiver status information](/library-assets/images/uls-xcopter-g2/receiver-status-info.png)

*Figure: Receiver Status Information Field*

#### Receiver Charts

Program displays several parameters of the device on charts:

- Angles, Positions in different coordinate systems
- Distance
- Vehicle information (position and velocity)
- Data from Transmitter's IMU

![Receiver charts 1](/library-assets/images/uls-xcopter-g2/receiver-charts-1.png)

*Figure: Receiver Charts - Position and Distance*

![Receiver charts 2](/library-assets/images/uls-xcopter-g2/receiver-charts-2.png)

*Figure: Receiver Charts - Vehicle Data and IMU*


## 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.

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:**

![Ardupilot receiver configuration](/library-assets/images/uls-xcopter-g2/ardupilot-receiver-config.png)

*Figure: Receiver Configuration for Ardupilot*

### Autopilot Configuration

#### Setup PLND Section

| Param | Value | Comment |
|-------|-------|---------|
| PLND_ENABLED | 1 | Enable precision landing module |
| PLND_TYPE | 1 | Use type = 1 to enable UAVLAS sensor over Companion computer driver |


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

On the picture example configuration provided:

![Ardupilot PLND configuration](/library-assets/images/uls-xcopter-g2/ardupilot-plnd-config.png)

*Figure: PLND Configuration Example*

<div class="note">
It is recommended to test several options of Kalman filter during the test flights (or switch it off) to achieve the best performance.
</div>

#### Set Up Serial Communication in SERIALx Section

| Param | Value | Comment |
|-------|-------|---------|
| SERIAL2_BAUD | 230 | Select baud rate - it needs to be same as in receiver's configuration |
| SERIAL2_OPTIONS | 0 | Default |
| SERIAL2_PROTOCOL | 2 | MAVlink2 protocol support |


*Table: Serial Communication Parameters*
Set up serial communication messages in SRx Section. Sensor requires some data from autopilot to work in different modes.

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


*Table: Stream Rate Parameters*
#### Check Setup

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

![Landing target message](/library-assets/images/uls-xcopter-g2/ardupilot-landing-target.png)

*Figure: LANDING_TARGET Message in MAVLink Inspector*

#### Setup Precision Loiter Mode

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

![Precision loiter switch setup](/library-assets/images/uls-xcopter-g2/ardupilot-precloiter-switch.png)

*Figure: PrecLoiter Switch Configuration*

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 from landing target.

![Telemetry PL data](/library-assets/images/uls-xcopter-g2/ardupilot-telemetry-pl.png)

*Figure: Telemetry Data with PL Offsets*

#### PID Tuning

In case of oscillations and other issues at landing stage, please 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.

![PID tuning parameters](/library-assets/images/uls-xcopter-g2/ardupilot-pid-tuning.png)

*Figure: Extended Tuning Parameters*

<div class="note">
For example, settings Velocity XY P = 0.8, I = 0.2, and D = 0.6 works well for some of our customers
</div>

<div class="note">
It is recommended to start testing PIDs and precision system performance in "Precision Loiter" mode. It uses some algorithms and settings in precision landing.
</div>

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.

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:**

![PX4 receiver configuration](/library-assets/images/uls-xcopter-g2/px4-receiver-config.png)

*Figure: Receiver Configuration for PX4*

### Configure PX4 Autopilot

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

| PX4 Parameter | Value |
|---------------|-------|
| MAV_1_CONFIG | TELEM/SERIAL4 (require reboot to set next params) |
| MAV_1_FORWARD | Enabled |
| MAV_1_MODE | Onboard |
| SER_TEL4_BAUD | 460800_8N1 (It needs to be corresponding to the setting of UART in Receiver ULS-QR1-R1 connected to PX4 AP) |


*Table: PX4 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 provides 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.

<div class="important">LANDING_TARGET may be unavailable in case of connection over USB. So, use telemetry channel (uart modem etc.) to connect drone to the QGroundControl.
</div>
![PX4 landing target](/library-assets/images/uls-xcopter-g2/px4-landing-target.png)

*Figure: LANDING_TARGET in QGround Control*


## Troubleshooting
### Before Starting, Check

- You are using latest version of ULS-Tools, latest firmware on ULS-XCOPTER transmitter and receiver, and latest Ardupilot (PX4) firmware.

### No MAVLink Message

- ULS-XCopter transmitter is switched on and receiver is in field of view of transmitter.

- Red light on receiver flashes fast (> 5 times per second). If it flashes 2 times per second it means that transmitter is not switched on, or not in field of view. If it does not flash - check power.

- Check Serial settings on AP params and on receiver. Be sure you have 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) is enabled.

### Not Holding in Precision Loiter Mode But MAVLink Message OK

- 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.


## Safety Information

- Do not expose the system to moisture or dust without proper protection
- Ensure adequate power supply (minimum 3A for USB connection)
- Do not operate beyond specified temperature range

## Change Control

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

---
