I am using Ardupilot with XY sensors from FMA Copilot. I do not use a Z sensor. I mention that throttle is controlled directly from receiver (Ardupilot
does not control throttle). I have shield V2 installed but I selected not to use airspeed sensor for these initial tests.
I use the latest Ardupilot firmware (Ardupilot 2.7).
Yesterday was a sunny day. I was flying and stabilization and fly_by_wire modes worked perfect.
Today is a rainy day; the sky is covered by clouds. I wend to the same airfield and the stabilization/fly_by_wire doesn't seem to work anymore. I suspect the problem is represented by the thermopile's readings. I checked stabilzation on the ground and the elevons do not seem to move when I roll/pitch the airplane.
Probably one fix would be to get a Z sensor and use the entire setup with a Z sensor to do IR calibration on the fly for all-weather conditions. Since I do not have a Z sensor, what other fix do you recommend me to do? What should I change in the code (IR variables?) in order to make it work in cloudy days when the sky is covered almost entirely with clouds.
I checked the IR conditions with an FMA copilot and I get minimum of temperature difference allowed for one to fly with a FMA copilot (the temperature difference observed by the FMAcopilot is converted in elevons twisting during calibration process).
My calibration file has SET_RADIO_LIMITS 0 so I don't have to do any radio calibration. Without doing any radio calibration, can I still perform the IR calibration?
The manual is not very clear on when one can perform the IR calibration.
Please assume the following:
1.) start TX
2.) connect plane onboard battery- this starts the Ardupilot. BLUE LED starts to blink. In 5 seconds I get solid blue which means GPS lock.
Should I perform the calibration after or before the GPS lock?
If it is after the GPS lock, how does the Ardupilot know that I am doing the calibration? Shouldn't I inform somehow the Ardupilot that I am starting IR calibration?
Otherwise, wouldn't a long steep turn fool the Ardupilot into thinking that I am doing the calibration? In a step turn one pair of the thermopiles is looking almost straight into the sky while the other pair is looking straight into the ground. I can keep the plane in a step curve for 3-4 seconds...
Yes, if you don't have a Z sensor you HAVE to do a ground calibration before flying. It simply won't work otherwise.
It doesn't matter when you do it (before GPS lock or after). What you're doing is just setting the max and min IR levels in all four directions. That is also continually monitored in flight, but because regular flight typically doesn't point the lenses straight up, if you don't do it on the ground you will get only minimal stabilization effectiveness.
The following is what the manual says. What would you change to make it clearer?
"Using just XY thermopiles: If you don't have a Z sensor, you need to perform a field calibration. This is required with every flight because weather conditions can change quickly and the IR sensors looks for the temperature differential between the sky and ground. Once the calibration is performed, it is saved to memory in case the aircraft reboots in mid-air. Calibration can be performed anytime. Rotate the plane so each lens of the IR sensor points directly at the sky and ground for a few seconds."
On a sunny day I got very good stabilization without doing the calibration.
The problems (stabilization didn't work) appeared on the rainy, cold day with the sky covered entirely by clouds.
Today the sky is also covered by clouds. I will try calibration and report results here.
I would add to the text in the manual exactly what you said before: "It doesn't matter when you do it (before GPS lock or after). What you're doing is just setting the max and min IR levels in all four directions. That is also continually monitored in flight, but because regular flight typically doesn't point the lenses straight up, if you don't do it on the ground you will get only minimal stabilization effectiveness."
One more thing Chris- sorry for bothering with so many questions but these answers might be helpful for other persons as well.
Assume I do the calibration on the ground and the that MAX is 300 and MIN is 100.
Assume that during the 1 hour flight some of the sky gets covered with more clouds... now the MAX IR is 220 and the MIN IR is 110. Basically the new temperature differential is smaller than the one measured before take-off on the ground.
Wouldn't this imply that the calibration can't replace a Z sensor? I say this because if a Z sensor would be mounted than the temperature differential would be monitored all the time. Otherwise even if I fly knife edge, pointing each lenses towards the sky, the Ardupilot would just ignore the new smaller temperature differential...
I went to research and found out that Z sensor is used for calibration. However, is there a need to do the calibration even though I am using XY and Z sensors. Also, if Z sensor is used for calibration, what kind of calibration is that? Lastly, how do we do the calibration?
They are 1024 total and 511 is the middle, horizontal reading.
BTW, You don't REALLY need to do calibration for stable flight, only for holding turns in autopilot. We have everything tuned so high that we need the calibration to keep it from overreacting and causing the plane to oscillate.
Without a Z, calibration only happens in one direction. Turns only get looser and not tighter. So if the weather gets better you'll be fine, if it gets worse, you'll just have slightly less turning capability. No big deal.
Basically, what kind of values should we used if we want the pitch and roll value in the sense of degree? Also, how or where can we achieve the values from?
With sky covered with clouds I get no stabilization at all... So weather can impede stabilization. I've noticed excellent ardupilot behavior during sunny days and almost messy turns (with nose dropped to the ground) during cloudy days...