Good morning. I'm here today to talk about autonomous flying beach balls.
Bonjour Je suis ici aujourd'hui pour parler
(Laughter)
de ballons de plage volants et autonomes.
No, agile aerial robots like this one. I'd like to tell you a little bit about the challenges in building these, and some of the terrific opportunities for applying this technology. So these robots are related to unmanned aerial vehicles. However, the vehicles you see here are big. They weigh thousands of pounds, are not by any means agile. They're not even autonomous. In fact, many of these vehicles are operated by flight crews that can include multiple pilots, operators of sensors, and mission coordinators.
Non, de robots aériens agiles comme celui-ci. Je voudrais vous parler des défis rencontrés lors de leur construction et de quelques-unes des possibilités formidables d'application de cette technologie. Donc, ces robots sont apparentés à des drones. Cependant, les drones que vous voyez ici sont grands. Ils pèsent des tonnes, ne sont pas du tout agiles. Ils ne sont même pas autonomes. En fait, bon nombre de ces véhicules sont manoeuvrés par des équipes de pilotage qui peuvent compter des pilotes, des opérateurs de capteurs et plusieurs coordonnateurs de mission.
What we're interested in is developing robots like this -- and here are two other pictures -- of robots that you can buy off the shelf. So these are helicopters with four rotors, and they're roughly a meter or so in scale, and weigh several pounds. And so we retrofit these with sensors and processors, and these robots can fly indoors. Without GPS.
Ce qui nous intéresse, c'est le développement de robots de ce genre - et voici deux autres photos - des robots qu'on peut acheter dans le commerce. Ce sont donc des hélicoptères à quatre rotors et ils font à peu près un mètre et pèsent plusieurs kilos. Nous leur ajoutons des capteurs et des processeurs, et ces robots peuvent voler en intérieur sans GPS.
The robot I'm holding in my hand is this one, and it's been created by two students, Alex and Daniel. So this weighs a little more than a tenth of a pound. It consumes about 15 watts of power. And as you can see, it's about eight inches in diameter. So let me give you just a very quick tutorial on how these robots work.
Le robot que je tiens dans ma main est de ce type, et il a été créé par deux étudiants, Alex et Daniel. Il pèse un peu plus d'un vingtième de kilo. Il consomme environ 15 watts d'électricité. Comme vous pouvez le voir, il fait environ 20 cm de diamètre. Laissez-moi vous montrer rapidement comment ces robots fonctionnent.
So it has four rotors. If you spin these rotors at the same speed, the robot hovers. If you increase the speed of each of these rotors, then the robot flies up, it accelerates up. Of course, if the robot were tilted, inclined to the horizontal, then it would accelerate in this direction. So to get it to tilt, there's one of two ways of doing it. So in this picture, you see that rotor four is spinning faster and rotor two is spinning slower. And when that happens, there's a moment that causes this robot to roll. And the other way around, if you increase the speed of rotor three and decrease the speed of rotor one, then the robot pitches forward.
Un robot dispose donc de quatre rotors. Si vous faites tourner ces rotors à la même vitesse, le robot plane. Si vous augmentez la vitesse de chacun de ces rotors, alors le robot s'envole, il s'élève en accélérant. Bien sûr, si on faisait basculer le robot, si on l'inclinait à l'horizontale, alors il accélèrerait dans cette direction. Donc, pour le faire basculer, voici l'une des deux façons de le faire. Donc, sur cette image vous voyez que le rotor n° 4 tourne plus vite et que le rotor n° 2 tourne plus lentement. Quand c'est le cas, il y a un tangage qui fait basculer le robot. Et dans l'autre sens, si vous augmentez la vitesse du rotor n°3 et diminuez la vitesse du rotor n°1, alors le robot bascule en avant.
And then finally, if you spin opposite pairs of rotors faster than the other pair, then the robot yaws about the vertical axis. So an on-board processor essentially looks at what motions need to be executed and combines these motions, and figures out what commands to send to the motors -- 600 times a second. That's basically how this thing operates.
Enfin, si vous faites tourner des paires de rotors opposés plus vite que l'autre paire, alors le robot s'oriente sur l'axe vertical. Donc, un processeur embarqué s'intéresse essentiellement aux mouvements qui doivent être exécutés et combine ces mouvements et calcule quelles commandes envoyer aux moteurs 600 fois par seconde. C'est en gros comme ça que ça fonctionne.
So one of the advantages of this design is when you scale things down, the robot naturally becomes agile. So here, R is the characteristic length of the robot. It's actually half the diameter. And there are lots of physical parameters that change as you reduce R. The one that's most important is the inertia, or the resistance to motion. So it turns out the inertia, which governs angular motion, scales as a fifth power of R. So the smaller you make R, the more dramatically the inertia reduces. So as a result, the angular acceleration, denoted by the Greek letter alpha here, goes as 1 over R. It's inversely proportional to R. The smaller you make it, the more quickly you can turn.
Donc, l'un des avantages de cette conception c'est que quand on réduit la taille globale, le robot devient naturellement agile. Donc ici R est la longueur caractéristique du robot. C'est la moitié du diamètre, en fait. Et il y a beaucoup de paramètres physiques qui changent quand on réduit R. Celui qui est le plus important est l'inertie ou la résistance au mouvement. Ainsi, il s'avère que l'inertie, qui gouverne le mouvement angulaire, se met à l'échelle R puissance 5. Donc plus vous réduisez R, plus l'inertie se réduit de façon spectaculaire. Donc, l'accélération angulaire, désignée ici par la lettre grecque alpha, devient un sur R. Elle est inversement proportionnelle à R. Plus on la réduit, plus on peut tourner vite.
So this should be clear in these videos. On the bottom right, you see a robot performing a 360-degree flip in less than half a second. Multiple flips, a little more time. So here the processes on board are getting feedback from accelerometers and gyros on board, and calculating, like I said before, commands at 600 times a second, to stabilize this robot. So on the left, you see Daniel throwing this robot up into the air, and it shows you how robust the control is. No matter how you throw it, the robot recovers and comes back to him.
Cela devrait apparaître clairement dans ces vidéos. En bas à droite, on peut voir un robot effectuer un tonneau de 360 degrés en moins d'une demi-seconde. Des tonneaux multiples, un peu plus de temps. Donc, ici, les processus embarqués reçoivent les retours des accéléromètres et des gyroscopes embarqués et calculent, comme je l'ai dit avant, les commandes 600 fois par seconde pour stabiliser ce robot. Donc, sur la gauche, vous voyez Daniel jeter ce robot en l'air. Et ça vous montre la robustesse du contrôle. Peu importe comment on le jette, le robot récupère et revient à lui.
So why build robots like this? Well, robots like this have many applications. You can send them inside buildings like this, as first responders to look for intruders, maybe look for biochemical leaks, gaseous leaks. You can also use them for applications like construction. So here are robots carrying beams, columns and assembling cube-like structures. I'll tell you a little bit more about this. The robots can be used for transporting cargo. So one of the problems with these small robots is their payload-carrying capacity. So you might want to have multiple robots carry payloads. This is a picture of a recent experiment we did -- actually not so recent anymore -- in Sendai, shortly after the earthquake. So robots like this could be sent into collapsed buildings, to assess the damage after natural disasters, or sent into reactor buildings, to map radiation levels.
Alors, pourquoi construire des robots comme celui-ci? Des robots de ce genre ont de nombreuses applications. On peut les envoyer à l'intérieur de bâtiments comme celui-ci comme premiers intervenants à la recherche d'intrus, peut-être à la recherche de fuites biochimiques, de fuites de gaz. On peut aussi les utiliser pour des applications comme la construction. Voici des robots qui transportent des poutres, des colonnes et qui assemblent des structures cubiques. Je vais vous en dire un peu plus à ce sujet. Les robots peuvent être utilisés pour le transport de fret. Donc, l'un des problèmes avec ces petits robots est leur capacité de charge utile Donc, il faudra peut-être avoir plusieurs robots pour transporter des charges utiles. Ceci est une photo d'une expérience récente plus si récente que ça en fait à Sendai peu de temps après le tremblement de terre. Des robots comme celui-ci pourraient être envoyés dans les bâtiments écroulés pour évaluer les dégâts après les catastrophes naturelles, ou envoyés dans les bâtiments réacteurs pour cartographier les niveaux de radiation.
So one fundamental problem that the robots have to solve if they are to be autonomous, is essentially figuring out how to get from point A to point B. So this gets a little challenging, because the dynamics of this robot are quite complicated. In fact, they live in a 12-dimensional space. So we use a little trick. We take this curved 12-dimensional space, and transform it into a flat, four-dimensional space. And that four-dimensional space consists of X, Y, Z, and then the yaw angle.
Un problème fondamental que les robots doivent résoudre s'ils veulent être autonomes est en gros de trouver comment aller du point A au point B. Cela devient un peu difficile parce que la dynamique de ce robot est assez compliquée. En fait, ils vivent dans un espace à 12 dimensions. Alors, nous utilisons une petite astuce. Nous profitons de cet espace courbe à 12 dimensions et le transformons en un espace plat à quatre dimensions. Et cet espace à quatre dimensions se compose de X, Y, Z et de l'angle d'orientation.
And so what the robot does, is it plans what we call a minimum-snap trajectory. So to remind you of physics: You have position, derivative, velocity; then acceleration; and then comes jerk, and then comes snap. So this robot minimizes snap. So what that effectively does, is produce a smooth and graceful motion. And it does that avoiding obstacles. So these minimum-snap trajectories in this flat space are then transformed back into this complicated 12-dimensional space, which the robot must do for control and then execution.
Et alors ce robot planifie ce que nous appelons une trajectoire de décrochage minimum. Un rappel de physique, vous avez la position, la dérivée, la vitesse, puis l'accélération, puis vient la secousse puis vient le décrochage Donc, ce robot minimise le décrochage. Cela produit effectivement un mouvement doux et gracieux. Le tout en évitant les obstacles. Ces trajectoires de décrochage minimum dans cet espace plat sont ensuite transformées à nouveau dans cet espace complexe à 12 dimensions, ce que le robot doit faire pour le contrôle et l'exécution.
So let me show you some examples of what these minimum-snap trajectories look like. And in the first video, you'll see the robot going from point A to point B, through an intermediate point.
Alors laissez-moi vous montrer quelques exemples de ce à quoi ressemblent ces trajectoires de décrochage minimum. Et dans la première vidéo, vous verrez le robot aller du point A au point B par un point intermédiaire.
(Whirring noise)
So the robot is obviously capable of executing any curve trajectory. So these are circular trajectories, where the robot pulls about two G's. Here you have overhead motion capture cameras on the top that tell the robot where it is 100 times a second. It also tells the robot where these obstacles are. And the obstacles can be moving. And here, you'll see Daniel throw this hoop into the air, while the robot is calculating the position of the hoop, and trying to figure out how to best go through the hoop. So as an academic, we're always trained to be able to jump through hoops to raise funding for our labs, and we get our robots to do that.
Ainsi, le robot est évidemment capable d'exécuter n'importe quelle trajectoire courbe. Ce sont donc des trajectoires circulaires où le robot subit environ deux G. Ici vous avez des caméras de captation de mouvement sur le dessus qui disent au robot où il se trouve 100 fois par seconde. Elles disent aussi au robot où sont ces obstacles. Et les obstacles peuvent être en mouvement. Et ici, vous verrez Daniel jeter ce cerceau dans l'air, tandis que le robot calcule la position du cerceau et essaye de trouver la meilleure façon de passer à travers le cerceau. En tant qu'universitaire, on nous forme toujours à réussir les épreuves de sélection afin de lever des fonds pour nos labos, et ce sont nos robots qui le font pour nous.
(Applause)
(Applaudissements)
So another thing the robot can do is it remembers pieces of trajectory that it learns or is pre-programmed. So here, you see the robot combining a motion that builds up momentum, and then changes its orientation and then recovers. So it has to do this because this gap in the window is only slightly larger than the width of the robot. So just like a diver stands on a springboard and then jumps off it to gain momentum, and then does this pirouette, this two and a half somersault through and then gracefully recovers, this robot is basically doing that. So it knows how to combine little bits and pieces of trajectories to do these fairly difficult tasks.
Autre chose que le robot peut faire : il se souvient des bouts de trajectoire qu'il apprend ou qui sont pré-programmés. Ici vous pouvez voir le robot effectuer un mouvement qui exige d'accumuler de la vitesse de modifier son orientation, puis de se redresser. Donc, il doit le faire parce que cette ouverture dans la fenêtre est à peine supérieure à la largeur du robot. Alors, tout comme un plongeur sur un tremplin se jette pour gagner de la vitesse, et puis fait sa pirouette, ces deux saltos et demi et puis il récupère facilement, c'est en gros ce que ce robot fait. Il sait comment combiner de petits bouts de trajectoires pour effectuer ces tâches assez difficiles.
So I want change gears. So one of the disadvantages of these small robots is its size. And I told you earlier that we may want to employ lots and lots of robots to overcome the limitations of size. So one difficulty is: How do you coordinate lots of these robots? And so here, we looked to nature. So I want to show you a clip of Aphaenogaster desert ants, in Professor Stephen Pratt's lab, carrying an object. So this is actually a piece of fig. Actually you take any object coated with fig juice, and the ants will carry it back to the nest. So these ants don't have any central coordinator. They sense their neighbors. There's no explicit communication. But because they sense the neighbors and because they sense the object, they have implicit coordination across the group.
Je veux changer de vitesse. L'un des inconvénients de ces petits robots est leur taille. Et je vous l'ai dit plus tôt : on peut vouloir employer des tas de robots pour surmonter les limitations de taille. Donc, une difficulté est de savoir comment coordonner un bon nombre de ces robots? Et ici nous nous sommes tournés vers la nature. Je tiens donc à vous montrer une vidéo des fourmis du désert Aphaenogaster dans le laboratoire du professeur Stephen Pratt portant un objet. C'est en fait un morceau de figue. En fait, vous prenez un objet quelconque enduit de jus de figue et les fourmis vont le ramener au nid. Ces fourmis n'ont pas de coordinateur central. Elles repèrent leurs voisins. Il n'y a pas de communication explicite. Mais parce qu'elles repèrent les voisins et parce qu'elles repèrent l'objet, elles ont une coordination implicite au sein du groupe.
So this is the kind of coordination we want our robots to have. So when we have a robot which is surrounded by neighbors -- and let's look at robot I and robot J -- what we want the robots to do, is to monitor the separation between them, as they fly in formation. And then you want to make sure that this separation is within acceptable levels. So again, the robots monitor this error and calculate the control commands 100 times a second, which then translates into motor commands, 600 times a second. So this also has to be done in a decentralized way. Again, if you have lots and lots of robots, it's impossible to coordinate all this information centrally fast enough in order for the robots to accomplish the task. Plus, the robots have to base their actions only on local information -- what they sense from their neighbors. And then finally, we insist that the robots be agnostic to who their neighbors are. So this is what we call anonymity.
C'est le genre de coordination que nous voulons pour nos robots. Lorsque nous avons un robot qui est entouré par des voisins - et regardons le robot I et le robot J - ce que nous voulons que les robots fassent c'est surveiller la distance qui les sépare quand ils volent en formation. Et puis, on veut s'assurer que cette distance est dans des limites acceptables. Encore une fois, les robots surveillent cette erreur et calculent les commandes de contrôle 100 fois par seconde, ce qui se traduit alors par des commandes motrices 600 fois par seconde. Cela doit aussi se faire d'une manière décentralisée. Encore une fois, si vous avez des tas de robots, il est impossible de coordonner toutes ces informations de façon centrale assez vite pour que les robots accomplissent la tâche. En plus les robots sont amenées à fonder leurs actions uniquement sur des informations locales, ce qu'ils repèrent de leurs voisins. Et enfin, nous tenons à ce que les robots ne sachent pas l'identité exacte de leurs voisins. C'est ce que nous appelons l'anonymat.
So what I want to show you next is a video of 20 of these little robots, flying in formation. They're monitoring their neighbors' positions. They're maintaining formation. The formations can change. They can be planar formations, they can be three-dimensional formations. As you can see here, they collapse from a three-dimensional formation into planar formation. And to fly through obstacles, they can adapt the formations on the fly. So again, these robots come really close together. As you can see in this figure-eight flight, they come within inches of each other. And despite the aerodynamic interactions with these propeller blades, they're able to maintain stable flight.
Je veux vous montrer maintenant une vidéo de 20 de ces petits robots volant en formation. Ils surveillent la position de leurs voisins. Ils maintiennent la formation. Les formations peuvent changer. Ces formations peuvent être planaires, elles peuvent être tridimensionnelles. Comme vous pouvez le voir ici, ils se replient d'une formation en trois dimensions dans la formation planaire. Et pour voler à travers les obstacles ils peuvent s'adapter aux formations à la volée. Encore une fois, ces robots sont très rapprochés. Comme vous pouvez le voir dans ce vol en huit, ils viennent à quelques centimètres les uns des autres. Et malgré les interactions aérodynamiques des pales de l'hélice, ils sont en mesure de maintenir un vol stable.
(Applause)
(Applaudissements)
So once you know how to fly in formation, you can actually pick up objects cooperatively. So this just shows that we can double, triple, quadruple the robots' strength, by just getting them to team with neighbors, as you can see here. One of the disadvantages of doing that is, as you scale things up -- so if you have lots of robots carrying the same thing, you're essentially increasing the inertia, and therefore you pay a price; they're not as agile. But you do gain in terms of payload-carrying capacity.
Une fois que vous savez comment voler en formation, vous pouvez effectivement ramasser des objets en collaboration. Cela montre simplement que nous pouvons doubler, tripler, quadrupler la force des robots en les amenant à s'associer avec leurs voisins, comme vous pouvez le voir ici. Un des inconvénients de faire ça est, que comme on augmente l'échelle globale -- si on a beaucoup de robots qui transportent la même chose, en fait on augmente l'inertie, et donc on subit la conséquence, ils ne sont pas aussi agiles. Mais on y gagne en capacité de transport de charge utile.
Another application I want to show you -- again, this is in our lab. This is work done by Quentin Lindsey, who's a graduate student. So his algorithm essentially tells these robots how to autonomously build cubic structures from truss-like elements. So his algorithm tells the robot what part to pick up, when, and where to place it. So in this video you see -- and it's sped up 10, 14 times -- you see three different structures being built by these robots. And again, everything is autonomous, and all Quentin has to do is to give them a blueprint of the design that he wants to build.
Une autre application que je souhaite vous montrer - une fois de plus, c'est dans notre laboratoire. Ce travail est effectué par Quentin Lindsey qui est un étudiant de troisième cycle. Son algorithme dit essentiellement à ces robots comment construire de manière autonome des structures cubiques à partir d'éléments de type treillis. Son algorithme indique au robot quelle partie ramasser, quand et où la placer. Dans cette vidéo vous voyez - et c'est accéléré 10, 14 fois - vous voyez ces robots en train de construire trois structures différentes. Et là encore, tout est autonome, et tout ce que Quentin doit faire est de leur donner un plan de ce qu'il veut construire.
So all these experiments you've seen thus far, all these demonstrations, have been done with the help of motion-capture systems. So what happens when you leave your lab, and you go outside into the real world? And what if there's no GPS? So this robot is actually equipped with a camera, and a laser rangefinder, laser scanner. And it uses these sensors to build a map of the environment. What that map consists of are features -- like doorways, windows, people, furniture -- and it then figures out where its position is, with respect to the features. So there is no global coordinate system. The coordinate system is defined based on the robot, where it is and what it's looking at. And it navigates with respect to those features.
Toutes ces expériences que vous avez vues jusqu'à présent, toutes ces manifestations, ont été réalisées avec l'aide de systèmes de captation de mouvement. Que se passe-t-il lorsque vous quittez votre laboratoire et vous aller dehors dans le monde réel? Et si il n'y a pas de GPS ? Donc, ce robot est en fait équipé d'une caméra et d'un pointeur laser H, un scanner laser. Et il utilise ces capteurs pour élaborer une carte de l'environnement. La carte se compose de caractéristiques -- comme des portes, fenêtres, les gens, les meubles - et ensuite il calcule sa position par rapport aux caractéristiques. Il n'y a pas de système de coordonnées global. Le système de coordonnées est défini d'après le robot, où il se trouve et ce qu'il regarde. Et il navigue en fonction de ces caractéristiques.
So I want to show you a clip of algorithms developed by Frank Shen and Professor Nathan Michael, that shows this robot entering a building for the very first time, and creating this map on the fly. So the robot then figures out what the features are, it builds the map, it figures out where it is with respect to the features, and then estimates its position 100 times a second, allowing us to use the control algorithms that I described to you earlier. So this robot is actually being commanded remotely by Frank, but the robot can also figure out where to go on its own. So suppose I were to send this into a building, and I had no idea what this building looked like. I can ask this robot to go in, create a map, and then come back and tell me what the building looks like. So here, the robot is not only solving the problem of how to go from point A to point B in this map, but it's figuring out what the best point B is at every time. So essentially it knows where to go to look for places that have the least information, and that's how it populates this map.
Je tiens donc à vous montrer un clip des algorithmes développés par Frank Shen et le professeur Nathan Michael qui montre ce robot qui entre dans un bâtiment pour la première fois et crée cette carte à la volée. Le robot détermine ensuite les caractéristiques. Il élabore la carte. Il calcule où il se trouve en fonction des caractéristiques et estime alors sa position 100 fois par seconde nous permettant d'utiliser les algorithmes de contrôle que je vous ai décrits plus tôt. Donc, ce robot est en fait commandé à distance par Frank. Mais le robot peut aussi calculer où aller tout seul. Supposons donc que je doive l'envoyer dans un bâtiment et je n'aie aucune idée de ce à quoi ce bâtiment ressemble, Je peux demander à ce robot d'entrer, d'élaborer une carte et puis de revenir et de me dire à quoi le bâtiment ressemble. Ici, le robot résout non seulement le problème, comment aller du point A, au point B sur cette carte mais il calcule quel est le meilleur point B à chaque fois. Donc, essentiellement, il sait où aller pour trouver les endroits qui ont le moins d'informations. Et c'est comme ça qu'il remplit cette carte.
So I want to leave you with one last application. And there are many applications of this technology. I'm a professor, and we're passionate about education. Robots like this can really change the way we do K-12 education. But we're in Southern California, close to Los Angeles, so I have to conclude with something focused on entertainment. I want to conclude with a music video. I want to introduce the creators, Alex and Daniel, who created this video.
Je vais finir avec une dernière application. Et il y a de nombreuses applications de cette technologie. Je suis professeur, et nous sommes passionnés par l'éducation. Des robots comme celui-là peuvent vraiment changer la façon dont nous pratiquons l'éducation secondaire. Mais nous sommes en Californie du Sud, près de Los Angeles, je dois donc conclure avec quelque chose d'axé sur le divertissement. Je voudrais conclure avec un clip musical. Je tiens à présenter les créateurs, Alex et Daniel, qui ont conçu cette vidéo.
(Applause)
(Applaudissements)
So before I play this video, I want to tell you that they created it in the last three days, after getting a call from Chris. And the robots that play in the video are completely autonomous. You will see nine robots play six different instruments. And of course, it's made exclusively for TED 2012. Let's watch.
Avant de jouer cette vidéo, je tiens à vous dire qu'ils l'ont créée au cours des trois derniers jours après avoir reçu un appel de Chris. Et les robots qui jouent la vidéo sont complètement autonomes. Vous verrez neuf robots qui jouent six instruments différents. Et bien sûr, le clip est une exclusivité pour TED 2012. Regardons.
(Sound of air escaping from valve)
(Music)
(Whirring sound)
(Music)
(Musique)
(Applause) (Cheers)
(Applaudissements)