I have been working with the ardupilot project since the first APM, i.e, more than three years ago, and for the first time, I am experiencing a weird behaviour with the altitude control. My copter is an huge octocopter in coaxial configuration, which was tuned with an AUW of almost 35kg. When flying in a flight mode which involve altitude control, like LOITER or AUTO, after a few minutes, I start to notice that the copter tended to lower the altitude drastically (for instance, If I am in Loiter at 5m, suddenly the copter lower its altitude by 3 m).
Firstly, I thought that this sudden drops in altitude was due to the high payload weight (added to the fact that I am flying at 2.500 m asl). However I have test the same setup with no payload, requiring barely 30% throttle to hover, and experience the same issue.
Then I close-looked the logs and see this (The complete log is attached):
The barometer reading is crazy! As you can see in that graph, I had to switch to AltHold mode to increase the altitude, if not, I crash. This is only an example. I have other in higher altitude, resulting in the same: barometer reading giving ± 3 to 4 m. Of course, I can live with this at high altitude, but at lower altitude, like in a sprayer application, is an issue.
I know that I can correct this with a range finder or a more sophisticated way of measuring altitude. But before that, I would like to know if there is something I can do to fix this issue. As I said, I have been flying since 3 years ago, and it is the first time I am having this issue. I have never had problems with the barometer at all.
I flew alot with alot of FCs. APM, Wookong, Mikrokopter, KK, Multiwii, Rabbit and whatnot. The only FC able to do out of the box a high-speed low-pass without losing height was the Wookong-M. On Mikrocopter, they put an additional accelerometer (add-on at first then embedded in the next board revision) just to handle barometer issues like these.
My frame if Gryphon Dynamic XQ1400 SP. My Pixhawk 2.1 is inside the central plate, but not in the center, because in this frame the center is reserved for the power distribution board. Additionally the FC is over a damping plate like the one in the picture (but without the small circular foams):
So, FC not centered and placed over damping plate. Any of this may be responsible of the bad barometer reading? And if so, why?
Yes, I agree with Mike’s analysis that it’s probably caused by a change in pressure caused by a change in attitude of the copter. So the most common effect I’ve seen on large copters happens in this case:
fly the vehicle forward (say in altitude hold mode) for a few seconds which leads to a build-up of pressure ahead of the vehicle.
move the pitch stick back to the middle so the vehicle flattens out. the pressure ahead of the vehicle disappears and the barometer sees a sudden change in pressure
My only advice at this point is to try and balance the holes in the frame so they are more even (i.e. same number and size on the top and bottom).
Here I’ve attached another case. Same frame, same setup, the only different was a much bigger payload. Unlike the previous case, this time there was no attitude change or maneuvers, in fact I was trying to measure hover time in LOITER. Look what happened at the end of the flight, the same abrupt decrease of barometer reading.
Here I am showing also how does it look the bottom part of the central plate (yellow rectangle is where pixhawk is placed). As you can seen, there are four holes which are sealed in order to place the antennas. How much would it affect the closed holes the barometer? It would be a better idea to let the holes open?
So, if in a scenerario of no maneuvers at all, and the frame is simetrically closed… what else would it be causing the barometer bad reading at low altitude?
yes, a lidar would certainly help. For crop spraying applications I think a lidar is required in practice. I don’t think an optical flow would help as that’s mostly for improving horizontal position control especially in non-GPS environments.
Most likely I would try to remove the damping plate to see if I can get any improvement. But technically speaking, why would you think the Cube on top of a damping plate like the one described, is responsible of barometer bad readings?
It’s not responsible for alt barometer issues. But if you haven’t seen the documentation that says don’t. Then you may have not seen. The documentation that says pre-heat cube before flight and that can definitely affect barometer.
Sorry my bad english, look the copter with lidar in the video, at begining fly with baro and loose altitude and solved with that white cover that you can see in the video (is an inverted salad bowl), look that have plastic spacers at botton, but I agree with Randy that for a sprayer copter is near mandatory the lidar to have precise low altitude and avoid to crash if terrain isnt completly flat, lightware ones does a nice task over crops.
Just to close this topic. Here it is attached a DALT vs BALT graph for a mission at 20 m altitude, this time with a payload consisting on a gimbal + camera, not a spraying gimbal. As you can see, there is still barometer’s variations:
I am having a similar issue with a 22" prop hexa.
This is my long after finishing the first round of Autotune on 0.05 with 10hz filter https://plot.dron.ee/z4wm
i was able to notice a loss in altitude on 1-2 meter when making a move.
I have Ground effect compensation ON and at the moment i was simply testing out PID feeling, RC feeling as also YAW reaction that for sure needs to be tuned down, for which i took acro_yaw to 3.5 with no serious impact.
I have a feeling that since this a powerful and light hexa that needs Altitude P tuned.