I am designing a helium balloon which implements a control system that can expand and contract the balloon using a motor, thereby increasing or decreasing buoyancy and, subsequently, acceleration. I want to be able to send the balloon to a target altitude without overshooting. I initially thought of using two PID controllers:
- First PID compares actual and target altitude and outputs a target velocity
- Second PID compares actual and target velocity and drives the motor
This approach has been problematic, because the rate at which acceleration changes as the motor expands or contracts is about $\frac{1}{6} \frac{m}{s^2 \cdot s}$ at most. Tuning the system typically results in wild overshooting and oscillation, even when using Zeiger-Nichols tuning heuristics.
My question, then, is what control system would be best to ensure I don't overshoot my target altitude? I still want to approach my target quickly, but need to make sure I can reduce speed before oveshooting. I have researched LQRs and Full-State Feedback controllers, but I don't have a mechatronics background and found the material to be quite confusing. Before researching further, I want to make sure I spend my time researching the best-fit solution for this problem.
Thank you very much in advance!