I've been working with the Auto Takeoff macro and have experienced the problem where the throttle goes to "max" as soon as AUTO mode is selected.
The documentation and other posts tell me that I should close the throttle and put the APM in AUTO mode. Next I should advance the throttle off the lower stop. Only then, when the airplane velocity gets to 3 meters per second, the APM should go to max autopilot throttle and pitch up to climb straight ahead to the target altitude.
Here is what does happen- First, I load a simple APM flight plan. Waypoint one uses the Auto Takeoff macro with the max angle set to 15 degrees and the target altitude to 300 feet. The second waypoint is a Loiter_Unlimited at 300 feet. This sequence is really just a test of Auto Takeoff.
Once the flight plan is loaded, I walk the airplane up behind and put it on a bungee launcher. With the throttle closed, I then use the transmitter to put the APM in AUTO mode. At this point, the APM will consistently command max autopilot throttle. And this happens with the transmitter throttle closed and the airplane at rest, "zero" velocity.
Other people have reported this same bad behavior. You can see it demonstrated live in MyGeekShow Episode 50 starting at 1:05 into the video. He has completed a short checkout flight to verify Stabilize mode. As soon as he switches to Auto mode, the motor spins up to takeoff power while he is holding the airplane overhead. This is right after he tells the viewers that it will wait for forward motion.
Have a look - http://youtu.be/DR8JU5Qep0E
My setup is --
Airplane - X8 Wing
ArduPilot 2.5 with Arduplane 2.66
APM Planner 1.25 Mav 1.0
DragonLink RC radios
3DR Telemetry radios
JR9303 RC Transmitter
To investigate this in a safer environment, I created a testbed with an APM 1, GPS and DragonLink on a piece of balsa. The throttle channel is connected to a 9g servo swinging a half-inch arm. The APM 1 has the same ArduPlane 2.66 code and the same parameter set as the airplane. I loaded the same flight plan via USB.
Disconnected from Mission Planner, the board gets powered up and I wait until the GPS has lock. As soon as the JR switch commands Auto mode, the throttle servo goes to (75%) autopilot max. Every single time and without exception. It does not wait for movement, it just goes for takeoff immediately.
Here's the (procedural) solution- You have to power up the APM and be connected to Mission Planner, either by USB or radio link. You have to use Mission Planner to manually set the current waypoint to "Waypoint 1". Once that is done, the Auto Takeoff macro will perform as intended. With the transmitter throttle closed, it will go into Auto mode and wait. When the throttle is advanced, this arms the code and the APM will advance its throttle channel after seeing about 8 mph.
I tested both the failing sequence and the successful sequence several times by putting the balsa testbed system on my dashboard and driving up and down the street. Anyone should be able to duplicate this test and I would like to see others check my work.
As it stands, the Auto Takeoff macro is dangerous. The APM code starts up on waypoint "zero". The prop will spin as soon as Auto mode is commanded. If the pilot is unprepared, this can easily cause injury and/or damage. I don't know why ArduPlane starts on waypoint zero when every flightplan begins with waypoint one. It's my guess that this is the aspect of the code that should be reviewed.
Please let me know and I will be glad to add this as a bug.