Hey. I have a quadrotor with Pixhawk, APM:Copter V3.3.3 (acf2e10c). I have tested it in Stabilize & AltHold modes, works fine. Also tried switching to Land mode from Stabilize & AltHold, and the drone lands perfectly.
I wanted to try AUTO mode, as a first test I defined this mission based on the tutorials here:
1. Takeoff to 10 meters
2. Loiter there for 5 seconds
3. Land
I went out for a test, as soon as I raised the throttle in AUTO mode, the copter started climbing VERY quickly, and it kept climbing up until it was about 60 meters above the ground. I waited for like 10 seconds and it kept climbing, so I panicked & switched to AltHold mode. I'm a newbie pilot so I could not control it properly at that altitude and...crash!
I thought maybe it was a bug in my planned mission or a gps glitch or something, so I fixed the copter and tried agian. This time with this mission:
1. Takeoff to 3 meters
2. Land
Again, same thing happened. This time, I switched to Land mode, but it kept climbing like crazy. Switched to stabilize and eventually...another crash.
I reviewed the logs, DAlt (desired altitude) does not match my planned mission altitude (figure below). I have attached the log, can someone please help me with this?
DAlt Plot:
Replies
1) Have you checked the propellers, and ensured they are properly balanced?
2) Try using an anti-vibration material between the flight controller and frame.
1) No I have not checked them (because I don't have a prop balancer, I could not find one in local stores here), but initial tests with 50% throttle showed very little vibrations & that made me think it was going to work without the balancing.
2) I will definitely do that, but still I am not sure if the only problem here have been the vibrations, since the flight controller was increasing the "desired altitude" far above where I had planned it! It was not just throttling up to keep the drone from falling, it was literally trying to go higher.
But as almost everyone here is suggesting that vibrations have caused this issue, I will try to damp the vibrations & give it another try. Thank you very much Francisco!
@Alireza,
you don't have prop balancer but you can easily detect unbalanced propeller/s,
unbalanced pro + motor hybrid exactly as professional helis are tested.
You have IMU1 IMU2 6-axis accel and 3-axis gyro attached to the airframe via
Pixhawk PCB board to professionally detect any prop unbalancing.
On arm before take off, just assign discrete values to your throttle to let prop turn and vibrate freely for 15 s and increase throttle value slighly and wait 15s and repeat this procedure every 15s, still under take-off throttle value.
15s time intervals can be easily detected on log file charts ( accel + gyro )
With acceX, acceY you can easily detect prop unbalancing and amplitude
with accZ you can easily detect resonant frequency of your airframe,
since lower harmonics vibrations from propellers ( 1/2 and 1/4 wave length)
transmitted via airframe make it to vibrate and make your drone to jump on the ground.
At very low motor's speed you can clearly detect any prop unbalancing with Gyro data.
I need to verify GPS Alt against barometer Alt on the charts to know if barometer is set up properly.
BTW1
Your recorded IMU1. IMU2.AccZ = -9
is close to gravity of Earth -9.8
making your Piaxhawk to think your drone free falls.
BTW2
Properly set up fail-safe Kalman filter should prevent take off of your drone
in case of such IMU mismatch.
If you've got your pixhawk stuck directly to your frame without any kind of anti-vibration foam or plates then this is definitely your first port of call, as Francisco says. In a perfect build this wouldn't be necessary as it somewhat isolates the IMU from what it's trying to measure, but practically speaking in almost all cases it's necessary to filter the inherent mechanical vibrations. This is a good page:
http://copter.ardupilot.com/wiki/common-vibration-damping/
It depends on your setup what works, so trial and error is needed. For example on my quad the hk orange foam suggested on this page made the whole thing uncontrollable, whereas the two-plates-joined-with-rubber-ball-thingees work great for me (and lots of other people).
Before you try auto mode, make sure that Stabilise->Alt-Hold->Loiter modes work in that order, so you've done well with the first two. But now make sure Loiter works well, so go from Alt-Hold to Loiter and make sure it sits there quietly, then fly it about and make sure it behaves as expected. This invokes more sensors and logic (including GPS) that auto mode will also use. But there are all sorts of things in auto that can further go wrong, so Loiter will help you determine if you have something more fundamentally wrong with your setup.
With your auto mission, make sure you haven't set it to take off to 100m! Also double check all your mission parameters, some scales/units can surprise. For your first mission don't include takeoff or land, just invoke it from loiter, it's much safer.
Finally, ignore anything Darius says, he's a whole bag of crazy (seems to be our resident troll, now).
Wise suggestion, I will do this. Thanks!
That's the key thing I was going to write in with. Make sure you test the copter one system at a time, and take time to learn which sensors contribute to which types of motion, and learn to set them one at a time.
In Stabilize mode, you're using the basic accelerometers and gyros, plus your PID loops to stabilize the aircraft against unsteadiness or oscillation in the airframe. If you let go of the sticks, it should be perfectly level without wobbling, although it will drift across the ground since there's no position control.
It AltHold mode you're using all of the Stabilize systems, plus you're adding the height controller, which uses the barometer and more PID loops.
In Loiter or PosHold mode, you're using all of the above systems, plus the GPS and magnetometer, and yet again more PID loops.
Yeah you're right. I had indeed tested Stabilize & AltHold as I said earlier, and they were not bad (except that AltHold sometimes behaved strange briefly, nothing serious though).
But I'm a novice with zero experience in piloting, and I was having trouble controlling the drone in manual modes. I'm particularly terrible at taking off and landing...and that's why I wanted to use Auto mode to make sure everything else was alright & it's just my lack of skill.
Thanks for the advice, Andy!
That's totally understandable. Although it's a bit frustrating not to go full-auto right away when you bought this flight controller that does all this cool stuff, it's going to save you a lot of money and headache in the long run by being able to take over manual control of the copter whenever you need to.
@Alireza,
could you attach charts like throttle + DAlt + GPS alt + bar Alt
and name every sensor installed and verified or not by you to work properly.
In case of the classic Drone Fly away Syndrome due to airframe vibrations
your Pixhawk can read bad alt value from GPS, barometer, calculated from IMU,
if in FFT phase shifted resonance, so the sensor's clock or Pixhawk, make Pixhawk to read sin wave modulated Alt value (due to resonant vibrations of airframe) at minimum of sin wave, making Pixhawk software intelligence to think your drone is falling.
So just attach more charts to let me detect resonant vibrations of your airframe
Accel, Gyro, Compass, GPS alt, barometer if installed in a single window.
Open Technology Park
OpenFabLab
Peer to Drone Crash Investigators
manta103g@gmail.com
Attached are the charts you wanted. The first one includes DAlt, GPS Alt & Bar Alt (on the left axis) & ThrOut (on the right axis). The second is AccelX & AccelZ of IMU & IMU2, and the 3rd is GyrX & GyrZ of IMU & IMU2.
My sensors are Pixhawk internal sensors (listed here) plus an external Neo-8M GPS & Compass module. The sensors are apparently working well, I have calibrated the accelerometer & compasses without any problem. The artificial horizon in Mission Planner seems alright at least when the copter is disarmed and I move it around with my hand.
Thanks
Alts&ThrIn.PNG
GyrX & GyrZ.PNG
AccelX&AccelZ.PNG