TED日本語 - ヴィージェイ・クーマー: 協力し合う飛行ロボット

TED日本語

TED Talks(英語 日本語字幕付き動画)

TED日本語 - ヴィージェイ・クーマー: 協力し合う飛行ロボット

TED Talks

協力し合う飛行ロボット
Robots that fly ... and cooperate
ヴィージェイ・クーマー
Vijay Kumar

内容

ペンシルベニア大学のヴィージェイ・クーマーの研究室で開発しているクワッドローター型の小さく敏捷な飛行ロボットは、群れを作り、互いの存在を認識し、臨機応変にチームを組んで、建設や災害時の調査やその他様々なことをこなします。

Script

Good morning. I'm here today to talk about autonomous, flying beach balls. 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 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 the 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 Greek letter alpha here, goes as one over R. It's inversely proportional to R. The smaller you make it the more quickly you can turn.

So this should be clear in these videos. At 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're 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 produces 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. 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 them 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.

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 to the 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.

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' position. 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 of 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 robot 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 effectively 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 get 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, 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 through 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 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.

(Music)

(Applause)

おはようございます 今日お話しするのは 自律的に飛行するビーチボールについてです 違った こういう自律的で敏捷な飛行ロボットについてです このようなものを作る難しさと この技術の応用にどれほどの可能性があるかお話しします この技術の応用にどれほどの可能性があるかお話しします このロボットは 無人航空機と似ています しかし無人航空機はずっと大きいものです 何千キロもの重さがあって とても敏捷とは言えず 自律的でさえありません 無人航空機の多くは実際 人間によって遠隔操作されていて 複数のパイロット センサのオペレータ 作戦指揮官などが関わっています

私たちが興味を持っているのは 私の手にあるようなロボットの開発で 左の写真の2つは実際 お店で買うことができます これはローターが4つのヘリコプターで 大きさは1メートル前後 重さも数キロ程度です 私たちはそれにセンサやプロセッサを後付けして GPSなしで屋内を 飛べるようにしています

私が今 手にしているロボットは 私の学生アレックスとダニエルが 作ったものです 重さは 50グラムほど 消費電力は15ワットで 見ての通り 直径20センチほどの大きさです このようなロボットの仕組みを 簡単にご説明しましょう

4つのローターが すべて同じ速さで回っているとき ロボットは空中で静止します 4つのローターの回転速度を上げると 上に加速し 上昇します ロボットが傾いていれば当然 その傾いた方向に 進むことになります ロボットを傾けるには 2つの方法があります この写真で 4番ローターは速く 2番ローターは遅く回っています そうするとロボットを 「ローリング」させる力が働きます 一方 3番ローターの回転を速く 1番ローターの回転を遅くすると ロボットは手前側に「ピッチング」します

最後に 向かい合った2つのローターを 他の2つより速く回転させると 垂直軸を中心に「ヨーイング」します オンボードプロセッサは 行うべき動作に対して必要となる これらの方法の組み合わせを求め モーターに対して 毎秒600回送る命令を 決めています それがこの基本的な仕組みです

この設計が有利な点は サイズを小さくするほど ロボットの動きが敏捷になることです ここでRは ロボットの大きさを表す数字で 実際には半径です Rを小さくすると 様々な物理的パラメータが 変わります 中でも一番重要なのは 慣性 すなわち動きに対する抵抗力です 回転運動を支配する 慣性の大きさは Rの5乗に比例します ですからRを小さくすると 慣性は劇的に減るのです 結果として ここでギリシャ文字の αで表している角加速度は 1/Rになります Rに反比例するのです 小さくするほど速く回ることができるようになります

ビデオを見ると そのことがよく分かります 右下の映像でロボットが 360度宙返りを 0.5秒未満で行っています 連続宙返りにはもう少し時間がかかります オンボードプロセッサは 加速度計やジャイロからの フィードバックを受け取って 計算をし ロボットを安定させるために 毎秒600回命令を出しています 左下の映像では ダニエルがロボットを宙に放り投げています 制御能力がいかに強いか分かるでしょう どんな風に放り投げても ロボットは体勢を立て直して戻ってきます

このようなロボットを作る 理由は何かというと 多くの応用があるからです 例えばこのような建物内に送り込み 侵入者 生化学物質の漏洩 ガス漏れ等が? あった際の 初動対応として 調査を行わせることができます 建築のような作業に 使うこともできます ここではロボットが梁や柱を運んで 四角い構造物を組み立てています これについては後ほど もう少し詳しくお話しします このロボットは貨物輸送にも使えます 小さなロボットは 運搬容量が 小さいという問題がありますが 複数のロボットで運ぶ? という手もあります この写真は最近行った実験で・・・ もうそんなに最近でもありませんが 震災直後の仙台で行ったものです 自然災害で崩れた建物や 核施設内にロボットを 送り込んで 状況の確認や 放射能レベルのチェックを 行わせることができます

自律的なロボットが 解決すべき基本的な問題は 1つの地点から別の地点へ 移動する方法を見出すということです これが簡単でないのは このロボットの力学的特性が極めて複雑なためです 実際12次元空間で考える必要があり そのためちょっとしたトリックを使って 曲がった12次元空間を 平らな4次元空間に 変換しています その4次元空間は X, Y, Z座標とヨー角からなっています

そうするとロボットがするのは 最小スナップ軌道を求めるということになります 物理学のおさらいですが 位置の変化を微分していくと 速度 加速度 ジャーク スナップとなります このロボットはスナップを最小化するようになっています それは結果としてなめらかできれいな 動作を生み出すことになります また障害物の回避も行います この平らな空間における最小スナップ軌道を 複雑な12次元空間へと 逆変換して それによって制御や 動作の実行をするわけです

最小スナップ軌道がどのようなものか いくつか例をご覧にいれましょう 最初のビデオでは ロボットが1つの地点から別な地点へ 中間点を経由して移動します どんな曲線軌道でも問題なく こなすことができます これは円軌道で 約2Gの加速度になります ここでは上にあるモーションキャプチャカメラが ロボットに現在位置を毎秒100回伝えています また障害物の位置も伝えています 障害物が動いていても対応できます ここではダニエルがフープを宙に投げていますが ロボットはその位置を計算して 中を通り抜ける最適な経路を求めています 私たちは学者として いつも研究予算獲得という曲芸をさせられているので ロボットにも同様の曲芸をさせているわけです

(拍手)

このロボットにできる別なこととして 自分で見つけた軌道や プログラムされた軌道を 記憶するというのがあります ここではロボットが 基本動作を組み合わせて 加速して 向きを変え 元の所に戻るという一連の動作をしています このようにする必要があるのは 通る隙間の幅がロボットよりわずかに広いだけだからです そのため 飛び込み選手がするように 飛び込み板からジャンプして勢いを付け つま先回転をして1/4宙返りをして通り抜け きれいに体制を立て直すという動作を このロボットはしているわけです ロボットにはこの難しいタスクをこなすために 軌道の断片をどう組み合わせれば良いのか分かっているのです

ちょっと話題を変えましょう このような小さなロボットの短所はその大きさです そこで 先ほども言いましたように 大きさによる制限を克服するため たくさんのロボットを使おうというわけです ここで難しいのは たくさんのロボットをどうやって協調させるかです そこで私たちは自然に目を向けました ご覧いただく映像は スティーブン・プラット教授の研究室の アシナガアリがものを運んでいる様子です イチジクの切れ端です 実際どんなものでも イチジクの果汁を付けると アリたちは巣に運んでいきます このアリたちには中央で指示を出す者は誰もいません そばにいる他のアリを知覚しますが 明示的なコミュニケーションは行いません それでも他のアリと 食料を知覚することで 集団として暗黙の調整が行われるのです

これはまさに私たちが ロボットに持たせたい調整方法です ロボットが 他のロボットに 囲まれているときに・・・ ロボットiとロボットjを見てください・・・ ロボットにさせたいのは 編隊飛行中の他のロボットとの距離を 監視するということです そしてその距離を 許容範囲内に保とうとするわけです そのため ずれの大きさを監視して 制御のための命令を 毎秒100回算出し それが毎秒600回のモーターへの命令に変換されます これもまた分散的に 行わせる必要があります ロボットがたくさんある場合 これらすべての情報の処理を中央から ロボットのタスク実行に必要な速さで行うのは無理です また ロボットは 近くのロボットを 感知することによる周辺情報のみで 行動する必要があります 最後に どのロボットが隣に来ても 構わないようにしてあり これを匿名性と呼んでいます

次にお見せする 映像では 20個の小さなロボットが 編隊飛行しています 互いに隣のロボットの位置を監視しながら 編隊を維持しています 編隊の形を変えることもできます 平面的な編隊を組むことも 立体的な編隊を組むこともできます ご覧のように 編隊が立体型から平面型に移行しています 障害物をよける際には その場で編隊を変形して対応します ロボットは互いにとても近い距離で飛んでいます 8の字飛行をしていますが 互いに数センチまで近づいています プロペラの空力的干渉が あるにもかかわらず 安定した飛行を維持できます

(拍手)

編隊飛行ができるようになれば 協力してものを運ぶこともできます ご覧の通り 近くのロボットとチームを組むことで 運ぶ力を2倍 3倍 4倍と 増やしていくことができます このようにすることの短所は 規模を大きくするにつれ たくさんのロボットで 1つのものを運ぶため 慣性が大きくなり 敏捷に動けなくなることです しかし運搬能力の面では増大します

もう1つお見せしたいのは これも うちの研究室のものですが 院生のクエンティン・リンゼイが 取り組んでいます 彼のアルゴリズムは 桁のような部材から 四角い構造物を組み立てる作業を ロボットに自律的に行わせるものです どのパーツを どの順に取り上げ どこに置くかを アルゴリズムが決めています 映像は 10倍から 14倍早回ししています ロボットが3種の構造物を組み立てています ここでもすべてが自律的で クエンティンがするのは 作りたい構造の 設計図を与えるということだけです

ここまでご覧いただいた実験はどれも モーションキャプチャシステムの 助けを借りています では実験室を離れ 外の 現実の世界に出た場合はどうなるのでしょう? もしGPSもなかったとしたら? そこでこのロボットには Kinectカメラと レーザーレンジファインダーを搭載しています それらのセンサを使って 周囲の環境の地図を作ります 地図の内容は様々な目印になるもの ドアや 窓 人間や 家具などで それらの目印に対する 自分の位置を把握します グローバル座標系は使っていません ロボットがどこにいて何を見ているかに基づいて 座標系を定義しています そしてそれらの目印を使って航行しているのです

フランク・シェンと ネイサン・マイケル教授が開発した アルゴリズムの映像をご覧いただきましょう ロボットが初めての建物に入り リアルタイムで地図を作っていきます ロボットは目印になるものを把握し 地図を作成します 目印に対する 自分の位置の算出を 毎秒100回行い 前に説明した制御アルゴリズムによる 制御を行います このロボットはフランクが 遠隔操作していますが どこに行くかを 自分で決めることもできます どういう建物なのか分からない 建物の中に送り込もうという場合は 「中に入って地図を作り 戻って様子を教えてくれ」と 指示するだけでいいのです ここでロボットは1つの地点から別な地点に行くという 問題を解決するだけでなく 最良の次の地点を見つけるという問題も 絶えず解決しているのです 基本的には 最も情報の少ない場所を 次の目的地にします そうして地図を埋めていくのです

次にお見せするのが 最後の例になります この技術には多くの応用があります 教育者として私は教育に情熱がありますが このようなロボットは小中高の教育を 大きく変えうると思っています しかし我々は今ロサンゼルスに近い 南カリフォルニアにいるので エンターテインメント関係のもので 締めくくることにしましょう ミュージックビデオを用意しました 作者のアレックスとダニエルを ご紹介します

(拍手)

ビデオをご覧いただく前に 彼らはクリスから直前に連絡をもらい この3日間で 作り上げたことを言っておきたいと思います 出てくるロボットは 全く自律的に動いています 9つのロボットが6種類の楽器を演奏します TED 2012のため特別に作ったものです ではご覧ください

(音楽)

(拍手)

― もっと見る ―
― 折りたたむ ―

品詞分類

  • 主語
  • 動詞
  • 助動詞
  • 準動詞
  • 関係詞等

関連動画