I’m flying some fully automated missions. I throw the plane, it flies around and then lands. The last step in Mission Planner is the landing. And the last part of that is that it disarms the motors after a short delay.
However, I often want to fly again w/o power cycling the Pixhawk or using the GCS. I have done multiple launches w/o power cycling before when I landed manually after flying a mission that had a infinite loop circle pattern at the end. But I found that subsequent launches did NOT restart from the first command (it flew instead to the next waypoint in the mission from the PREVIOUS flight…which worked poorly since I didn’t throw it in that direction).
Does an auto mission restart at step 1 after “disarming” and then “arming”?
Or does it restart after hitting the end of the command list?
Could I place a Do_Jump back to step 1 (the takeoff) as the last item in the flight plan (after the landing)?
The parameter MIS_RESTART (can find details there) might be your friend. By default it’s set to 0, meaning that the mission resumes from the last command when toggling back to AUTO mode. Setting it to 1 (should) restart the mission from the top.
If my first command is a takeoff, switching out of auto during flight and then back into auto will result in executing the takeoff command during flight. I’m not sure what this would do.
I’d like to restart the mission based on something that I can trigger from an RC controller.
However, you gave me the clue to solve the problem. I started at the top and searched the parameter list for “mission”. Fairly quickly, I hit:
RST_MISSION_CH: Reset Mission Channel
Note: This parameter is for advanced users
Enables a channel to reset the mission to the first waypoint.
Mission restart is triggered by channel rising above 1750 PWM. 0 disables.
So, I can put this on a transmitter switch…which should work well. I’ll need to make it a difficult sequence to hit by mistake, but I’m sure I can think of something that will allow me to reset it deliberately w/o creating too much chance of doing is inadvertently.