디든로보틱스 제어 전장의 다섯 가지 일: 자체 구동기와 자석발에서 시작한 회로 설계
구동기와 센서가 제대로 동작하려면 전력과 신호를 전달하는 전기 계통이 먼저 갖춰져야 합니다. 디든로보틱스가 자체 구동기와 자석발이 요구하는 조건에 맞춰 회로와 펌웨어를 함께 설계한 과정, 그리고 현장의 전기적 조건을 견디고 납품된 로봇을 열지 않고 고칠 수 있게 만든 방법을 정리했습니다.

Blog
조선소 같은 산업 현장에 배치된 로봇은 그 자체의 기능이 아닌 전기적 환경으로 인해 문제가 생기기도 합니다. 예를 들어 로봇 옆에서 용접이 시작되면, 통신에 오류가 나고 제어 보드가 스스로 재시작하는 일이 생깁니다. 이는 용접 아크가 만든 순간적인 고전압이 로봇 프레임을 타고 들어와, 회로가 기준으로 삼는 전압 자체를 흔드는 것입니다.

자체 개발한 보행 플랫폼에 시판 협동로봇을 올려 용접 현장에서 작업하는 디든 스파이더 ⓒ디든로보틱스
이런 일이 일어나는 영역을 ‘전장’이라고 부릅니다. 회로 기판, 케이블, 커넥터, 배선과 같은 로봇 안에 있는 전기적인 요소들이 모두 여기에 포함됩니다. 그 위에서 동작하는 소프트웨어, 즉 제어 보드에 기록해 두는 ‘펌웨어(firmware)’ 또한 마찬가지입니다.
전장이 담당하는 것은 전력과 신호입니다. 구동기가 힘을 내려면 전력이 그 자리까지 공급되어야 하고, 센서가 측정한 값이 판단으로 이어지려면 신호가 끊기지 않아야 합니다. 전장은 전력과 신호가 오가는 경로를 구성합니다. 이 경로가 한 번 끊기면 그 위에서 동작하는 것도 모두 멈춥니다.
한 번의 끊김이 문제가 되는 이유는 로봇의 제어 구조를 보면 알 수 있습니다. 모델 기반 제어를 다룬 글에서 적었듯이, 디든로보틱스의 제어는 가장 짧은 단위의 저수준 제어(low-level control) 위로 태스크와 시나리오가 쌓이는 구조입니다. 그리고 층마다 시간 단위가 서로 다릅니다.
층 | 하는 일 | 시간 단위 |
|---|---|---|
시나리오 | 태스크를 순서대로 모아 하나의 작업 흐름을 이룬다 | 분 단위 이상 |
태스크 | 장애물 극복, 두 지점 사이의 이동, 작업 준비 자세 | 초 단위 |
저수준 제어 | 관절 명령을 계산해 실제 움직임을 만든다 | 밀리초 |
이 세 층은 모두 전장 위에서 동작합니다. 저수준 제어는 밀리초 단위로 반복되는 루프입니다. 이 루프가 멈춰 여러 주기를 연속으로 건너뛰면 자세를 유지할 수 없습니다. 그러면 그 위에 분 단위로 짜 둔 작업 흐름도 이어지지 못합니다. 앞서 설명했던 용접 현장에서 발생하는 고전압이 바로 그런 경우입니다.
이 글은 그 세 층을 받치고 있는 전장을 다룹니다. 디든로보틱스가 전장을 직접 만들게 된 이유, 그리고 그 일이 나뉘는 다섯 가지를 차례로 살펴보겠습니다.
회로까지 직접 만들게 된 이유
시판 모터에는 그 모터를 구동하는 시판 드라이버가 함께 있습니다. 둘은 같은 규격으로 만들어졌고, 그 조합이 동작한다는 것은 제조사가 보증합니다. 하지만 디든로보틱스는 구동기와 자석발을 직접 설계했기 때문에 이 방법을 쓸 수 없었습니다.
먼저 구동기부터 보겠습니다. 시판 드라이버는 시판 모터를 전제로 만들어져 있고, 그 전제 안에는 제어 주기와 보호 동작의 범위가 함께 들어 있습니다. 자체 설계한 구동기는 관절마다 요구하는 토크(torque)와 응답 특성이 다르고, 감속비와 관성이 다르며, 과전류를 언제 끊어야 하는지의 기준도 다릅니다. 드라이버가 이 차이를 반영하지 못하면 구동기가 낼 수 있는 성능을 다 쓰지 못합니다.
자석발 구동 회로는 대응하는 기성품을 찾기 어려웠습니다. 디든로보틱스의 사족 보행 로봇과 이족 보행 플랫폼은 자석발을 사용해 강판에 붙어서 걷습니다. 자석발에는 전자영구자석(EPM)을 사용했는데, 성질이 다른 두 영구자석을 한 자기회로에 넣고 코일에 짧은 전류 펄스를 흘려 그중 뒤집기 쉬운 쪽의 자화 방향만 바꾸는 방식입니다. 두 자석의 방향이 같으면 자속이 발바닥 밖으로 나가 강판에 붙고, 반대면 자속이 자석 안에서만 돌아 떨어집니다. 일반 영구자석처럼 항상 붙어 있지도 않고, 전자석처럼 붙어 있는 내내 전력을 쓰지도 않습니다. 대신 상태를 바꾸는 순간에 조건이 붙습니다. 자화 방향을 뒤집으려면 짧은 시간에 큰 전류를 한 번에 쏟아부어야 합니다.
그리고 이 전환은 걷는 내내 반복됩니다. 발이 붙었다 떨어지기를 계속하므로, 전환에 걸리는 시간은 걸음 주기의 하한을 정하는 핵심 요소가 됩니다. 전환이 느리면 그만큼 빨리 걸을 수 없고, 결국 회로의 전환 속도가 보행 속도를 좌우합니다.
검토한 범위에서 이 조건을 그대로 만족하는 기성품은 없었습니다. 그래서 디든로보틱스는 모터 드라이버와 자석발 구동 회로를 모두 자체적으로 개발했습니다.

한 걸음 안에 자력을 켜고 끄는 자석발 ⓒ디든로보틱스
직접 만든 구동기와 자석발은 회로만 따로 만들어서는 구동할 수 없습니다. 회로가 낼 수 있는 성능은 그 위에서 동작하는 펌웨어에 따라 달라지고, 펌웨어가 할 수 있는 일은 회로가 지원하는 범위 안에서 정해지기 때문입니다. 그래서 디든로보틱스는 회로와 펌웨어를 함께 설계합니다. 그 일은 아래 다섯 가지로 나뉩니다.
전장팀이 맡는 일 | 하는 일 |
|---|---|
회로와 기판 설계 | 전원부, 모터 드라이버, 센서와 통신 회로를 설계하고 기판을 만든다 |
펌웨어 | 제어 보드에서 동작하는 모터 제어와 통신, 그리고 갱신 기능을 개발한다 |
배선과 커넥터 | 로봇 내부의 배선 경로를 정하고 하네스를 만들며 커넥터를 고른다 |
검증과 품질 | 새 보드를 살려내고, 기능을 시험하고, 불량을 분석해 개선한다 |
시험 도구 개발 | 파라미터 설정 도구, 검사 자동화 지그처럼 검증에 필요한 것을 직접 만든다 |
이 다섯 가지 일은 서로 맞물려 있습니다. 회로를 설계할 때 이미 배선이 지나갈 경로를 고려해야 하고, 커넥터를 고를 때 나중에 어떻게 검사할지를 함께 정해야 합니다. 검증 단계에서 나온 불량은 회로 설계 수정으로 이어집니다.

감속기와 기구부터 회로와 펌웨어까지, 자체 개발한 핵심 요소 ⓒ디든로보틱스
아래에서는 이 다섯 가지 일과 관련해 현장에서 발생하는 문제를 살펴봅니다. 문제가 왜 생기고 디든로보틱스가 어떤 원리로 해결하는지를 ‘전원 → 신호 → 갱신 → 검증’의 순서로 정리했습니다.
첫 번째 문제: 전원 경로는 얼마나 넓어야 할까
가장 먼저 부딪히는 것은 전원입니다. 구동기는 정지 상태에서 회전을 시작하거나 충격을 받아내는 순간에 큰 전류를 요구하고, 무거운 하중을 버티는 자세에서는 높은 전류를 지속적으로 사용합니다. 로봇 전체로 보면 순간 전류는 연속 전류의 몇 배에 이릅니다. 바로 이 순간값이 전원부 설계의 기준이 됩니다.

전원부 설계의 출발점이 되는 자체 설계 구동기의 전류와 보호 기준 ⓒ디든로보틱스
이때 기판 위에 전류가 흐를 통로가 충분히 확보되지 않으면 문제가 생깁니다. 통로가 좁을수록 저항이 커지므로 그 자리에서 열이 나고, 동시에 전압이 떨어집니다. 그중 제어에 직접 영향을 주는 쪽은 전압입니다.
제어기는 필요한 토크를 계산해 전류 명령을 내리고, 드라이버는 전압을 조절해 그 전류를 만듭니다. 통로에서 전압이 깎이면 드라이버가 쓸 수 있는 전압 여유가 줄어들고, 빠르게 움직이며 큰 힘을 내야 하는 순간에 명령한 만큼의 전류를 내지 못합니다. 순간 전류에서 전압이 크게 꺼지면 드라이버가 스스로 보호 동작에 들어가 멈추기도 합니다.
계산과 실제 사이에 생긴 이 차이는 로봇의 자세에서 드러납니다. 예를 들어 벽면에 붙어 이동하는 사족 보행 로봇이라면, 미끄러짐이나 기울어짐 같은 문제로 이어집니다. 제어 알고리즘이 아무리 정확해도 전력이 그만큼 공급되지 못하면 로봇은 그대로 미끄러집니다.
단순히 통로를 넓히면 될 것 같지만, 여기에도 제약이 있습니다. 기판은 얇은 판 하나가 아니라 구리층과 절연층이 번갈아 쌓인 구조입니다. 흐를 수 있는 전류의 양은 통로의 단면적과 그 자리의 방열 조건에 따라 정해집니다. 구리를 두껍게 쓸 수도 있지만 미세한 부품 배선이 있는 층에서는 두꺼운 구리로 가는 선을 만들기 어렵고, 폭을 넓히는 데에도 기판 면적이라는 상한이 있습니다. 전원이 한 층만 지나면 그 층에서 가장 좁은 곳이 전체의 병목이 되고, 나머지 층이 비어 있어도 전류는 그쪽으로 돌아가지 못합니다.
그래서 디든로보틱스는 전원 경로를 패턴 폭을 넓히면서 여러 층을 비아로 이어 붙여 통로의 단면을 키우는 방식으로 설계했습니다. 이렇게 하면 같은 면적에서 더 큰 전류를 감당할 수 있으며, 발열과 전압 강하가 줄어드는 만큼 제어가 명령한 값과 실제 출력값의 차이도 함께 줄어듭니다.
두 번째 문제: 전류는 흐르는데 신호가 흔들린다
전원 통로를 넓히면 전류는 흐릅니다. 하지만 전류가 흐른다고 해서 신호가 항상 제대로 도착하는 것은 아닙니다. 제어 보드가 보낸 명령이 구동기에 도착하는 도중에 값이 왜곡되면, 로봇은 명령하지 않은 동작을 하거나 그대로 멈춥니다.
이렇게 값을 왜곡시키는 원인을 ‘노이즈’라고 부릅니다. 이 노이즈는 로봇 안에서 생기기도 하고, 밖에서 들어오기도 합니다.
먼저 로봇 안에서 노이즈가 생기는 경우입니다. 모터를 구동하는 회로는 전류를 빠르게 켜고 끄는 방식으로 동작하므로, 그 전환 자체가 고주파 성분을 만들어 전원선과 접지선에 실립니다. 디든로보틱스의 사족 보행 로봇과 이족 보행 플랫폼에 쓰이는 자석발은 더 직접적입니다. 자석발 코일은 인덕턴스(inductance)가 큰 부하라서, 큰 펄스 전류를 흘렸다가 끊는 순간 코일이 스스로 높은 전압 스파이크를 만들고, 펄스 전류 자체가 전원선의 전압을 순간적으로 꺼뜨립니다. 성능을 내기 위한 동작이 그대로 노이즈의 원인이 되는 셈입니다. 이는 로봇이 스스로 만드는 노이즈이기 때문에 현장에 나가기 전부터 생기고, 설계를 바꾸지 않는 한 사라지지 않습니다. 이 노이즈는 뒤에서 다룰 절연 단계에서 제어 계통으로 넘어오지 못하도록 차단하는 방식으로 해결합니다.
다음은 밖에서 들어오는 노이즈입니다. 대표적인 사례는 앞서 언급한 용접 아크입니다. 용접은 아크를 통해 큰 전류를 흘려 금속을 녹이는 공정이고, 아크가 붙고 끊어지는 순간에는 수 킬로볼트에 이르는 순간 전압, 즉 서지(surge)가 생기기도 합니다. 이 서지는 전자기파 형태로 공간을 통해 회로에 실리기도 하고, 로봇이 딛고 있는 강구조물을 타고 전도되기도 합니다. 서지가 제어에 문제를 일으키는 이유는 접지에 있습니다. 회로에서 대부분의 신호는 접지를 기준으로 읽고, 두 선의 차이로 읽는 통신 방식도 기준 전위가 유지되어야 하는 범위가 정해져 있습니다. 그런데 로봇 프레임의 접지 전위가 순간적으로 올라가면, 회로가 기준으로 삼는 0 V 자체가 흔들립니다. 이 기준이 흔들리면 정상적으로 보낸 신호도 잘못 읽힐 수 있습니다. 그 결과로 통신에 오류가 나거나 제어 보드가 스스로 재시작하게 됩니다.
위와 같이 안팎에서 들어오는 두 가지 노이즈를 한 가지 방법으로 한꺼번에 막기는 어렵습니다. 노이즈의 성질이 하나가 아니기 때문입니다. 사람이나 물체가 닿을 때 발생하는 정전기는 전압이 매우 높지만 에너지는 작고 지속 시간이 나노초 단위입니다. 스위칭이 만드는 펄스는 짧고 빠르며 반복적으로 들어옵니다. 아크나 낙뢰처럼 큰 에너지가 실린 서지는 상대적으로 길고 전달하는 에너지가 큽니다. 이처럼 지속 시간과 에너지가 서로 다르기 때문에, 소자 하나로는 이 모두를 감당할 수 없습니다. 큰 에너지를 감당하도록 만든 소자는 반응이 느려 짧은 펄스를 놓치고, 빠르게 반응하는 소자는 큰 에너지가 걸리면 손상되기 때문입니다.
그래서 한 소자로 막는 대신 대응을 여러 단계로 나눕니다. 큰 에너지를 먼저 받아 낮추는 소자를 앞에 두고, 남은 고주파 성분을 걸러내는 필터와 두 계통을 전기적으로 끊는 절연을 그 뒤에 둡니다. 단계 사이에는 완충 요소를 두어, 뒤쪽이 먼저 반응하는 동안 앞쪽에 걸리는 전압이 충분히 올라 큰 에너지가 앞쪽으로 빠지도록 순서를 맞춥니다.
각 단계는 다음 단계가 감당할 수 있는 수준까지만 낮추면 되고, 소자는 각각 대응에 유리한 성질의 노이즈를 담당합니다. 한 단계에서 완전히 걸러지지 않아도 다음 단계에서 처리됩니다.
그중 제어 컴퓨터를 보호하는 것이 절연입니다. 앞에서 설명한 스위칭 펄스와 자석발의 전압 스파이크는 이 단계에서 차단합니다. 모터에 들어가는 높은 전압 계통과 제어 컴퓨터가 쓰는 낮은 전압 계통 사이는 전기적으로 끊어 둡니다. 두 계통은 전류가 직접 흐르는 경로 없이 전력을 전달받고, 두 계통을 오가는 신호선도 절연 소자를 거쳐 접지가 이어지지 않게 합니다. 그러면 모터 쪽에서 큰 전류가 만든 변동이 제어 컴퓨터의 기준 전압까지 넘어오지 못합니다.
여기에 프레임 접지 방전 경로를 따로 둡니다. 회로 접지와 로봇 프레임 사이에 평소에는 끊어져 있다가 일정 전압을 넘는 순간에만 열리는 방전 소자를 둡니다. 프레임으로 들어온 서지가 회로 접지를 밀어 올리면 이 소자가 두 접지의 전위차를 제한해 서지 전류가 회로를 거치지 않고 프레임으로 돌아가게 합니다. 이 경로는 서지의 빠른 변화를 감당할 수 있도록 짧고 굵은 도체로 구성합니다.
같은 원리가 현장의 접지 설계에도 적용됩니다. 용접 전류의 귀환 경로와 제어 시스템의 접지는 같은 도체 구간을 공유하지 않게 합니다. 용접기로 돌아가는 큰 전류가 어떤 구간을 지나면 그 구간의 양 끝에 전위차가 생기고, 제어 회로가 그 구간을 기준으로 삼고 있으면 기준 전압이 그만큼 흔들리기 때문입니다. 결국 어디를 잇고 어디를 끊을지는 접지 설계 단계에서 미리 정해 두어야 합니다.

접지와 배선 경로를 함께 확정한 전장 설계 문서 ⓒ디든로보틱스
세 번째 문제: 이미 나간 로봇을 고치는 법
앞의 두 문제는 로봇을 만드는 동안 생깁니다. 하지만 로봇이 현장에 납품되고 나면 다른 종류의 문제가 나타납니다.
한번은 “현장에서 문제가 생겼을 때 그 자리에서 조치할 수 있어야 한다”는 요구가 들어왔습니다. 그런데 부트로더(bootloader)가 없는 제어 보드에서 펌웨어를 바꾸려면 보드에 직접 접근해야 합니다. 커버를 열고, 보드마다 전용 장비를 케이블로 연결해 새 코드를 기록하고, 다시 조립하는 과정을 로봇 안에 들어 있는 제어 보드 수만큼 반복해야 합니다. 기능 하나를 고칠 때마다 이 절차를 전부 다시 거쳐야 하는 것입니다.
그래서 디든로보틱스는 부트로더와 갱신 도구를 만들었습니다. 부트로더는 제어 보드가 켜질 때 가장 먼저 실행되는 프로그램입니다. 갱신 요청이 들어와 있는지 확인하고, 요청이 있으면 통신선으로 받은 새 코드를 직접 기록한 뒤 보드를 다시 시작합니다. 요청이 없으면 기존 코드를 그대로 실행합니다. 갱신 도구는 로봇 바깥에서 이 절차를 진행하는 프로그램이고, 여러 보드에 순서대로 코드를 전송합니다.
덕분에 이제는 분해 없이 통신선만으로 몇 분 안에 갱신을 끝낼 수 있게 되었습니다. 더 중요한 변화는 이 작업을 현장 일정 안에서 처리할 수 있게 됐다는 점입니다. 저수준 제어의 동작을 고칠 방법이 생기면서, 납품 이후에도 개선을 지속할 수 있게 된 것입니다.
부트로더는 펌웨어지만, 회로 쪽 조건이 먼저 갖춰져야 만들 수 있습니다. 보드별로 어떤 통신선으로 접근할 수 있는지, 코드를 기록하는 도중 전원이 끊겼을 때 보드를 복구할 수 있는지, 같은 통신선 위에서 갱신 중인 보드와 그렇지 않은 보드를 어떻게 구분할지는 회로와 펌웨어 구조를 함께 정하는 단계에서 결정됩니다. 통신선이 어느 보드까지 연결되는지는 회로가, 기록 도중 전원이 끊겨도 부트로더가 유지되어 코드를 다시 받을 수 있는지는 펌웨어의 메모리 배치가 정합니다. 디든로보틱스는 제어 보드와 펌웨어를 직접 설계했기 때문에 이 구조를 처음부터 반영할 수 있었습니다.

하나의 과정으로 개발하는 회로와 펌웨어 ⓒ디든로보틱스
직접 만든 만큼 검증도 직접 갖춘다
직접 만든 것이 늘어날수록 함께 늘어나는 일이 하나 더 있습니다. 바로 검증입니다. 성능을 주장하려면 그 성능을 측정하는 방법을 먼저 갖춰야 합니다. 시판 부품이라면 제조사가 보증하는 값을 받아쓰면 되지만, 자체 설계한 보드와 구동기는 그 값을 스스로 만들어야 합니다.
새 보드가 나오면 브링업(bring-up), 즉 보드를 처음 살려내는 일부터 시작합니다. 전원이 각 단계에서 정상적으로 올라오는지, 통신이 응답하는지, 각 회로 블록이 설계대로 동작하는지를 하나씩 확인합니다. 이 단계에서 걸러지지 않은 문제는 뒤로 갈수록 원인을 찾기 어려워집니다.
그다음은 기능 시험입니다. 구동기는 실제 회전 부하를 걸어 조건을 만든 상태에서 성능을 측정합니다. 부하 없이 회전할 때의 값과 부하가 걸린 상태의 값은 다르고, 사양서에는 부하가 걸린 상태에서 측정한 값을 적어야 하기 때문입니다.

실제 부하를 걸어 구동기 성능을 측정하는 자체 제작 시험 지그 ⓒ디든로보틱스
검증의 다른 한 축은 인증입니다. 인증은 제작을 마친 후 통과 여부를 확인하는 절차처럼 보이지만, 실제로는 구조를 정하는 단계부터 요건을 반영해야 하는 ‘설계 조건’입니다. 부품 하나가 인증 조건을 벗어나면 그 부품만 바꾸는 것으로 끝나지 않고 전체 일정이 밀리기 때문입니다.
로봇은 이 부담이 특히 큽니다. 전기 안전, 기계 안전, 배터리 안전, 무선 주파수, 전자파 적합성(EMC)이 한 제품에 모두 적용되고, 여기에 방진과 방수, 온도와 습도, 진동, 부식 같은 환경 내구성이 더해지기 때문입니다. 항목마다 요구 사항이 다르고, 한 항목을 맞추기 위해 바꾼 설계가 다른 항목에 영향을 주기도 합니다.
예를 들어 배터리 인증에는 충격 시험이 포함되는 일이 많습니다. 이를 통과하려면 보호 구조가 필요할 수 있습니다. 보호 구조를 씌우면 외형 치수가 커지고, 그만큼 배터리를 넣을 공간과 케이블이 나올 여유를 다시 잡아야 합니다. 인증 항목 하나로 인해 기구 설계까지 바뀌는 것입니다. 이런 문제를 설계 후반에 발견하면 되돌리는 비용이 커지므로, 필요한 요건을 앞 단계에 놓고 설계를 시작해야 합니다.
앞에서 다룬 대책들도 이 단계에서 다시 등장합니다. 전자파 적합성은 두 방향으로 나뉘는데, 로봇이 내보내는 노이즈가 주변 기기를 방해하지 않아야 하고 동시에 주변에서 들어오는 노이즈를 견뎌야 합니다. 절연과 접지 분리는 그 자체로 현장 대책이면서, 동시에 노이즈 내성 요건을 함께 고려한 설계이기도 합니다. 요건을 실제로 충족하는지는 시험으로 확인합니다. 환경 내구성도 마찬가지입니다. 온도와 습도, 방수, 진동 조건에서 반복 시험한 결과가 쌓여야 값으로 제시할 수 있는 항목이기 때문에, 시험을 설계 단계에 넣어 두고 결과를 지속적으로 쌓아 가고 있습니다.
다시 용접 현장으로
처음에 본 용접 현장으로 돌아가면, 로봇을 멈추게 하는 것은 단순한 기능 문제가 아닙니다. 로봇이 그 현장에서 계속 움직이려면 크게 네 가지가 필요합니다.
구동기가 요구하는 전류가 지나갈 통로
안에서 생기는 노이즈를 차단하고 밖에서 들어오는 노이즈를 흘려보낼 경로
문제가 생겼을 때 열지 않고 고칠 방법
앞의 셋이 실제로 성립하는지 확인하는 검증 체계
네 가지 모두 사양서에는 직접적으로 드러나지 않습니다. 그러나 이것들이 없으면 사양서의 나머지 항목 역시 성립하지 않는 만큼, 네 가지 모두 중요한 요소입니다.
구동기를 직접 만들기로 한 순간부터 그것을 구동하는 계통까지 모두 디든로보틱스의 몫이 됐습니다. 산업 현장을 위한 피지컬 AI 기업 디든로보틱스는 그 계통을 갖추는 일에서 시작합니다.



