A2 Problems Catalogue

gtranquilla

RadioActive
Any chance you could share a photo of that? I also used Kyosho Zeal tape under a NAZA controller on a Flamewheel 550 briefly for troubleshooting hard to eliminate motor vibration issues and it worked fine.


Whilst not that heavy the IMU does have a certain mass, so you would want to guard against it being able to flop about. If the little dampers on those isolating platforms are too soft that is what could happen. I do not use DJI recommended double backed tape. It is far too thin and does absolutely nothing to shield the IMU sensors. I use Kyosho green gel (two 10-15mm strips, not a whole slab) with a small Hook&Loop security strap that also inhibits any large movement of the IMU. It's worked so far.
 

R_Lefebvre

Arducopter Developer
That is really interesting.

I just ordered an IMU vibration isolation mount - one of these: http://www.readymade3d.com/anti-vibration-mounts - because of something funky happening with the suability in certain conditions. I was thinking some kind of standing wave in the frame.

Anyone using something like this?


Yeah, I'd be careful using those with your A2 IMU, which I believe is basically like a cube? They could make the problem much worse. I think this is the reason that DJI recommends not doing external vibration damping, because people can tend to get it very wrong and make the situation much worse. That being said, when you get it right, it does work very well. I'm quite good at design anti-vibe mounts, but it's as much art as science.
 

Random spikes on throttle if A2 ia used with 2 DSM2 satellites

When doing my first test flights with A2 mounted on S800 frame I noticed a weird sound - every now and then the motor sound changed for a moment.

Then I explored the iOSD logs and noticed the following phenomena.

There are random spikes (usually just 1 data point, sometimes 2) in the throttle signal, and after the spike the throttle signal returns to its previous level.

No other channel is affected, just throttle.

It does not matter if the motors are switched on or not or even if the motors have power connected - I see the disturbance also after disconnecting the battery from motors and running the electronics alone.

I have a Spektrum DX8 transmitter and two Spektrum DSM2 satellites SPM9546 connected to the A2.

Switching the satellites with each other has no effect.

When I disconnect one of the satellites (it does not matter which) the disturbance disappears, I have been able to observe this only when both satellites are connected.

Although the moment of the spike is random, it's level is not. The erroneous level has extremely good correlation to the correct level (the data points before and after the spike) - if the difference between correct levels is 1000 (in DJI units), the difference between corresponding incorrect levels is 2000.

All of this makes me think A2 is doing something wrong occasioanlly when interpreting the input from satellite receivers. It cannot be TX or one of the satellites. And whatever random noise should not produce a disturbance with well predictable level.

Sent a question about this to DJI more than an month ago, but haven't got an answer yet. Hopefully they are fixing this for the next firmware. Or maybe not.

So at the moment I fly with just one receiver connected.
 


jdennings

Member
Snurre,

That seems like a good info find to me. Yes doubling up on the sensors might help but seems overly complex.
The anti-aliasing concept is still a bit vague too. Hope someone can explain it better.

About that anti-aliasing ... The issue is that when the imu vibrates, (and it always does, it's just a matter of how much and in what way), the vibrations may happen to have peaks at the same frequency as the sampling frequency of the FC. So let's say the FC samples the imu at 1000 Hz in a case where you are flying stable and actually have very little acceleration. If some vibration peaks happen to also be at 1000Hz these will add up and the FC will be reading from the IMU the sum of both the actual accelerations and the vibration component, which will be seen as a DC constant offset. So the FC will now "think" that you have a different acceleration than actual , maybe steady and potentially large when it's actually not the case. And it will incorrecly command the copter to move in an unintended way. And in a very worse case scenario, possible crash or flyaway. Put another way in a simple scenario: you are hovering, the copter is standing still, you are commanding it to stand still. Yet the the FC sees constant acceleration due to the vibrations that peak at exactly the sampling frequency. So the FC incorrectly thinks the copter is moving, and will send commands to counter the spurious reported acceleration, which can result in unwanted moving when actually the opposite is desired.

In this vibration case a sampling at 800Hz would not erroneously introduce a steady offset seen by the FC, as the 1000Hz peaks would not be seen at that sampling frequency. No "bias" in that case, the FC would just see random noise easily eliminated by existing filters. So the idea is to have two IMUS with different sampling frequencies to avoid vibration induced havoc, as the probability that vibrations peak at two different and close frequencies is very low. With two different imus sampled at different frequencies, if one of them reports inconsistent data, switch to the other one.

This sort of vibration issues may be solved with things like moongel, kyosho zeal or the like, but in these cases it's a one-off thing depending on your particular copter, imu mounting, prop and motor induced vibrations, frame config, etc .. Two imu polled at different frequencies makes the solution more universal and independent of individual specific circumstances.

Hmm ... hope this helps ...
 
Last edited by a moderator:


soler

Member
So how difficult would it be to make a change to the firmware that created a rolling sample rate i.e 700Hz, 800Hz, 900Hz, 1000Hz, 700Hz,.... and would that address the issue.
 

R_Lefebvre

Arducopter Developer
soler, I can't speak for DJI's system, but I for the sensors we use, I believe the hardware sample rate can only be set at bootup. But assuming that isn't the case, could we adjust the sample rate to "hunt" for a non-aliasing filter rate.... it's an interesting idea, but I've never heard of it before. (And I do know a fair amount about this stuff). Right off the bat, the question would be "how would a computer know that it is suffering aliasing, and be able to hunt for a better sample rate, if it only has a single sensor?" When it's aliasing, it doesn't know it's aliasing, so it wouldn't know to start hunting, nor would it know when it's found a non-aliasing frequency. It only has one sensor, so it has no way of knowing if it has "good" data or not.
 

soler

Member
soler, I can't speak for DJI's system, but I for the sensors we use, I believe the hardware sample rate can only be set at bootup. But assuming that isn't the case, could we adjust the sample rate to "hunt" for a non-aliasing filter rate.... it's an interesting idea, but I've never heard of it before. (And I do know a fair amount about this stuff). Right off the bat, the question would be "how would a computer know that it is suffering aliasing, and be able to hunt for a better sample rate, if it only has a single sensor?" When it's aliasing, it doesn't know it's aliasing, so it wouldn't know to start hunting, nor would it know when it's found a non-aliasing frequency. It only has one sensor, so it has no way of knowing if it has "good" data or not.

Hi, The idea was not to search for a non resonating frequency. but more to mitigate it. I suspect that if it is sampling at 1000hz it will average the last n readings to take action, if this was sampled at varying frequencies then I would expect that these results to be unaffected by the resonance. The system would either rule out the resonating frequencies or after averaging these they would be negotiable. the down side is having different sample rates would increase the possibilities that the system stubbled on to one.

I get what you mean about changing the samples rates, even if this was set by a timer i am not sure that this can be changed quickly enough, however if you take apart the IMU on the A2 (not that I recommend it) the sensors are arranged in a cube fashion so there is at least 6, how the IMU interprets this data i have no idea.
 

ChrisViperM

Active Member
But wouldn't it be much easier to have a clever dampening system that filters out just that "dangerous" frequencies.....?


Chris
 

soler

Member
With problems like this I wish that DJI would at least provide a statement if there units could be effected by this or not. If any testing has been done to support this theory.


Did APC ever get his A2 working again??


But wouldn't it be much easier to have a clever dampening system that filters out just that "dangerous" frequencies.....?


Chris
 

R_Lefebvre

Arducopter Developer
Well, *any* system can be affected by this, so no need to wait for DJI to answer. The question should be "is this the cause of these problems?" The test that was done where the person played back the sound file on a shaker table and the system misbehaved is pretty good evidence it is causing a problem.
 

soler

Member
Any advice or suggestions on how to move forward, Either DJI addresses this in there firmware or hardware (most likely requesting buyer to pushes an upgrade) or we experiment to dampen out the vibrations.
 

gtranquilla

RadioActive
I don't think it would be possible to filter out a "dangerous" frequency, i.e., add a notch filter, because filtering it out entirely would cause the FC to fly the MR blind at that particular frequency.


But wouldn't it be much easier to have a clever dampening system that filters out just that "dangerous" frequencies.....?


Chris
 


gtranquilla

RadioActive
So far, the best anti-vibration/isolation system I have seen IMHO - is the DJI one used for the WKM on the older S800.
It is shock absorbers in a clever "floating/suspended" mechanical assembly that both dampens and isolates.
http://www.aerialtechnology.com/shop/dji-s800-vibration-absorber-kit/

I was more thinking of filtering the "external" frequencies by some clever dampening material. Every dampening material in industrial applications is geared to filter very specific vibrations, as actually all filtering material (like double sided tape) is only efficient within a certain frequency bracket and pretty useless outside this bracket....

http://www.earsc.com/pdfs/engineering/understandingdamping.pdf


Chris
 

gtranquilla

RadioActive
You are correct. The challenge is to dampen and/or isolate in 3 axes.... but also to do it with all conceivable frequencies that might occur. The best I have seen so far and worked well for me was the DJI anti-vibe kit as used on the S-800 to resolve issues with the WKM.
It uses a clever floatation/suspension system to the the best out of the four installed shock absorbers.
http://www.aerialtechnology.com/shop/dji-s800-vibration-absorber-kit/

I was more thinking of filtering the "external" frequencies by some clever dampening material. Every dampening material in industrial applications is geared to filter very specific vibrations, as actually all filtering material (like double sided tape) is only efficient within a certain frequency bracket and pretty useless outside this bracket....

http://www.earsc.com/pdfs/engineering/understandingdamping.pdf


Chris
 

jdennings

Member
What also make this problem hard is that it is very dependent on individual set-ups and external environment conditions. It could very well be that given one particular copter one could fly hundreds of flight just fine, only to run into this just once, say when wind is exactly at 2.453 m/s, at 132.3 degrees relative to copter front, and you are carrying 1.45 kg payload .. . (To caricature ...). Sort of reminds me of an issue found a while back on ardupilot with uncovered baros on the FC, it turned out that if you were flying in extremely specific conditions where the sun was hitting the FC just right from a very particular angle the baro and reported altitude would go haywire ... Very small chance but on 100,000's of flights it's going to happen ...

With respect to vibrations the problem is compounded by the fact that it's hard to test for this things. Good logging helps but it often falls short as your need logging data at very high sampling rates to get a good picture of vibrations, and this is not available. On top of that one can easily get into a sort of Heisenberg-ish situation where testing is going to affect observations. I actually played a while back with a little gizmo that one could attach to a copter that can report vibrations at about (still not enough) 500hz max, (sort of small equivalent of attaching a smartphone with a vibration logging app), with post software that does an FFT that shows you general behavior. This was more to get an idea of vibrations that could affect filming, but I never went far with it due to time constaints and put that project on hold when I got low vibrations and jello free video with good damping/isolation ... I suspect that with more fc power and faster processing in the future, and proper lab and research attention this problem will eventually be solved, or at least well understood and better mitigated, (after all it already is to some extent ...) but this will take some significant resources ...

I am fairly certain that DJI is well aware of this sort of challenge, in fact I think I remember some firmare revs of wkm that sort of went back and forth on how to mount the imu, damped or undamped. But who knows what this revs were addressing ... And given closed source and "back-box" design, there's just no way of knowing how they deal with this to this date. (The closest I think someone got to seeing what's inside is Timecop over at *** some time ago, who x-rayed a wkm (or was it a naza?). Gave some insight as to the sort of physical things inside, but won't go far at all on this particular issue ... At the end of the day the problem seems to be that designing a one-size fits all FC with limited parameter setting is just very hard, if not impossible ... How DJI looks at this now is a mystery, it depends on the sort of imu built-in filtering they use, their own fusion sensor filtering on top, etc ... Extended Kalman Filters or the like can do wonders yet they are not without limits ...
 

DennyR

Active Member
In my experience the biggest influence on model stabilisation comes from the secondary mass movement. i.e. the gimbal assy. There is no point in discussing frequency filtering because that equates to a reduction in the sensor output and the frequency is so slow that you won't have any sensible volume left. The stability in high wind comes from fast rpm response and the highest gain before oscillation. Couple that to the maximum reduction in camera mass and you get a system like that used in the Phantom 2+ where the camera consists of a lens and imaging sensor whilst placing the rest of the camera external to the gimbal mechanism. I have a couple of these with the Rage 5.4 lens mod. The stability of this gimbal is just about perfect even when the model is flying in conditions that would ground almost everything else out there. The A2 in a S900/ BMCC is also pretty good IMHO.
On larger models such as single rotor helis. the damping rubbers can easily lead to a rudder induced self destruction oscillation which can be induced or removed completely by simply changing the head speed idle-up setting. So whether you are mechanically dampening the system or electronically, the fact remains that reducing the secondary mass inertia is the first objective. Every full size mil spec. gimbal uses a reduced weight imaging system with the bulk of the camera and recording system external.
 
Last edited by a moderator:

R_Lefebvre

Arducopter Developer
To the contrary, in our experience, effective vibration filtering (both mechanical and electronic) is key to good flight performance. Lots of people like to talk about high frequency control, but they would be surprised if they actually tested this as they would find that the response bandwidth of the system is only around 10-20Hz, with 50Hz being the upper limit for very small machines. There is absolutely no need to subject the control loops to 400+ Hz vibration.
 

Top