Good morning. I'm here today to talk about autonomous flying beach balls.
Bonjour. Je suis ici ce matin pour parler
(Laughter)
de ballons de plages autonomes et volants.
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, d'habiles robots aériens tels que celui-ci. J'aimerais vous parler un peu des défis dans leur construction et de certaines des incroyables options d'application de cette technologie. Donc ces robots sont proches de véhicules aériens inhabités. Cependant, les véhicules que vous voyez ici sont grands. Ils pèsent des milliers de livres, et ne sont en aucune manière agiles. Ils ne sont même pas autonomes. En fait, nombre de ces véhicules sont dirigés par des équipages de vol qui peuvent compter plusieurs pilotes, responsables de capteurs et chefs 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.
Nous nous intéressons à développer des robots comme ceux-là -- et voici deux autres photos de robots que vous pouvez acheter directement sur l'étagère. Donc ce sont des hélicoptères avec quatre rotors, ils font environ un mètre de large et pèsent plusieurs livres. donc nous les réduisons avec des capteurs et des processeurs et ces robots peuvent volet 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 un de ceux-là et il a été créé par deux étudiants, Alex et Daniel. Il pèse un peu plus de 45 grammes. Il consomme environ 15 watts d'électricité. Et ainsi que vous pouvez le voir, il fait à peu près 20 cm de diamètre. Laissez-moi vous donner un cours rapide sur 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.
Il a quatre rotors. Si vous faites tourner ces rotors à la même vitesse, le robot lévite. Si vous augmentez la vitesse de chacun des rotors, le robot s'élève, il accélère vers le haut. Bien sûr, si le robot était penché, incliné à l'horizontale, alors il accélèrerait dans cette direction. Donc pour l'incliner, il y a deux façons de faire. Sur cette image vous voyez que le rotor n°4 tourne plus vite et que le rotor n°2 tourne moins vite. Quand cela arrive, vient le moment où le robot roule sur lui-même. Et dans l'autre sens, si vous accélérez le rotor n°3 et décélérez le rotor n°1, le robot pique vers l'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 une paire de rotors opposés plus vite que l'autre paire, alors le robot fait une embardée verticale. Le processeur embarqué s'intéresse donc principalement à quels mouvements doivent être exécutés, combine ces mouvements et détermine quels ordres envoyer aux moteurs 600 fois par seconde. Voilà comment ceci fonctionne, en gros.
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.
L'un des avantages de ce design c'est que, lorsqu'on réduit les choses, le robot devient naturellement plus agile. Ici, R est la longueur du robot C'est en fait la moitié du diamètre. Et de nombreux paramètres physiques changent au fur et à mesure que l'on réduit R. Le plus important est l'inertie ou la résistance au mouvement. Il apparaît que l'inertie, qui gouverne le déplacement angulaire est égale à R puissance 5. Donc plus vous réduisez R, plus l'inertie diminue vite. En résultat, l'accélération angulaire, représentée ici par la lettre grecque alpha, est 1 sur R. C'est inversement proportionnel à R. Plus R est petit, plus vite vous pouvez tourner.
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.
Ceci devrait être clair dans ces vidéos. En bas à droite, vous voyez un robot en train de faire un salto à 360° en moins d'une demi-seconde. Plusieurs saltos, un peu plus de temps. Les processeurs embarqués récupèrent des informations des accéléromètres et des gyroscopes embarqués et calculent, comme je le disais tout à l'heure, des ordres 600 fois par seconde pour stabiliser ce robot. Donc à gauche, vous voyez Daniel en train de lancer ce robot en l'air. Et il vous montre combien ce contrôle est fiable. Peu importe comment vous le lancez, le robot se rétablit et revient vers 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 de tels robots ? Eh bien, des robots comme ceux-ci ont de nombreuses applications. Vous pouvez les envoyer dans des bâtiments comme celui-ci comme premiers intervenants pour chercher des intrus, peut-être chercher des fuites biochimiques ou gazeuses. Vous pouvez aussi les utiliser pour des applications comme la construction. Voici des robots portant des poutres, des colonnes et assemblant des structures cubiques. Je vais vous en dire un peu plus là-dessus. Ces robots peuvent être utilisés pour du transport cargo. Un des problèmes de ces petits robots est leur faible capacité de transport. Donc on pourrait vouloir plusieurs robots portant des charges. Voici la photo d'une expérience qu'on a faite récemment -- plus si récemment que ça, en fait -- à Sendai, juste après le tremblement de terre. De tels robots pouvaient être envoyés dans des bâtiments effondrés pour estimer les dégâts après des catastrophes naturelles, ou envoyés dans des bâtiments irradiés 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 doivent être autonomes est principalement trouver comment se rendre d'un point A à un point B. Ceci devient un peu délicat car la dynamique de ce robot est assez compliquée. En fait, ils vivent dans un espace en 12 dimensions. Donc nous utilisons une petite astuce. Nous prenons cet espace courbe en 12 dimensions et le transformons en un espace plat en 4 dimensions. Cet espace quadri-dimensionnel se compose de X, Y, Z et de cet angle de lacet.
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 ce que fait le robot est qu'il planifie ce que l'on appelle ... Pour vous rafraîchir en physique, vous avez la position, la dérivée, la vitesse, ensuite l'accélération, puis les saccades et enfin "snap". Ce robot minimise donc le "snap". Ce que cela fait concrètement est que ça produit un déplacement harmonieux et gracieux. Et ça le fait en évitant des obstacles. Ces trajectoires ... dans cet espace plat sont alors retranscrites dans ce complexe espace dodéca-dimensionnel ce que le robot doit faire pour le contrôle et aussi 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.
Laissez moi vous montrer quelques exemples de ce à quoi ces trajectoires ... ressemblent. Dans la première vidéo, vous allez voir le robot aller d'un point A à un point B en passant 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.
Le robot est manifestement capable d'exécuter n'importer quelle trajectoire en courbe. Ceci sont des trajectoires circulaires dans lesquelles le robot soutient environ deux G. Ici, il y a des caméras de capture de mouvement sur le dessus du robot qui lui dit où il se trouve 100 fois par seconde. Elles lui signalent également où se trouvent les obstacles. Et les obstacles peuvent être mobiles. Ici, vous voyez Daniel lancer ce cerceau en l'air, alors que le robot recalcule la position du cerceau et décide comment au mieux passer dans le cerceau. En tant qu'universitaire, nous sommes formés à sauter à travers des cerceaux pour lever des fonds pour nos laboratoires et nous faisons faire la même chose à nos robots.
(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.
Une autre chose que le robot peut faire est de se souvenir de sections de trajectoires qu'il apprend ou qui sont pré-programmées. Ici vous voyez le robot combiner un mouvement qui génère un élan et change son orientation et ensuite récupérer. Il doit faire cela car le trou dans la fenêtre n'est que légèrement plus grand que la largeur du robot. Donc en fait, le plongeur saute d'un plongeoir afin de gagner de l'élan avant de faire sa pirouette, ce double saut périlleux, et ensuite se rétablit gracieusement, et le robot fait la même chose. Donc il sait comment réunir de petits bouts de trajectoires pour faire 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.
Donc il faut changer de vitesse. L'un des inconvénients de ces petits robots est leur taille. Comme je vous le disais plus tôt, on pourrait envisager d'utiliser beaucoup de robots pour compenser les limitations de leur taille. Donc une difficulté est dans comment coordonner ces nombreux robots ? Nous nous sommes tournés vers la nature. Je voudrais vous montrer une vidéo des fourmis du désert Aphaenogaster portant un objet au laboratoire du Docteur Stephen Pratt. Il s'agit en fait d'un morceau de figue. Si vous prenez n'importe quel objet et que vous le couvrez de jus de figue, les fourmis vont l'emporter au nid. Ces fourmis n'ont pas de coordination centrale. Elles perçoivent leurs voisines. Il n'y a pas de communication explicite. Mais comme elles perçoivent leurs voisines ainsi que l'objet elles ont une coordination implicite parmi le 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 type de coordination que nous souhaitons que nos robots aient. Donc notre robot est entouré de ses voisins -- regardons les robots I et J -- ce que nous voulons des robots c'est qu'ils gèrent l'espace entre eux alors qu'ils volent en formation. Ensuite, il faut s'assurer que la taille de cet écart est acceptable. Le robot suit cet écart et calcule les commandes 100 fois par seconde, ce qui se transforme en ordres aux rotors 600 fois par seconde. Cela aussi doit être fait de façon décentralisée. Encore une fois, si vous avez de très nombreux robots, il est impossible de coordonner cette information centralement assez vite pour que les robots accomplissent leurs tâches. De plus, les robots doivent baser leurs actions uniquement sur des informations locales, ce qu'ils perçoivent de leurs voisins. Enfin, nous pensons qu'il est nécessaire que les robots ignorent qui leurs voisins sont. On appelle cela 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 voudrais maintenant vous montrer une vidéo de 20 de ces petits robots volant en formation. Ils suivent la position de leurs voisins. Ils maintiennent la formation. Les formations peuvent changer. Cela peut être des formations planes ou en 3D. Comme vous le voyez ici, ils passent d'une formation en 3D à une formation en 2D. Et pour voler au travers d'obstacles, ils peuvent adapter la formation au cours du vol. Une fois de plus, ces robots peuvent vraiment se rapprocher les uns des autres. Comme vous le voyez avec ce huit de chiffre, il s'approchent à quelques centimètres les uns des autres. Malgré les interactions aérodynamiques de ces pales ils arrivent à 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 en fait soulever des objets en commun. Cela montre simplement que vous pouvez doubler, tripler, quadrupler la force du robot simplement en les regroupant en équipes, comme ici. Un des avantages de cela est que, à mesure que vous augmentez les proportions -- si vous avez plus de robots portant la même chose, vous augmentez surtout l'inertie et pour cela vous payez le prix : ils ne sont plus aussi agiles. Mais vous y gagnez en termes de capacité de chargement.
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 veux vous montrer -- à nouveau, c'est dans notre labo. Ce travail est fait par Quentin Lindsey qui est un doctorant. En gros, son algorythme dit aux robots comment construire en autonomie des structures cubiques avec des éléments en forme de bottes. L'algorythme dit au robot quel élément prendre, quand et où le placer. Sur cette vidéo, vous voyez -- et c'est accéléré 10, 14 fois -- vous voyez différentes structures construites par ces robots. Encore une fois, tout est autonome, et tout ce que Quentin a à faire est de leur donner un plan de l'architecture qu'il souhaite 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 les expériences que vous avez vues jusqu'à présent, toutes les démonstrations, ont été faites avec l'aide de systèmes de capture de mouvement. Que se passe-t'il quand vous quittez votre labo et allez dans le monde extérieur ? Et que se passe-t'il s'il n'y a pas de GPS ? Ce robot est en fait équipé d'une caméra, d'un laser télémétrique et d'un scanner laser. Et il utilise ces capteurs pour dessiner une carte de son environnement. Cette carte consiste en des élements -- comme des portes, des fenêtres, des gens, des meubles -- et ensuite, le robot détermine où il se trouve par rapport à ces éléments. Donc il n'y a pas de système central de coordination. Le système de coordination est défini en fonction du robot, où il se trouve et ce à quoi il s'intéresse. Et il s'oriente en fonction de ces éléments.
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 voudrais vous montrer une vidéo d'algorithmes développés par Frank Shen et le Docteur Nathan Michael qui montre ce robot entrant dans un bâtiment pour la toute première fois et créant la carte au fil de son vol. Le robot détermine ce que sont les éléments. Il dessine la carte. Il détermine où il se trouve par rapport aux éléments et ensuite calcule sa position 100 fois par seconde nous permettant d'utiliser les algorithmes de contrôle que je vous ai décrit plus tôt. Ce robot est en fait commandé à distance par Frank. Mais le robot peut aussi décider par lui même où aller. Imaginons que j'envoie ceci dans ce bâtiment et que je n'aie aucune idée de ce à quoi peut ressembler le bâtiment, je peux demander au robot d'entrer, de dessiner une carte et ensuite de revenir me dire à quoi ressemble le bâtiment. Ici, le robot ne résoud pas seulement le problème de comment aller d'un point A à un point B dans cette carte, mais il détermine aussi à chaque instant quel est le meilleur point B. En bref, il sait où aller pour trouver les endroits sur lesquels il a le moins d'information. Et c'est ainsi qu'il remplit sa 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 voudrais vous laisser avec une dernière application. Il y a de nombreuses applications pour cette technologie. Je suis un universitaire, et nous sommes véhéments en ce qui concerne l'éducation. De tels robots peuvent vraiment changer la façon dont nous faisons "K par 12" dans l'éducation. Mais nous sommes en Californie du Sud, près de Los Angeles, donc il me faut conclure sur quelque chose de lié à l'amusement. Je souhaite donc finir avec une vidéo de musique. Je voudrais vous présenter les créateurs, Alex et Daniel, qui ont fait 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 lancer cette vidéo, je voudrais vous dire qu'ils l'ont montée ces 3 derniers jours après qu'ils aient eu Chris au téléphone. Et les robots que vous verrez sont totalement autonomes. Vous verrez 9 robots jouer de 6 instruments différents. Et bien sûr, c'est fait exclusivement pour TED 2012. Regardons.
(Sound of air escaping from valve)
(Music)
(Whirring sound)
(Music)
(Musique)
(Applause) (Cheers)
(Applaudissements)