Raffaello D'Andrea: The astounding athletic power of quadcopters
조회 수 1418 추천 수 0 2014.01.19 22:12:30In a robot lab at TEDGlobal, Raffaello D'Andrea demos his flying quadcopters: robots that think like athletes, solving physical problems with algorithms that help them learn. In a series of nifty demos, D'Andrea show drones that play catch, balance and make decisions together -- and watch out for an I-want-this-now demo of Kinect-controlled quads.
So what does it mean for a machine to be athletic? We will demonstrate the concept of machine athleticism and the research to achieve it with the help of these flying machines called quadrocopters, or quads, for short.
Quads have been around for a long time. The reason that they're so popular these days is because they're mechanically simple. By controlling the speeds of these four propellers,these machines can roll, pitch, yaw, and accelerate along their common orientation. On board are also a battery, a computer, various sensors and wireless radios.
Quads are extremely agile, but this agility comes at a cost. They are inherently unstable, and they need some form of automatic feedback control in order to be able to fly.
So, how did it just do that? Cameras on the ceiling and a laptop serve as an indoor global positioning system. It's used to locate objects in the space that have these reflective markers on them. This data is then sent to another laptop that is running estimation and control algorithms, which in turn sends commands to the quad, which is also running estimation and control algorithms. The bulk of our research is algorithms. It's the magic that brings these machines to life.
So how does one design the algorithms that create a machine athlete? We use something broadly called model-based design. We first capture the physics with a mathematical modelof how the machines behave. We then use a branch of mathematics called control theory to analyze these models and also to synthesize algorithms for controlling them. For example, that's how we can make the quad hover. We first captured the dynamics with a set of differential equations. We then manipulate these equations with the help of control theory to create algorithms that stabilize the quad.
Let me demonstrate the strength of this approach. Suppose that we want this quad to not only hover but to also balance this pole. With a little bit of practice, it's pretty straightforward for a human being to do this, although we do have the advantage of having two feet on the ground and the use of our very versatile hands. It becomes a little bit more difficult when I only have one foot on the ground and when I don't use my hands. Notice how this pole has a reflective marker on top, which means that it can be located in the space.
(Applause)
You can notice that this quad is making fine adjustments to keep the pole balanced. How did we design the algorithms to do this? We added the mathematical model of the pole to that of the quad. Once we have a model of the combined quad-pole system, we can use control theory to create algorithms for controlling it. Here, you see that it's stable, and even if I give it little nudges, it goes back to the nice, balanced position.
We can also augment the model to include where we want the quad to be in space. Using this pointer, made out of reflective markers, I can point to where I want the quad to be in space a fixed distance away from me. The key to these acrobatic maneuvers is algorithms,designed with the help of mathematical models and control theory. Let's tell the quad to come back here and let the pole drop, and I will next demonstrate the importance of understanding physical models and the workings of the physical world. Notice how the quad lost altitude when I put this glass of water on it. Unlike the balancing pole, I did not includethe mathematical model of the glass in the system. In fact, the system doesn't even know that the glass of water is there. Like before, I could use the pointer to tell the quad where I want it to be in space. (Applause)
Okay, you should be asking yourself, why doesn't the water fall out of the glass? Two facts: The first is that gravity acts on all objects in the same way. The second is that the propellers are all pointing in the same direction of the glass, pointing up. You put these two things together, the net result is that all side forces on the glass are small and are mainly dominated by aerodynamic effects, which as these speeds are negligible. And that's why you don't need to model the glass. It naturally doesn't spill no matter what the quad does.
(Applause)
The lesson here is that some high-performance tasks are easier than others, and that understanding the physics of the problem tells you which ones are easy and which ones are hard. In this instance, carrying a glass of water is easy. Balancing a pole is hard.
We've all heard stories of athletes performing feats while physically injured. Can a machine also perform with extreme physical damage? Conventional wisdom says that you need at least four fixed motor propeller pairs in order to fly, because there are four degrees of freedom to control: roll, pitch, yaw and acceleration. Hexacopters and octocopters, with six and eight propellers, can provide redundancy, but quadrocopters are much more popularbecause they have the minimum number of fixed motor propeller pairs: four. Or do they? If we analyze the mathematical model of this machine with only two working propellers, we discover that there's an unconventional way to fly it. We relinquish control of yaw, but roll, pitch and acceleration can still be controlled with algorithms that exploit this new configuration. Mathematical models tell us exactly when and why this is possible. In this instance, this knowledge allows us to design novel machine architectures or to design clever algorithms that gracefully handle damage, just like human athletes do, instead of building machines with redundancy.
We can't help but hold our breath when we watch a diver somersaulting into the water, or when a vaulter is twisting in the air, the ground fast approaching. Will the diver be able to pull off a rip entry? Will the vaulter stick the landing? Suppose we want this quad here to perform a triple flip and finish off at the exact same spot that it started. This maneuver is going to happen so quickly that we can't use position feedback to correct the motion during execution. There simply isn't enough time. Instead, what the quad can do is perform the maneuver blindly, observe how it finishes the maneuver, and then use that information to modify its behavior so that the next flip is better. Similar to the diver and the vaulter, it is only through repeated practice that the maneuver can be learned and executed to the highest standard.
(Applause)
Striking a moving ball is a necessary skill in many sports. How do we make a machine dowhat an athlete does seemingly without effort?
(Applause)
This quad has a racket strapped onto its head with a sweet spot roughly the size of an apple, so not too large. The following calculations are made every 20 milliseconds, or 50 times per second. We first figure out where the ball is going. We then next calculate how the quad should hit the ball so that it flies to where it was thrown from. Third, a trajectory is planned that carries the quad from its current state to the impact point with the ball. Fourth, we only execute 20 milliseconds' worth of that strategy. Twenty milliseconds later, the whole process is repeated until the quad strikes the ball.
(Applause)
Machines can not only perform dynamic maneuvers on their own, they can do it collectively.These three quads are cooperatively carrying a sky net.
(Applause)
They perform an extremely dynamic and collective maneuver to launch the ball back to me.Notice that, at full extension, these quads are vertical. (Applause) In fact, when fully extended, this is roughly five times greater than what a bungee jumper feels at the end of their launch.
The algorithms to do this are very similar to what the single quad used to hit the ball back to me. Mathematical models are used to continuously re-plan a cooperative strategy 50 times per second.
Everything we have seen so far has been about the machines and their capabilities. What happens when we couple this machine athleticism with that of a human being? What I have in front of me is a commercial gesture sensor mainly used in gaming. It can recognize what my various body parts are doing in real time. Similar to the pointer that I used earlier, we can use this as inputs to the system. We now have a natural way of interacting with the raw athleticism of these quads with my gestures.
(Applause)
Interaction doesn't have to be virtual. It can be physical. Take this quad, for example. It's trying to stay at a fixed point in space. If I try to move it out of the way, it fights me, and moves back to where it wants to be. We can change this behavior, however. We can use mathematical models to estimate the force that I'm applying to the quad. Once we know this force, we can also change the laws of physics, as far as the quad is concerned, of course. Here the quad is behaving as if it were in a viscous fluid.
We now have an intimate way of interacting with a machine. I will use this new capability to position this camera-carrying quad to the appropriate location for filming the remainder of this demonstration.
So we can physically interact with these quads and we can change the laws of physics.Let's have a little bit of fun with this. For what you will see next, these quads will initially behave as if they were on Pluto. As time goes on, gravity will be increased until we're all back on planet Earth, but I assure you we won't get there. Okay, here goes.
(Laughter)
(Laughter)
(Applause) Whew! You're all thinking now, these guys are having way too much fun, and you're probably also asking yourself, why exactly are they building machine athletes? Some conjecture that the role of play in the animal kingdom is to hone skills and develop capabilities. Others think that it has more of a social role, that it's used to bind the group.Similarly, we use the analogy of sports and athleticism to create new algorithms for machines to push them to their limits. What impact will the speed of machines have on our way of life? Like all our past creations and innovations, they may be used to improve the human condition or they may be misused and abused. This is not a technical choice we are faced with; it's a social one. Let's make the right choice, the choice that brings out the best in the future of machines, just like athleticism in sports can bring out the best in us.
Let me introduce you to the wizards behind the green curtain. They're the current members of the Flying Machine Arena research team. (Applause) Federico Augugliaro, Dario Brescianini , Markus Hehn, Sergei Lupashin, Mark Muller and Robin Ritz. Look out for them. They're destined for great things.
Thank you.
(Applause)
기계의 운동성이라는 것은 무엇일까요? 지금부터 기계 운동성의 개념과 이를 다룬 연구에 대해 '쿼드콥터', 혹은 짧게 '쿼드'라고 불리는 이 비행 기구를 통해 보여 드리겠습니다.
쿼드가 만들어진 지는 꽤 됐습니다. 그런데 요새 쿼드가 이렇게 인기를 끄는 이유는 기계적으로 단순하기 때문입니다. 이런 4개의 프로펠러의 속도를 조절함으로써 돌기, 던지기, 한쪽으로 기울이기를 할 수 있고 여럿이 같은 방향으로 동시에 날 수 있습니다. 여기에는 배터리, 컴퓨터, 여러 가지 센서와 무선 통신 장치가 장착되어 있습니다.
쿼드는 굉장히 민첩합니다. 하지만 이렇게 만드는 데 댓가가 따르죠. 민첩한 대신 본질적으로 불안정하며 날아다니기 위해서는 일종의 자동 피드백 제어가 필요합니다.
방금 이건 어떻게 한 걸까요? 천장에 달린 카메라와 랩톱 컴퓨터가 전반적인 실내 위치 제어 시스템으로 작동합니다. 그 시스템은 설치된 공간에서 이런 반사체로 표시된 물체의 위치를 파악하는 데에 사용됩니다 파악된 위치는 다른 랩톱 컴퓨터로 보내지고, 그 컴퓨터는 추정값과 제어 알고리즘을 계산해서 쿼드에 차례로 명령을 보냅니다. 쿼드 또한 추정값과 제어 알고리즘을 계산하고 있죠 저희 연구의 대부분은 알고리즘입니다. 알고리즘은 이 기계들에게 생명을 불어넣는 마법이죠.
그렇다면 이렇게 기계가 운동성을 갖게 만드는 알고리즘은 어떻게 만들까요? 저희는 흔히 모델 기반 설계라고 불리는 것을 사용했습니다. 우선 기계가 물리적으로 어떻게 움직이는지수학 모델을 이용해 나타냈습니다. 그 다음 제어 이론이라 불리는 수학의 한 분야를 통해 그 수학 모델을 분석하고 기계를 제어할 알고리즘을 구현했습니다. 예를 들어, 쿼드를 공중에 떠있게 하는 것도 마찬가지입니다 먼저 일련의 미분 방적식을 통해 역학 관계를 나타내고 제어 이론의 도움을 받아 그 미분 방정식을 조작하여 쿼드를 안정적으로 떠있게 하는 알고리즘을 만든 겁니다.
이제 이 접근법의 강점이 뭔지 보여 드리죠. 이 쿼드가 공중에 떠있는 것 뿐만 아니라 이 막대가 넘어지지 않게 균형을 잡게 하고 싶다고 칩시다. 사람은 누구나 조금만 연습하면 이렇게 균형 잡는 법을 쉽게 알 수 있습니다. 물론 우리에겐 땅을 짚을 수 있는 두 발이 있고 무슨 일이든 할 수 있는 손이 있긴 하지만요. 그런데 손을 쓰지 않고 한 발만 짚는다면 꽤 어려워집니다. 이 막대의 윗부분은 반사체로 표시돼 있어서 컴퓨터가 그 위치를 파악할 수 있습니다.
(박수)
쿼드가 미세한 조정을 통해 막대가 넘어지지 않게 균형을 잡는 것이 보일 것입니다. 이 알고리즘을 어떻게 설계했을까요? 막대에 대한 수학 모델을 쿼드에 입력한 겁니다. 쿼드와 막대가 결합된 모델이 만들어지면 제어 이론을 통해 그것을 제어할 알고리즘을 만들 수 있죠. 지금 안정된 상태가 보이실 겁니다. 그리고 이렇게 조금 밀어도 바로 균형이 잘 잡힌 위치로 되돌아갑니다
모델을 확장시켜 우리가 원하는 곳으로 쿼드를 이동시킬 수도 있습니다. 반사체로 표시된 이 포인터를 이용해서 원하는 방향을 가리키면 저와의 거리를 바꾸며 쿼드가 움직이게 할 수 있습니다. 이렇게 곡예에 가까운 동작의 핵심은 수학 모형과 제어 이론의 도움으로 설계된 알고리즘입니다. 쿼드가 여기로 돌아와서 막대를 떨어트리도록 조작해 보죠. 다음에는 물리적 모형을 이해하는 것이 왜 중요한지와 물리적인 작동 원리를 보여드리겠습니다. 제가 물컵을 내려놓자 쿼드가 약간 내려가는 것을 보셨을 겁니다. 막대와는 달리 이 잔에 대한 수학 모델은 시스템에 입력하지 않았습니다. 사실 시스템은 물컵이 거기 있는지도 인식하지 못합니다.아까와 마찬가지로 포인터를 이용해 쿼드를 이동시켜 보겠습니다. (박수)
여러분은 궁금하실 겁니다, "어떻게 컵에서 물이 떨어지지 않는 거지?"라고요. 두 가지 법칙이 작용하는데, 첫째는 어떤 물체든지 중력의 영향을 똑같이 받는다는 것이고, 둘째는 프로펠러 네 개가 놓여있는 방향이 물컵과 똑같이 위로 향하고 있다는 것입니다. 이 두 가지 사실을 종합해 보면 물컵 양쪽에 가해지는 힘은 작은 반면 많은 공기 역학의 영향이 컵의 측면에 작용하는 힘을 압도하여 측면에 가해지는 힘이 무시될 수 있다는 겁니다. 그래서 물컵에 대한 모델은 필요하지 않은 거지요. 쿼드가 어떻게 움직이든 물을 흘리지 않습니다.
(박수)
여기서 알 수 있는 것은 고도로 정밀한 조작 중에는 구현이 쉬운 것과 어려운 것이 있고 어떤 게 쉽고 어려운지 판별하려면 물리학을 이해해야 한다는 것입니다. 방금 보신 물컵 옮기기는 쉬운 편입니다. 막대 균형을 잡는 건 어렵고요.
운동 선수들이 부상당한 뒤에도 뛰어난 활약을 보이는 경우를 들어보셨을 겁니다. 그러면 기계 또한 상당한 물리적 손상을 입었을 때 제대로 작동할 수 있을까요? 상식적으로 생각해보면 날기 위해서는 적어도 4개의 고정된 프로펠러가 필요합니다. 제어에는 4단계의 자유도가 있기 때문이죠: 돌기, 솟아오르기, 기울기와 가속화의 4 단계 말입니다. 프로펠러가 각각 6개인 헥사콥터와 8개인 옥토콥터는 프로펠러가 필요 이상으로 많습니다. 쿼드콥터가 인기있는 이유는 4개라는 최소한의 고정된 구동 프로펠러로 구동시킬 수 있기 때문입니다. 사실일까요? 쿼드의 수학 모델을 두 개의 프로펠러만 멀쩡할 경우로 분석하면 기구를 비행시키는 예상밖의 방법이 있음을 발견하게 됩니다. 기울기 제어는 포기하게 되지만 뒤집기, 솟아오르기, 가속화는 여전히 이러한 새로운 설정을 찾아내는 알고리즘을 이용해 제어할 수 있습니다. 수학 모델을 이해하면 언제, 그리고 어떻게 이런 것이 가능한지를 정확히 알 수 있습니다. 이러한 지식이 저희로 하여금 참신한 기계 설계나 인간 운동 선수들처럼 부상을 당해도 부드럽게 움직일 수 있게 해주는 알고리즘을 설계하도록 해 줍니다. 불필요한 프로펠러를 더 달지 않아도 말이죠.
우리는 다이빙 선수가 물에 뛰어들며 공중제비를 넘을 때나 장대 높이뛰기 선수가 공중에서 몸을 비틀며 밑으로 빠르게 떨어지는 것을 볼 때마다 숨을 죽일 수 밖에 없습니다. "다이빙 선수가 립 입수를 해낼 수 있을까?" "장대 높이뛰기 선수가 동작을 깔끔하게 마무리할 수 있을까?" 하고 말이죠. 예를 들어 이 쿼드가 세 번 연속으로 뒤집기를 한 다음 처음의 위치로 정확하게 되돌아가게 하고 싶다고 해보죠. 이 조작은 아주 빨라서 위치에 대한 피드백으로 동작을 시정할 수 없습니다. 그럴 시간이 없거든요. 그 대신, 쿼드는 아무 것도 모른 채로 동작을 수행하고 자신이 그 동작을 어떻게 끝내는지 측정하여 얻은 정보를 가지고 스스로 자기 행동을 수정합니다. 그렇게 하면 다음 뒤집기는 향상될 테니까요. 다이빙이나 장대 높이뛰기 선수와 비슷합니다. 수도 없이 연습을 해야 동작이 학습되고 최고의 수준까지 끌어올릴 수 있거든요.
(박수)
많은 스포츠 종목에서는 움직이는 공을 치는 기술이 필수적입니다. 어떻게 하면 기계가 운동 선수들처럼 겉보기에는 쉽게 하는 일을 할 수 있도록 할까요?
(박수)
이 쿼드는 윗부분에 라켓을 장착했는데, 그 위에는 사과 정도 크기로 너무 크지는 않게 공을 치기 적합한 위치가 표시되어 있습니다. 이것에 필요한 계산은 매 20밀리초마다 이루어지는데 1초에는 50번 하는 셈입니다. 우선 공이 어디로 가는지 알아내야 하고 그 다음에는 쿼드가 어떻게 공을 칠 지 계산해서 공이 날아가는 곳으로 날아가게 되는 거죠. 셋째로, 쿼드가 현 상태에서 공을 치기까지 이끌도록 하는 궤도가 만들어집니다. 넷째로 이런 전략의 실행은 20밀리초까지만 실행되는데 20밀리초 후에는 쿼드가 공을 다시 칠 때까지 전 과정이 되풀이되는 것이죠.
(박수)
기계들은 이러한 동작을 혼자뿐만 아니라 여럿이 동시에도 할 수 있습니다. 이 세 쿼드들은 함께 그물 하나를 들고 있습니다.
(박수)
아주 동적이고 집단적인 동작을 해 내죠. 공을 저에게로 다시 던질 때 잘 보세요, 그물을 펼쳤을 때 쿼드들은 수직으로 서게 됩니다. (박수) 사실 그물이 완전히 펼쳐졌을 때는 번지 점프의 마지막에 느끼는 당기는 힘의 약 다섯 배 정도입니다.
이런 것을 하기 위한 알고리즘은 쿼드 하나로 공을 칠 때와 아주 비슷합니다. 수학 모델이 사용되어 1초에 50번씩 끊임없이 협력 전략을 계산하죠.
지금까지 보신 것들은 기계와 기계가 할 수 있는 것들이었습니다. 이런 기계의 운동성과 인간의 운동성을 결합하면 어떻게 될까요? 제 앞에 있는 것은 주로 게임에 사용되는 시판용 몸짓 센서입니다. 제 몸의 여러 부분이 어떻게 움직이는지 실시간으로 인식하죠. 아까 제가 썼던 포인터와 비슷하게 이것을 이용해 시스템에 명령을 입력할 수 있습니다. 이렇게 하면 제 몸짓을 통해 기계의 다듬어지지 않은 운동성과 자연스럽게 상호작용 할 수 있게 됩니다.
(박수)
가상이 아니라 직접적으로 상호작용 할 수도 있습니다. 이 쿼드를 예로 보여 드리면 한 공간에 고정되어 머무르려고 하고 있습니다. 억지로 옮기려고 하면, 저항하며 있어야 할 곳으로 되돌아갑니다. 하지만 이런 행동을 수정할 수도 있습니다. 수학 모델을 이용해서 제가 쿼드에 가하는 힘을 측정하게 해서 어느 정도의 힘인지 알아내기만 하면 물리 법칙까지 바꿀 수 있습니다. 물론 쿼드에 한해서 말이지만요. 이 쿼드는 마치 점액질 속에 있는 것처럼 움직이고 있습니다.
이제 기계와 상호작용하는 친밀한 방법이 생긴 셈이죠. 이 새로운 능력을 사용하여 이 카메라 달린 쿼드가 적절한 위치에 있게 만들어 이 강의의 나머지를 촬영해 보겠습니다.
이 쿼드들과 직접적으로 상호작용 함으로써 물리 법칙을 바꿀 수도 있습니다. 한번 재밌는 걸 해 볼까요? 이제는 세 개의 쿼드들이 명왕성에 있는 것처럼 움직일 겁니다. 시간이 지남에 따라 중력이 증가해서 지구와 똑같이 되겠지만 거기까지 가지는 않도록 하겠습니다. 한번 해 볼까요?
(웃음)
(웃음)
(박수) 휴! 이제 생각하시겠죠. 너무 재밌기만 한 건 아니냐고요. 그리고 또. 의문이 있으실 겁니다. "대체 왜 이런 운동성 기계를 만드는 것일까?" 동물 세계에서의 "놀이"에 대해 어떤 분들은 기술을 연마하고 능력을 계발하는 데 이용된다고 추측하고 다른 분들은 집단을 하나로 묶기 위한 사회적 기능을 한다고 추측합니다. 그것과 비슷하게 저희는 운동 경기와 스포츠 정신에 이것을 비유함으로써 기계들의 성능을 한계까지 끌어올리기 위한 알고리즘을 개발합니다. 그렇다면 이들 기계의 속도가 우리 생활에는 어떤 영향을 미칠까요? 과거의 발명품이나 혁신과 마찬가지로 이 기계들은 인간의 생활 환경을 개선할 수도, 아니면 오용되거나 남용될 수도 있습니다. 우리가 직면한 것은 기술적 문제가 아니라 사회적 문제인 거죠. 옳은 결정을 내렸으면 좋겠습니다. 기계를 사용해서 최고의 미래를 이끌어낼 수 있는 결정 말입니다. 운동 경기에서의 스포츠 정신이 우리를 최선으로 이끌듯이 말입니다.
그럼 이제 이런 신기한 것들을 가능하게 한 마법사들을 소개하겠습니다. "플라잉 머신 아레나"의 연구팀입니다. (박수) 페데리코 우굴리아로, 다리오 브레샤니니, 마커스 헨, 세르게이 루퍼쉰, 마크 물러, 그리고 로빈 리츠입니다. 이 친구들을 잘 지켜보시길 바랍니다: 앞으로 대단한 일들을 해낼 겁니다.
감사합니다.
(박수)