Pixhawk Throw mode does not transition to AUTO

I have successfully developed an Arduino Nano PPM generator that --should-- allow the quad to self-right using the throw mode after being released from altitude.

The mode has been tested off a parking deck- when the quad is tossed, it gets a command from the Arduino to go into throw mode, and recovers beautifully. The problem is that after the quad stabilizes, the Arduino then commands the Pixhawk4 mode to AUTO after about 4 seconds (a short flight plan is entered and had been tested separately), but the throttle stays at the last commanded value. In one test, the quad climbed rapidly since channel 3 was set too high; in the last test, I set throttle to low power, and it fell and hit pretty hard (video below). The GPS light was solid green, but then switched to yellow flashing at release. When tested while plugged into Mission Planner, it looks like all the right commands for flight mode are being sent.

I armed the quad on the ground, then climbed the five stories to release so that the altitude would be set to the desired land height

Latest crash Video

LOG file:
23.BIN (1.9 MB)

THROW_MOT_START 0
THROW_NEXTMODE 3
THROW_TYPE 1

Please help…though the copter is mostly 3D printed and cheap to fix, it is a royal pain to keep replacing parts.
What does it take to get the Pixhawk to transition to Auto?!?

1 Like

What I don’t understand is what is the Arduino doing, but ok.

On ArduPilot, running at least a version that supports Throw mode (I’ll assume it’s 3.4.4) There’s no need to do anything in Throw mode.

You set the mode, wait for the warning beeps, throw up or down (parameter dependant) and after it completes the “launch” it switches to the “next” mode by itself…

The issue is that the quad is being released (dropped) from another vehicle, so the flight must be completely autonomous from start to finish. The Arduino Nano generates the PPM commands and is plugged directly into the Pixhawk. It initiates the throw mode and recovers perfectly, but for whatever reason, despite what I believe are the correct settings, the Pixhawk never enters AUTO mode. It uses the last commanded throttle setting.

I’m thinking as an intermediate step of using BRAKE or ALT HOLD for a minute to allow the quad to get its bearings.

Hello! I’m also trying to get the Arduino to send a message to the Pixhawk to tell it to go into Throw mode and I don’t want to use a GCS. If possible, could you walk me through what you did?

I’m struggling with the idea of Arducopter and throw mode - I thought throw mode was Arducopter-specific and loaded onto the Pixhawk, not the Arduino. I don’t really understand how it is that the Arduino can use Arducopter commands.

Thanks!