Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 19 Next »

Sections for requesting team to fill out:

  • Admin preparation

  • Test Cards / Test Plan

  • Mandatory Attendees

Sections for flight test coordinator to fill out:

  • Flightline team

  • Location

  • Status

  • Drone

Sections for flightline team to fill out:

  • EFS to fill out Card #1, #2, #3 (Opflow, Tracking Antenna, Obstacle Avoidance)

📋 Admin Preparation

Your status should read “submitted” when you submit the FTR to our Flight Test Coordinator.

Once the coordinator approves, and a date/location/drone has been assigned, the status will change to “waiting for sub team review”. Once all sub-teams have reviewed and signed off, the status will change to “approved”

Requested By

Anthony Luo

Sub-Team Review

(To be checked once reviewed by sub-team representative)

  • Mechanical
  • Electrical
  • EFS
  • Autonomy
  • Operations

Date of Request

Jan 16, 2024

Goal Summary

  • Pegasus Opflow calibration

  • Pegasus MAGFit check

  • Tracking antenna algorithm check

  • Houston Obstacle avoidance functionality check

Status?

WAITING FOR SUB-TEAM REVIEW

Desired Airframe

Houston / Pegasus

Location + Time

WrestRC 1300-1800

☀️ Wx

https://www.windy.com/station/ad-cykf?42.541,-80.379,8 Waterloo Weather Station

image-20240125-155541.pngimage-20240127-140426.png

🥅 Testplan - to be filled out by requesting team

Create ONE table per test-item. Eg: “Landing pad images over asphalt”, “landing pad images over grass”, “landing pad images over grass, high” should all be unique tables.

Use each expand to capture one series of tests, eg “Landing pad detection” or “Auto-tuning”.

 Card 1: Pegasus OpFlow + Lidar Calibration

Test #1: Opflow calibration

Procedure

Goals / Objectives

Knockoff criteria

  1. Inflow calibration setup

    1. Set RC6_OPTION = 158 (Optflow Calibration)

    2. Setup the EKF3 to use GPS (the default)

      1. EK3_SRC1_POSXY = 3 (GPS)

      2. EK3_SRC1_POSZ = 1 (Baro)

      3. EK3_SRC1_VELXY = 3 (GPS)

      4. EK3_SRC1_VELZ = 3 (GPS)

      5. EK3_SRC1_YAW = 1 (Compass)

      6. EK3_SRC_OPTIONS = 0 (Disable FuseAlIVelocities)

  • Obtain images of <x>

  • Verify colour calibration

  • < anything else you’re evaluating >

< list of reasons why you would want to stop the test >

  1. Setup GPS/Non-GPS transitions (to switch between GPS and Optical Flow inflight)

SET UP AND PERFORM BENCH TEST BEFORE LEAVING BAY?

  1. Ensure EKF3 is being used

    1. EK3_ENABLE = 1
      EK2_ENABLE = 0
      AHRS_EKF_TYPE = 3

  2. Ensure default setup

    1. EK3_SRC1_POSXY = 3 (Primary horizontal position from GPS)

    2. EK3_SRC1_VELXY = 3 (Primary horizontal velocity from GPS)

    3. EK3_SRC1_POSZ = 1 (Primary vertical position from barometer)

    4. EK3_SRC1_VELZ = 3 (Primary vertical velocity from GPS)

    5. EK3_SRC1_YAW = 1 (Primary yaw/heading from compass)

    6. SECONDARY SENSOR SOURCE????

    7. EK3_SRC2_ POSXY = 6 (Secondary horizontal position from External Nav)

    8. EK3_SRC2_VELXY = 6 (Secondary horizontal velocity from External Nav)

    9. EK3_SRC2_POSZ = 1 (Secondary vertical position from barometer)

    10. EK3_SRC2_VELZ = 6 (Secondary vertical velocity from External Nav)

    11. EK3_SRC2_YAW = 6 (Secondary yaw/heading from External Nav)

    12. Ensure the fusing of all velocities are disabled by unchecking the EK3_SRC_OPTIONS parameter's "FuseAlIVelocities" bit:

  3. BENCH TEST (use the auxiliary switch to manually switch between sources)

    1. Connect with a ground station

    2. After switching modes, confirm status via Data Screen messages tab → should be a message

    3. Wait 10 seconds to confirm that EKF stays healthy

      1. EKF label on the HUD should remain white in Mission Planner

    4. Check the vehicle's horizontal position, altitude and heading using the ground station. (what to look for?)

  1. Hover in Loiter mode (>10m)

< etc >

  1. Begin opflow calibration

    1. Pull the auxiliary switch high to start the calibration

    2. Rock the vehicle back and forth in both roll and pitch

  • Check the GCS "Messages" tab for output confirming the calibration is complete

  • FLOW_FXSCALAR and FLOW_FYSCALAR values between -200 to +200 is good

    • FlowCal: Started
      FlowCal: x:0% y:0%
      FlowCal: x:66% y:6%
      FlowCal: x:100% y:74%
      FlowCal: samples collected
      FlowCal: scalarx:0.976 fit: 0.10   <-- lower "fit" values are better
      FlowCal: scalary:0.858 fit: 0.04
      FlowCal: FLOW_FXSCALER=30.00000, FLOW_FYSCALER=171.0000

  1. Use Opflow (Land if GPS/Non-GPS transitions not set up)

If GPS/Non-GPS transitions not set up:

  1. Land the vehicle and setup the EKF3 to use OpticalFlow

    1. EK3_SRC1_POSXY = 0 (None)

    2. EK3_SRC1_VELXY = 5 (Optical Flow)

    3. EK3_SRC1_POSZ = 1 (Baro)

    4. EK3_SRC1_VELZ = 0 (None)

    5. EK3_SRC1_YAW = 1 (Compass)

    6. EK3_SRC_OPTIONS = 0 (Disable FuseAlIVelocities)

  2. Fly the vehicle again to check performance

    1. What are we looking for and what mode?

If GPS/Non-GPS transitions are set up:

  1. SET UP BELOW PARAMETERS PRIOR TO INITIAL TAKEOFF?

    1. RC6_OPTION = 158 (Optflow Calibration)

    2. RC7_OPTION = 90 (EKF Pos Source) low is GPS, middle is OpticalFlow, high is unused

    3. EK3_SRC1_POSXY = 3 (GPS)

    4. EK3_SRC1_POSZ = 1 (Baro)

    5. EK3_SRC1_VELXY = 3 (GPS)

    6. EK3_SRC1_VELZ = 3 (GPS)

    7. EK3_SRC1_YAW = 1 (Compass)

    8. EK3_SRC2_POSXY = 0 (None)

    9. EK3_SRC2_VELXY = 5 (Optical Flow)

    10. EK3_SRC2_POSZ = 1 (Baro)

    11. EK3_SRC2_VELZ = 0 (None)

    12. EK3_SRC2_YAW = 1 (Compass)

    13. EK3_SRC_OPTIONS = 0 (Disable FuseAlIVelocities)

  2. Engage the calibration using RC input 6 (a 2-position switch) and switch between GPS and Optical.

  1. Check lidar calibration?

  1. Review test data?

 Card 2: Tracking Antenna Validation

Test #1: straight passes. PEGASUS or HOUSTON

Procedure

Goals / Objectives

Knockoff criteria

  1. Hover altitude 5m in loiter.

  • Verify antenna is able to point towards the drone

< list of reasons why you would want to stop the test >

  1. Translation motion:

Move in periodic squares moving away from the tracking antenna.

  • Ensure that the tracking antenna remains pointed at the drone

  • tracking antenna loses track on the drone

    • Hover in place and wait.

  1. Translation movement towards extremes of tracking antenna

  • Ensure the tracking antenna continues to function when recovering from extremes

  • Tracking antenna seizes

    • Restart tracking antenna, analyze data, and try again.

 Card 3: Houston obstacle avoidance

Test #1: Stab mode Lidar Verification

Procedure

Goals / Objectives

Knockoff criteria

  1. Takeoff and hover in STAB 1.5-2m AGL. Verify controls.

  • Verify pitch/roll/yaw directions are correct.

  • Verify that Gemini functionality is retained.

  • Verify that flight modes & flight time is correct.

  • Pitch/Roll/Yaw incorrect

    • land, flip in mission planner, re-start test

  • Drone de-stabilizes.

    • Land, evaluate tune, re-start test

  1. Translational movement @ slow speed towards vertical wall

  • Ensure that the proximity sensor is able to detect a wall.

  • contact with the wall

    • back-off and land. Evaluate prop health. Re-start if possible.

  • Loss of heading reference

    • back-off , re-establish, continue.

  1. Maintain desired distance from the wall while spinning heading vector 360

  • Ensure that proximity continues to track at all angles

  1. Approaches from front/side/rear ascending & descending.

  • Basic characterization of obstacle avoidance properties.

Test #2: Loit mode Obstacle Avoidance

Procedure

Goals / Objectives

Knockoff criteria

  1. Takeoff and hover in Loit mode 1.5-2m AGL. Verify controls.

  • Verify pitch/roll/yaw directions are correct.

  • Verify that Gemini functionality is retained.

  • Verify that flight modes & flight time is correct.

  • Pitch/Roll/Yaw incorrect

    • land, flip in mission planner, re-start test

  • Drone de-stabilizes.

    • Land, evaluate tune, re-start test

  1. Translational movement @ slow speed towards vertical wall

  • Ensure that the proximity sensor is able to detect a wall.

  • Ensure that the drone does not move closer nearer to the wall.

  • contact with the wall

    • back-off and land. Evaluate prop health. Re-start if possible.

  • Loss of heading reference

    • back-off , re-establish, continue.

  • Obstacle avoidance malfunction

    • Back-off, re-attempt.

    • If same behaviour, land and evaluate settings.

    • Continue test if possible

  • Loss of drone handling?

    • land if possible , dis-arm, re-attempt & slower speed.

  1. Maintain desired distance from the wall while spinning heading vector 360

  • Ensure that obstacle avoidance continues to track and function at all expected angles.

  1. Approaches from front/side/rear ascending & descending.

  • Ensure that obstacle avoidance continues to track & function at all expected angles.

Test #3: Auto Mission obstacle avoidance

Procedure

Goals / Objectives

Knockoff criteria

  1. Setup an auto mission which passes through an “obstacle”

  • Have a flight path.

  • Path doesn’t generate GG

  1. Set mission to AUTO, takeoff and fly!

  • Ensure obstacle avoidance continues to function!

  • drone does not avoid obstacle

    • Re-take control in stab. Back-away and attempt to re-start.

  • Drone de-stabilizes

    • Re-take control in stab. Back-away and attempt to re-start.

  1. Upon reaching end waypoint, RTL

  • Ensure obstacle avoidance functions in RTL

Test #4: Gemini Range Houston

Procedure

Goals / Objectives

Knockoff criteria

  1. Takeoff and land close range

  • Have a flight path

  • Check short range behaviour

  • Strange error

  • Gemini not work

  1. Takeoff and fly further until (1) no longer feels safe, (2) something funny happens

  • Have a flight path

  • Check long range behavior

''

Necessary Preparation

Explain what capacity you need, what needs to be mounted, etc.

Mechanical

  • Pegasus cleared to fly (mechanically)
    • sensor mount ready
    • Motors + frame rigid
  • Houston cleared to fly (mechanically)
    • sensor mount attached
    • arms + plates rigid

Electrical

  • Pegasus cleared to fly (electrically)
    • harnessing secure
  • Houston cleared to fly
    • Harnessing secure
    • ELRS RX’s secure.

Embedded Flight Software

  • Pegasus Ardupilot Configuration ready
    • Opflow → Offsets correct, usage correct ? (EKF3?)
    • Lidar → Offsets correct, usage correct? Height limits set?
  • Houston Ardupilot Configuration ready
    • Failsafes configured (Radio, GCS, Battery, ETC?)
    • 360 Lidar → Configured, ground tested. Distances set properly?
  • Test area SME available
    • Test procedure is clear → Houston & Pegasus
    • Possible deviations from test understood and considered → Houston & Pegasus
  • Software ground tested
    • Ground tests complete on all airframes (on battery over telemetry)
  • Tracking Antenna
    • Tested ? SME ready?
  • ELRS / Radio management correct.
    • ELRS rx’s on houston & pegasus. → Clear unique models.
    • ELRS Airport on houston → Verify functioning.
    • RFD900x on Pegasus → Verify functioning
    • ELRS Trainer → Verify functioning

Autonomy

  • LTE telemetry ready (question)

🫂 Attendees

This is a section for all attendees from your subteam which will be present for this flight test. (because they are testing their products, or otherwise)

 Vehicle Bookings
image-20240125-155241.pngimage-20240125-155246.png

Name

Phone # (opt)

Sub-team

Driving (question)

Role

Anthony Luo

Director

Y - 5pass SUV

Megan Spee

Director

5-person liftback

Nathan Green

Mechanical

3-277 Dodge Grand Caravan

Ryan Chan

Mechanical

Sam Zhang

EFS

Tim Gu

EFS

Georgia Vachon Westerlund

Ops

Yuchen Lin

EFS


This section and remaining to be filled out by FTC and Flightline Team

Flightline Team

Name

Phone #

Role

Reason

Megan Spee

Pilot

;/

Anthony Luo

Pilot

Pre-Flight Preparation

Checklists

Incident Procedures

⏲️ Flight Test Timeline

Date/Time

Action

Notes

0700

Start charging batteries

4x 6s 5000mah (pegasus)

3x 3s 4000mah (houston)

0800

Begin checklists

0900

Briefing @ WARG Bay

0930

Begin loading vehicles

1000

Arrival at Flight Test Location

1030

Flight Test Card #1 + 2: Opflow calib.

1030

Flight Test Card #3: Houston obstacle avoidance

1200

Packup

1230

Lunch

1300

Debrief

<>


💻 DEBRIEF

Logs:

https://uofwaterloo-my.sharepoint.com/:f:/g/personal/uwarg_uwaterloo_ca/Erxhk4C9AyFKg7gImOuG8osBZL979RM3SIL3OCnDskOkNA?e=uNZ5ph

Media:

https://uofwaterloo-my.sharepoint.com/:f:/g/personal/uwarg_uwaterloo_ca/EnY_jjQ-qNxBvzZG8dXqsmcBWxHpaoz841fN5Z3HShZSRA?e=zyI504

Actual Timeline Recap

Time

Activity

Notes

0700

Battery Charging Began

0905

Briefing began

0945

Battery Charging finished

1000

Left the bay

3 vehicles

1015

Arrived WrestRC

Field was covered in slush/pooled water. Only one dry track

1032-1034

Pegasus OpFlow Calibration (1-1)

Log file 50.BIN

1042-1043

Pegasus Loiter - GPS Handling (1-X)

Log file 51.BIN

1047-1047

Pegasus Loiter - OpFlow Handling (1-X)

Log file 51.BIN

1051

Houston proximity test (3-1)

Log file 70.BIN

Batt #1

1059

Pegasus Autotune (X-X)

Log file 53.BIN

1110-1112

Houston Auto Mission (3-3) Attempt #1.

Log file 71.BIN

Unsuccessful - spun in circles trying to avoid the obstacle

Batt #2

11:15:15-11:15:45

Houston Auto Mission (3-3) Attempt #2

Log file 71.BIN

Unsuccessful - disarmed prematurely.

Batt #2

11:45

multi-drone photo

11:50:33 - 11:54:50

Houston Auto Mission (3-3) Attempt #3

Log file 73.BIN

Unsuccessful - Altitude too high

11:57:20 - 1159:51

Houston Auto Mission (3-3) Attempt #4

Log file 73.BIN

Unsuccessful - Got stuck in turn-around due to embankment being detected as an obstacle.

12:04:15 - 12:14:27

Houston Auto Mission (3-3) Attempt #5

Log file 74.BIN

Successful - passed obstacle after 4 attempts.

Had a very hard unscheduled, uncontrolled, rapid descent.

  • OPFlow was calibrated, EKF Transitions were tested (Card #1 Complete ✅ )

    • Pegasus not damaged.

  • Houston Obstacle Avoidance verified both in Loiter and in Auto missions (Card #3 Complete ✅ )

    • Landing gear & houston was kept in-tact despite multiple hard landings / failsafes

    • Lidar not broken and continues to function

  • RFD900x was swapped from Pegasus to Houston very quickly.

    • ELRS did not have the necessary air-data rate.

  • Pink controller worked

    • Models were copied day of

  • Media gathered

  • Pilot practice is good

  • We left on time, didn’t forget anything

  • Obstacle avoidance took multiple attempts to pass obsttacle (Card #3)

  • Pegasus vibrating large amounts pre-takeoff on arm.

  • Pegasus controls were not great

    • Huge amounts of Yaw overhsoot → disappeared after autotune.

    • GPS Loiter not very accurate - huge amounts of slip when stick-centered before drone attempts to stop motion.

    • Baro/Altitude solution not very accurate - noticed huge altitude drops when in transaltional motion. Automatic recovery when stopped.

  • Houston GPS Loiter not very accurate

    • Multiple meters of drift, no optical flow.

  • Arm switch on pink controller bit close to the mode switch (in Megan Spee opinion)

    • Models were copied from Blue controller to pink Controller before flight test & without pilot checks.

  • didn’t note down total flight times or battery voltages post-flight

    • Total flight times recorded on controller, but not noted.

    • Takeoff times not recorded.

    • Battery voltages not recorded.

  • Auxiliary video/FPV drones around works for media but was distracting/ interfered with the tests

    • being within yelling range helped: could tell people to back off

  • TBS Crossfire consistently transmitting at 500-1000mW.

    • Likely due to RFD900 + TBS Crossfire being on the same frequency and very near each other.

  • Tracking antenna was not tested (Card #2)

    • Was not ready before the flight test

  • Gemini was not tested

    • Was barely ready before the flight test, ran out of battery on Houston.

  • Houston experienced a rapid un-controlled descent from ~ 40m

    • Likely a battery FS

    • Houston batteries ran down to 7.6v under load - 10.4 V after recovery

  • Pegasus EKF failures when doing GPS/Non-GPS transitions using RC7 as 90.

  • LTE connection was dropped at some point (multi-drone photo).

    • could not fly after this.

Analysis

All log files are available in onedrive, see section above. On Average, ELRS Performance was awesome, while TBS Crossfire was typically transmitting at close to max power, likely due to interference from the RFD900 on the same frequency.

Pegasus Flight(s)

All Pegasus missions were run using LTE, which later failed to connect when attempting the multi-drone photo. It was impossible to takeoff in EKFPosSource MIDDLE, and we only took off in EKFPosSourceLow (GPS mode). Initial YAW tuning on pegasus was quite bad (lots of overshoot), but auto-tuning was able to correct this.

Pegasus did have issues maintaining altitude during transition - it tended to drop ~1m in altitude in translational movement, and had a tendency to level off + continue sliding once the stick returned to center.

The deadzone for takeoff + landing throttle on Pegasus is also significantly larger (read: harsher landing + takeoff) compared to Vanny or Icarus.

Autotune

image-20240127-224127.pngimage-20240127-224243.pngimage-20240127-224315.png

FlowCAL + GPS/non-gps transition

image-20240127-222706.png
  • Flow calibration worked as expected

image-20240127-222736.pngimage-20240127-222848.png

EKF Failures:

  • 10:34:18 : EKFPosSource set to MIDDLE

  • 10:34:33 : EKF3 IMU0 stopped aiding

  • 10:34:33 : EKF3 IMU1 stopped aiding

  • 10:34:33 : EKF3 lane switch 1

  • 10:34:33 : EKF Primary Changed: 1

  • 10:34:33 EKF variance

  • 10:34:33 : EKF Failsafe: changed to land

image-20240127-223131.png
  • once landed, all failsafes cleared & position was set back to middle.

  • Position estimate / IMU2 was still able to provide level landing assistance.

Loiter GPS aided flight

image-20240127-223429.png
  • estimated position looks good

  • No harsh events

Non-gps aided loiter attempt

image-20240127-223735.png
  • took-off around 10:47:12 - landed around 10:47:42

  • Flight path looks good, position estimates were continually given.

  • EKF IMU stopped aiding messages were given at 10:47:34

  • EKF Failsafe at 10:47:35.

  • Had a few seconds of non-gps aided flight? Not sure why the failsafe occured.

Houston Auto Mission(s)

Ran a total of 5 Auto missions attempts, eventually successful in pathing around the object.

4 Batteries were used, and OA distances were adjusted as follows during the FT:

  • OA_Type: Dijkstra with BendyRuler → BendyRuler

  • OA_MARGIN_MAX: 5m

  • OA_BR_LOOKAHEAD: 15m → 10m

  • AVOID_ACCEL_MAX: 0

  • AVOID_BEHAVE: 1

  • AVOID_DIST_MAX: 5m

  • AVOID_MARGIN: 2m

Attempt #1

image-20240127-212654.png
  • Houston was successful in not colliding with an object in the direct flight path.

  • Houston was unable to successfully path around the object and loitered in circles.

  • Mission was ended by the PIC.

Attempt #2

image-20240127-213116.png
  • Path was updated to move houston further away from the building on waypoints #3 and #4.

  • Houston successfully avoided a light-post, but was disarmed pre-maturely when PIC wanted to switch to Stab (SB) and accidentally hit Disarm (SA). The drone dropped from an altitude of around 8 meters, no damage.

image-20240127-213714.png
  • Orange is 45 degree sector, and green is 90 degre sector.

  • Notice that the MIN from 45 & 90 is 15 meters (This was the configured OA_BR_LOOKAHEAD).

    • This may not be correct - the physical distance from the pole was significantly less (visual estimate 1-2m upper end)

Attempt #3

image-20240127-221645.png
  • Houston over-flew the building. Auto mission altitude was set to 5m, and was too high.

Attempt #4

image-20240127-221743.png
  • HSTN got stuck since it detected the embankment as an obj.

image-20240127-221915.png

Attempt #5

image-20240127-222133.png
  • Houston took multiple attempts to navigate around the obstacle.

  • Possible to see proximity sensors pinging off the obstacle and reporting closer values as houston navigates around?


Next-Steps

  • Update & clarify transmitter mappings, common channels, etc. for all drones.

    • arm/disarm sequences, mode channels, aux functions, telemetry logging, etc.

  • Test gemini, tracking-antenna

  • Remember to note down takeoff & landing times of all drones (at least total FT)

  • Remember to have videos of drones during FT’s.

  • Evaluate Pegasus tune.

  • Evaluate operation under GPS failures.

  • Come up with plan to optimize obstacle detection

Action items for next flight test

  • Try to fix this by recalibrating accelerometer at start of next flight test

  • No labels