|
pp.39-41
In one of his papers, Rod Brooks first laid out his instructions on how to make a creature walk without knowing how:
자신의 논문 중 하나에서, 로드 브룩스는 창조물 스스로는 알지 못한 채 걷게 하는 방법에 대해 처음으로 지침을 제시했다
There is no central controller which directs the body where to put each foot or how high to lift a leg should there be an obstacle ahead. instead, each leg is granted a few simple behaviors and each independently knows what to do under various circumstances. For instance, two basic behaviors can be thought of as “if i’m a leg and i’m up, put myself down, ” or “If I’m a leg and I’m forward, put the other five legs back a little.” These processes exist independently, run at all times, and fire whenever the sensory preconditions are true. To create walking then, there just needs to be a sequencing of lifting legs (this is the only instance where any central control is evident). As soon as a leg is raised it automatically swings itself forward, and also down. But the act of swinging forward triggers all the other legs to move back a little. since those legs happen to be touching the ground, the body moves forward.
장애물이 앞에 있을 때 각 발을 어디에 놓을 것인지나 다리를 얼마쯤 높이 들어 올릴지 몸에 지시하는 중앙 통제장치가 없다. 대신 각 다리는 몇 가지 간단한 동작이 부여되고 각각 독립적으로 다양한 환경 하에서 무엇을 해야 할 지 알고 있다. 예를 들면, 다음 같은 두 가지 기본 동작을 생각할 수 있다 “내가 다리고 올라가 있다면, 아래로 내려라” 또는 “내가 다리고 앞에 있다면 나머지 5개 다리는 조금 뒤에 두어라.” 이 과정들은 독립적으로 존재하고, 항상 실행되며, 감각의 전제조건들이 참일때마다 신호를 보낸다. 그 다음에 걸음을 걷게 하려면 단지 다리 들기의 순서가 필요할 뿐이다.(이것이 중앙 통제가 분명히 드러나는 유일한 예이다) 다리 하나가 올라가자 마자 자동적으로 앞으로 흔들고 다시 내린다. 하지만 앞으로 흔드는 동작은 나머지 다리들이 약간 뒤로 움직이게 한다. 그 다리들이 땅에 닿게 되기 때문에, 몸은 앞으로 움직인다.
Once the beast can walk on a flat smooth floor without tripping, other behaviors can be added to improve the walk. For Genghis to get up and over a mound of phone books on the floor, it needs a pair of sensing whiskers to send information from the floor to the first set of tripping legs. A signal from a whisker can suppress a motor’s action. The rule might be, “if you feel something, i’ll stop; if you don’t, i’ll keep going.”
일단 그 짐승이 평평하고 매끄러운 바닥을 걸려 넘어지지 않고 걷게 되면, 다른 행동들이 더해져서 더 잘 걸을 수 있다. 젱기스가 일어나서 바닥의 전화번호부 언덕을 넘어 가려면, 한 쌍의 감각 수염이 필요하다. 바닥으로부터 이동 중인 첫번째 다리 세트에 정보를 보내기 위해서다. 수염에서 보낸 신호는 모터의 동작을 약하게 할 수 있다. 규칙은 이럴 것이다. “당신이 뭔가 느껴졌다면, 나는 멈춘다. 그렇지 않다면, 나는 계속 간다.”
while Genghis learns to climb over an obstacle, the foundational walking routine is never fiddled with. This is a universal biological principle that Brooks helped illuminate—a law of god: When something works, don’t mess with it; build on top of it. in natural systems, improvements are “pasted” over an existing debugged system. The original layer continues to operate without even being (or needing to be) aware that it has another layer above it.
젱기스가 장애물을 기어 넘는 걸 배우는 동안, 근본적인 걷기 루틴은 결코 만져지지 않는다. 이것은 브룩스가 조명하도록 도왔던 보편적인 생태학적 원칙 – 신의 법칙이다. 무언가 제대로 작동할 때, 그것을 어지럽히지 말라. 그것의 위에 설치하라. 자연계에서, 진보는 기존의 오류 없는 시스템 위에 덧붙여진 것이다. 원래의 층위는 작용을 계속한다. 그 위에 또다른 층위가 있다는 것은 인식되지도 인식할 필요도 없다.
when friends give you directions on how to get to their house, they don’t tell you to “avoid hitting other cars” even though you must absolutely follow this instruction. They don’t need to communicate the goals of lower operating levels because that work is done smoothly by a well-practiced steering skill. instead, the directions to their house all pertain to high-level activities like navigating through a town.
친구들이 당신에게 자신들의 집에 가는 방법을 설명할 때, 당신에게 “다른 차를 박지 말라고” 말하지 않는다. 당신이 절대적으로 이 지시를 따라야 할지라도 말이다. 그들은 하위의 작동 수준의 목적을 소통할 필요가 없다. 왜냐하면 그 작업은 잘 훈련된 운전 기술에 의해 자연스럽게 행해지기 때문이다. 대신, 그들의 집으로 가는 지시는 모두 마을 전체를 탐색하는 것 같은 높은 수준의 활동에 속한다.
Animals learn (in evolutionary time) in a similar manner. As do Brooks’s mobots. his machines learn to move through a complicated world by building up a hierarchy of behaviors, somewhat in this order:
동물들도 (진화의 시간에서) 비슷한 방식으로 배운다. 브룩스의 모봇도 마찬가지다. 그의 기계들은 행동의 위계를 세움으로써 복잡한 세상을 헤쳐 나가는 법을 배운다. 대략 다음 같은 순서이다.
avoid contact with objects 사물들과 접촉을 피한다
wander aimlessly 정처없이 헤맨다
explore the world 세상을 탐험한다
Build an internal map 내부 지도를 그린다
notice changes in the environment 환경의 변화를 알아차린다
Formulate travel plans 이동 계획을 공식화한다
anticipate and modify plans accordingly 예상하고 그에 맞게 계획을 수정한다
The wander-aimlessly department doesn’t give a hoot about obstacles, since the avoidance department takes such good care of that.
정처없이 헤매기 부문은 장애물에 조금도 신경쓰지 않는다. 회피 부문이 그것에 많은 신경쓰기 때문이다.
The grad students in Brooks’s mobot lab built what they cheerfully called “The Collection Machine”—a mobot scavenger that collected empty soda cans in their lab offices at night. The wander-aimlessly department of the Collection Machine kept the mobot wandering drunkenly through all the rooms; the avoidance department kept it from colliding with the furniture while it wandered aimlessly.
브룩스 모봇 연구소의 대학원생들은 그들이 즐겁게 부르는 “수집 기계”를 제작했다. 모봇 넝마주이는 밤에 연구소 사무실 내에서 빈 음료수 캔을 모은다. 수집 기계의 정처없이 헤매기 부문은 모봇이 모든 방을 취한 듯이 헤매게 한다. 회피 부문은 그것이 정처없이 헤매는 동안 가구에 부딪히지 않게 한다.
The Collection Machine roamed all night long until its video camera spotted the shape of a soda can on a desk. This signal triggered the wheels of the mobot and propelled it to right in front of the can. rather than wait for a message from a central brain (which the mobot did not have), the arm of the robot “learned” where it was from the environment. The arm was wired so that it would “look” at its wheels. if it said, “Gee, my wheels aren’t turning,” then it knew, “i must be in front of a soda can.” Then the arm reached out to pick up the can. if the can was heavier than an empty can, it left it on the desk; if it was light, it took it. with a can in hand the scavenger wandered aimlessly (not bumping into furniture or walls because of the avoidance department) until it ran across the recycle station. Then it would stop its wheels in front of it. The dumb arm would “look” at its hand to see if it was holding a can; if it was it would drop it. if it wasn’t, it would begin randomly wandering again through offices until it spotted another can.
수집 기계는 밤새 배회하며 비디오 카메라로 책상 위의 음료수 캔의 모양을 포착했다. 이 신호는 모봇의 바퀴를 움직이게 하여 캔의 바로 앞으로 추진했다. (모봇이 갖고 있지 않은) 중앙 두뇌에서 메시지를 기다리는 것이 아니라, 로봇의 팔은 환경으로부터 그것이 어디 있는지 “배웠다.” 그 팔은 유선 연결되어 있어서 자신의 바퀴를 “보곤” 했다. 만약 그것이 “어, 바퀴가 돌아가지 않아.” 그러면 그것은 알고 있었다. “나는 음류수 캔 앞에 와 있군.” 그 다음은 팔을 뻗어 캔을 집어 올렸다. 만약 캔이 빈 캔 보다 무겁다면, 책상에 놔 둔다. 만약 가볍다면 가져온다. 손에 캔을 들고 넝마주이는 재활용 장소를 만날 때까지 정처없이 헤맸다(회피 부문 때문에 가구나 벽에 부딪히지 않았다). 그러면 그 앞에서 바퀴를 멈춘다. 그 멍청한 팔은 손이 캔을 들고 있는지 아닌지 알기 위해 손을 “볼” 것이다. 들고 있다면 떨어뜨린다. 안 들고 있다면, 또다른 캔을 포착할 때까지 무작정 사무실 헤매기를 다시 시작할 것이다.
That crazy hit-or-miss system based on random chance encounters was one heck of an inefficient way to run a recycling program. But night after night when little else was going on, this very stupid but very reliable system amassed a great collection of aluminum.
무작위의 우연한 만남에 근거한 저 말도 안되는 마구잡이 시스템은 재활용 프로그램을 실행하는 엄청나게 비효율적인 방법이다. 하지만 매일 밤 다른 것은 거의 동작하지 않을 때, 이 매우 멍청하지만 매우 믿음직한 시스템은 대단히 많은 알루미늄을 모았다.
The lab could grow the Collection Machine into something more complex by adding new behaviors over the old ones that worked. in this way complexity can be accrued by incremental additions, rather than basic revisions. The lowest levels of activities are not messed with. Once the wander-aimlessly module was debugged and working flawlessly, it was never altered. even if wander-aimlessly should get in the way of some new higher behavior, the proven rule was suppressed, rather than deleted. Code was never altered, just ignored. how bureaucratic! how biological!
연구소가 수집 기계를 더 복잡한 것으로 키울 수 있었던 것은 작동하는 기존 동작에 새 동작들을 더해서 였다. 이런 방식으로 기본적인 개정이 아니라 추가적으로 덧붙임으로써 복잡성은 불어날 수 있다. 가장 낮은 수준의 행동들은 어지럽혀지지 않는다. 한 번 정처없이 헤매기 모듈이 오류가 수정되고 결함없이 작동하면, 결코 변경되지 않았다. 정처없이 헤매기가 새로운 상위 행동 방식에 끼여 들더라도 검증된 규칙은 억제될 뿐이지 삭제되지 않았다. 코드는 결코 변경되지 않았다. 단지 무시될 뿐이었다. 얼마나 관료적인가! 얼마나 생태적인가!
Furthermore, all parts (departments, agencies, rules, behaviors) worked—and worked flawlessly—as stand-alones. Avoidance worked whether or not Reach-For-Can was on. reach-For-Can worked whether or not avoidance was on. The frog’s legs jumped even when removed from the circuits of its head.
더욱이, 모든 부분(부문, 행동자, 규칙, 행동)은 독립장치처럼 결함없이 작동했다. 회피는 캔을 향해 뻗기가 켜져 있든 아니든 작동했다. 캔을 향해 뻗기는 회피가 켜져 있든 아니든 작동했다. 개구리의 다리는 머리에서 그 회로를 제거해도 껑충 뛰었다.
The distributed control layout for robots that Brooks devised came to be known as “subsumption architecture” because the higher level of behaviors subsumed the roles of lower levels of behaviors when they wished to take control.
브룩스가 고안한 로봇용 분산 통제 기획은 “포섭 구조”으로 알려지게 되었다. 상위 수준의 행동은 통제가 필요할 때 하위 수준의 행동을 포섭했기 때문이다.
|