I am interested in achieving autonomous takeoff and landing of pixhawk quadcopters. I have tried with two different manufactured and assembled drones, one being a 3DR solo and the other a Pixhawk2 quadcopter.
In both cases when sending the takeoff steps from my ground station via mavros the quadcopters would very often flip over.
See this video for 3DR solo flip on takeoff (mavros)
The code on my ground station follows the same logic as given on ErlerRobotics tutorial which consists of sending the following commands over mavros
- set MODE=“GUIDED”
- send command takeoff (/mavros/cmd/takeof)
I checked that the drones are well calibrated. I have no problems at all when flying them using the RC. But as soon as I use mavros to do a takeoff, it very often results in a flip.
An interesting observation is that when I use the 3DR Solo RC for takeoff it never flips over.
I would be interested to know if anybody has encountered similar problems and have solutions to this problem.
It is problably a configuration problem.
Does it fly well in Loiter or Poshold modes ?
Could you share a log when the flip append ?
I collected some logs during an experiment. I concluded the following:
- ArduCopter does not seem to consider motor feedback during the takeoff process.
What usually results in the flip is that ArduCopter considered the copter to be armed before all the motors are running at the same speed. Here is an extreme example of the problem : Quadcopter wrongly armed
In this video you can see that two of the motors are running whilst the others are not. I am able to apply throttle and flip the quadcopter if I wanted to.
In Autonomous mode: Auto takeoff, the flip happens much quicker. That is before all motors are running properly the throttle is applied.
The figure below shows the cmds sent to the robot and it seems that ArduCopter is not using the actual feedback from the motors to control the output. Is this correct ?
I have put the logs here if you are interested.
one_take_off_one_crash.bin (1.0 MB)