Today I'd like to show you the future of the way we make things. I believe that soon our buildings and machines will be self-assembling, replicating and repairing themselves. So I'm going to show you what I believe is the current state of manufacturing, and then compare that to some natural systems.
저는 오늘 미래에 우리가 물건을 만들 방법을 소개하고자 합니다. 저는 건물들이나 기계들이 곧 자기 스스로 만들어질 수 있을 것이라고 믿습니다. 스스로 복제되고 수리되면서 말이지요. 그래서 저는 오늘 당신에게 오늘날 제조법의 현황을 보여드리고 이것을 자연에서의 다양한 모습들과 비교하고자 합니다.
So in the current state of manufacturing, we have skyscrapers -- two and a half years [of assembly time], 500,000 to a million parts, fairly complex, new, exciting technologies in steel, concrete, glass. We have exciting machines that can take us into space -- five years [of assembly time], 2.5 million parts.
그러니까 오늘날 제조법에서 우리에게는 고층 건물들이 있고-- 2년 반, 500,000을 백만으로 나눈 부분들, 꽤 복잡하고, 새롭고 신비한 기술들이 철, 콘크리트, 유리 등에 사용되지요. 우리를 우주로 데려다 줄 수 있는 흥미로운 기계들도 있지요- 5년, 250만개의 부분들.
But on the other side, if you look at the natural systems, we have proteins that have two million types, can fold in 10,000 nanoseconds, or DNA with three billion base pairs we can replicate in roughly an hour. So there's all of this complexity in our natural systems, but they're extremely efficient, far more efficient than anything we can build, far more complex than anything we can build. They're far more efficient in terms of energy. They hardly ever make mistakes. And they can repair themselves for longevity.
반면에, 우리가 자연 환경을 들여다 보면, 우리는 200만개의 종류들을 가지고 10,000 나노초에 접히는 단백질 또는 30억개의 염기쌍을 가진 DNA, 1시간 정도면 복제할 수 있지요. 그러니까 이러한 복잡함이 우리의 생태계에 있지만 그것들은 매우 효율적이고, 우리가 지을 수 있는 어떠한 것보다도 더 효율적이고, 에너지적인 면에서도 훨씬 더 효율적입니다. 그리고 실수를 하는 경우도 거의 없지요. 또 오래 지속되도록 자신을 수리할 수도 있답니다.
So there's something super interesting about natural systems. And if we can translate that into our built environment, then there's some exciting potential for the way that we build things. And I think the key to that is self-assembly.
그리고 여기 자연에 대해 매우 흥미로운 점이 있습니다. 그리고 우리가 그것을 우리가 지어놓은 환경에 맞게 잘 번역시킬 수만 있다면 우리의 제조법에 아주 흥미로운 잠재력을 가지게 되는 것입니다. 그리고 그 답은 바로 스스로 지어진다는 점에 있습니다.
So if we want to utilize self-assembly in our physical environment, I think there's four key factors. The first is that we need to decode all of the complexity of what we want to build -- so our buildings and machines. And we need to decode that into simple sequences -- basically the DNA of how our buildings work. Then we need programmable parts that can take that sequence and use that to fold up, or reconfigure. We need some energy that's going to allow that to activate, allow our parts to be able to fold up from the program. And we need some type of error correction redundancy to guarantee that we have successfully built what we want.
그러니 우리가 스스로 지어지는 것을 우리의 물질적 환경에 활용하기 위해 4가지 주요 요인이 있다고 생각합니다. 첫번째로 우리가 짓고 싶은 것, 즉, 건물과 기계들의 복잡한 구조를 해독해 내는 것입니다. 그리고 우리는 간단한 순서로 이것을 해독해야 하고-- 한마디로 건물들의 원리에 대한 DNA를 찾는 거죠. 그 다음 우리는 그러한 순서로 반듯하게 접거나 변경할, 프로그래밍할 수 있는 부분들이 필요하죠. 우리는 그것이 활성화되도록 하기 위해 에너지를 필요로 하고, 프로그램에 따라 접히도록 해야지요. 그리고 짓고 싶은 것을 성공적으로 짓는 것을 보장하기 위해 실수를 허용할 만한 여분이 필요하겠지요.
So I'm going to show you a number of projects that my colleagues and I at MIT are working on to achieve this self-assembling future. The first two are the MacroBot and DeciBot. So these projects are large-scale reconfigurable robots -- 8 ft., 12 ft. long proteins. They're embedded with mechanical electrical devices, sensors. You decode what you want to fold up into, into a sequence of angles -- so negative 120, negative 120, 0, 0, 120, negative 120 -- something like that; so a sequence of angles, or turns, and you send that sequence through the string. Each unit takes its message -- so negative 120 -- it rotates to that, checks if it got there and then passes it to its neighbor.
그래서 저는 우리의 '스스로 지어지는' 미래를 위해 저와 제 동료들이 MIT에서 연구중인 몇 개의 프로젝트들을 보여드리고자 합니다. 우선 처음으로 보여드릴 로봇 두개는 MacroBot과 DeciBot입니다. 그러니까 이 프로젝트들은 큰 규모의 변경 가능한 로봇들-- 8 피트, 12피트만큼 긴 단백질. 그것들은 기계로 작동되며 전기를 사용하는 장치, 센서들이 박혀 있습니다. 여러분은 접고 싶은 것을 해독해 내면 됩니다, 연속적인 각들로 말이지요-- 그러니까 마이너스 120, 마이너스 120, 0, 0, 120, 마이너스 120--이런 식으로요; 그래서 각들의 행렬, 또는 순서들, 그리고 이렇게 나열된 것들을 끈으로 보내면 됩니다. 각 구성 단위가 각각의 신호를 받지요--그래서 마이너스 120. 이렇게 돌아가고, 거기까지 잘 됬는지 확인하고 옆쪽으로 넘겨줍니다.
So these are the brilliant scientists, engineers, designers that worked on this project. And I think it really brings to light: Is this really scalable? I mean, thousands of dollars, lots of man hours made to make this eight-foot robot. Can we really scale this up? Can we really embed robotics into every part? The next one questions that and looks at passive nature, or passively trying to have reconfiguration programmability. But it goes a step further, and it tries to have actual computation. It basically embeds the most fundamental building block of computing, the digital logic gate, directly into your parts.
그러니까 이 프로젝트에 참여한 사람들은 위대한 과학자들, 엔지니어들, 디자이너들입니다. 그리고 정말 빛을 발하는 것은: 확장이나 축소가 가능할까요? 그러니까, 수천 달러, 사람들의 엄청난 노력이 이 발 8개 달린 로봇을 만드는데 사용되었지요. 이 규모를 더 늘릴 수 있을까요? 로봇 공학을 정말 모든 부분에 사용할 수 있을까요? 그 다음으로는 그런 질문을 내놓고 수동적인 자연을 보거나 구조 변경이 프로그래밍 가능하게 하기 위해 수동적으로 시도합니다. 하지만 이것은 한 단계 더 나아가서, 실질적 계산을 하려 합니다. 이것은 기본적으로 계산 등의 가장 기초적 단계가 박혀있고 디지털 세계에서 논리적으로 작동할 수 있는 문이 곧바로 조각들로 나누어집니다.
So this is a NAND gate. You have one tetrahedron which is the gate that's going to do your computing, and you have two input tetrahedrons. One of them is the input from the user, as you're building your bricks. The other one is from the previous brick that was placed. And then it gives you an output in 3D space. So what this means is that the user can start plugging in what they want the bricks to do. It computes on what it was doing before and what you said you wanted it to do. And now it starts moving in three-dimensional space -- so up or down. So on the left-hand side, [1,1] input equals 0 output, which goes down. On the right-hand side, [0,0] input is a 1 output, which goes up. And so what that really means is that our structures now contain the blueprints of what we want to build.
그래서 이것이 NAND 문입니다. 그 문이 되는 4면체를 당신이 가지고 있다면 이것이 바로 계산을 하는 것입니다. 그리고 당신은 2개의 4면체 입력장치를 가집니다. 그 중 하나는 사용자가 벽돌들로 지으면서 입력하는 것입니다. 또 다른 하나는 그 전에 자리잡은 벽돌입니다. 그리고 이것은 3D 공간으로 당신에게 결과물을 보입니다. 그러니까 이것이 뜻하는 바는 사용자가 각각의 벽돌들이 했으면 하는 것을 입력할 수 있다는 겁니다. 이것은 그 전에 자신이 한 일과 당신이 요청한 일을 계산해냅니다. 그리고 이제 3D 공간에서 움직입니다-- 이렇게 위로 아래로. 그래서 왼쪽에 [1,1]을 입력하니 0이고, 그래서 내려갑니다. 오른쪽에는 [0,0]을 입력해서 1을 출력해내고, 그래서 위로 갑니다. 그리고 이것이 의미하는 바는 이제 우리의 구조는 우리가 짓고 싶은 것의 청사진을 가진다는 것이지요.
So they have all of the information embedded in them of what was constructed. So that means that we can have some form of self-replication. In this case I call it self-guided replication, because your structure contains the exact blueprints. If you have errors, you can replace a part. All the local information is embedded to tell you how to fix it. So you could have something that climbs along and reads it and can output at one to one. It's directly embedded; there's no external instructions.
그래서 이것들은 그 전에 지어진 것에 대한 정보를 가집니다. 그러니까 우리가 어떠한 종류의 자기 복제를 볼 수 있다는 것이죠. 이런 경우에 나는 이것을 '스스로 안내 가능한' 자기 복제라고 하는데 그 구조들이 정확히 같은 청사진을 가지기 때문이지요. 만약 오류가 있다면, 그 부분을 바꾸면 됩니다. 어떻게 고쳐야 하는지에 대한 정보도 다 있습니다. 그래서 그것은 기어 올라서 그것을 읽어내고 하나하나 실행합니다. 그것은 전적으로 저장된 것입니다; 따로 알려줄 필요가 없습니다.
So the last project I'll show is called Biased Chains, and it's probably the most exciting example that we have right now of passive self-assembly systems. So it takes the reconfigurability and programmability and makes it a completely passive system. So basically you have a chain of elements. Each element is completely identical, and they're biased. So each chain, or each element, wants to turn right or left. So as you assemble the chain, you're basically programming it. You're telling each unit if it should turn right or left. So when you shake the chain, it then folds up into any configuration that you've programmed in -- so in this case, a spiral, or in this case, two cubes next to each other. So you can basically program any three-dimensional shape -- or one-dimensional, two-dimensional -- up into this chain completely passively.
그래서 마지막으로 제가 보여드릴 프로젝트는 '편향된 사슬'인데, 이것은 수동적으로 '스스로 지어지는' 시스템 중 우리가 가지고 있는 가장 흥미로운 예가 될 것입니다. 그러니 이것은 변경 가능한 여부와 프로그램을 짤 수 있는 능력 등이 있어야 완벽히 수동적인 프로그램이 될 수 있을 것입니다. 그러니까 기본적으로 다양한 요소들의 사슬이죠. 각각의 요소들은 전부 같고, 각자 다르게 편향됩니다. 그러니 각각의 사슬, 또는 요소들이 오른쪽 또는 왼쪽으로 가고 싶어하죠. 그래서 당신이 사슬을 조립하면서 결국은 프로그래밍도 하는 거죠. 당신은 각 구성단위마다 오른쪽 아니면 왼쪽으로 돌라고 하는 것입니다. 그래서 당신이 사슬을 흔들면 그것은 접힙니다. 당신이 프로그래밍을 한 어떠한 배열로 말이지요-- 예를 들어서 이 경우에서는 나선형, 또는 이 경우에서는, 서로 붙어있는 두 개의 정육면체로 말이지요. 그러니 당신은 이것을 어떠한 3차원적인 도형으로든 프로그래밍할 수 있고-- 또는 1차원, 2차원--다 수동적으로, 이 사슬만으로요.
So what does this tell us about the future? I think that it's telling us that there's new possibilities for self-assembly, replication, repair in our physical structures, our buildings, machines. There's new programmability in these parts. And from that you have new possibilities for computing. We'll have spatial computing. Imagine if our buildings, our bridges, machines, all of our bricks could actually compute. That's amazing parallel and distributed computing power, new design possibilities. So it's exciting potential for this. So I think these projects I've showed here are just a tiny step towards this future, if we implement these new technologies for a new self-assembling world.
그러니까 이것은 미래에 대해 무엇을 보여주나요? 제 생각에 이것은 우리에게 스스로 지어지고, 응답하고, 수리되는 등의 가능성을 우리의 물질적 구조들, 건물들, 그리고 기계들에 보여주는 것 같습니다. 이러한 부분에서 새로운 프로그래밍의 가능성이 있지요. 그리고 거기에서 계산 등에서의 새로운 가능성도 보입니다. 우리는 공간적인 계산을 할 것입니다. 건물들, 다리들, 기계들, 모든 벽돌들이 실제로 계산될 수 있다고 상상해 보세요. 그것은 평행하고, 광범위한, 엄청난 계산의 힘이며, 새 디자인의 가능성입니다. 그러니까 이것은 매우 흥미로운 잠재력을 보여주는 것이지요. 그러니까 제 생각에 제가 보여드렸던 이 프로젝트들은 미래를 향한 아주 작은 발걸음이지요. 우리가 새로운 기술을 스스로 만들어지는, 새로운 세계에 적용시킨다면 말입니다.
Thank you.
감사합니다.
(Applause)
(박수)