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.
其实,是小型飞行器,像这一个 我想和大家谈谈设计这些飞行器时的挑战 和使用这些飞行器能给我们带来的 很多用处 这些飞行器 源于无人驾驶的飞行器 但是那些都体积很大 通常上万磅重 毫无灵活型可言 它们也不是真的自主飞行的 事实上,很多这些飞行器 都是受飞行团队控制的 包括好几个飞行员 感应雷达操作员 和团队协调员
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.
我们想设计的飞行器是这样的—— 这里有两张照片—— 是你能够在超市里买到的那种小飞行器 小型直升机,四个螺旋桨 不超过一米长 只不过几磅重 我们把它们稍微改造一下,加上感应器和处理器, 它们就可以在室内飞 用不着导航系统
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.
我现在拿着的这个飞行器 是其中之一 是两个学生做出来的 艾利克斯和丹尼尔 这个仅仅比零点一磅 稍微重一点 只需要大约十五瓦的电源 你能看到 它的直径大约只有八个英寸 让我给你们快速解释一下 这些飞行器是怎么工作的
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.
它有四个螺旋桨 当四个螺旋桨转速相同 这个飞行器就浮在空中 当所有螺旋桨的速度提升时 这个飞行器就加速升高 当然了,如果飞行器已经是倾斜的 向着地平线侧过来 就会向这个方向加速 怎么能让它侧过来呢,有两个途径 从这张照片 你能看到四号螺旋桨旋转加速 同时二号螺旋桨转速变慢 这时 飞行器就能向一边倒 反之亦然 当三号螺旋桨加速 一号减速时 飞行器就向前倒
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.
最后 如果任意两端的螺旋桨的转速 大于另两端的螺旋桨的转速 飞行器就能原地旋转 所以装在飞行器上的处理器 基本上能判断需要执行哪些动作 然后把它们组合起来 决定给螺旋桨下什么指令 一秒钟六百次 简单地说这些飞行器就是这么工作的
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.
这个设计的一个好处 就是小巧 这些飞行器很灵活 这里的R 是飞行器的长度 其实是半径 当半径变小时 很多物理参数都会变 最重要的一个参数是 惯性, 也就是对于运动的阻力 结果是 惯性决定角速度 它是半径的五次方函数 当半径变得越来越小时 惯性越来越快地减小 另一个结果是角速度的加速度 也就是这里的希腊字母alpha 等于一除以半径 也就是半径的倒数 当半径越小时飞行器能转弯越快
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.
这个视频清楚地显示 大家看右下角的飞行器 正在做一个三百六十度翻转 只需要不到半秒 连续翻转,稍微时间长一点 这里飞行器上用的处理器 能够从飞行器上的加速度计 和陀螺仪得到反馈信息 然后算出,就像我刚才讲的 一秒钟六百个指令 来稳定控制这个飞行器 在左边你能看到丹尼尔把飞行器抛到空中 你能看到飞行器的控制有多快 不管你怎么扔 飞行器都能恢复平衡飞回来
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.
为什么我们要设计这种飞行器呢? 因为这样的飞行器有很多用处 你能把它们放进像这样的大楼里 作为报警器去寻找入侵者 寻找生化泄漏 或者煤气泄漏 你还能用它们 建摩天大楼呢 这里是飞行器在搬梁运柱 架构一个立方体的建筑 这里我想和大家介绍一下 这些机器人能被用来运货 当然一个问题是这些小飞行器 担不了多少重量 你可能需要很多飞行器 来搬运重物 我们新做了个实验—— 其实不那么新了—— 在日本仙台,地震后不久 我们能把这些飞行器 送进倒塌的楼房 或者核反应堆大楼 来探测放射性强度
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.
一个根本的问题 是当这些飞行器需要自控飞行, 它们自己得弄明白 怎么从一个地点到另一个地点 这就变得有点难度了 因为这些飞行器的动力学是很复杂的 事实上它们总在对付十二维的空间 这里我们用了一点小技巧 我们拿这个十二位的空间 把它们转换成 平的四维空间 这个四维空间 包括了横轴,纵轴和竖轴,还有旋转轴
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.
这些飞行器只需要 计划一件事,我们管它叫最小化加加加速度轨道 提醒大家一点点物理学 这里我们有位置向量,导数,速度 和加速度 还有加加速度 还有加加加速度 这个飞行器把加加加速度最小化 基本上它的工作是 创造一个光滑优雅的运动曲线 这样来绕开障碍物 所以这个四维平面中,这个飞行器使用 最小化加加加速度轨道, 然后转换回到 复杂的十二维空间 飞行器必须这样做来 获得控制和执行动作
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.
让我给大家看几个例子 这些最小化加加加速度轨道是什么样的 这是第一个视频 这个飞行器从一个地点飞到另一个地点 中间经停一下
(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.
显然这个飞行器能 飞出一个曲线轨道 还有这样的打圈的轨道 这里飞行器对抗两倍的重力 它们上方还有一个动感监控摄像机,每秒一百幅画面 来告诉这些飞行器它们的位置 也能告诉这些飞行器障碍物在哪里 障碍物移动都不要紧 当丹尼尔把套圈扔到空中 飞行器就开始计算套圈的位置 试图预测怎么才能最有效地钻过去 作为一个科研人员 我们总在试图钻出重重圈套,拿到更多经费 甚至训练了我们的飞行器也来做这个
(Applause)
(掌声)
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.
另一个飞行器能做的事情 是当我们预先编入一些轨迹 或者它自己学着走过的,它能够记住 这里大家能看到 飞行器能够(在预设轨迹上)加上一个动作 积聚动量 改变它的定向,再回到预设轨迹上来 它必须这样做因为这个窗上的缝隙 只比它的宽度大一点点 所以就像是一个跳水运动员 从跳板上起跳,聚集动量, 做个旋转,两圈半 然后优雅地回到平衡 这个飞行器是自主这样做的 它知道怎么把小段的轨迹组合起来 来做这些高难度的技巧
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.
现在我想换个话题谈谈这些小型飞行器 的不足之处,就是体积小 我已经提过 我们需要使用很多飞行器 来克服体积小的不便 一个难点是 怎么使得这些飞行器集体飞行? 我们在大自然中寻找答案 我想给大家看一个视频 是关于Aphaenogaster沙漠蚁的 在史狄文·普热特教授的实验室里,这些蚂蚁一起搬运重物 这是一个无花果 事实上无论什么东西,只要蘸上无花果汁 这些蚂蚁都会把它们带回巢去 这些蚂蚁没有任何中央调控 它们是靠感应邻近的蚂蚁 它们也没有明确的交流 但是因为它们能够感应邻近的蚂蚁 也能感应抬着的重物 整群的蚂蚁有默契
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.
这样的协调 正是飞行器需要的 当一个飞行器 被其他飞行器环绕时—— 让我们注意 I 和 J 这两个—— 当它们成群飞行时 我们希望这两个飞行器 能够监控它们之间的距离 我们需要确定 这个距离是在可接受的范围里的 飞行器要检测这个变化 在控制指令中计算进去 也是每秒一百次 这个控制指令每秒会被送到马达六百次 所以这个程序 是分散化执行的 再有,如果你有很多很多飞行器 要完成集体飞行任务,能足够快地集中协调所有这些信息 是几乎不可能的 加上这些飞行器只能 依靠局部的信息来决定做什么动作 也就是要靠感应邻近的飞行器 最后 我们希望这些机器人 不知道它们的邻居是谁 也就是匿名飞行
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.
下一个我想给大家展示的 是这段视频 这二十个小型飞行器 成群飞行 它们在监测邻居的位置 维持群队 群队的形状还能变 它们可以在一个平面上飞 也可以上中下地飞 大家可以看到 它们能从上中下的群队变成平面的 在飞越障碍物的时候 它们能边飞边变换队形 我想强调,这些飞行器距离都很近 比如这个群队,八架飞行器 相互距离不过几英寸 尽管在空气动力学上 这些螺旋桨相互干扰 它们还是能够维持平稳飞行
(Applause)
(掌声)
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.
现在它们会成群飞了 它们就可以合作抬重物 这里展示的是 我们能够把飞行器的能力 翻倍,翻三倍,四倍 仅仅通过让它们和邻居合作,大家可以看到 这样做的一个不便之处 就是当加大数量时—— 比如使用很多飞行器来抬一个物体 你其实是加大了惯性 这样它们就不够灵活了,这是一个代价 但是你可以增加载荷承载量
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.
另一个我想给大家展示的用处是—— 这是在我们实验室 这是研究生昆汀·林夕的工作 他的算法程序告诉这些飞行器 怎么使用桁架结构 自动建造 一个立方体 他的算法程序告诉这些机器人 该用哪一块 什么时候用,用在哪里 从这个视频我们可以看到—— 这个视频是十倍或者十四倍速度播放的—— 大家可以看到飞行器在搭建很不一样的构架 并且,所有的运动都是自主的 昆汀仅仅是 给它们一个蓝图 也就是他想建的设计
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.
所有这里展示的实验 所有这些演习 都是靠着它们自己的动感检测摄像机完成的 那么,当它们离开实验室 来到真实世界的时候,又怎么样呢? 没有卫星导航会怎么样? 这个飞行器 其实装有一个摄像机 和一个激光测距仪,一个激光扫描仪 它可以使用这些探测装置 来描绘周围的环境的地图 这个地图包括很多细节—— 玄关,窗户 人,家具—— 还能弄清楚相对于这些东西 它自己在哪里 所以这里没有整体的协调系统 这个协调系统是靠飞行器自己来完成的 它自己在哪里,前面有什么 还能利用周围环境为自己找到出路
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.
这里我想给大家再看一段视频 这个算法程序是法兰克·沈 和南希·麦克教授编的 当这个飞行器第一次飞入一个建筑 它是怎么边飞边画地图的 这个飞行器弄明白了这些细节 开始画地图 弄明白了相对这些细节,自己在哪里, 然后自我定位 全以每秒一百次的速度发生 这就给我们一个机会来控制这些算法 像我之前讲过的 所以这个机器人其实是 被法兰克遥控的 但是它自己也可以弄明白 怎么飞 假设我想放一个这样的飞行器进一幢楼 我并不知道里面是什么样的 我可以让它飞进去 创造一个地图 然后飞回来告诉我里面是什么样的 所以,这个飞行器不仅仅解决了 怎么从一点到另一点的问题 还能够随时知道 最好的目标在哪里 基本上,它知道该去搜索哪里 因为那里的信息是最“未知”的 这就是它怎么填充这个地图
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.
这里我想展示给大家 最后一个用途 当然这个技术有很多很多用途 我是个教授,我们很关心教育 这样的飞行器其实可以改变 我们的小学和中学教育 我们在南加州 离洛杉矶很近 所以我不得不 放点娱乐元素进去 我想给大家看一个音乐视频 我想向你们介绍艾利克斯和丹尼尔, 他们是导演兼制作
(Applause)
(掌声)
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.
在我播放这个视频前 我想告诉大家这是他们在过去三天做出来的 因为主持人克瑞斯给我打了个电话 在这个视频中表演的飞行器 全是靠自控表演的 你能看到九个机器人,演奏六种不同乐器 当然了,这是为了今年的TED2012特别制作的 请欣赏
(Sound of air escaping from valve)
(Music)
(Whirring sound)
(Music)
(音乐)
(Applause) (Cheers)
(掌声)