Dobré ráno. Jsem dnes zde, abych mluvil o autonomních létajicích plážových míčích. Ne, o mrštných létajicích robotech, jako je tenhle. Rád bych vám pověděl něco málo o výzvách při jejich stavbě a některých úžasných možnostech pro využití této technologie. Tyto roboty jsou příbuznými bezpilotních letadel. Nicméně letadla, které vidíte zde, jsou velká. Váží tisíce liber (stovky kilogramů) a nejsou v žádném případě mrštná. Navíc nejsou ani autonomní. Ve skutečnosti je mnoho těchto strojů ovládáno letovými posádkami, které mohou zahrnovat několik pilotů, operátorů senzorů a koordinátorů misí.
Good morning. I'm here today to talk about autonomous flying beach balls. (Laughter) 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.
Co nás zajímalo, je vývoj robotů jako jsou tyto -- a tady dva další obrázky -- robotů, které si můžete koupit v obchodě. Takže toto jsou helikoptéry se čtyřmi rotory a jsou zhruba metr velké a váží několik liber (pár kilogramů). Dodatečně jsme je vybavili senzory a procesory, a tak mohou tyto roboty létat v místnostech bez GPS.
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.
Robot, který držím ve své ruce, je jedním z nich, vytvořili jej dva studenti, Alex a Daniel. Tenhle váží trochu víc než desetinu libry (50 gramů). Spotřebuje okolo 15 wattů příkonu. A jak můžete vidět, má v průměru přibližně osm palců (20 cm). Dovolte mi dát vám velmi rychlý úvod do toho, jak tyto roboty pracují.
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.
Takže má čtyři rotory. Když mají tyto rotory stejné otáčky, robot se vznáší. Když zvýšíte otáčky každého z těchto rotorů, pak robot stoupá, zrychluje. Samozřejmě kdyby byl robot nakloněn, byl skloněn oproti vodorovné ose, pak by zrychloval tímto směrem. Existují dva způsoby, jak jej naklonit. Na tomto obrázku vidíte, že rotor číslo 4 se otáčí rychleji a rotor číslo 2 se otáčí pomaleji. A když se toto stane, dojde k tomu, že se robot natočí. A nebo, když zvýšíte otáčky rotoru číslo 3 a snížíte otáčky rotoru číslo 1, pak se robot nahne vpřed.
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.
A konečně, když má pár protilehlých rotorů vyšší otáčky než druhý pár, pak se robot obrací kolem svislé osy. Procesor na palubě v podstatě sleduje, jaké pohyby je třeba vykonat a kombinuje tyto pohyby a řeší, jaké příkazy poslat motorům, a to dělá 600krát za sekundu. Takto v základě tato věc funguje.
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.
Jedna z výhod tohoto přístupu je, že když tyto věci zmenšíte, robot se přirozeně stává mrštnějším. Toto R je charakteristická délka robota. Činí polovinu průměru. A je mnoho fyzikálních parametrů, které se změní, když zmenšíte R. Ten nejdůležitější je setrvačnost neboli odpor k pohybu. Ukazuje se, že setrvačnost, která řídí úhlový pohyb, je úměrná páté mocnině R. Takže čím menší R uděláte, tím dramatičtěji poklesne setrvačnost. Jako výsledek, úhlové zrychlení, zde označené řeckým písmenem alfa, je 1/R. Je nepřímo úměrné R. Čím menší jej vyrobíte, tím rychleji se může otáčet.
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.
To by mělo být jasné na těchto videích. V pravo dole vidíte robot provádějící 360stupňový obrat za méně než půl sekundy. Několik obratů za nepatrně delší čas. Zde procesy na palubě dostávají zpětnou vazbu z akcelerometrů a gyroskopů na palubě a vyhodnocují, jak jsem už dříve řekl, příkazy 600krát za sekundu, aby stabilizovaly robota. Nalevo vidíte Daniela, který tohoto robota háže do vzduchu. Předvádí se nám, jak stabilní ovládání je. Nezáleží na tom, jak jej hodíte, robot se stabilizuje a vrátí se k němu.
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.
A proč vyrábět roboty jako jsou tyto? Nuže, takové roboty mají mnoho použití. Můžete je vyslat do budov jako je tato coby první průzkumníky hledající vetřelce, případně hledající biochemické znečištění, úniky plynu. Rovněž je můžete použít pro stavbu. Tady roboty přenášejí trámy a sloupy a skládají krychlové struktury. Řeknu vám o tom trochu víc. Roboty lze použít pro přepravu nákladu. Jeden z problémů s těmito roboty je jejich nosnost. Takže budeme možná chtít mnoho robotů pro přepravu nákladu. Tohle je obrázek nedávného experimentu, který jsme dělali -- vlastně už ne tak nedávného -- v Sendaji krátce po zemětřesení. Roboty jako je tento mohou být poslány do bortících se budov, aby zjistily poškození po živelních katastrofách nebo je lze poslat do reaktoru, aby prozkoumaly úroveň radiace.
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.
Jeden zásadní problém, který roboty musí řešit, pokud mají být autonomní, je, jak vlastně vyřešit, jak se dostat z bodu A do bodu B. Toto je celkem výzva, protože dynamika tohoto robota je docela složitá. Ve skutečnosti se pohybují ve dvanáctirozměrném prostoru. Takže používáme malý trik. Vezmeme tento zakřivený dvanáctirozměrný prostor a přeměníme jej na plochý čtyřrozměrný prostor. A tento čtyřrozměrný prostor se skládá z os X, Y, Z a úhlu vybočení.
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.
A tak co robot dělá, je, že plánuje něco, co nazýváme minimální snapová trasa. Abych vám připomenul fyziku, rychlost je derivací dráhy, další derivací získáte zrychlení a pak přichází ryv a snap. Takže tento robot minimalizuje snap. Takže co efektivně dělá, je, že koná plynulý a elegantní pohyb. A vyhýbá se překážkám. Tyto minimální snapové trasy v plochém prostoru jsou posléze převedeny zpět do komplikovaného dvanáctirozměrného prostoru, ve kterém se robot nachází, pohybuje a jedná.
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.
Dovolte mi ukázat vám nějaké příklady toho, jak tyto minimální snapové trasy vypadají. V prvním videu uvidíte robot, který se přesunuje z bodu A do bodu B skrze středový bod.
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.
Robot je očividně schopný procházet jakkoli zakřivenou trasu. Tohle jsou kruhové trasy, kde na robota působí přetížení kolem 2 G. Robot má na zádech kamery, které mu říkají, kde je -- 100krát za sekundu. Rovněž robotu říkají, kde jsou překážky. A překážky se mohou pohybovat. Tady uvidíte Daniela, jak háže obruč do vzduchu, zatímco robot si spočítá polohu obruče a snaží se vyřešit, jak nejlépe jí proletět. Jako akademičtí pracovníci jsme byli vždy cvičeni ke skákání obručemi, abychom získali finance pro naše laboratoře, a tak jsme to naučili i roboty.
(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.
(Potlesk)
(Applause)
Jiná věc, kterou robot dovede, je, že si pamatuje trasu, kterou se naučí nebo mu je předprogramována. Tady vidíte robot, který kombinuje pohyby, čímž získá hybnost, a pak změní svoji orientaci a poté se dostává do výchozí polohy. Musí to udělat, protože díra v okně je pouze o trošku větší než je šířka robota. Podobně jako skokan stojící na odrazovém můstku, si poskočí, aby získal hybnost, pak provede piruetu, tohle dvou a půl salto, a pak se půvabně vrátí do výchozí pozice, tento robot v podstatě tohle dělá. Takže ví, jak kombinovat malé části tras tak, aby provedl tyhle vskutku náročné úkony.
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.
A teď druhá strana mince. Jedna z nevýhod těchto malých robotů je jejich velikost. Jak jsem řekl již dříve, budeme možná chtít využít mnoho a mnoho těchto robotů k překonání omezení daných jejich velikostí. Jedna obtížnost je, jak koordinovat množství těchto robotů? A tak jsme se inspirovali u přírody. Chci vám ukázat nahrávku pouštních mravenců rodu Aphaenogaster, kteří v laboratoři profesora Stephena Pratta přenášejí předmět. Tohle je kousek fíku. Každý předmět pokrytý fíkovým džusem si budou chtít přinést zpátky do mraveniště. Tihle mravenci nemají žádného ústředního koordinátora. Vnímají své sousedy. Není zde žádná explicitní komunikace. Protože vnímají jeden druhého, a protože vnímají předmět, mají implicitní koordinaci napříč skupinou.
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.
Tohle je typ koordinace, který chceme pro naše roboty. Takže když máme robot, který je obklopen svými sousedy -- podívejme se na robot I a robot J -- co chceme, aby tyto roboty udělaly, je, aby sledovaly vzdálenost mezi sebou, když letí ve formaci. A pak chceme zajistit aby tato vzdálenost mezi nimi byla v přijatelných mezích. Roboty tak sledují odchylky a vypočítávají řídicí příkazy 100krát za sekundu, které posléze převádějí na příkazy motoru 600krát za sekundu. Tohle musí být prováděno decentralizovaně. Opět, pokud máte mnoho těchto robotů, je nemožné koordinovat všechny informace centrálně dostatečně rychle, aby roboty úspěšně splnily úkol. Navíc roboty musí zakládat své jednání pouze na lokálních informacích, které získávají od svých sousedů. A nakonec, trváme na tom, aby roboty byly agnostické k tomu, kdo jsou jejich sousedé. Tohle nazýváme anonymita.
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.
Co vám chci ukázat dále, je video dvaceti těchto malých robotů letících ve formaci. Sledují pozice svých sousedů. Udržují formaci. Formace se mohou měnit. Mohou to být rovinné formace, mohou to být trojrozměrné formace. Jak můžete vidět tady, mohou přejít z třírozměrné formace do rovinné formace. A aby překonaly překážky, mohou přizpůsobovat formaci během letu. Znovu, tyhle malé roboty mohou letět velmi blízko sebe. Jak můžete vidět v tomto letu ve tvaru čísla 8, létají od sebe ve vzdálenosti palců (centimetrů). A přes aerodynamické interakce rotorových listů, jsou schopné udržovat stabilní let.
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.
(Potlesk)
(Applause)
Takže když už jednou víte, jak letět ve formaci, můžete zvedat ve spolupráci předměty. Tohle ukazuje, že můžeme zdvojnásobit, ztrojnásobit či zčtyřnásobit sílu robota jen jeho přidáním do týmu s jeho sousedy, jak můžete vidět zde. Jedna z nevýhod tohoto řešení je, když se takto věci zvětší -- když máte mnoho robotů nesoucích jednu věc, v podstatě efektivně stoupá setrvačnost a tedy vás to něco stojí -- nejsou tak mrštní. Nicméně zisk je ve smyslu nosnosti.
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.
Jiné použití, které vám chci předvést -- opět, tohle je v naší laboratoři. Tohle je práce Quentina Lindseye, který je postgraduální student. Jeho algoritmy v zásadě těmto robotům říkají, jak samostatně stavět krychlové struktury z trámovitých elementů. Jeho algoritmy robotům říkají, kterou část vzít, kdy a jak ji umístit. V tomto videu vidíte -- je zrychleno 10- až 14krát -- vidíte tři rozdílné struktury, které tyhle roboty staví. A opět, všechno je to samostatné, a všechno, co Quentin musí udělat, je dát jim plánek stavby, kterou chce, aby postavily.
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.
Všechny tyhle experimenty, které jste dosud viděli, všechny tyto demonstrace, byly provedeny s pomocí systémů pro snímání pohybů. Co se stane, když opustíte laboratoř a půjdete do skutečného světa? A co když zde není GPS? Takže tento robot je vybavený kamerou a laserovým dálkoměrem, laserovým scannerem. A používá tyto senzory k vybudování mapy prostředí. Tato mapa se skládá z prvků -- jako jsou dveře, okna, lidé, nábytek -- a pak zjišťuje, kde se nachází vzhledem k nim. Není zde žádný globální souřadnicový systém. Souřadnicový systém je určen dle robota, kde je a na co se dívá. A navádí jej s ohledem na tyto prvky.
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.
Chci vám ukázat nahrávku algoritmů vyvinutých Frankem Shenem a profesorem Nathanem Michaelem, která ukazuje tohoto robota vstupujícího úplně poprvé do budovy. A vytvářejícího tuto mapu za letu. Robot pak zjistí, jaké prvky tu jsou. A vybuduje si mapu. Zjistí, kde je s ohledem k těmto prvkům a poté odhadne svoji pozici, a to 100krát za sekundu, což mu dovolují řídicí algoritmy, které jsem popsal dříve. Tento robot je ovládán dálkově Frankem. Ale robot dovede zjistit, kam jít, i zcela sám. Představme si, že jsem jej poslal do budovy a nemám vůbec žádnou představu, jak budova vypadá, mohu poslat robota dovnitř, aby vytvořil mapu, a pak se vrátil a řekl mi, jak budova vypadá. A tak zde, robot neřeší jenom problém, jak se dostat z místa A do místa B na této mapě, ale zjišťuje, co je bod B. V podstatě ví, kam jít, aby se podíval po místech, o kterých má nejméně informací. A tak zaplňuje tuto mapu.
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.
Chci svou řeč ukončit s ještě jednou aplikací. Existuje mnoho použití této technologie, a jako profesor jsem nadšený výukou. Roboty jako tyto mohou změnit způsob, jak provádíme výuku na prvních dvou stupních. Ale jsme v jižní Kalifornii, blízko Los Angeles, takže musím vše shrnout něčím, co je zaměřeno na zábavu. Chci vše shrnout jedním hudebním klipem. Chci vám představit autory, Alexe a Daniela, kteří vyrobili toto video.
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.
(Potlesk)
(Applause)
Předtím, než pustím video, chci vám říct, že jej vyráběli v posledních třech dnech, po Chrisově telefonátu. A roboty ve videu jsou zcela autonomní. Uvidíte devět robotů hrajících na šest různých nástrojů. A je samozřejmě vytvořeno exkluzivně pro TED 2012. Dívejte se.
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.
(Sound of air escaping from valve)
(Music)
(Whirring sound)
(Hudba)
(Music)
(Potlesk)
(Applause) (Cheers)