Ever see flying robots doing stuff that you never suspected flying robots could do? I have.
First, a state estimator was used to accurately predict the pendulum's motion while in flight. Unlike the ball used in the group's earlier demonstration of quadrocopter juggling, the pendulum's drag properties depend on its orientation. This means, among other things, that a pendulum in free fall will move sideways if oriented at an angle. Since experiments showed that this effect was quite large for the pendulum used, an estimator including a drag model of the pendulum was developed.
This was important to accurately estimate the pendulum's catching position.
Another task of the estimator was to determine when the pendulum was in free flight and when it was in contact with a quadrocopter. This was important to switch the quadrocopter's behavior from hovering to balancing the pendulum.
Second, a fast trajectory generator was needed to quickly move the catching quadrocopter to the estimated catching position.
Third, a learning algorithm was implemented to correct for deviations from the theoretical models for two key events: A first correction term was learnt for the desired catching point of the pendulum. This allowed to capture systematic model errors of the throwing quadrocopter's trajectory and the pendulum's flight. A second correction term was learnt for the catching quadrocopter's position. This allowed to capture systematic model errors of the catching quadrocopter's rapid movement to the catching position.