Successful Auto Takeoff!

 

This week I tested and mastered the auto takeoff feature on the APM I've installed on my Nova. It took a few tries and a cracked fuselage to get it, but once I got it performed very well; I set the flight mode to auto, I run down the field, and the motor kicks on without me telling it to, I throw it, and it takes off on it's own. Very cool. 
  

Seems to be working well, am I doing it right?

 
Next week I'll be testing the auto land feature, which will be just as exciting. 

 
Equipment Used:
Airplane: Scratch-built Nova, see http://www.MyGeekShow.com for plans and build instructions
Main Camera: iPhone 4s
Airplane Camera: FlyCamOne2
Motor: http://www.hobbypartz.com/75m55-optima450-2220-1800kv-2.html
ESC: http://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=13429
Battery: http://www.hobbypartz.com/77p-sl4400-3s1p-30c-3333.htmlidProduct=6306
Servos: http://www.hobbypartz.com/topromisesg9.html
Prop: http://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idproduct=5437

Stats:
Weight: 32 oz
Thrust: 21 oz
Wing Area: 3.33 square feet
Wing Loading: 5.3 oz per sq ft

If you're interested in building the Nova, I've got free build instructions and plans on my website: http://www.MyGeekShow.com.

-Trent

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • Hmmm...strange results.  My motor always kicks in as soon as I switch to Auto for an Auto Takeoff.  I've never had to run like that, which is a good thing because this would entail running off of a cliff for me.

    Trent, which version of ArduPlane are you flying?

  • Developer

    this is the code here

                           if (
                                            (control_mode == CIRCLE || control_mode >= FLY_BY_WIRE_B) &&
                                            (abs(home.alt - current_loc.alt) < 1000) &&
                                            ((g.airspeed_enabled ? airspeed : g_gps->ground_speed) < 500 ) &&
                                            !(control_mode==AUTO && takeoff_complete == false)
                                    ) {
                                    g.channel_throttle.servo_out = 0;
                                    g.channel_throttle.calc_pwm();
                            }
  • Developer

    I was wrong about the trigger for auto takeoff.  I couldn't really see where the throttle trigger was though.  You can see from the code below that they are triggering the heading hold based on when the gps sees that the ground speed is greater than 3m/s.  As for the throttle not sure? Have to ask doug probably.

    static bool verify_takeoff()
    {
            if (g_gps->ground_speed > 300){
                    if (hold_course == -1) {
                            // save our current course to take off
                            if(g.compass_enabled) {
                                    hold_course = dcm.yaw_sensor;
                            } else {
                                    hold_course = g_gps->ground_course;
                            }
                    }
            }

  • Developer

    I'm pretty sure that it is based on acceleration.  So the trigger is looking for an acceleration above 1.8 G's or so and then it looks for it to come back down below something like 1.2G's then waits like 0.5 seconds.  So the motor will not initialize until after the plane leaves your hand unless your trick it by jerking it forward and waiting for the motor to come one.  You might try changing the delay from when the motor comes on.  I set mine at like 1/2 second and that is just too long for most planes.  I'm not sure if you can set this from the Planner or not but that would seriously help your situation.  However, that acceleration logic is a failsafe to keep the motor from getting your hand so just always keep in mind what triggers the throttle so incase you drop it on the bench or something you don't accidently go to try and catch a prop that is miliseconds from turning your hand into groundbeef.

    I'll see if I can investigate this a little more to shed some light on how you can tune it a little better for your situation.

    -Beall

     

  • Once the plane is moving faster than a few m/s (I think 3m/s) it will lock onto a heading engage throttle and hold that heading-throttle until the desired altitude is reached.
  • Martin: Agreed, it looks like thats the case, the GPS needs to recognize that it's "taking off". Cool!

     

    Gary: T3! That's true, getting close! About the canopy, I would, but that would cover the GPS and I'm having a hard time moving the GPS to a better location to allow the canopy to close. I'd mount it the side but that would prevent it to see the sky on a bank... Tell me a bit more about the wing bands, I'm not sure I follow you yet...

     

    Thank you!

  • Moderator

    Your close to being able to enter this T3 round.......

    Oh and close that canopy, you will be making an awful lot of drag and weirdness for the AP to handle. Oh and another thing, I think your wing bands really need to be either side, yes a touch more drag but looks to me like your wings might pull apart. 

    At the moment there is plainly no weight there, but once you add it details matter.

    Your airframe looks great though well done!

    Oh and another Oh I don't see any control checks before you launch, always do that something might have come disconnected as you walked out after the last landing. The first time you chuck a plane in auto and it has you will know.... I sometimes think manual take offs are better as it allows you to get the feel that everything is alright and climb to an altitude that you can recover from before committing to auto. Anyhow I digress!

    After all that ranting excellent job, your well on your way to crossing America.

  • i think speed is the key if you run down the field it kicks in but if you stand still it wont

    and from what i saw from a static pos. throwing it it gained speed and it kicked in again.

     

    greetz marty

     

This reply was deleted.