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
Even if the copter thought it was in the wrong place (which I don't think could be the case here since I had a fairly good GPS signal & also had set the waypoint radius to 50 meters to alleviate the variations of GPS), I had decreased the default altitude of the planned mission to 3 meters, so it should have tried to navigate to the desired position without going so high.
And moreover, when I changed the flight mode to Land, it did not make any changes in the behavior of the drone. AFAIK, Land mode does not use GPS nor does it try to move to a specific location, it just descends right where it is.
Thank you so much for sharing your thoughts. I do hope that the "real experts" will see this topic & respond!
Are you sure that the radius applies to the altitude as well?
Even if it is, this is not the only thing causing my problems because in my first test it was set to 5 meters and the same thing happened.
I believe that ALL modes use GPS (even stabilise to some degree), as the onboard sensors (gyros and accels) aren't accurate and consistent enough to hold correct position over time so the pixhawk uses GPS to 'rebase' the sensors, by default 5 times per second. I'm no expert so could well be talking nonsense but this is how I understand it works.
As per Land mode, that's an interesting question - I always assumed that once you put it into land it locks onto position using GPS and tries to land on that spot, but have no technical reason to back this up, now you mention it :)
Stabilize, AltHold, and Acro don't use GPS at all. They don't make any attempt to hold position and the aircraft will definitely drift in these modes. You can fly an APM aircraft in these modes without a GPS attached at all.
Land mode will use the GPS to maintain position while landing, if possible. If there's a problem with the GPS, it reverts to Stabilize-style controls so that aircraft will drift, but the pilot can steer it while landing.
Unless it's changed recently, if you have a GPS connected then all modes will use it:
https://groups.google.com/forum/#!topic/drones-discuss/iZmeopHOLGM
My technical reasoning may be nonsense however!
Huh, I stand corrected. So GPS is always being used to more accurately level the aircraft, even when it's not active for position control. Thanks for pointing that out.
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).
-
1
-
2
-
3
-
4
-
5
of 5 Next