Make sure to update the Title following the format “Jan 01, 2020 Flight Test”
📋 Flight Preparation
Requested by: | |
---|---|
Required Sub-teams |
|
Requested Date |
|
Location and Time | A muddy hill close to WREST RC @ 11 - 3 |
Summary & Goals | Tested ELRS RC and ELRS Airport Throughput and Link Quality |
Approved? | Yes ✅ / Pending 🟨 / No 🛑 |
👥 Required Persons During Test
Name | Phone # | Role | Reason |
---|---|---|---|
| Flight Test Lead |
| |
| Pilot in Command |
| |
Safety |
| ||
Data Collector, Data Analyzer, Secondary Pilot …. |
👥 Other Attendees
Name | Role |
---|---|
🚗 Drivers & Seat Arrangement
Driver | Vehicle Type | Passenger |
---|---|---|
| ||
| ||
|
🔧 Week-Before To-Do List
🔧 Day-Before To-Do List
↪️ Pre-Departure Checklist
🚩 Pre-flight Safety Checklist
😎 Post-Flight Checklist
Item | Owner |
---|---|
| ALL MEMBERS PRESENT |
| |
|
Flight Test Debrief
The goal of this flight test was (originally) to determine the capabilities of ELRS Airport as a low-cost replacement for Xbees. Over the course of the flight test, the object evolved to determine causes for RF interference and how to optimize our setup. All testing stages will be discussed in this document, but the TLDR comes first (for those who don’t want to read through everything).
There were also other issues with Ardupilot setup on houston that will be listed at the very end. These have not yet been addressed but do not impact the core test criteria.
TLDR & Actionable items
Use 333hz for airport. This keeps the same maximum air rate as 500hz, but uses LoRa instead of FLRC. This improves the noise floor significantly and allowed an increase of about 20-60% in LQ.
Have spatial separation >8m (ideally 10+). Any closer observed significant interference from the RC TX causing LQ issues on the Airport module.
Move antennas away from the central frame. This is a much larger point and will be elaborated on later, but all we need to know is that copper, carbon fiber, and other electronics are very bad and we want antennas to be mounted far away from the frame with good orientation (depends on the antenna - no blanket answer here).
Airport seems to have a preference for higher transmit powers. we are unsure why.
The bay has a lot of interference. RSSI indoors is around -50 dB, outside around -34 dB.
Moving the orientation of the moxon antenna on the ranger did not help significantly.
Thanks for reading the TLDR! The next few sections (hopefully) should provide justifiable reasoning for what caused this
Test equipment and setup
Before I get too deep and heavy into this, I’ll give some background of what was used and give you guys some reference for what is what.
Airside:
Airside, our test-bed was the winter-2023 configuration of houston, with the triangle braced landing gear. 2217 motors with 10x4.5” green HQ props were used. The pixhawk 5x was mounted central to the drone, with red/black as left and white/white as right. Initial frame parameters were set as described. A PM02 power module was used as power for the pixhawk, but voltage/current monitoring was not supported. 4 PWM Opto ESC’s were used, configured from 1000-2100 pwm range, calibrated the day of. These were set on the IO MCU in default ordering.
Our sensor stack included of an M8N GPS (shown taped on front right arm on above photo), which proved to be unreliable for GPS fix and so an M9N was added. No other sensors were on the drone. The m9N was mounted on a post, using frame screws already on houston. (i.e., screws that go through plate and into the arms). This did not pose any issues during the flight test but … maybe sketchy? idk. I’m not a mechanical engineer. the M9N plugged into GPS1 port, while the M8N plugged into the GPS2 port.
In terms of RC Links, we used a happymodel EP1 for RC Link, and a radiomaster RP1 for Airport. The EP1 was configured to use SBUS and plugged into the RCIN port, while the RP1 was configured as serial airport, and connected to telem1 port. Both receivers had the stock dipole antennas attached (shown in photos). Mounting locations of the receivers will be discussed in our testing procedure/methodology section (next section).
Groundside
Groundside was significantly more simple. We used a tx16 with stock antennas for RC link, and a radiomaster ranger with a moxon antenna.
It’s worth noting that different antennas will have different radiation patterns. Warg commonly uses 3 kinds of linearly-polarized antennas: Monopole, Dipole, and Moxon style antennas. These will all have slightly different radiation patterns, but monopol/dipole antennas are not directional, while a moxon is. Moxons are also linearly polarized, meaning that you want the active element the same direction as the airside antenna.
Note that all dipole/monopole antennas have deadzones along the AXIS of the antenna (the direction the wire is placed). This means that if an antenna is mounted horizontally (flat), then turning the drone 90 degrees may put you in a null zone.
It is worth noting that there are other polarized antennas that warg uses, but this is typically reserved for video (where multipathing is a bigger issue). Thank you for listening to my ted talk. (Note that radiomaster also ships a T-antenna with the ranger. This is not a dipole. Google “marconi” or “t-antenna” if interested).
Common Terminology.
This may be boring, but trust me, it’s going to be a bit important. This will be grossly oversimplified (I’m sorry, don’t kill me. TT -anni)
LQ (Link Quality) [%]: Indicates what % of incoming messages were understood.
RSSI/1RSS (Received Signal Strength / Indicator) [dB]: Strength of a signal the device is measuring.
TPower (Transmit Power) [mW]: Milliwatts of transmission power.
LoRa (Long Range) [modulation scheme]: Format of modulating an RF signal.
FLRC (Fast Long Range Communication) [modulation scheme]: Format of modulating an RF signal.
ELRS (Express Long Range System) [RF link firmware]: http://expresslrs.org
Dynamic Power (Dyn) [TPower]: Allows the transmit power to raise/lower itself automatically. Will prefer lowest value possible (to save energy), but will boost power when signal becomes weak (to maintain link).
With that out of the way, we can get to testing procedure.
Testing Methodology.
From 10am-3pm, Two outdoor tests and one indoor test was done.
Test 1: Determined that we had strong signal quality issues.
Test 2 (indoors): Determined ideal antenna placement and established testing procedures for measuring signal quality
Test 3 (outdoors): Verified our antenna placement as well as spatial separation and different modulation protocols.
Test #1
Configuration
Test 1 was conducted with both antennas mounted internally, close to the drone, as depicted in the following images:
This antenna configuration was originally chosen in order to protect the antennas, and because (typically), ELRS is able to outperform null zones, where even having a null zone at 1-2km does not pose serious risk to link quality and will not cause a boost in transmit power.
The TX16 was set to 250mW max power, dynamic on. The Ranger was originally set to 250mW, dynamic off, but was later changed to 1000mW, dynamic on.
Results
What we noticed was that the TX16 was constantly at 250mW, with link quality 80-100 in close range operations (< 100m). As the drone moved away, the link quality decreased to 40-60% at 1.1km. TPower never lessened below 250mW. Moving away from airport did not help.
Airport was constantly running at max power, either 250 or 1000, and LQ in the GCS was consistently, in both configurations, dropping to as low as 4% at 1.1, when we decided to engage RTL. Average was around 20-40%, with the highest values being around 60-70% in close range operations.
Test #2
Configuration
The drone was placed on the workbench, USB power delivered by the WARG laptop. The ranger and tx16 were placed on the blue bench ~ 1m away, taking measurements for TPower, LQ, and RSSI. This configuration ensured the most free air between the drone and the groundside (no vanny, or other cables in the way). The ranger was powered by Hardy Yu’s laptop, while the tx16 was plugged in to charge the low battery (7.2v after test #1). Output power for the tx16 was limited to 10mW , while the ranger was limited to 250mW with dynamic power.
A first reading was taken with the antennas unchanged from internal, we moved the antenna and reciever locations to be further out, as shown in the following two photos:
When changing the orientation of the airside antenna, the orientation of the groundside antenna should change as well
Results
In the internal antenna test, we noticed the TX16 RSSI hovering between -60 and -50 db, while the LQ would go as low as 93%, regardless of whether or not airport was turned on. One bad antenna had a rssi of -66db, but this was replaced
Moving the antenna to the outside of the drone resulted in the RSSI improving to -55 to -44 dB. Turning on airport curiously improved the RSSI to be more steadily close to -44 dB, but not significant enough to justify any concrete action.
Test #3
Configuration
Moving the drone outside, with the reconfigured antenna orientations, yielded significantly better results.
The tx16 was set to 250mW dyn power, while the ranger was set to 1000mW dyn power.
Tests were first conducted with RC beside Airport, using 500hz mode (FLRC) on the radio. We then changed to 333hz (LoRa) and the RC away from airport.
We also tested moving the RC close to/away from airport during the test.
Results
The most immediate results are the improvement in RSSI with the tx16. Throughout the entire test, the TX16 stayed at 10mW transmit power, with LQ consistently above 90%.
In the following photo, you can see the RSSI improving significantly to -34 dB with stock antennas on the tx16, about 1m away (same distance as Test #2 inside).
This improvement is likely due to the fact that there’s lots of Wifi/cell/interference inside E7. Notice how we are at a steady 10mW of transmission power now, with 100% LQ.
Notice how even 1.1km away, at 10mW transmit power, the RSSI is still better than 1m away with badly placed antennas.
The second result worth noting is the LQ from different modulation schemes on Airport. Although moving the antennas improved the 500hz LQ marginally (roughly 10% increase), changing to 333hz added another 10-20% LQ increase. This meant that with no spatial separation, 500hz modes (FLRC) had ~ 40% LQ, while 333hz modes (LoRa) had ~ 60-70% LQ. This improved more with spatial separation.
We also noticed a significant drop in transit power from the airport module, although it was still consistently higher than the RC link. 250mW was the standard transmit power, jumping to 500mW occasionally at max range (1.1km).
With 333hz modes, moving the TX16 very close ( < 30cm) to the airport module caused significant drops in LQ, but no increase in the output power of the tx16. The ranger jumped to max TPower (1000mW) when this occurred.
Our best GCS LQ was observed with ~ 10m of spatial separation between the RC and Airport, at around 97%, even out to 1.1km. At this point we were concerned with the stability and ability to keep LOS of the drone so we decided to RTL.
With full spatial separation, tpower on airport sometimes dropped to 100mW, but often recovered back to 250mW. The moxon antenna was pointed at the drone by hand.
Ardupilot configuration
There were a few issues with ardupilot configuration, including:
Incorrect GPS configuration for GSP2 only.
Safety switch not disabled (not present for first flights).
Incorrect GPS configuration for GPS1 (could not find compass or safety switch).
Incorrect initial frame parameters (setup for Icarus still, not reset for Houston).
PWM Calibration not completed (Could not use inbuilt calibration due to safety switch not existing and not being disabled).
Compass variance (internal compass high noise, external compass not detected).
Power module voltage/current sensing not available (we were flying off of “feels” for battery voltage).
In general, I (anni) noticed a few issues with the drone during flight:
Inability to climb in guided modes
Inability to hold position in guided modes
“toilet bowling” in position guided modes (caused by poor GPS2 performance?)
Significant compass variance errors.
All in all though, RTL always worked and we only flew within capabilities of ourselves and the drone
Hotlinks
Logs (view only - must be signed in to UW account): https://uofwaterloo-my.sharepoint.com/:f:/g/personal/uwarg_uwaterloo_ca/EnmcEWaGxHdEiYuD6xJM7XMB3XnpnPPU6S26vowZ1zjkQQ?e=gwI5j1
Media: (non existent as of rn)
Flight test thread: https://discord.com/channels/776618956638388305/1134564410652885002