I’m working on a mother–child drone configuration and would appreciate some guidance.
Objective:
Mother drone: 28-inch multirotor
Child drone: 7-inch quadcopte
The 7-inch drone is carried by the mother drone and released in flight using a servo mechanism
The goal is to extend communication range and validate an ADR (Autonomous Drone Relay) concept.
What I tried:
Configured THROW mode on the child drone
Set the required THROW parameters.
“THROW_TYPE = DROP”
Next flight mode after throw = LOITER
The child drone was rigidly attached to the mother drone through a servo release mechanism.
Configured minimum and maximum throw detection altitude.
Problem:
The child drone fails to arm while attached to the mother drone. During arming, I receive multiple EKF-related errors, so the vehicle never arms.
However, when I tested the exact same configuration by manually dropping the child drone from the top of a building, Throw Mode worked as expected. The drone detected the drop, transitioned correctly, and flew normally.
My question:
Is Throw Mode designed only for free-fall conditions from a stationary platform, or are there additional parameters or EKF considerations required when the vehicle is mounted on another moving aircraft?
Has anyone successfully implemented a mother–child deployment using ArduPilot? If so, are there recommended settings or a different approach that would be more suitable?
I’m attempting this configuration for the first time, so any guidance, suggestions, or references would be greatly appreciated.
Thank you for pointing me in the right direction and sharing the reference. I was able to implement the Mother–Child deployment successfully using ArduPilot, and your suggestion was very helpful during the development.
Really appreciate your support and the help from the community!
Thanks, Dave! It definitely got my heart racing on the first attempt
I have a few follow-up questions regarding Throw Mode in a mother–child deployment:
Since Throw Mode relies on acceleration for throw detection, would it still reliably detect the throw if the mother drone itself is accelerating or decelerating at around 2.5 m/s² during release? Could that affect the detection logic?
I currently have THROW_ALT_MIN = 0 because the child starts descending immediately after release. Is there any risk that the child could arm and begin stabilizing too early, potentially coming into contact with the mother drone? How do you normally account for this?
For deployments from 50 m AGL or higher, what would you recommend for THROW_ALT_MIN and THROW_ALT_MAX? Are there any best practices or parameter values you’ve found to work well for airborne deployments?
No, I don’t think it was related to setting the home position.
The issue was that I had configured the Throw Mode altitude limits incorrectly. Initially, I was using positive values for the arming altitude.
After going through the thread Dave shared, I understood, since the child drone accelerates downward immediately after release, its relative altitude becomes negative. Setting the minimum altitude to 0 and the maximum altitude to -5 m resolved the issue, and the deployment worked as expected.
I think that other thread also says that if you set home initially, then altitude can be the real altitude above home.
But anyway, glad it works. Cool to watch.