[사이언스올] 로봇을 걷게 하기가 왜 힘들까?

걷기 위해서는 한쪽 발을 들고 다음 발을 내딛고 하며 나아가면 될 것처럼 여겨진다. 기본적으로는 맞는 생각이다. 그러나 실제로 쉽게 구현되지 않는 이유는 직립 보행이 마치 가만히 두면 쓰러지는 막대기를 세워 놓은 것처럼 매우 불안정한 자세로 이루어져 있기 때문이다. 사람도 제자리에 가만히 서 있기 위해서는 의식적으로든 무의식적으로든 쓰러지지 않도록 계속 무게중심을 이동하며 중심을 잡아야 한다. 그러다 쓰러짐이 감지되면 쓰러지는 방향으로 발을 내딛어 새로운 안정자세를 만들어낸다. 걷는다는 행위는 몸을 전진 방향으로 쓰러뜨리고 발을 내딛어 중심을 유지하며 또 앞으로 쓰러지려고 하는 동작의 연속이라고 볼 수 있다. 이러한 이유로 자연스러운 보행은 로봇의 동역학적, 기구학적 요소와 맞물린 고도의 제어기술이 결합되어야 가능한 기술이다. 이러한 기술들은 하나같이 해결하기 쉽지 않은 문제들로 채워져 있다.
이족보행은 크게 두 가지 요소의 결합으로 이루어진다. 첫째는 미리 계획된 걸음 패턴에 따라 다리, 발목, 팔 등을 움직여 걸음의 기본형을 만드는 것(걸음경로 계획)이고, 둘째는 매순간 몸의 각 부분을 미세하게 움직여 지속적으로 동적 안정성을 유지하는 것(자세 안정화)이다. 전자는 걷기 전에 미리 수립되어야 하는 과정(Off-line 또는 Batch process)이고, 후자는 걸으면서 실시간으로 계산되어야 하는 과정(On-line 또는 Real time control)이다.

걷는다는 것은 무게의 중심을 양발에 교대로 옮기면서 들려진 발을 앞으로 내딛으며 착지하는 과정을 반복하는 것이다. 이때 사람은 오랜 기간 학습된 무의식적 반응으로 무게중심을 이동한다. 이러한 걸음 패턴은 인류가 직립 보행을 시작한 이래 태어날 때부터 유전적으로 프로그램된 것이다. 대다수의 초식동물들이 태어남과 동시에 스스로 일어나 걷고 뛰어 다니는 모습을 보면, 보행에서 후천적 학습이 주된 것이 아님을 알 수 있다. 단지 인간의 경우 태어난 직후에는 골격, 관절, 근육 등이 걸을 수 있을 만큼 충분히 발육되지 않아서 걸음을 시작할 때까지 다소 시간이 걸릴 뿐이다.
걷기라는 복합적인 균형 운동은 태어난 직후에 무(無)의 상태에서 학습하는 것이 아니라 상당 부분 본태적이며 오랜 기간의 진화에 의해 최적화된 기구학적, 운동학적으로 표현되는 지극히 지능적인 능력이다. 따라서 로봇이 인간과 흡사하게 걷기 위해서는 인류가 직립 보행의 진화 과정에서 획득한 수준의 정보와 숙련도를 확보해야만 한다. 그러나 이러한 생물학적 진화 과정을 정확히 이해하기도 힘들 뿐 아니라 완성체로서 인간의 인체구조나 근육, 골격, 보행 방법조차도 아직 명확히 파악하지 못하고 있다. 더욱이 현재의 기술 수단인 기계적, 전기·전자적, 컴퓨터공학적 방법론으로는 인간과 같은 유기체를 구현하는 것은 불가능하다고 생각된다.

그러나 인간형 로봇을 만들기 위해 인간과 같은 개수의 관절과 근육을 갖추는 것은 기술적으로 구현하기가 매우 힘들 뿐 아니라 실용적인 측면에서도 바람직하지 않다. 그러므로 실제 인간형 로봇에서는 인간의 행위를 모사할 수 있는 최소한의 기구학적 구조를 채택하게 된다. 먼저 이족보행을 가능하게 하기 위한 최소한의 독립적인 운동 및 구동이 가능한 축의 수(자유도)를 결정하는 것이 필요하다. 두 다리가 걷기 운동을 하기 위해서는 최소한 각각 여섯 개의 자유도를 갖는 구조를 갖추어야 한다. 고관절에 세 개, 무릎에 한 개, 발목에 두 개 등이다. 더욱 자유롭게 운동하기 위해서는 발목에 회전운동을, 발에 엄지발가락 관절 등을 추가할 수 있으나, 대부분은 이를 생략한다. 로봇 상체는 인간다운 모습과 기능, 우아한 걸음새 연출을 위하여 다양하게 구성할 수 있다.

걸음경로 계획에서는 ZMP(Ze-ro Moment Point : 땅에 붙은 발바닥으로 지면을 강하게 느끼는 점)라고 불리는 동적 무게중심이 보행 주기 동안 항시 착지한 발 내부에 위치하도록 모든 관절운동 패턴을 설계한다. 양발 지지 상태에서 첫걸음을 떼기 위해서는 먼저 ZMP를 왼발 안으로 이동시키고 오른발을 들어올리며 앞으로 내딛는다. 공중에 떠 있던 오른발이 원하는 보폭만큼 이동하면 착지한다. 착지가 완료되어 두 발이 대각선으로 위치한 양발 지지 상태가 되면 ZMP를 오른발로 이동시킨다. 다음은 왼발을 들어 앞으로 전진시킨 뒤 보폭거리에서 착지한다. 이러한 경로 계획에서 공중에서 이동하는 발의 운동에 따라 지지하고 있는 발 안쪽의 ZMP가 지속적으로 변하기 때문에, 상체의 위치를 적절히 계획하여 ZMP의 위치가 지지발 안에 머물도록 해야 한다. 이때 경로 계획이 잘못되어 ZMP가 지지발의 경계면에 도달하면 로봇은 쓰러진다.

이러한 경로 계획을 완성하기 위해서 두 가지 방법이 사용된다. 첫째는 실험적 방법이고, 둘째는 전산 모사(Computer simulation)에 의한 방법이다. 전자는 실제 로봇이 있어야 가능한 방법이고, 후자의 경우에는 로봇 전체 기구의 수학적 모델을 만들고 이에 대한 동역학 방정식을 풀 수 있어야 한다. 하지만 어느 방식을 택하더라도 경로 계획이 저절로 수립되는 것은 아니다. 무수한 시행착오를 거쳐 로봇이 쓰러지지 않고 보행을 지속할 수 있는 경로를 찾아내야 하는 것이다.
태엽으로 구동되는 값싼 장난감 로봇의 경우 한발 지지 상태이건 양발 지지 상태이건 항상 ZMP가 지지발 안에 위치하도록 설계되어 있기 때문에 아주 단순한 경로 계획만으로도 보행이 가능하다. 또한 소형 보행 로봇의 경우 ZMP가 로봇의 정역학적 무게중심과 큰 차이가 없기 때문에, 걸음 단계별로 정적 무게중심을 유지할 수 있는 점을 실험적으로 찾아 경로를 설계하는 방법을 사용하기도 한다. 그러나 로봇의 크기가 80 cm 이상의 중형 로봇만 되어도 이러한 단순한 방식은 적용되지 않는다. 매순간의 움직임에 따른 ZMP의 변화를 직관적으로 이해하기 힘들기 때문이다.
이족보행 이외에 공차기 등 좀더 과격한 운동을 할 경우 정밀한 전산 모사 방법 이외에는 ZMP를 예측하기가 불가능하다. 중형 로봇만 되어도 작동 중에 넘어지면 기계적 파손이나 결함이 생기기 때문에, 실험적 방법을 통한 과격한 움직임에 대한 경로 계획에는 여러 가지 위험이 따른다. 이러한 과정에 의하여 수립된 하체 12개 축 및 상체의 시간에 따른 경로를 걸음경로 계획이라고 한다.
백래시와 마찰은 로봇뿐 아니라 정밀 반복구동을 요하는 기계시스템의 정확도 및 반복도에 결정적인 영향을 미친다. 1 m 이상의 인간 크기 로봇에 대해서는 하모닉드라이브 방식의 감속기를 채택하면 어느 정도 만족할 만한 수준 이하의 백래시와 마찰력이 보장되어 이를 주로 사용하고 있다.

두 번째 불확실성은 지면의 균일도와 마찰력이다. 우리가 보통 편편하다고 생각하는 실내 생활공간의 바닥을 정밀하게 측정해 보면 ±2°정도의 기울기차를 쉽게 발견할 수 있다. 육안으로 자세히 살펴보아도 상당한 굴곡이 있는 것을 관찰할 수 있다. 발바닥이 지면과 마찰력 부족으로 미끄러지는 경우 역시 마찬가지이다. 이들 조건에 따라 로봇의 착지도 매우 불안정해지고 세심하게 설계된 경로 계획도 무의미해진다. 왜냐하면 보행의 반복운동이란 특성상 마지막 걸음의 자세가 다음 걸음의 시작 조건이 되기 때문에 앞걸음이 흐트러지면 다음 걸음은 제대로 수행될 수 없기 때문이다.
세 번째로는 경로 계획 때 고려되지 않았던 구조물 탄성에 의한 처짐이나 진동이다. 로봇의 구조는 일반적으로 매우 복잡하고 각 관절이 직렬로 연결되어 구조적으로 취약한 형태를 하고 있다. 경로 계획이나 수학적 모델 수립 때 이 모든 요인을 고려하기란 거의 불가능하거나 부정확한 경우가 대부분이다. 이 때문에 이미 수립된 경로 계획이 실제 로봇에 적용되어도 제대로 반영되지 않아 재현성 문제를 일으킨다.

이러한 능력을 갖춘 구동원을 인조근육이라고 한다. 그러나 이는 이상적인 모델일 뿐이고 우리 기술로는 아직 구현이 불가능한 연구와 개발의 대상이다. 현재 인간의 근육 대신 주로 사용되는 것은 감속기가 부착된 전기모터이다. 그런데 이것은 인간의 근육과 매우 다른 특성을 가지고 있다. 감속기가 부착된 전기모터는 위치원(position source) 혹은 속도원(velocity source)으로 작용하며 역구동이 잘 되지 않고 자체 회전 관성력이 매우 크다. 이러한 차이 때문에 로봇이 인간처럼 움직이는 데 어려움이 크다.
로봇은 역구동이 되지 않으므로 힘빼기를 할 수 없다. 자체 관성이 크기 때문에 보행과 같이 관절의 회전 방향과 크기가 급격히 변하는 운동의 경우 자체 에너지 소모가 크며, 탄성이 없기 때문에 운동에너지를 저장할 수도 없다. 또한 충돌하고 착지하는 등 외부 환경과 부딪칠 때 적응력이 전혀 없다. 이에 따라 로봇에게는 자세를 고정시키는 부동자세를 유지하는 것이 가장 쉽고 자연스러운 과제이다. 사람이 10시간 동안 기마자세를 하고서 움직이지 않아야 된다고 상상해 보라. 이는 사람에게 불가능에 가까운 고역일 것이다. 반면 로봇에게는 사람에게 가장 편한 과제인 힘 빼고 외부에 의지하는 것이 가장 어려운 일 중 하나이다.

자연스러운 걸음은 경로 계획에 의한 반복 동작만으로 완성되는 것은 아니다. 왜냐하면 앞서 얘기했듯 로봇은 여러 형태의 불확실성에 노출되어 있기 때문이다. 이 가운데 백래시에 의한 불확실성은 어떠한 제어 방식으로도 제거하기가 힘들다. 로봇을 덜렁거림이 없도록 잘 설계하고 견고하게 만드는 것이 유일한 해결책일 것이다. 한편, 바닥면의 비평탄과 접지 마찰력의 불균일은 예측이 불가능한 환경요인 중의 하나이며 걸음 안정성에 결정적인 영향을 미치나, 실시간 측정이 가능하여 제어할 수 있다.
구조물의 탄성에 의한 처짐이나 진동 역시 실시간 제어를 통하여 억제가 가능하다. 이를 효과적으로 제어하기 위해서는‘자세 안정화’라는 자동제어 기법이 실시간으로 작동되어야 한다. 실시간 제어를 하기 위해서는 몸의 기울어짐과 각 속도를 측정할 수 있는 관성 센서와, 착지 발의 접지력과 모멘트(우력)를 측정할 수 있는 힘·모멘트 센서가 필수이다. 여기에서 획득된 정보를 바탕으로 착지 순간과 착지 위치를 산출한다. 또한 이 정보는 한발 지지 상태와 양발 지지 상태에서 로봇이 진동하거나 쓰러지지 않도록 지속적인 안정성을 유지하는 데에도 사용된다.
자세 안정화는 환경 변화에 따른 반복적인 걸음 안정성을 보장하는 데 필수적인 요소이나, 여기에는 로봇의 수학적 모델과 이론적 배경을 요하는 고도의 제어방법론이 필요하다. 대학 전공 수준의 이론과 공학적 직관력만으로는 안정한 제어 결과를 얻기 힘들다. 소형 로봇의 경우 알고리즘 및 센서 시스템의 단순화를 위하여 자세 안정화를 생략하는 경우가 대부분인데, 결과적으로 매우 불안정한 걸음새를 보이게 된다.
인간과 흡사하게 안정되고 안전한 보행 로봇이 출현하기 위해서는 지금의 기술적 한계를 뛰어넘는 혁신적인 이론과 기술 및 아이디어가 요구된다. 인간 뇌신경과학에 근거한 자가학습(self learning) 이론을 도입한 경로 계획 및 자세 안정화가 과거부터 꾸준히 연구되어, 좀더 간편하고 인간 친화적인 제어기법을 추구하고 있다. 또한 인조근육과 같은 구동기, 가볍고 튼튼한 재질 및 구조물, 용량이 큰 소형 배터리, 저전력 고속 중앙처리장치(CPU), 더욱 정밀한 센서 시스템 그리고 인공지능 알고리즘 등 차세대 인간형 이족보행 로봇을 위한 필수 기술들이 계속 연구되고 있다. 만약 이러한 이론이나 새로운 혁신적인 기법이 완성되어 성공적으로 적용된다면, 지금보다 훨씬 다양하고 안정되며 자연스러운 동작과 걸음이 구현되리라 예측한다.