Good morning. I'm here today to talk about autonomous flying beach balls.
Bună dimineaţa. Sunt aici azi să vă vorbesc despre
(Laughter)
minigi de plajă, zburătoare, autonome.
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.
Nu -- roboţi agili, aeriani, cum e acesta. Aş vrea să vă povestesc puţin despre provocările în construcţia acestora precum şi unele oportunităţi extraordinare pentru aplicarea acestei tehnologii. Aceşti roboţi sunt înrudite cu vehiculele aeriene fără pilot. Oricum, vehiculele pe care le vedeţi aici sunt mari. Cântăresc mii de livre, şi nu sunt de loc agile. Nici măcar nu sunt autonome. De fapt, multe dintre aceste vehicule sunt operate de echipaje de zbor care pot include mai mulţi piloţi, operatori de senzori şi coordonatori de misiuni.
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 ne interesează e să dezvoltăm roboţi ca aceştia -- şi aici sunt alte două poze -- cu roboţi pe care-i poţi cumpăra din magazin. Astea sunt elicoptere cu patru rotoare şi au o dimensiune de aprox. 1 m şi cântăresc câteva livre. Îi echipăm cu senzori şi procesoare şi aceşti roboţi pot zbura în interior fără 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.
Robotul pe care îl ţin în mână este acesta, şi a fost creat de doi studenţi, Alex şi Daniel. Acesta cântăreşte puțin mai mult de 50 grame. Consumă aprox. 15 waţi putere. Şi după cum vedeți, are aprox. 20 cm în diametru. Să vă prezint un mic tutorial despre cum funcţionează aceşti roboţi.
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.
Are patru rotoare. Dacă învârţi rotoarele cu aceeași viteză, robotul planează. Dacă creşti viteza fiecărui rotor, robotul se înalţă, acelerează. Bineînţeles, dacă robotul ar fi aplecat, înclinat către orizontală, ar accelera în această direcţie. Ca să-l faci să se încline, iată una dintre cele 2 modalităţi de a face asta. În această imagine vedeţi că rotorul 4 se învârte mai repede şi rotorul 2 se învârte mai încet. Şi când se întâmplă asta există un moment care determină acest robot să se rostogolească. Şi invers, dacă creşti viteza rotorului 3 şi încetineşti viteza rotorului 1, robotul se aruncă înainte.
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.
Şi în final, dacă roteşti o pereche de rotoare mai repede decât cealaltă pereche, robotul alunecă de-a lungul axei verticale. Un procesor la bord se uită în la ce mişcare trebuie executată şi combină aceste mişcări şi calculează ce comenzi trebuie să trimită motoarelor de 600 de ori pe secundă. În esenţă aşa funcţionează.
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.
Unul din avantajele proiectului e că atunci când reduci dimensiunile, robotul devine agil în mod natural. Deci, aici R e lungimea caracteristică a robotului. e de fapt jumătate din diametru. Şi sunt o mulţime de parametri fizici care se schimbă pe măsură ce reduci R. Cel mai important e inerţia sau rezistenţa la mişcare. Se dovedeşte că, inerţia care guvernează mişcarea unghiulară, e a 5-a putere a lui R. Deci, pe cât de mult micşorezi R, cu atât mai dramatic se reduce inerţia. Ca rezultat acceleraţia unghiulară, notată aici cu litera grecească alfa, crește cu inversa lui R. Este invers proporţional cu R. Cu cât îl faci mai mic, cu atât poţi vira mai rapid.
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.
Ar trebui să fie clar în aceste clipuri. În dreapta jos vedeți un robot efectuând o întoarcere de 360 grade în mai puţin de jumătate de secundă. Răsturnările multiple durează mai mult. Aici procesele de la bord primesc feedback de la dispozitivele de măsurarea acceleraţiei şi de la giroscoapele de la bord şi calculează, cum am mai spus, 600 de comenzi pe secundă pentru a stabiliza robotul. La stânga îl vedeţi pe Daniel azvârlind acest robot în aer. Şi vă arată cât de robust e controlul. Indiferent cum îl arunci, robotul îşi revine şi se întoarce la el.
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.
Deci, de ce să construim roboţi ca acesta? Ei bine, roboţi ca aceştia au multe aplicaţii. Pot fi trimişi în clădiri ca aceasta ca prim răspuns, să caute intruşi, poate să caute scurgeri biochimice, scăpări de gaze. Pot fi de asemenea utilizaţi pentru aplicaţii în construcţii. Aici sunt roboţi ce cară grinzi, coloane şi asamblează structuri în formă de cub. Am să vă povestesc mai mult dspre asta. Roboţii pot fi folosiţi pentru transportul de marfă. Una din problemele cu aceşti mici roboţi e capacitatea lor de încărcare şi transport. Deci poate doriți să aveţi mai mulţi roboţi care să transporte încărcături. Iată o poză a unui experiment recent pe care l-am făcut -- de fapt nu mai e aşa recent -- la scurt timp după cutremur în Sendai. Roboţi ca aceştia pot fi trimişi în clădiri prăbuşite să evalueze pagubele rezultate în urma dezastrelor naturale sau pot fi trimişi în clădirile reactoarelor să carografieze nivelul radiaţiilor.
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.
Deci, o problemă fundamentală pe care trebuie s-o rezolve roboţii dacă vor fi autonomi e să-şi dea seama de fapt cum să ajungă de la punctul A la B. Aşa că devine o provocare pentru că dinamica acestui robot e destul de complicată. De fapt ei trăiesc într-un spaţiu cu 12 dimensiuni. Aşa că folosim un mic truc. Luăm acest spaţiu curbat cu 12 dimensiuni şi îl transformăm într-un spaţiu uniform cu 4 dimensiuni. Şi acel spaţiu cu 4 dimensiuni constă în X, Y, Z şi unghiul de giraţie.
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.
Ce fac roboţii, planifică ce noi numim o traiectorie de bruscare minimă. Ca să vă amintesc din fizică, aveţi poziţia, derivata, viteza, apoi acceleraţia, apoi urmează saltul şi apoi vine lansarea bruscă. Acest robot minimizează bruscarea. Efectul este că produce o mişcare lină şi graţioasă. Şi face asta evitând obstacolele. Aceste traiectorii de bruscare minimă în spaţiul plan sunt apoi transformate înapoi în spaţiul complicat de 12 dimensiuni, pe care trebuie să-l facă robotul pentru control şi execuţie.
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.
Să vă arăt câteva exemple de cum arată aceste traiectorii de bruscare minimă. În primul video-clip, vedeți robotul plecând de la punctul A la B trecând printr-un punct intermediar.
(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.
Robotul e în mod evident capabil de a executa orice traiectorie curbată. Astea sunt traiectorii circulare în care roboţii înfruntă aprox. 2 G. Sus aveţi camere de luat vederi aeriene care le comunică roboţilor poziţia în care sunt de 100 de ori pe secundă. Le mai spune roboţilor şi unde sunt localizate obstacolele. Şi obstacolele pot fi în mişcare. Îl vedeţi pe Daniel azvârlind un cerc în aer, în timp ce robotul calculează poziţia inelului şi încearcă să găsească cum e cel mai bine să treacă prin inel. Deci, ca oameni din mediul academic, suntem mereu instruiţi să ne dăm peste cap să strângem bani pentru laboratoarele noastre, şi îi facem pe roboţii noştri să facă asta.
(Applause)
(Aplauze)
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.
Un alt lucru pe care-l poate face robotul este că îşi amintesc părţi din traiectoria pe care au învăţat-o sau care e pre-programată. Aici vedeţi robotul combinând o mişcare care creează momentul, îşi schimbă orientarea şi apoi îşi revine. Trebuie să facă asta pentru că această gaură din fereastră e doar puţin mai mare decât lăţimea robotului. Aşa cum un scufundător stă pe o trambulină, apoi sare pentru a-și lua elan, şi apoi face această piruetă, acestă săritură de două ori şi jumătate şi apoi îşi revine graţios, acest robot face de fapt asta. Ştie cum să combine porțiuni de traiectorie să îndeplinască aceste sarcini destul de dificile.
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.
Vreau să schimb subiectul. Unul din dezavantajele acestor roboţei e mărimea lor. Şi v-am spus mai devreme că poate trebuie să folosim mulţi, mulţi roboţi ca să depăşim limita dimensiunii. O dificultate e cum coordonezi o mulţime de roboţi? Şi aici ne-am uitat la natură. Vreau să vă arăt un clip cu furnicile de deşert Aphaenogaster cărând un obiect în laboratorul profesorului Stephen Pratt. Este o bucată de smochină. Poţi lua orice obiect acoperit cu suc de smochine şi furnicile îl vor duce în cuib. Aceste furnici n-au nici nu coordonator central. Îşi simt vecinii. Nu există comunicare explicită. Dar pentru că îşi simt vecinii şi pentru că simt obiectul, au o coordonare implicită în interiorul grupului.
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.
Acesta e tipul de coordonare pe care-l dorim pentru roboţii noştri. Atunci când avem un robot care-i înconjurat de vecini -- priviţi la robotul I şi robotul J -- ce vrem să facă roboţii e să monitorizeze spaţiile dintre ei în timp ce zboară în formaţie. Şi apoi vrei să te asiguri că distanţarea e în limite acceptabile. Din nou roboţii monitorizează această eroare şi calculează comenzile de control de 100 de ori pe secundă, care apoi e transmis către motor de 600 de ori pe secundă. Deci şi asta a fost făcut în mod descentralizat. Dacă avem mulţi, mulţi roboţi, e imposibil să coordonăm toate aceste informaţii central destul de repede ca roboţii să îndeplinească sarcina. În plus roboţii trebuie să-şi bazeze acţiunile doar pe informaţiile locale, pe ceea ce simt de la vecinii lor. Şi în final, insistăm ca roboţii să fie neîncrezători referitori la cine sunt vecinii lor. Asta-i ce numim anonimat.
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.
Vreau să vă arăt în continuare un clip cu 20 asemenea roboţei zburând în formaţie. Ei monitorizează poziţiile vecinilor lor. Menţin formaţia. Formaţiile se pot schimba. Pot fi formaţii plane, sau formaţii tri-dimensionale. După cum vedeți aici, cad dintr-o formaţie 3-D într-una plană. Şi ca să zboare printre obstacole se pot adapta la diverse formaţii în zbor. Din nou, roboţii se apropie foarte mult unul de altul. Vedeți în acest zbor în formă de 8, se apropie la distanţe de câţiva centimetri. Şi în ciuda interacţiunilor aerodinamice între lamelele elicelor, sunt capabili să menţină zbor stabil.
(Applause)
(Aplauze)
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.
Odată ce ştii cum să zbori în formaţie, poţi ridica obiecte prin cooperare. Asta arată că putem dubla, tripla, împătri forţa robotului determinându-i să facă echipă cu vecinii lor, aşa cum vedeți aici. Unul din dezavantaje e că mărind la scară -- dacă avem mulţi roboţi cărând acelaşi lucru efectiv creşti inerţia, și plăteşti un preţ; nu mai sunt atât de agili. Dar câştigi în capacitate utilă.
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.
O altă aplicaţie pe care vreau s-o arăt -- din nou în laboratorul nostru. Asta e făcut de Quentin Lindsey, un student masterand Algoritmul lui spune roboţilor cum să construiască autonom structuri cubice din elemente în formă de grinzi. Algoritmul lui le spune roboţilor ce parte să ridice, când şi unde s-o poziţioneze. În acest filmuleţ -- viteza e mărită de 10, 14 ori -- vedeţi 3 structuri diferite construite de aceşti roboţi. Şi din nou, totul e autonom, şi tot ce trebuie să facă Quentin e să le aducă o schiţă a proiectului pe care-l vrea construit.
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.
Toate aceste experimente pe care le-aţi văzut până acum, toate aceste demonstraţii, au fost făcute cu ajutorul sistemelor de captare a mişcării. Dar ce se întâmplă când părăseşti laboratorul şi mergi afară, în lumea reală? Şi dacă nu există GPS? Acest robot este echipat cu o cameră şi un telemetru laser, un scanner laser. Şi foloseşte senzori să creeze o hartă a împrejurimilor. Harta constă din caracteristici -- cum ar fi uşile, ferestrele, oamenii, mobila -- şi apoi îşi calculează poziţia în funcţie de aceste caracteristici. Deci nu există un sistem global de coordonate. Sistemul de coordonate e definit pe baza robotului, unde se află şi la ce se uită. Şi navighează ţinând seama de acele caracterisitici.
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.
Vreau să vă arăt un clip ilustrând alogitmii programaţi de Frank Shen şi profesorul Nathan Michael care arată acest robot intrând într-o clădire pentru prima dată şi realizând harta în zbor. Robotul calculează caracteristicile. Construieşte harta. Calculează unde se află în funcție de repere şi apoi îşi estimează poziţia de 100 de ori pe secundă permiţându-ne să folosim algoritmii de control pe care i-am descris mai devreme. Acest robot e comandat de la distanţă de Frank. Dar robotul îşi poate da seama de unul singur unde să meargă. Presupunem că trebuie să-l trimit într-o clădire şi n-am idee cum arată clădirea, Pot trimite robotul înăuntru, să creeze o hartă şi apoi să vină şi să-mi spună cum arată clădirea. Aici, robotul nu doar că rezolvă problema, cum să ajungă de la punctul A la B pe această hartă, dar îşi dă seama unde e cel mai bun punct B, în orice moment. În esenţă, ştie unde să se ducă să caute locuri despre care are cele mai puţine informaţii. Şi astfel întocmește harta.
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.
Vreau să închei cu o ultimă aplicaţie. Şi sunt multe aplicaţii pentru această tehnologie. Sunt profesor şi noi suntem pasionaţi de educaţie. Roboţi ca aceştia pot schimba cu adevărat modul în care se face educaţia în cele 12 clase. Dar suntem în sudul Californiei, aproape de Los Angeles, deci trebuie să închei cu ceva concentrat pe divertisment. Doresc să închei cu un clip muzical. Vreau să-i prezint pe creatori, Alex şi Daniel, care au făcut acest clip.
(Applause)
(Aplauze)
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.
Înainte să rulez acest film, vreau să vă spun că l-au creat în ultimele trei zile după ce au primit un telefon de la Chris. Şi roboţii care cântă în acest video sunt complet autonomi. Veţi vedea 9 roboţi care cântă la 6 instrumente diferite. Şi bineînţeles e făcut exclusiv pentru TED 2012. Să-l urmărim.
(Sound of air escaping from valve)
(Music)
(Whirring sound)
(Music)
(Muzică)
(Applause) (Cheers)
(Aplauze)