0:00:11.307,0:00:14.491 So what does it mean for a machine to be athletic? 0:00:14.491,0:00:17.908 We will demonstrate the concept of machine athleticism 0:00:17.908,0:00:19.628 and the research to achieve it 0:00:19.628,0:00:22.139 with the help of these flying machines called quadrocopters, 0:00:22.139,0:00:24.026 or quads, for short. 0:00:26.034,0:00:28.563 Quads have been around for a long time. 0:00:28.563,0:00:30.162 The reason that they're so popular these days 0:00:30.162,0:00:32.127 is because they're mechanically simple. 0:00:32.127,0:00:34.235 By controlling the speeds of these four propellers, 0:00:34.235,0:00:37.283 these machines can roll, pitch, yaw, 0:00:37.283,0:00:40.108 and accelerate along their common orientation. 0:00:40.108,0:00:43.179 On board are also a battery, a computer, 0:00:43.179,0:00:47.133 various sensors and wireless radios. 0:00:47.133,0:00:51.762 Quads are extremely agile, but this agility comes at a cost. 0:00:51.762,0:00:54.754 They are inherently unstable, and they need some form 0:00:54.754,0:00:58.726 of automatic feedback control in order to be able to fly. 0:01:04.259,0:01:07.497 So, how did it just do that? 0:01:07.497,0:01:09.315 Cameras on the ceiling and a laptop 0:01:09.315,0:01:11.891 serve as an indoor global positioning system. 0:01:11.891,0:01:14.076 It's used to locate objects in the space 0:01:14.076,0:01:16.603 that have these reflective markers on them. 0:01:16.603,0:01:18.664 This data is then sent to another laptop 0:01:18.664,0:01:20.875 that is running estimation and control algorithms, 0:01:20.875,0:01:22.761 which in turn sends commands to the quad, 0:01:22.761,0:01:26.246 which is also running estimation and control algorithms. 0:01:29.620,0:01:32.130 The bulk of our research is algorithms. 0:01:32.130,0:01:36.291 It's the magic that brings these machines to life. 0:01:36.291,0:01:38.334 So how does one design the algorithms 0:01:38.334,0:01:40.611 that create a machine athlete? 0:01:40.611,0:01:43.491 We use something broadly called model-based design. 0:01:43.491,0:01:46.645 We first capture the physics with a mathematical model 0:01:46.645,0:01:48.779 of how the machines behave. 0:01:48.779,0:01:51.076 We then use a branch of mathematics 0:01:51.076,0:01:53.907 called control theory to analyze these models 0:01:53.907,0:01:57.820 and also to synthesize algorithms for controlling them. 0:01:57.820,0:02:00.868 For example, that's how we can make the quad hover. 0:02:00.868,0:02:02.276 We first captured the dynamics 0:02:02.276,0:02:04.182 with a set of differential equations. 0:02:04.182,0:02:06.531 We then manipulate these equations with the help 0:02:06.531,0:02:11.171 of control theory to create algorithms that stabilize the quad. 0:02:11.171,0:02:14.117 Let me demonstrate the strength of this approach. 0:02:17.198,0:02:19.747 Suppose that we want this quad to not only hover 0:02:19.747,0:02:22.529 but to also balance this pole. 0:02:22.529,0:02:24.373 With a little bit of practice, 0:02:24.373,0:02:26.764 it's pretty straightforward for a human being to do this, 0:02:26.764,0:02:28.519 although we do have the advantage of having 0:02:28.519,0:02:29.847 two feet on the ground 0:02:29.847,0:02:32.804 and the use of our very versatile hands. 0:02:32.804,0:02:35.273 It becomes a little bit more difficult 0:02:35.273,0:02:37.569 when I only have one foot on the ground 0:02:37.569,0:02:40.368 and when I don't use my hands. 0:02:40.368,0:02:43.319 Notice how this pole has a reflective marker on top, 0:02:43.319,0:02:47.213 which means that it can be located in the space. 0:02:52.971,0:02:58.947 (Applause) 0:02:58.947,0:03:01.773 You can notice that this quad is making fine adjustments 0:03:01.773,0:03:03.968 to keep the pole balanced. 0:03:03.968,0:03:07.027 How did we design the algorithms to do this? 0:03:07.027,0:03:09.132 We added the mathematical model of the pole 0:03:09.132,0:03:10.651 to that of the quad. 0:03:10.651,0:03:13.605 Once we have a model of the combined quad-pole system, 0:03:13.605,0:03:18.538 we can use control theory to create algorithms for controlling it. 0:03:18.538,0:03:20.126 Here, you see that it's stable, 0:03:20.126,0:03:22.819 and even if I give it little nudges, 0:03:22.819,0:03:28.222 it goes back to the nice, balanced position. 0:03:28.222,0:03:29.885 We can also augment the model to include 0:03:29.885,0:03:32.326 where we want the quad to be in space. 0:03:32.326,0:03:35.395 Using this pointer, made out of reflective markers, 0:03:35.395,0:03:37.619 I can point to where I want the quad to be in space 0:03:37.619,0:03:40.986 a fixed distance away from me. 0:03:55.763,0:03:58.665 The key to these acrobatic maneuvers is algorithms, 0:03:58.665,0:04:01.091 designed with the help of mathematical models 0:04:01.091,0:04:03.041 and control theory. 0:04:03.041,0:04:05.255 Let's tell the quad to come back here 0:04:05.255,0:04:07.074 and let the pole drop, 0:04:07.074,0:04:08.992 and I will next demonstrate the importance 0:04:08.992,0:04:11.111 of understanding physical models 0:04:11.111,0:04:15.231 and the workings of the physical world. 0:04:25.462,0:04:27.232 Notice how the quad lost altitude 0:04:27.232,0:04:29.314 when I put this glass of water on it. 0:04:29.314,0:04:32.115 Unlike the balancing pole, I did not include 0:04:32.115,0:04:34.699 the mathematical model of the glass in the system. 0:04:34.699,0:04:37.618 In fact, the system doesn't even know that the glass of water is there. 0:04:37.618,0:04:40.910 Like before, I could use the pointer to tell the quad 0:04:40.910,0:04:43.499 where I want it to be in space. 0:04:43.499,0:04:53.096 (Applause) 0:04:53.096,0:04:55.206 Okay, you should be asking yourself, 0:04:55.206,0:04:57.715 why doesn't the water fall out of the glass? 0:04:57.715,0:05:00.926 Two facts: The first is that gravity acts 0:05:00.926,0:05:03.051 on all objects in the same way. 0:05:03.051,0:05:05.515 The second is that the propellers are all pointing 0:05:05.515,0:05:08.642 in the same direction of the glass, pointing up. 0:05:08.642,0:05:11.019 You put these two things together, the net result 0:05:11.019,0:05:13.306 is that all side forces on the glass are small 0:05:13.306,0:05:16.091 and are mainly dominated by aerodynamic effects, 0:05:16.091,0:05:19.932 which as these speeds are negligible. 0:05:23.336,0:05:25.407 And that's why you don't need to model the glass. 0:05:25.407,0:05:29.255 It naturally doesn't spill no matter what the quad does. 0:05:38.651,0:05:45.702 (Applause) 0:05:45.702,0:05:49.718 The lesson here is that some high-performance tasks 0:05:49.718,0:05:51.115 are easier than others, 0:05:51.115,0:05:53.411 and that understanding the physics of the problem 0:05:53.411,0:05:56.027 tells you which ones are easy and which ones are hard. 0:05:56.027,0:05:58.386 In this instance, carrying a glass of water is easy. 0:05:58.386,0:06:02.171 Balancing a pole is hard. 0:06:02.171,0:06:03.973 We've all heard stories of athletes 0:06:03.973,0:06:06.466 performing feats while physically injured. 0:06:06.466,0:06:07.985 Can a machine also perform 0:06:07.985,0:06:10.636 with extreme physical damage? 0:06:10.636,0:06:12.362 Conventional wisdom says that you need 0:06:12.362,0:06:16.052 at least four fixed motor propeller pairs in order to fly, 0:06:16.052,0:06:18.164 because there are four degrees of freedom to control: 0:06:18.164,0:06:21.192 roll, pitch, yaw and acceleration. 0:06:21.192,0:06:24.437 Hexacopters and octocopters, with six and eight propellers, 0:06:24.437,0:06:25.920 can provide redundancy, 0:06:25.920,0:06:27.909 but quadrocopters are much more popular 0:06:27.909,0:06:29.724 because they have the minimum number 0:06:29.724,0:06:32.200 of fixed motor propeller pairs: four. 0:06:32.200,0:06:34.165 Or do they? 0:06:49.476,0:06:52.076 If we analyze the mathematical model of this machine 0:06:52.076,0:06:54.252 with only two working propellers, 0:06:54.252,0:07:01.008 we discover that there's an unconventional way to fly it. 0:07:07.980,0:07:09.686 We relinquish control of yaw, 0:07:09.686,0:07:12.756 but roll, pitch and acceleration can still be controlled 0:07:12.756,0:07:18.208 with algorithms that exploit this new configuration. 0:07:21.668,0:07:24.100 Mathematical models tell us exactly when 0:07:24.100,0:07:26.172 and why this is possible. 0:07:26.172,0:07:28.540 In this instance, this knowledge allows us to design 0:07:28.540,0:07:30.796 novel machine architectures 0:07:30.796,0:07:34.972 or to design clever algorithms that gracefully handle damage, 0:07:34.972,0:07:36.696 just like human athletes do, 0:07:36.696,0:07:40.519 instead of building machines with redundancy. 0:07:40.519,0:07:42.631 We can't help but hold our breath when we watch 0:07:42.631,0:07:45.068 a diver somersaulting into the water, 0:07:45.068,0:07:46.858 or when a vaulter is twisting in the air, 0:07:46.858,0:07:48.576 the ground fast approaching. 0:07:48.576,0:07:51.144 Will the diver be able to pull off a rip entry? 0:07:51.144,0:07:53.144 Will the vaulter stick the landing? 0:07:53.144,0:07:54.812 Suppose we want this quad here 0:07:54.812,0:07:57.263 to perform a triple flip and finish off 0:07:57.263,0:07:59.532 at the exact same spot that it started. 0:07:59.532,0:08:01.879 This maneuver is going to happen so quickly 0:08:01.879,0:08:05.508 that we can't use position feedback to correct the motion during execution. 0:08:05.508,0:08:07.782 There simply isn't enough time. 0:08:07.782,0:08:11.476 Instead, what the quad can do is perform the maneuver blindly, 0:08:11.476,0:08:13.708 observe how it finishes the maneuver, 0:08:13.708,0:08:16.132 and then use that information to modify its behavior 0:08:16.132,0:08:18.421 so that the next flip is better. 0:08:18.421,0:08:20.233 Similar to the diver and the vaulter, 0:08:20.233,0:08:22.152 it is only through repeated practice 0:08:22.152,0:08:24.077 that the maneuver can be learned and executed 0:08:24.077,0:08:26.210 to the highest standard. 0:08:34.412,0:08:39.164 (Applause) 0:08:39.164,0:08:42.636 Striking a moving ball is a necessary skill in many sports. 0:08:42.636,0:08:44.431 How do we make a machine do 0:08:44.431,0:08:48.184 what an athlete does seemingly without effort? 0:09:03.943,0:09:10.542 (Applause) 0:09:10.542,0:09:13.192 This quad has a racket strapped onto its head 0:09:13.192,0:09:16.679 with a sweet spot roughly the size of an apple, so not too large. 0:09:16.679,0:09:19.846 The following calculations are made every 20 milliseconds, 0:09:19.846,0:09:21.602 or 50 times per second. 0:09:21.602,0:09:24.414 We first figure out where the ball is going. 0:09:24.414,0:09:26.851 We then next calculate how the quad should hit the ball 0:09:26.851,0:09:29.950 so that it flies to where it was thrown from. 0:09:29.950,0:09:34.406 Third, a trajectory is planned that carries the quad 0:09:34.406,0:09:37.430 from its current state to the impact point with the ball. 0:09:37.430,0:09:41.239 Fourth, we only execute 20 milliseconds' worth of that strategy. 0:09:41.239,0:09:44.046 Twenty milliseconds later, the whole process is repeated 0:09:44.046,0:09:46.289 until the quad strikes the ball. 0:09:55.560,0:09:58.206 (Applause) 0:09:58.206,0:10:01.578 Machines can not only perform dynamic maneuvers on their own, 0:10:01.578,0:10:03.441 they can do it collectively. 0:10:03.441,0:10:07.028 These three quads are cooperatively carrying a sky net. 0:10:16.574,0:10:21.985 (Applause) 0:10:21.985,0:10:24.182 They perform an extremely dynamic 0:10:24.182,0:10:26.350 and collective maneuver 0:10:26.350,0:10:28.042 to launch the ball back to me. 0:10:28.042,0:10:31.553 Notice that, at full extension, these quads are vertical. 0:10:36.486,0:10:38.258 (Applause) 0:10:38.258,0:10:40.545 In fact, when fully extended, 0:10:40.545,0:10:43.230 this is roughly five times greater than what a bungee jumper feels 0:10:43.230,0:10:47.818 at the end of their launch. 0:10:51.009,0:10:53.686 The algorithms to do this are very similar 0:10:53.686,0:10:57.070 to what the single quad used to hit the ball back to me. 0:10:57.070,0:10:59.934 Mathematical models are used to continuously re-plan 0:10:59.934,0:11:04.449 a cooperative strategy 50 times per second. 0:11:04.449,0:11:06.326 Everything we have seen so far has been 0:11:06.326,0:11:08.789 about the machines and their capabilities. 0:11:08.789,0:11:11.804 What happens when we couple this machine athleticism 0:11:11.804,0:11:13.580 with that of a human being? 0:11:13.580,0:11:17.385 What I have in front of me is a commercial gesture sensor 0:11:17.385,0:11:18.694 mainly used in gaming. 0:11:18.694,0:11:20.498 It can recognize what my various body parts 0:11:20.498,0:11:22.546 are doing in real time. 0:11:22.546,0:11:24.662 Similar to the pointer that I used earlier, 0:11:24.662,0:11:27.454 we can use this as inputs to the system. 0:11:27.454,0:11:29.850 We now have a natural way of interacting 0:11:29.850,0:11:34.794 with the raw athleticism of these quads with my gestures. 0:12:10.453,0:12:14.853 (Applause) 0:12:23.982,0:12:27.989 Interaction doesn't have to be virtual. It can be physical. 0:12:27.989,0:12:29.714 Take this quad, for example. 0:12:29.714,0:12:32.342 It's trying to stay at a fixed point in space. 0:12:32.342,0:12:36.179 If I try to move it out of the way, it fights me, 0:12:36.179,0:12:40.334 and moves back to where it wants to be. 0:12:40.334,0:12:43.373 We can change this behavior, however. 0:12:43.373,0:12:45.072 We can use mathematical models 0:12:45.072,0:12:48.205 to estimate the force that I'm applying to the quad. 0:12:48.205,0:12:51.443 Once we know this force, we can also change the laws of physics, 0:12:51.443,0:12:55.942 as far as the quad is concerned, of course. 0:12:55.942,0:12:58.205 Here the quad is behaving as if it were 0:12:58.205,0:13:02.570 in a viscous fluid. 0:13:02.570,0:13:04.744 We now have an intimate way 0:13:04.744,0:13:06.593 of interacting with a machine. 0:13:06.593,0:13:09.099 I will use this new capability to position 0:13:09.099,0:13:11.676 this camera-carrying quad to the appropriate location 0:13:11.676,0:13:14.862 for filming the remainder of this demonstration. 0:13:24.222,0:13:26.990 So we can physically interact with these quads 0:13:26.990,0:13:29.393 and we can change the laws of physics. 0:13:29.393,0:13:31.706 Let's have a little bit of fun with this. 0:13:31.706,0:13:33.410 For what you will see next, these quads 0:13:33.410,0:13:36.906 will initially behave as if they were on Pluto. 0:13:36.906,0:13:39.218 As time goes on, gravity will be increased 0:13:39.218,0:13:41.338 until we're all back on planet Earth, 0:13:41.338,0:13:43.057 but I assure you we won't get there. 0:13:43.057,0:13:46.558 Okay, here goes. 0:13:53.667,0:13:57.079 (Laughter) 0:14:22.778,0:14:25.986 (Laughter) 0:14:25.986,0:14:29.372 (Applause) 0:14:29.372,0:14:30.579 Whew! 0:14:34.779,0:14:36.296 You're all thinking now, 0:14:36.296,0:14:38.271 these guys are having way too much fun, 0:14:38.271,0:14:40.350 and you're probably also asking yourself, 0:14:40.350,0:14:44.286 why exactly are they building machine athletes? 0:14:44.286,0:14:46.938 Some conjecture that the role of play in the animal kingdom 0:14:46.938,0:14:49.690 is to hone skills and develop capabilities. 0:14:49.690,0:14:51.756 Others think that it has more of a social role, 0:14:51.756,0:14:53.430 that it's used to bind the group. 0:14:53.430,0:14:56.963 Similarly, we use the analogy of sports and athleticism 0:14:56.963,0:14:59.042 to create new algorithms for machines 0:14:59.042,0:15:01.189 to push them to their limits. 0:15:01.189,0:15:04.866 What impact will the speed of machines have on our way of life? 0:15:04.866,0:15:07.255 Like all our past creations and innovations, 0:15:07.255,0:15:10.082 they may be used to improve the human condition 0:15:10.082,0:15:12.583 or they may be misused and abused. 0:15:12.583,0:15:14.506 This is not a technical choice we are faced with; 0:15:14.506,0:15:16.261 it's a social one. 0:15:16.261,0:15:17.651 Let's make the right choice, 0:15:17.651,0:15:20.056 the choice that brings out the best in the future of machines, 0:15:20.056,0:15:21.868 just like athleticism in sports 0:15:21.868,0:15:24.029 can bring out the best in us. 0:15:24.029,0:15:27.479 Let me introduce you to the wizards behind the green curtain. 0:15:27.479,0:15:30.379 They're the current members of the Flying Machine Arena research team. 0:15:30.379,0:15:35.148 (Applause) 0:15:35.148,0:15:38.194 Federico Augugliaro, Dario Brescianini, Markus Hehn, 0:15:38.194,0:15:41.018 Sergei Lupashin, Mark Muller and Robin Ritz. 0:15:41.018,0:15:42.950 Look out for them. They're destined for great things. 0:15:42.950,0:15:44.128 Thank you. 0:15:44.128,0:15:50.482 (Applause)