Technical question about RangeFinder and cage

Hi all,

I’ve created a specific drone for indoor use, the drone is protected by a cage like a drone soccer like this

But in my case the drone isn’t “fixed” with the cage. The cage can turn around the drone. So my question is, if I put a downward RF sometimes during flight it would be possible that a cage branch pass in front of my RF for a very short time, so what will be the reaction of the drone in altHold ?

Because I supposed the EKF fused multiple data for altitude like accelerometer, baro and RF, so if I have just a suddenly change in RF value and no changes on my accelerometer and baro the copter will not take RF values ?

What is the cage made of?
Is it ferromagneric material?

No it’s a carbon cage, juste to wrap the drone like a drone soccer, but with a cage that can “turn”, I can roll against a wall.
I can draw a plan if you want to visualize the system

The picture is OK

Carbon is a conductor but generally when it is bounded with thermo plastic like in 3D print there is much less conductivity.

A rule of thumb often used for Faraday cages to prevent transmission is that the holes need to be no larger than 1/10 of the wavelength of the signal. So depending of the frequency the holes should be bigger than 2 cm for 2,4 ghz wich seems to be the case.

Best is to experiment in real conditions.

Yes the holes are bigger than 2cm, I believe from memory the smaller hole is a pentagon of 10cm. So for you there is no issue if I have a branch that pass in front of my RF ?
I’m just afraid to try and when a branch passes in front of my downward RF that my drone reacts badly and suddenly gains altitude to compensate for the small measure taken by my RF. :blush:

It wont stop the signal. At most it will slightly deflect it.

Not sure it is correct or not but I guess @simon1 said “RF” meaning “Range Finder”, not “Radio Frequency”. Just want to accelerate the discussion.

1 Like

Yes I’am talking about Range Finder not Radio frequency, I should have specified sorry :blush:

I think it is diffcult to say but there are 2 parameters that you may want to tune:

  1. RNGFND_FILT: Filter of the range finder data
  2. EK3_RNG_M_NSE and/or EK2_RNG_M_NSE: how noisy the range finder is so that the altitude controller will trust it
1 Like

The question I ask myself is when the branch will pass in front of my RangeFinder what will be the reaction of the drone ? Let’s imagine thaht I’m flyaing at 4m and suddently a branche pass in front of my RangeFinder, the distance meseaured by the RangeFinder will be 25cm (it will be always the same value), will my drone suddenly gain altitude to compensate for this measurement or not?

My first idea was to compile my owm version of ArduPilot and trust a rangefinder if the value is between RNGFNDx_MIN_CM and RNGFNDx_MAX_CM but parameters gave by @bigboy061293 is a good starting point

Or you can try this parameter that I forgot to mention in the previous post: RNGFNDX_GNDCLEAR where X is 1, 2, 3…

The Ardupilot just uses that range finder data when copter is higher than that parameter. Complete Parameter List — Copter documentation

1 Like

I think this is the good solution to use RNGFNDX_GNDCEAR @bigboy061293 I’ve just looked inside the source code and in AP_NavEKF3_Meseaurements.cpp inside readRangeFinder function I have

// limit the measured range to be no less than the on-ground range
rangeDataNew.rng = MAX(storedRngMeas[sensorIndex][midIndex],rngOnGnd);

This is exactly what I want :smiley: :smiley:

I would probably use 2 rangefinders, that way your very unlightly to have both blocked at the same time. but you should be fine with 1 as the baro can hold it between readings.

Lol … RF for RangeFinder and not Radio Frequency … you really got me. !! :joy::joy::joy:

Sonar might work in that case

Yep sorry I should have specified :sweat_smile: