지난 장까지 우리는 로봇이 세상을 어떻게 감지하고, 자신의 위치를 어떻게 추정하는지 살펴보았다. 이제 질문은 자연스럽게 다음 단계로 넘어간다. "그래서 로봇은 어떻게 움직일까?"
로봇이 아무리 정확한 지도를 갖고 있어도, 아무리 똑똑한 인공지능이 경로를 계산해도, 결국 몸을 실제로 움직이지 못하면 로봇은 그저 계산하는 상자에 머문다. 바퀴가 굴러가야 하고, 팔이 들어 올려져야 하며, 집게가 물체를 잡아야 한다. 이때 전기 신호를 실제 힘과 운동으로 바꾸는 장치가 바로 액추에이터다.
센서가 로봇의 감각기관이라면, 액추에이터는 로봇의 근육에 가깝다. 센서가 "무엇이 보이는가"를 알려 준다면, 액추에이터는 "무엇을 할 것인가"를 몸으로 실행한다.

액추에이터는 신호를 행동으로 바꾸는 장치다
로봇 내부에서는 수많은 신호가 오간다. 마이크로컨트롤러나 컴퓨터는 "앞으로 가라", "팔을 30도 들어라", "집게를 닫아라" 같은 명령을 숫자와 전기 신호의 형태로 보낸다. 하지만 숫자만으로는 바퀴가 굴러가지 않는다. 전기 신호만으로는 로봇팔이 컵을 들어 올릴 수 없다.
액추에이터는 이 약속된 신호를 물리적인 행동으로 바꾼다. 어떤 액추에이터는 회전 운동을 만들고, 어떤 것은 직선 운동을 만들며, 어떤 것은 압력이나 진동, 힘을 만들어 낸다. 로봇에서 가장 흔히 만나는 액추에이터는 모터다. 모터는 전기 에너지를 회전 운동으로 바꾸는 장치다.
물론 모든 액추에이터가 모터인 것은 아니다. 공기압을 이용해 움직이는 공압 실린더, 유압을 이용해 큰 힘을 내는 유압 액추에이터, 전자기력을 이용해 밀고 당기는 솔레노이드도 있다. 하지만 입문 단계에서 가장 먼저 잡아야 할 중심축은 모터다. 바퀴 로봇도, 로봇팔도, 드론도, 자동문도 대부분 어떤 방식으로든 모터를 사용한다.
액추에이터를 이해할 때 중요한 점은 하나다. 로봇의 명령은 추상적이지만, 로봇의 행동은 물리적이라는 것이다. 소프트웨어에서는 속도 = 0.5라고 쓸 수 있지만, 실제 세계에서는 마찰, 무게, 전류, 열, 관성, 기어의 흔들림이 함께 따라온다. 로봇공학이 흥미로운 이유도 여기에 있다. 코드는 깔끔하지만, 현실은 늘 조금 삐딱하게 반응한다.
모터는 로봇의 대표적인 근육이다
모터는 전기를 넣으면 축이 회전하는 장치다. 축이 회전하면 바퀴를 돌릴 수 있고, 기어를 돌릴 수 있으며, 벨트나 풀리를 이용해 직선 운동도 만들 수 있다. 로봇팔의 관절도 대부분 내부에서는 모터의 회전을 이용한다.
모터를 볼 때는 단순히 "돈다"에서 멈추면 안 된다. 로봇 입장에서는 "얼마나 빠르게 도는가", "얼마나 강하게 미는가", "원하는 위치에서 멈출 수 있는가", "무거운 물체를 버틸 수 있는가"가 중요하다. 같은 회전 운동이라도 장난감 자동차의 바퀴를 돌리는 것과 산업용 로봇팔이 금속 부품을 들어 올리는 것은 완전히 다른 문제다.
그래서 로봇에서는 목적에 따라 다른 종류의 모터를 사용한다. 입문자가 가장 먼저 만나는 대표적인 모터는 DC 모터, 서보 모터, 스텝 모터다. 이름은 익숙하지 않아도, 이 셋의 차이는 의외로 직관적이다.
DC 모터: 빠르게 돌리고 싶을 때
DC 모터는 가장 기본적인 모터다. 건전지에 연결하면 윙 하고 돌아가는 작은 모터를 떠올리면 된다. 구조가 비교적 단순하고, 가격이 낮으며, 빠르게 회전시키기 좋다. 작은 바퀴 로봇, 장난감 자동차, 팬, 펌프 같은 곳에서 흔히 볼 수 있다.
DC 모터의 가장 큰 특징은 속도 제어에 적합하다는 점이다. 더 높은 전압을 걸거나, 전력을 더 많이 공급하면 일반적으로 더 빠르게 돈다. 물론 실제로는 부하, 즉 모터가 감당해야 하는 무게와 저항에 따라 속도가 달라진다. 공중에서 바퀴를 돌릴 때는 빠르게 돌지만, 바닥에 내려놓고 로봇 전체를 밀어야 하면 속도가 줄어드는 식이다.
DC 모터 자체는 "내가 지금 몇 도 돌아갔는지"를 모른다. 그냥 전기를 받으면 돈다. 그래서 정확한 위치 제어가 필요할 때는 엔코더라는 센서를 함께 붙인다. 엔코더는 모터 축이 얼마나 회전했는지 알려 주는 센서다. DC 모터와 엔코더를 함께 쓰면 "얼마나 빠르게 돌고 있는지", "얼마나 이동했는지"를 추정할 수 있다.
바퀴 로봇에서는 이 조합이 매우 중요하다. 왼쪽 바퀴와 오른쪽 바퀴가 각각 얼마나 돌았는지 알면, 로봇이 앞으로 얼마나 이동했는지, 어느 쪽으로 회전했는지 계산할 수 있다. 지난 장에서 다룬 오도메트리도 바로 이런 바퀴 회전 정보를 바탕으로 한다.
다만 DC 모터는 그냥 전원만 연결한다고 똑똑하게 움직이지 않는다. 원하는 속도를 유지하려면 계속 확인하고 조정해야 한다. 언덕을 만나면 속도가 줄어들고, 바닥 마찰이 달라지면 움직임도 달라진다. 그래서 DC 모터를 제대로 쓰려면 제어가 필요하다. 이 제어 이야기는 뒤의 장에서 더 자세히 다룬다.
서보 모터: 원하는 각도로 움직이고 싶을 때
서보 모터는 입문용 로봇팔이나 RC 자동차의 조향 장치에서 자주 등장한다. 겉으로 보면 작은 플라스틱 상자에 축이 하나 나와 있는 형태가 많다. 서보 모터의 매력은 명확하다. "몇 도로 가라"고 명령하면 그 각도로 움직이려 한다.
일반적인 취미용 서보 모터는 내부에 DC 모터, 기어, 위치 센서, 제어 회로가 함께 들어 있다. 사용자는 복잡한 내부 제어를 직접 구현하지 않아도 된다. 예를 들어 "90도 위치로 이동해"라는 신호를 보내면, 서보는 현재 위치와 목표 위치를 비교하면서 축을 움직인다. 목표에 가까워지면 멈추고, 외부 힘 때문에 조금 밀리면 다시 원래 위치로 돌아가려 한다.
이 점에서 서보 모터는 위치 제어에 적합한 모터 패키지라고 볼 수 있다. 정확히 말하면 서보는 모터 하나만을 뜻하기보다, 모터와 감속기와 센서와 제어 회로가 결합된 작은 시스템에 가깝다.
로봇팔을 예로 들어 보자. 관절 하나를 45도로 들어 올리고 싶다면, 단순 DC 모터만으로는 쉽지 않다. 모터가 얼마나 돌았는지 알아야 하고, 원하는 위치에서 멈추게 해야 하며, 팔의 무게 때문에 내려가지 않도록 버텨야 한다. 서보 모터는 이런 기본 기능을 내부적으로 어느 정도 처리해 준다. 그래서 입문자가 작은 로봇팔을 만들 때 자주 사용한다.
다만 서보 모터도 만능은 아니다. 회전 범위가 제한된 제품이 많고, 큰 힘이 필요한 산업용 작업에는 취미용 서보가 버티지 못한다. 또한 저렴한 서보는 정밀도와 내구성에 한계가 있다. 그래도 "각도를 명령하면 그 위치로 움직인다"는 경험을 빠르게 얻기에는 매우 좋은 장치다.
스텝 모터: 한 칸씩 정밀하게 움직이고 싶을 때
스텝 모터는 이름 그대로 계단처럼 한 단계씩 움직이는 모터다. 일반 DC 모터가 전기를 넣으면 연속적으로 돌아간다면, 스텝 모터는 정해진 작은 각도 단위로 회전한다. 예를 들어 한 바퀴를 200단계로 나누는 스텝 모터라면, 한 단계는 1.8도다.
스텝 모터의 장점은 정밀한 각도 제어가 비교적 쉽다는 점이다. "100스텝 움직여"라고 명령하면 이론적으로 180도 회전한다. 그래서 3D 프린터, CNC 장비, 카메라 슬라이더, 정밀 위치 이동 장치에서 많이 사용된다. 로봇 분야에서도 천천히 정확한 위치를 맞추는 장치에 활용된다.
스텝 모터는 엔코더 없이도 어느 정도 위치를 추정할 수 있다. 몇 스텝을 보냈는지 세면 되기 때문이다. 하지만 여기에는 중요한 전제가 있다. 모터가 명령한 스텝을 실제로 놓치지 않아야 한다. 너무 무거운 부하가 걸리거나, 갑자기 빠르게 움직이려 하거나, 전류가 부족하면 스텝 모터가 한두 단계를 놓칠 수 있다. 이 현상을 탈조라고 부르기도 한다. 탈조가 발생하면 로봇은 자신이 100스텝 움직였다고 생각하지만, 실제로는 97스텝만 움직였을 수 있다.
그래서 스텝 모터는 정확하지만, 무조건 정확한 것은 아니다. 현실의 모터는 항상 힘의 한계 안에서만 정확하다. 이 사실은 모든 액추에이터에 적용된다. 로봇이 물리 세계에 존재하는 한, 명령과 실제 움직임 사이에는 언제나 작은 간격이 생긴다.
세 모터의 차이를 한눈에 이해하기
DC 모터, 서보 모터, 스텝 모터는 모두 회전 운동을 만들지만, 잘하는 일이 다르다. 입문 단계에서는 다음처럼 기억하면 좋다.
DC 모터는 계속 빠르게 돌리는 데 유리하다. 바퀴, 팬, 펌프처럼 회전 속도가 중요한 곳에 자주 쓰인다.
서보 모터는 특정 각도로 움직이고 버티는 데 유리하다. 작은 로봇팔 관절, 조향 장치, 집게처럼 위치가 중요한 곳에 적합하다.
스텝 모터는 정해진 단계만큼 정밀하게 이동하는 데 유리하다. 3D 프린터나 정밀 이송 장치처럼 반복적인 위치 이동이 필요한 곳에서 많이 쓰인다.
하지만 실제 설계에서는 이렇게 단순하게만 결정하지 않는다. 필요한 힘, 속도, 가격, 제어 난이도, 전원, 발열, 소음, 내구성까지 함께 고려해야 한다. 예를 들어 바퀴 로봇에는 DC 모터가 흔하지만, 매우 정밀한 이동이 필요한 장치라면 스텝 모터를 쓸 수도 있다. 작은 로봇팔에는 서보 모터가 편리하지만, 더 큰 힘과 정밀도가 필요하면 고성능 서보 시스템이나 감속기가 붙은 BLDC 모터를 사용하기도 한다.
중요한 것은 "어떤 모터가 가장 좋은가"가 아니다. "내 로봇이 어떤 움직임을 해야 하는가"다. 로봇 설계는 늘 목적에서 출발한다.
마이크로컨트롤러는 모터를 직접 먹여 살릴 수 없다
초보자가 로봇을 만들 때 자주 만나는 장면이 있다. 아두이노나 라즈베리파이에 모터를 바로 연결했는데 모터가 제대로 돌지 않거나, 보드가 갑자기 꺼지거나, 심하면 부품이 망가지는 상황이다. 이유는 간단하다. 제어 신호와 모터 전력은 크기가 완전히 다르기 때문이다.
마이크로컨트롤러의 출력 핀은 작은 전기 신호를 내보낸다. 이 신호는 "켜라", "꺼라", "이 정도 속도로 돌려라" 같은 명령을 전달하는 데는 충분하지만, 모터를 실제로 돌릴 만큼 큰 전류를 공급하기에는 부족하다. 모터는 생각보다 전기를 많이 먹는다. 특히 처음 출발할 때, 무거운 물체를 움직일 때, 바퀴가 막혔을 때 많은 전류가 필요하다.
여기서 등장하는 장치가 모터 드라이버다.
모터 드라이버는 명령과 힘 사이의 다리다
모터 드라이버는 마이크로컨트롤러의 약한 제어 신호를 받아, 별도의 전원에서 모터에 필요한 전력을 공급하는 장치다. 쉽게 말해 마이크로컨트롤러가 감독이라면, 모터 드라이버는 실제로 힘을 전달하는 작업반장이다. 감독이 "왼쪽 바퀴를 앞으로 돌려"라고 말하면, 작업반장이 큰 전력을 이용해 모터를 실제로 돌린다.
모터 드라이버는 단순히 전원을 켜고 끄는 역할만 하지 않는다. 회전 방향을 바꾸고, 속도를 조절하고, 브레이크를 걸며, 과전류로부터 회로를 보호하기도 한다. DC 모터를 앞뒤로 돌리기 위해 흔히 쓰는 H-브리지 회로도 모터 드라이버의 대표적인 구조다. H-브리지는 전류의 흐름 방향을 바꿔 모터를 정회전 또는 역회전시킬 수 있게 해 준다.
속도 조절에는 보통 PWM이라는 방식이 사용된다. PWM은 전원을 아주 빠르게 켰다 껐다 하면서 평균적으로 전달되는 에너지를 조절하는 방법이다. 예를 들어 전원을 켜는 시간이 전체의 30%라면 약하게 돌고, 80%라면 더 강하게 돈다. 실제로는 매우 빠르게 반복되므로 사람 눈에는 그냥 부드럽게 속도가 바뀌는 것처럼 보인다.
이 구조를 이해하면 로봇 회로가 훨씬 덜 무섭다. 컴퓨터나 마이크로컨트롤러는 판단을 담당하고, 모터 드라이버는 전력을 다루며, 모터는 실제 움직임을 만든다. 이 세 역할을 분리해서 보면 된다.
토크는 돌리는 힘이다
모터를 이해할 때 가장 중요한 단어 중 하나가 토크다. 토크는 회전시키는 힘이다. 문손잡이를 떠올려 보자. 손잡이를 살짝 돌리면 문이 열린다. 이때 손이 손잡이에 가하는 회전 방향의 힘이 토크와 관련된다.
조금 더 직관적으로 말하면, 토크는 "버티고 밀어붙이는 힘"에 가깝다. 모터가 바퀴를 돌릴 때 토크가 충분해야 로봇이 앞으로 나아간다. 로봇팔이 컵을 들어 올릴 때도 관절 모터의 토크가 충분해야 팔이 처지지 않는다.
같은 모터라도 상황에 따라 필요한 토크는 달라진다. 평평한 바닥에서 가벼운 로봇을 움직일 때는 작은 토크로도 충분하다. 하지만 카펫 위를 지나가거나, 경사로를 올라가거나, 무거운 배터리를 싣고 있다면 더 큰 토크가 필요하다. 로봇팔에서는 팔을 수평으로 뻗을수록 관절에 더 큰 부담이 걸린다. 물체를 몸 가까이 들 때보다 팔을 멀리 뻗어 들 때 훨씬 힘든 이유와 같다.
토크가 부족하면 로봇은 어떤 식으로 실패할까? 바퀴 로봇은 출발하지 못하고 윙 소리만 낼 수 있다. 로봇팔은 목표 각도까지 올라가지 못하거나, 들어 올린 뒤 천천히 처질 수 있다. 스텝 모터는 스텝을 놓칠 수 있고, 서보 모터는 떨리거나 과열될 수 있다. 움직임의 실패는 종종 소프트웨어 버그처럼 보이지만, 실제 원인은 힘 부족일 때가 많다.
속도는 빠름이고, 토크는 버티는 힘이다
처음에는 토크와 속도가 헷갈릴 수 있다. 둘 다 모터 성능처럼 보이기 때문이다. 하지만 역할은 다르다. 속도는 얼마나 빨리 도는지를 나타내고, 토크는 얼마나 강하게 돌릴 수 있는지를 나타낸다.
자전거 기어를 생각해 보자. 낮은 기어에서는 페달을 여러 번 밟아야 하지만 언덕을 쉽게 올라갈 수 있다. 속도는 느리지만 힘이 세진다. 높은 기어에서는 평지에서 빠르게 달릴 수 있지만, 언덕에서는 페달이 무거워진다. 속도는 빠르지만 힘을 내기 어렵다.
모터도 비슷하다. 빠르게 도는 모터가 반드시 무거운 물체를 잘 움직이는 것은 아니다. 반대로 힘이 센 구성이 항상 빠른 것도 아니다. 로봇 설계에서는 속도와 토크 사이의 균형을 잡아야 한다.
바퀴 로봇을 예로 들어 보자. 실내에서 천천히 안정적으로 움직이는 로봇 청소기는 엄청난 최고 속도가 필요하지 않다. 대신 문턱, 카펫, 작은 장애물에서 멈추지 않을 만큼의 토크가 필요하다. 반면 경주용 작은 로봇은 빠른 속도가 중요하다. 하지만 토크가 너무 부족하면 출발할 때 미끄러지거나 가속을 제대로 하지 못한다.
로봇팔에서는 속도보다 토크가 더 중요한 경우가 많다. 팔이 빠르게 움직이는 것도 좋지만, 물체를 안정적으로 들고 원하는 자세를 유지하는 능력이 더 중요하기 때문이다. 특히 팔을 길게 뻗을수록 관절에는 큰 토크가 필요하다.
전압과 전류는 모터의 에너지 언어다
모터는 전기 에너지를 기계적 운동으로 바꾼다. 따라서 전압과 전류를 피할 수 없다. 수식을 깊게 들어가지 않아도 기본 감각은 잡아야 한다.
전압은 전기를 밀어 주는 압력처럼 생각할 수 있다. 같은 모터에서 전압이 높아지면 일반적으로 더 빠르게 돌 수 있다. 물론 모터마다 허용 전압 범위가 있으며, 이 범위를 넘기면 과열되거나 망가질 수 있다.
전류는 실제로 흐르는 전기의 양에 가깝다. 모터가 더 큰 힘을 내야 할수록 더 많은 전류가 필요하다. 바퀴가 공중에 떠 있을 때보다 바닥에서 로봇을 밀 때 전류가 더 많이 흐르고, 로봇이 벽에 걸려 바퀴가 멈추면 전류가 급격히 증가할 수 있다. 이런 상태를 계속 방치하면 모터나 드라이버가 뜨거워지고 손상될 수 있다.
그래서 모터를 고를 때는 전압만 보면 안 된다. "몇 볼트 모터인가"도 중요하지만, "얼마나 많은 전류를 먹는가", "모터 드라이버가 그 전류를 견딜 수 있는가", "배터리가 충분히 공급할 수 있는가"도 함께 봐야 한다.
작은 로봇이 갑자기 리셋되는 이유가 코드 문제가 아니라 전원 문제인 경우도 많다. 모터가 출발하면서 큰 전류를 끌어가면, 마이크로컨트롤러에 공급되는 전압이 순간적으로 떨어진다. 그러면 보드가 꺼졌다 켜진다. 로봇 초보자에게는 마치 귀신 들린 회로처럼 보이지만, 사실은 전력 설계의 문제다.
감속기는 속도를 줄이고 힘을 키운다
대부분의 모터는 너무 빠르고 힘은 부족한 상태로 회전한다. 작은 DC 모터를 그냥 바퀴에 연결하면 축은 빠르게 돌지만, 로봇 전체를 밀어내는 힘은 충분하지 않을 수 있다. 이때 사용하는 장치가 감속기다.
감속기는 기어를 이용해 회전 속도를 줄이고 토크를 키운다. 예를 들어 모터가 100번 도는 동안 출력축이 1번만 돌도록 만들면, 속도는 크게 줄어들지만 대신 훨씬 강한 회전 힘을 얻을 수 있다. 자전거의 낮은 기어와 같은 원리다.
바퀴 로봇에서는 감속기가 거의 필수에 가깝다. 로봇은 바퀴를 초고속으로 돌리는 것보다, 적절한 속도로 안정적으로 굴러가는 것이 중요하다. 감속기를 사용하면 출발할 때 힘이 좋아지고, 낮은 속도에서도 제어가 쉬워진다.
로봇팔에서는 감속기의 역할이 더 중요해진다. 관절은 단순히 움직이기만 하는 것이 아니라 자세를 버텨야 한다. 팔이 물체를 들고 있을 때 모터가 계속 힘을 내야 하는데, 감속기가 있으면 모터의 빠른 회전을 느리고 강한 관절 운동으로 바꿀 수 있다. 산업용 로봇팔이 크고 무거운 물체를 부드럽게 들어 올릴 수 있는 이유 중 하나도 정교한 감속 시스템 덕분이다.
하지만 감속기에도 대가가 있다. 속도가 느려지고, 기어 사이의 틈 때문에 약간의 흔들림이 생길 수 있으며, 마찰과 소음도 늘어난다. 이 기어 사이의 틈을 백래시라고 부른다. 백래시가 크면 방향을 바꿀 때 즉시 반응하지 않고 살짝 빈 구간이 생긴다. 정밀한 로봇팔이나 측정 장비에서는 이 작은 틈도 문제가 될 수 있다.
바퀴 로봇에서 모터를 고르는 감각
작은 바퀴 로봇을 만든다고 상상해 보자. 목표는 실내 바닥을 돌아다니며 장애물을 피하는 것이다. 이 로봇에는 어떤 모터가 필요할까?
먼저 바퀴를 계속 회전시켜야 하므로 DC 기어드 모터가 좋은 선택일 수 있다. 기어드 모터란 모터에 감속기가 붙어 있는 제품이다. 그냥 빠르게 도는 모터보다 바퀴 로봇에 필요한 힘을 내기 쉽다. 여기에 엔코더가 붙어 있으면 바퀴가 얼마나 돌았는지 알 수 있으므로, 속도 제어와 이동 거리 추정이 가능해진다.
그다음 모터 드라이버를 골라야 한다. 모터가 필요로 하는 전압과 전류를 확인하고, 드라이버가 그보다 넉넉한 범위를 견딜 수 있어야 한다. 모터 하나만 돌릴 때는 괜찮았는데, 두 개를 동시에 돌리자 보드가 꺼지는 일도 흔하다. 로봇은 실제로 움직일 때 전류를 더 많이 요구하므로 여유를 두어야 한다.
마지막으로 바퀴 크기와 속도도 생각해야 한다. 같은 모터라도 큰 바퀴를 달면 한 바퀴 회전할 때 더 멀리 간다. 대신 필요한 토크도 커진다. 작은 바퀴는 힘 부담이 줄고 제어가 쉬울 수 있지만, 장애물을 넘기 어렵다. 결국 모터 선택은 모터만의 문제가 아니라 로봇 전체 구조의 문제다.
이 지점에서 로봇공학의 중요한 감각이 생긴다. 소프트웨어에서는 모듈을 바꾸면 기능이 바뀌지만, 로봇에서는 부품 하나가 전체 움직임을 바꾼다. 바퀴 지름, 모터 속도, 감속비, 배터리 전압, 로봇 무게가 모두 서로 연결되어 있다.
로봇팔에서 모터를 고르는 감각
이번에는 작은 로봇팔을 생각해 보자. 목표는 책상 위의 가벼운 물체를 집어 옮기는 것이다. 바퀴 로봇과 달리 로봇팔에서는 각 관절의 위치가 중요하다. "앞으로 가라"보다 "어깨 관절은 몇 도, 팔꿈치 관절은 몇 도, 손목은 몇 도"가 중요해진다.
입문용 로봇팔에는 서보 모터가 자주 사용된다. 각도를 명령하기 쉽고, 내부에 위치 제어 기능이 들어 있기 때문이다. 하지만 서보를 고를 때는 반드시 토크를 봐야 한다. 손목 관절은 작은 힘으로도 충분할 수 있지만, 어깨 관절은 팔 전체와 물체 무게를 들어야 하므로 훨씬 큰 토크가 필요하다.
사람 팔로 생각하면 쉽다. 손목만 까딱이는 것은 가볍다. 하지만 팔 전체를 앞으로 쭉 뻗고 물병을 들면 어깨가 금방 힘들어진다. 로봇팔도 마찬가지다. 몸통에 가까운 관절일수록 더 큰 부담을 받는다.
또 하나 중요한 것은 속도다. 로봇팔이 너무 빠르게 움직이면 물체가 흔들리거나 떨어질 수 있다. 반대로 너무 느리면 작업 시간이 길어진다. 특히 무거운 물체를 들고 빠르게 방향을 바꾸면 관성 때문에 관절에 더 큰 힘이 걸린다. 관성은 움직이던 물체가 계속 움직이려 하고, 멈춰 있던 물체가 계속 멈춰 있으려는 성질이다. 로봇팔이 빠르게 움직일수록 이 관성의 영향을 더 크게 받는다.
정밀한 로봇팔에서는 단순히 모터 하나를 고르는 것 이상이 필요하다. 감속기, 엔코더, 브레이크, 힘 센서, 제어 알고리즘이 함께 설계된다. 하지만 입문 단계에서는 먼저 이 감각을 잡으면 충분하다. 로봇팔의 모터는 "각도를 맞추는 장치"이면서 동시에 "무게를 버티는 근육"이다.
모터가 원하는 대로 움직이지 않는 이유
현실의 모터는 명령을 100% 그대로 따르지 않는다. 여기에는 여러 이유가 있다. 지난 장에서 센서 데이터가 오차와 불확실성을 가진다고 했듯이, 액추에이터도 오차와 한계를 가진다.
명령으로는 1초 동안 일정한 속도로 돌라고 했지만, 실제 모터는 출발할 때 느리게 가속한다. 바퀴가 미끄러지면 모터는 돌았는데 로봇은 덜 이동한다. 배터리가 줄어들면 같은 명령을 보내도 속도가 달라질 수 있다. 기어의 마찰 때문에 작은 명령에는 반응하지 않다가, 어느 순간 툭 움직이기도 한다.
이런 현상은 로봇을 어렵게 만들지만, 동시에 로봇공학을 진짜 공학답게 만든다. 로봇은 이상적인 수학 문제 속에서 움직이지 않는다. 먼지가 있고, 마찰이 있고, 낡은 기어가 있고, 배터리 잔량이 있으며, 바닥 재질이 바뀐다. 좋은 로봇은 이 변화를 무시하지 않고 측정하고 보정한다.
그래서 액추에이터를 다룰 때도 피드백이 중요하다. 모터에 명령만 보내고 끝내는 것이 아니라, 실제로 얼마나 움직였는지 센서로 확인해야 한다. 엔코더로 바퀴 회전을 확인하고, IMU로 자세 변화를 확인하고, 힘 센서로 접촉을 확인한다. 로봇은 명령하고, 움직이고, 다시 확인하고, 고친다. 이 순환이 로봇 움직임의 핵심이다.
좋은 움직임은 하드웨어와 소프트웨어가 함께 만든다
처음 로봇을 배우면 하드웨어와 소프트웨어를 따로 생각하기 쉽다. 하드웨어는 모터와 배선이고, 소프트웨어는 코드라고 여긴다. 하지만 실제 로봇에서는 둘을 분리하기 어렵다.
토크가 부족한 모터를 소프트웨어만으로 강하게 만들 수는 없다. 너무 느린 모터를 코드만 바꿔 빠르게 만들 수도 없다. 반대로 좋은 모터를 달았다고 해서 로봇이 자동으로 부드럽게 움직이는 것도 아니다. 속도 명령을 거칠게 바꾸면 로봇은 덜컥거리고, 피드백 제어가 나쁘면 목표 위치 주변에서 흔들린다.
좋은 움직임은 적절한 모터 선택, 안정적인 전원, 알맞은 감속기, 정확한 센서, 그리고 좋은 제어 알고리즘이 함께 만들어 낸다. 로봇공학에서 몸체와 지능은 서로 떨어져 있지 않다. 몸이 어떤 힘을 낼 수 있는지가 생각의 범위를 정하고, 생각이 얼마나 섬세한지가 몸의 움직임을 결정한다.
이 장에서 우리는 로봇의 근육에 해당하는 액추에이터와 모터를 살펴보았다. 액추에이터는 전기 신호를 물리적 행동으로 바꾸고, 모터는 그중 가장 대표적인 회전 운동 장치다. DC 모터는 속도 중심의 회전에, 서보 모터는 목표 각도 제어에, 스텝 모터는 단계적인 정밀 이동에 강점을 가진다. 모터 드라이버는 약한 제어 신호와 강한 모터 전력 사이를 이어 주며, 토크와 속도, 전압과 전류, 감속기는 로봇이 실제 세계에서 얼마나 잘 움직일 수 있는지를 결정한다.
다음 장에서는 이 모터들이 바퀴와 만났을 때 어떤 일이 벌어지는지 살펴본다. 왼쪽 바퀴와 오른쪽 바퀴의 속도를 다르게 하면 로봇은 어떻게 회전할까? 자동차처럼 앞바퀴를 꺾는 로봇과 제자리에서 도는 로봇은 무엇이 다를까? 이제 로봇의 근육을 배웠으니, 다음에는 그 근육으로 만들어지는 이동의 문법을 배울 차례다.
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.