Project Quiver Obstacle Avoidance Testing Roadmap

This thread defines the roadmap for flight tests focused on Object Avoidance (OA) and tracks progress as parameters and results evolve.

The goal is to validate that the system performs reliably in both dense and open environments, and that safety behavior is consistent across all operating conditions.

Sensors Used in Object Avoidance

Project Quiver is currently equipped with the following sensors (subject to change as integration continues):

  • RPLidar S2L β€” 360Β° top-mounted LiDAR (primary proximity sensor)
    Range: up to 18 m
    Purpose: horizontal obstacle detection and avoidance path planning (BendyRuler).
  • NanoRadar MR82 β€” forward-facing radar
    Range: up to 30 m
    Purpose: forward obstacle detection in poor visibility (rain/dust).
  • Altimeter (Barometer + Rangefinder)
    Purpose: precise altitude control during low-altitude navigation and landing.

Phase 1 β€” Sensor and Alignment Checks

Suggested site: Texas (open field) or any wide area with no obstacles..

  1. Take off to 8–10 m AGL in Loiter mode.

  2. Slowly yaw 360Β° while watching PRX[2].CAn and CDis in real-time.

  3. Have a person walk around the drone with a board or reflective object at 6–10 m distance.

  4. Verify smooth sensor readings and correct alignment.

Success Criteria:

  • Sensor angles move smoothly with no large jumps.

  • Forward alignment is within Β±5Β°.

  • No false detections or blind sectors.

Phase 2 β€” Simple Avoidance (Manual Control)

Suggested site: Texas (open field).

This phase focuses on Simple Avoidance behavior under manual control to ensure that the drone brakes or slides away from nearby obstacles correctly.

Test 2.1 – Single Obstacle Circling

  • Place one barrel or pole as an obstacle.

  • Fly slow circles and figure-8 patterns around it at 8–12 m AGL.

  • Adjust AVOID_MARGIN and AVOID_BEHAVE (Brake or Slide).

Success Criteria:

  • The drone never enters closer than the avoidance margin (Β±1 m).

  • No full stops longer than 2 seconds.

  • The pilot feels a consistent β€œpush back” when near the obstacle.

Test 2.2 – Stick Disturbance

Suggested site: Texas (open field).

  • A person uses a padded 2–3 m stick to approach the drone slowly from different directions while the pilot holds steady hover.

  • Repeat from front, sides, and rear while giving slight control inputs.

  • Tune parameters for the most natural and safe avoidance response.

Goal:

Establish the Texas Baseline v1 parameter set that provides smooth, predictable avoidance.

Success Criteria:

  • No contact between drone and stick.

  • Minimum separation β‰₯ AVOID_MARGIN – 1 m.

  • No erratic oscillations or sudden jerks.

  • Behavior feels consistent from all directions.

Test 2.3 – Narrow Gate Maneuver

  • Create a narrow gate using two obstacles spaced 10 m apart.

  • The pilot manually flies through the gap repeatedly using Loiter or AltHold with OA active.

  • Evaluate OA reaction near tight spaces.

Success Criteria:

  • The drone adjusts smoothly without abrupt braking.

  • At least 90–95% of passes are successful without pilot intervention.

Test 2.4 – Payload Impact (Brush-Bullet)

  • Repeat Stick Disturbance and Gate Maneuver with the payload attached (full and discharged).

  • Observe any change in behavior or sensor readings.

Success Criteria:

  • OA performance remains consistent.

  • LiDAR data remains stable during and after discharge.

Phase 3 β€” AUTO Missions

Suggested site: Texas (open field).

Once the manual tests are completed and the Texas Baseline is established, move to basic AUTO missions to verify OA response in autonomous flight.

Test 3.1 – Single Obstacle AUTO Mission

  • Create a simple AUTO mission with 2 waypoints

  • Place one obstacle midway along the path.

  • Fly AUTO with OA active.

Success Criteria:

  • The drone detects and smoothly detours around the obstacle.

  • No sharp yaw changes (>120Β°/s) or stalls (>2 s).

  • Minimum distance β‰₯ 4 m.

Test 3.2 – Two-Obstacle Gate

  • Build a two-gate scenario (10 m wide openings).

  • AUTO mission passes through both gates.

Success Criteria:

  • Mission completion rate β‰₯ 95%.

  • Time overhead ≀ +40% compared to obstacle-free run.

  • Path curvature remains smooth and stable.

Test 3.3 – Wind and Gusts (Optional)

  • Repeat the single-obstacle AUTO mission in 5–8 m/s winds.

    Success Criteria:

  • OA still functions correctly.

  • No unsafe oscillations or margin violations.

Phase 4 β€” Dense Environment Validation

Suggested site: Germany (tree-dense site).

After confirming good behavior in Texas, apply the Texas Baseline v1 parameters directly to the Germany site.

  1. Start with short Loiter hover and slow orbits between trees.

  2. Repeat Manual Obstacle Circling and Gate Maneuver inside natural tree gaps.

  3. Observe sensor consistency and OA stability.

  4. Test with payload (full and discharged).

  5. Set failsafes as SmartRTL.

Success Criteria:

  • The same safety margins and stability achieved in Texas.

  • No false detections or unwanted oscillations in cluttered returns.

  • Stable landing in home within Β±1.5 m.

Pass Criteria (Overall Program)

  • No contact with obstacles or stick
  • Minimum separation β‰₯ AVOID_MARGIN βˆ’ 1 m
  • β‰₯ 95% success rate for AUTO missions
  • Optional testing: test in different visibility scenarios (i.e. low light, fog, etc.)

Expected Outcomes

  • Establishment of Texas Baseline v1 parameter set for Simple Avoidance and AUTO modes.

  • Verified OA performance with payload attached and during discharge.

  • Successful adaptation of the same parameters to tree-dense conditions in Germany.

  • Documented, repeatable OA behavior for commercial readiness.

3 Likes

Thank you for preparing this! Seems like a solid plan.

This looks great! You can count me in for the Texas tests.

Current parameter set from Germany tunings:

OA_TYPE = 1
OA_MARGIN_MAX = 4
OA_DB_SIZE = 100
OA_DB_EXPIRE = 3
OA_DB_QUEUE_SIZE = 80
OA_DB_OUTPUT = 3
OA_DB_BEAM_WIDTH = 10
OA_DB_RADIUS_MIN = 0.2
OA_DB_DIST_MAX = 10
OA_DB_ALT_MIN = 0
OA_OPTIONS = 1
OA_BR_LOOKAHEAD = 12
OA_BR_CONT_RATIO = 1.2
OA_BR_CONT_ANGLE = 60
OA_BR_TYPE = 1

The margin value is deliberately set as low for being able to escape the tree-dense environment. In case of full speed missions, it may need to be increased. I’m still investigating the options for dynamic margin setting based on ground speed.

We will start isolated tests for finding the optimal set in Texas as soon as all sensors arrive.

In the meantime, to play around with the parameters in a safer manner I have set up a Software In the Loop simulation environment in my computer. I have used the same source code we are using in Germany, entered the physical dimensions (length, prop size, mass etc.) in order to have a quadcopter more resembling to Quiver. Also used the same gain and parameter set as we are using currently on Quiver.

Top LIDAR is simulated. The exact model is not present so SF45 is used but with the same limitations as Quiver’s top LIDAR.

The command for starting the simulation:

ArduCopter % ../Tools/autotest/sim_vehicle.py --map --console -A "--serial5=sim:sf45b --serial6=sim:obstacle"

Here are some screenshots from QGroundControl:

It is possible to add different fences/obstacles and see how changing parameters affect the behavior.

More updates coming soon once Texas tests start.

I will also upload the updated Ardupilot firmware for making S2L work and the downloadable firmware file to our GitHub repo.