Quadrotor robots throw, catch and balance inverted pendulum
A student at the Swiss Federal Institute of Technology (ETH) Zurich developed an algorithm which enables two quadrotors to balance an inverted pendulum and juggle it among each other. In order to achieve this stunt, the researchers had to set theoretical models of the process, and engineer the complete system of balancing, throwing, catching, and re-balancing of the pendulum.
Dario Brescianini, student at ETH Zurich’s Institute for Dynamic Systems and Control, has developed algorithms that allow quadrorotors to juggle an inverted pendulum as a part of his Masters thesis. Brescianini and his supervisors, Markus Hehn and Raffaello D’Andrea, started with a 2D mathematical model in order to discover the motion a quadrorotor needs to perform to throw the pendulum.
The investigation revealed the ideal trajectory in terms of positions, speeds, and angles the quadrorotor needed to follow to throw a pendulum with desired results. Followed by multiple tests with the physical system, where they threw the pendulum by hand to study its aerodynamic properties and precisely time the quadrorotor’s and pendulum’s motions during the maneuver.
After gaining knowledge about possible scenarios and identification of its key design parameters, the researchers set out on a process of engineering the complete system of balancing, throwing, catching, and re-balancing the pendulum. They equipped both quadrorotors with a 12cm (4.72-inch) plate which holds the balanced pendulum. The end of the pendulum has a balloon filled with flour and attached to a sliding metal cap with zip ties in order to absorb shocks during impact on the balancing platform.
These vehicles are based on the Hummingbird quadrotor made by Ascending Technologies. The researchers replaced the on-board controls by custom-made electronics developed at the ETH Zurich. This allows greater control over the vehicle’s dynamics, faster motion, and the ability to develop controllers that directly control the vehicle motors.
Although they paid a lot of attention to various details, inverted pendulum catching proved to be illusive. After the researchers added a learning algorithm, it managed to account for model inaccuracies and enable successful inverted pendulum catching. So, how do these quadrotors juggle the inverted pendulum?
A state estimator predicts the pendulum’s motion while in flight. Since a pendulum in free fall moves sideways if oriented at an angle, an estimator including a drag model of the pendulum was developed to accurately estimate optimal catching position. The estimator also changes the quadrorotor’s behavior from hovering to balancing of the inverted pendulum when it determines whether the pendulum is in free flight or in contact with a quadrorotor.
Fast trajectory generator is used to position the catching quadrorotor to the estimated catching position. The learning algorithm corrects deviations from the theoretical models for two key events:
- A first correction term was learnt for the desired catching point of the pendulum.
- A second correction term was learnt for the catching quadrorotor’s position.
The system was tested at the ETH Zurich’s Flying Machine Arena – an experimental lab space equipped with a motion capture system. Flying Machine Area has eight cameras mounted to the ceiling, each with an infrared strobe light. Each quadrorotor and the pole have multiple markers arranged in a unique pattern which allows the tracking algorithms to figure out at what position and in what orientation each item is, roughly 200 times per second with an accuracy of less than 1cm (0.4 inches).
By the time the pole takes off from the plate, the quadrotor robot is moving upwards at a fairly fast pace. In order to stop within the space constraints and get back down, the quadrotor robot flips upside down, and pushes itself back towards the ground with the thrust generated by its propellers.
The combination of mathematical models with real-time trajectory generation, optimal control, and learning from previous iterations, allowed the ETH Zurich researchers to measure the pendulum flight and accordingly coordinate the catching quadrotor robot in place in under one second.
Nice approach to solve a problem. Although it may not find an actual application, it could inspire other improvements that will increase the abilities of these flying machines.
If I’m not mistaken, Flying Machine Arena was used to record those brick laying quadcopter robots.
Thanks for sharing which platform was used!