Using a net strung between three quadrotors, the researchers deployed algorithms that not only allow the bots to toss a ball both to themselves and to another team of hovering quadrotors, but also allow them to learn in realtime. When their accuracy fails them, the quadrotors learn from their mistake and adjust their trajectory on the next try. So after a series of failed tosses, the robots eventually compensate to get it right. The machines are learning. See it for yourself in the video below.