학습 목표
이 장을 마치면 다음 내용을 설명할 수 있습니다.
- Robot이라는 단어가 어디에서 시작되었으며 시대에 따라 그 의미가 어떻게 확장되어 왔는지 설명할 수 있다.
- 기계식 자동인형 → 산업용 로봇 → 이동 로봇 → 학습 기반 로봇으로 이어지는 발전 과정을 이해할 수 있다.
- 각 시대의 로봇이 어떤 기술적 한계에 부딪혔고 다음 시대의 기술이 그것을 어떻게 해결했는지 설명할 수 있다.
- Servo, Encoder, Feedback, SLAM, ROS가 로봇 발전 과정에서 왜 중요했는지 설명할 수 있다.
- 오늘날 ROS 2와 Physical AI가 갑자기 등장한 기술이 아니라 수백 년에 걸친 로봇 발전의 연장선이라는 것을 이해할 수 있다.
1. 로봇이라는 말은 어디에서 왔을까?
오늘날 우리는 공장에서 자동차를 조립하는 로봇팔, 물류창고를 돌아다니는 AMR, 음식을 운반하는 서비스 로봇, 사람과 대화하며 움직이는 휴머노이드까지 모두 로봇이라고 부릅니다. 하지만 Robot이라는 단어의 역사는 생각보다 길지 않습니다.
1920년 체코의 작가 카렐 차페크(Karel Čapek)가 발표한 희곡 「R.U.R. — Rossum's Universal Robots」에서 Robot이라는 단어가 등장했습니다. 그 어원은 체코어 robota입니다. robota는 원래 다음과 같은 뜻을 가지고 있습니다.
고된 노동, 강제 노동, 부역
흥미로운 점은 카렐 차페크 자신이 나중에 Robot이라는 단어를 제안한 사람이 형 요제프 차페크(Josef Čapek)였다고 밝혔다는 것입니다. 즉 Robot이라는 말에는 탄생 순간부터 중요한 생각 하나가 들어 있었습니다.
"사람이 하던 힘든 노동을 대신하는 존재"
100년이 지난 오늘날에도 이 생각은 로봇을 만드는 가장 중요한 이유 중 하나입니다.
2. 왜 사람 대신 로봇을 사용하는가?
산업 현장에서 로봇을 투입하는 전통적인 이유를 흔히 3D라고 표현합니다.
Dangerous 위험한 작업
Dull 반복적이고 단조로운 작업
Dirty 더럽거나 사람이 장시간 하기 어려운 작업
예를 들어 용광로 주변이나 방사선 환경에서의 작업은 Dangerous에 해당합니다. 하루 종일 같은 부품을 조립하거나 옮기는 작업은 Dull에 해당합니다. 폐기물 처리나 오염된 환경에서의 작업은 Dirty에 해당합니다. 따라서 새로운 로봇 프로젝트를 시작할 때 기술부터 생각하기 전에 먼저 질문해 볼 필요가 있습니다. "이 로봇은 사람의 어떤 일을 대신하려는가?" 그리고 다시 질문합니다. "그 작업은 위험한가?" "너무 반복적인가?" "사람이 하기 어려운 환경인가?" 이 질문에 명확한 답이 있다면 로봇을 도입해야 할 이유도 훨씬 분명해집니다.
3. 자동화와 로봇은 무엇이 다른가?
여기서 중요한 개념 하나를 구분해야 합니다. Automation과 Robot은 완전히 같은 개념은 아닙니다. 예를 들어 공장의 컨베이어 벨트를 생각해 봅시다.
스위치를 켜면 모터가 돌아갑니다. 제품이 자동으로 이동합니다. 사람이 계속 밀어주지 않아도 됩니다. 분명 자동화된 장치입니다.
하지만 현대적인 로봇을 이해할 때는 한 단계 더 중요한 구조가 있습니다.
즉, 감지 → 판단 → 동작 입니다.
예를 들어 이동 로봇이 복도를 달리고 있다고 생각해 봅시다.
LiDAR가 앞에 있는 사람을 발견합니다.
Decide
Act
이 과정은 한 번으로 끝나지 않습니다. 로봇이 작동하는 동안 계속 반복됩니다. 이를 하나의 폐쇄된 인지-행동 루프로 생각할 수 있습니다. 따라서 현대 로봇을 이해할 때 중요한 질문은 단순히 "자동으로 움직이는가?"가 아닙니다. 더 중요한 질문은
"환경과 자신의 상태를 감지하고 그 정보에 따라 행동을 바꿀 수 있는가?" 입니다.
4. 로봇의 역사는 네 번의 도약으로 이해하면 쉽다
로봇의 역사를 연도와 사람 이름으로만 외우면 금방 잊어버립니다. 더 좋은 방법이 있습니다. 각 시대마다 두 가지 질문을 하는 것입니다. "이 시대의 로봇은 무엇을 하지 못했는가?" 그리고 "다음 시대의 기술은 그것을 어떻게 해결했는가?" 이 관점에서 보면 로봇의 발전을 크게 네 단계로 이해할 수 있습니다.
기계식 자동인형
고정된 동작을 기계적으로 반복한다.
산업용 로봇
동작을 프로그램으로 저장하고 Servo 제어를 이용해 정확하게 반복한다.
이동 로봇
센서를 이용하여 환경과 자신의 위치를 추정하고 스스로 이동한다.
학습 기반 로봇
사람이 모든 행동 규칙을 작성하는 대신 데이터에서 행동을 학습한다.
각 단계는 이전 단계의 문제를 하나씩 해결하면서 등장했습니다.
5. 첫 번째 도약 — 움직이는 기계를 만들다
컴퓨터도 없고 전기도 없던 시대에도 사람들은 스스로 움직이는 기계를 만들고 싶어 했습니다. 대표적인 것이 Automaton, 즉 자동인형입니다. 18세기 프랑스의 자크 드 보캉송(Jacques de Vaucanson)은 오리의 움직임을 모방한 유명한 자동기계를 제작했습니다. 스위스의 자케-드로(Jaquet-Droz)가 만든 자동인형 중에는 펜을 움직여 실제로 글씨를 쓰는 장치도 있었습니다. 당시 사람들에게는 마치 기계가 살아 움직이는 것처럼 보였을 것입니다. 하지만 내부를 열어보면 오늘날의 컴퓨터는 없습니다. 대신 다음과 같은 기계 부품들이 들어 있었습니다. Cam Gear Lever Spring 특히 Cam의 모양은 매우 중요했습니다. Cam의 굴곡에 따라 연결된 기계 부품이 움직였습니다. 즉 Cam의 모양 자체가 오늘날의 프로그램과 비슷한 역할을 했던 것입니다.
6. 프로그램이 하드웨어 속에 들어 있었다
여기에는 결정적인 문제가 있었습니다. 글씨를 쓰도록 만들어진 자동인형에게 다른 행동을 시키고 싶다면 어떻게 해야 할까요? 오늘날이라면 프로그램을 수정하면 됩니다. 하지만 당시에는 Cam이나 Gear의 모양을 다시 설계해야 했습니다. 경우에 따라서는 기계 자체를 다시 만들어야 했습니다. 즉 당시에는 프로그램 = 기계 구조 였습니다. 동작을 바꾸는 것은 프로그램을 수정하는 일이 아니라 기계를 개조하는 일이었습니다. 이것이 첫 번째 시대의 가장 큰 한계였습니다. 한계 동작을 바꾸려면 기계를 다시 만들어야 한다. 다음 시대는 이 문제를 해결합니다. 돌파구 동작을 기계 부품이 아니라 변경 가능한 프로그램으로 표현한다.
7. 두 번째 도약 — 산업용 로봇의 등장
1954년 미국의 발명가 조지 데볼(George Devol)은 프로그래밍 가능한 조작 장치에 관한 특허를 출원했습니다. 이 아이디어를 바탕으로 조지 데볼과 조지프 엥겔버거(Joseph Engelberger)가 산업용 로봇을 발전시켰습니다. 그리고 1961년 미국 General Motors 공장에 Unimate가 설치됩니다. Unimate는 뜨거운 금속 부품을 옮기는 것과 같이 사람이 하기 위험한 작업에 사용되었습니다. 여기서 중요한 변화는 단순히 로봇팔이 등장했다는 것이 아닙니다. 더 중요한 변화는 "동작을 기계 구조가 아니라 프로그램으로 표현할 수 있게 되었다." 는 것입니다. 기계를 완전히 다시 만들지 않고도 작업 순서와 동작을 변경할 수 있는 시대가 열린 것입니다.
8. Servo와 Encoder — 로봇이 자신의 움직임을 확인하다
산업용 로봇이 정확하게 움직이기 위해서는 또 하나의 중요한 문제가 있습니다. 컴퓨터가 로봇 관절에 다음과 같이 명령했다고 생각해 봅시다. "90도로 움직여." 그런데 실제 관절이 정말 90도에 도달했는지는 어떻게 알 수 있을까요? 여기에서 Encoder가 중요해집니다. Encoder는 모터나 관절이 실제로 얼마나 움직였는지를 측정합니다. 예를 들어 목표 각도 = 90° 실제 각도 = 87° 라면 오차는 90° - 87° = 3° 입니다. Controller는 이 3°의 오차를 줄이도록 다시 모터를 움직입니다. 그리고 Encoder가 다시 측정합니다. 구조를 단순하게 표현하면 다음과 같습니다.
목표값
↓
Controller
↓
Motor
↓
Robot Joint
↓
Encoder
│
└──── 실제값을 Controller로 Feedback
이 구조를 Closed-loop Control, 즉 폐루프 제어라고 합니다. 로봇은 단순히 명령을 내리고 끝나는 것이 아닙니다.
이 과정을 매우 빠르게 반복합니다. 이것이 Servo Control을 이해하는 핵심입니다.
9. 그런데 산업용 로봇은 자기 몸만 잘 알고 있었다
Servo와 Encoder 덕분에 산업용 로봇은 자기 관절의 위치를 매우 정확하게 제어할 수 있게 되었습니다. 하지만 여전히 큰 문제가 남아 있었습니다. 주변 세계를 충분히 알지 못했습니다. 예를 들어 로봇팔이 정해진 궤적으로 움직이고 있는데 사람이 갑자기 작업 공간 안으로 들어왔다고 생각해 봅시다. 초기의 산업용 로봇은 사람을 인식하고 스스로 새로운 행동을 결정하는 능력이 거의 없었습니다. 프로그래밍된 궤적을 계속 실행할 가능성이 높았습니다. 그래서 산업용 로봇 주변에는 Safety Fence가 설치되었습니다. 사람과 로봇의 작업 공간을 물리적으로 분리한 것입니다. 이 시대의 로봇을 아주 간단하게 표현하면 다음과 같습니다. "내 관절이 어디에 있는지는 잘 안다." 하지만 "내 주변에 무엇이 있는지는 잘 모른다." 두 번째 시대의 한계가 드러난 것입니다. 한계 주변 환경을 충분히 인식하지 못한다. 돌파구 LiDAR, Camera 등의 센서와 환경 인식 기술 이제 로봇은 공장의 고정된 자리에서 벗어나기 시작합니다.
10. 세 번째 도약 — 로봇이 움직이기 시작하다
산업용 로봇팔은 대부분 한 자리에 고정되어 있습니다. 하지만 로봇에 바퀴를 달면 문제가 완전히 달라집니다. 로봇은 계속해서 중요한 질문 하나에 답해야 합니다. "나는 지금 어디에 있는가?" 이것을 Localization, 즉 위치 추정이라고 합니다. 처음 생각하면 간단해 보입니다. 바퀴가 얼마나 회전했는지만 계산하면 되지 않을까요? 예를 들어 바퀴가 정확히 1m에 해당하는 만큼 회전했다면 로봇도 1m 이동했다고 생각할 수 있습니다. 하지만 현실에서는 그렇지 않습니다. 바퀴가 미끄러집니다. 바닥이 고르지 않습니다. 타이어의 크기도 완벽하게 같지 않습니다. Encoder에도 측정 오차가 있습니다. LiDAR에도 측정 오차가 있습니다. Camera 영상에도 노이즈가 있습니다. 따라서 실제 로봇에서는 "정확히 여기 있다." 라고 단정하기 어렵습니다.
11. 확률론적 로보틱스의 등장
이 문제를 해결하면서 로봇공학의 사고방식이 크게 바뀝니다. 과거에는 "로봇은 x=2.3m, y=1.7m에 있다." 라고 생각했다면, 확률론적 접근에서는 "로봇이 x=2.3m, y=1.7m 주변에 있을 가능성이 가장 높다." 라고 생각합니다. 즉 위치를 하나의 절대적인 숫자로만 보는 것이 아니라 불확실성을 포함한 확률 분포로 다루기 시작한 것입니다. 이 과정에서 여러 중요한 기술이 발전합니다.
- Kalman Filter
- Extended Kalman Filter
- Particle Filter
- Sensor Fusion
- SLAM
- AMCL
이 기술들의 공통된 목적은 센서의 불확실성을 인정하면서도 가능한 한 정확하게 로봇과 환경의 상태를 추정하는 것입니다.
12. SLAM — 지도와 위치를 동시에 구하다
이동 로봇을 처음 어떤 건물에 가져왔다고 생각해 봅시다. 로봇은 두 가지를 모릅니다. 첫째, "이 건물은 어떻게 생겼는가?" 둘째, "나는 이 건물의 어디에 있는가?" 문제는 서로 연결되어 있습니다. 내 위치를 알려면 지도가 필요합니다. 그런데 지도를 만들려면 내가 어디에서 센서를 측정했는지 알아야 합니다. 이것이 이른바 닭과 달걀의 문제입니다. SLAM은 이 두 문제를 동시에 해결하려고 합니다. SLAM은 Simultaneous Localization And Mapping 의 약자입니다. 즉 "자신의 위치를 추정하면서 동시에 지도를 만든다." 는 뜻입니다. 이 개념은 오늘날 이동 로봇과 자율주행을 이해하는 핵심 중 하나입니다.
13. SLAM과 AMCL은 무엇이 다른가?
두 개념은 자주 혼동됩니다. SLAM은 지도가 없는 환경에서 지도 작성 + 위치 추정 을 함께 수행합니다. 반면 AMCL은 일반적으로 이미 만들어진 지도가 있는 환경에서 로봇의 위치를 추정합니다. 따라서 ROS 2 기반 이동 로봇에서는 흔히 다음과 같은 순서가 사용됩니다.
이 흐름을 이해하면 ROS 2의 Navigation 구조도 훨씬 쉽게 이해할 수 있습니다.
14. DARPA Challenge — 연구실의 자율주행 기술이 현실로 나오다
미국 국방부 산하 국방고등연구기획국(DARPA)이 주최하는 세계 최고 권위의 기술 경진 대회입니다.
2004년과 2005년의 DARPA Grand Challenge, 그리고 2007년 DARPA Urban Challenge는 자율주행 역사에서 중요한 사건입니다. 차량은 사람의 지속적인 운전 없이 스스로 주행해야 했습니다.
이를 위해서는 여러 기술이 동시에 필요했습니다.
즉 오늘날 자율주행 로봇에서도 볼 수 있는 구조입니다.
Sense
↓
Localization
↓
Planning
↓
Control
↓
Act
이 대회들을 통해 센서 융합, 확률적 위치 추정, 경로 계획 등의 기술이 실제 복잡한 환경에서도 활용될 가능성이 크게 입증되었습니다. 그리고 비슷한 시기에 로봇 연구자들은 또 다른 문제에 부딪히고 있었습니다.
15. 로봇 연구실마다 같은 프로그램을 다시 만들고 있었다
2000년대의 로봇 연구실을 생각해 봅시다. 새로운 로봇을 만들 때마다 기본적인 프로그램이 필요했습니다.
- LiDAR Driver
- Camera Driver
- Coordinate Transform
- Localization
- Path Planning
- Visualization
- Motor Control
- Robot Communication
그런데 연구실마다 이러한 기능을 따로 만들었습니다. A 연구실에서 이미 해결한 문제를 B 연구실에서 다시 개발하는 일이 반복되었습니다. 더 큰 문제는 서로 만든 프로그램을 쉽게 연결하기 어려웠다는 것입니다. 메시지 형식도 다르고, 좌표계도 다르고, 프로그램 구조도 달랐습니다. 연구자들이 새로운 로봇 지능을 연구하기 전에 기본적인 통신과 드라이버부터 다시 만들어야 했습니다. 이 문제를 해결하려는 흐름 속에서 ROS가 등장합니다.
16. ROS — 로봇 프로그램을 서로 대화하게 만들다
ROS는 2007년 무렵 Stanford의 로봇 연구 프로젝트에서 시작된 흐름이 Willow Garage로 이어지며 본격적으로 발전했습니다.
ROS의 중요한 생각은 매우 간단합니다. "로봇 전체를 하나의 거대한 프로그램으로 만들지 말자." 대신 기능을 작은 프로그램으로 나눕니다. 예를 들어 이동 로봇을 단순화하면 다음과 같습니다.
LiDAR Node
↓
Localization Node
↓
Navigation Node
↓
Motor Control Node
각 노드는 독립적으로 동작하며 ROS의 통신 기능을 통해 서로 메시지를 주고받습니다.
이 구조의 장점은 매우 큽니다.
하나의 노드만 교체하면 됩니다. 다른 노드는 그대로 유지됩니다. 다양한 로봇에서 동일한 노드를 재사용할 수 있습니다.
연구자들이 매번 드라이버부터 새로 만드는 대신 이미 검증된 노드를 조합하여 새로운 기능을 만들 수 있게 된 것입니다.
17. ROS 2 — 왜 다시 새로 만들었는가?
ROS 1은 로봇 연구와 학습에 큰 변화를 가져왔습니다. 하지만 실제 산업 현장에서 사용하기에는 몇 가지 한계가 있었습니다. 네트워크가 불안정하면 통신이 끊어집니다. 보안이 충분하지 않았습니다. 실시간성이 보장되지 않았습니다. 여러 로봇이 함께 협력하는 구조를 만들기 어려웠습니다. ROS 2는 이러한 문제를 해결하기 위해 설계되었습니다. DDS를 기반으로 한 신뢰할 수 있는 통신 암호화와 인증을 통한 보안 실시간 제어 지원 여러 로봇 간의 협업 이것은 단순한 버전 업그레이드가 아닙니다. 연구실을 넘어 실제 산업 현장에서 로봇을 운영하기 위한 새로운 기반입니다.
18. Physical AI — 로봇이 데이터에서 직접 학습하다
지금까지 설명한 모든 기술은 사람이 로봇의 동작 규칙을 직접 작성했습니다. 어떤 상황에서 센서 값을 읽고, 어떤 조건에서 어떤 행동을 할지 사람이 프로그래밍했습니다. 하지만 현대 로봇 연구의 최전선에서는 다른 접근이 등장하고 있습니다. 바로 데이터에서 직접 행동을 학습하는 것입니다. 이것을 Physical AI라고 합니다. 물리적 세계에서 수집한 대량의 데이터를 기반으로 로봇이 스스로 움직이는 방법을 학습합니다. 사람이 모든 상황에 대한 규칙을 작성할 수는 없습니다. 하지만 데이터를 충분히 모으면 로봇은 새로운 상황에서도 적절한 행동을 선택할 수 있게 됩니다. 이것은 로봇의 역사를 관통하는 가장 큰 변화 중 하나입니다. 자동인형 시대에는 기계 구조가 곧 프로그램이었습니다. 산업용 로봇 시대에는 사람이 프로그램을 작성했습니다. 이동 로봇 시대에는 센서와 알고리즘이 환경을 인식했습니다. Physical AI 시대에는 데이터가 행동을 결정합니다. 각 시대의 한계가 다음 시대의 기술로 해결되어 왔습니다. 그리고 우리는 지금 이 네 번째 도약의 한가운데에 서 있습니다.
19. 이 장의 핵심 정리
로봇의 역사를 네 단계로 정리할 수 있습니다. 1단계: 기계식 자동인형
- 기계 부품으로 동작을 구현
- 한계: 동작을 바꾸려면 기계를 다시 만들어야 함
- 돌파구: 변경 가능한 프로그램의 등장
2단계: 산업용 로봇
- Servo와 Encoder를 이용한 정밀 제어
- 한계: 주변 환경을 인식하지 못함
- 돌파구: 센서 기술과 환경 인식
3단계: 이동 로봇
- SLAM, AMCL 등을 통한 자율 이동
- 한계: 사람이 모든 동작 규칙을 작성해야 함
- 돌파구: 데이터 기반 학습
4단계: 학습 기반 로봇 (Physical AI)
- 데이터에서 행동을 학습
- 현재 진행 중
ROS 2는 이 모든 단계를 연결하는 핵심 인프라입니다. 각 시대의 기술을 이해할 때 ROS 2의 구조와 메커니즘도 자연스럽게 이해됩니다.
- Robot로봇
- 환경이나 자신의 상태를 감지하고, 판단한 결과에 따라 물리적으로 동작하는 기계입니다.
- Automaton자동인형·자동기계
- Cam, Gear, Spring 같은 기계 구조로 미리 정해진 동작을 반복하는 장치입니다.
- Automation자동화
- 사람이 계속 개입하지 않아도 정해진 작업이나 절차가 수행되도록 만드는 기술입니다.
- Servo서보
- 목표값과 실제 측정값의 차이를 줄이도록 동작을 계속 보정하는 제어 방식 또는 장치입니다.
- Encoder엔코더
- 모터나 관절의 회전량, 각도 또는 속도를 측정해 제어기에 전달하는 센서입니다.
- Feedback피드백
- 동작 결과를 다시 측정해 다음 판단이나 제어 명령에 반영하는 과정입니다.
- Closed-loop Control폐루프 제어
- 출력 결과를 측정하고 오차를 보정하는 과정이 반복되는 제어 구조입니다.
- SLAM동시적 위치 추정 및 지도 작성
- 지도가 없는 환경에서 로봇의 위치를 추정하면서 주변 지도를 동시에 만드는 기술입니다.
- AMCL적응형 몬테카를로 위치 추정
- 이미 만들어진 지도와 센서 데이터를 이용해 로봇이 지도 위 어디에 있는지 추정하는 방법입니다.
- ROS로봇 운영체제
- 로봇 프로그램을 기능별로 나누고 메시지로 연결할 수 있게 돕는 Software Framework입니다.
- ROS 2로봇 운영체제 2
- 분산 통신, 실시간성, 보안과 다양한 환경 지원을 강화한 ROS의 다음 세대입니다.
- Physical AI피지컬 AI
- AI가 실제 물리 세계를 감지하고 판단하며 로봇의 행동으로 결과를 만들어 내는 기술 영역입니다.
연습 문제
- Robot이라는 단어의 어원은 무엇인가?
- 산업 현장에서 로봇을 투입하는 전통적인 이유 3D는 무엇인가?
- Automation과 Robot의 차이점은 무엇인가?
- Sense → Decide → Act 구조의 의미를 설명하시오.
- Servo와 Encoder의 역할을 설명하시오.
- SLAM과 AMCL의 차이점은 무엇인가?
- ROS가 등장하게 된 배경은 무엇인가?
- Physical AI란 무엇인가?
참고 자료
- Karel Čapek, 「R.U.R. — Rossum's Universal Robots」, 1920
- George Devol, 「Programmed Article Transfer」, US Patent 2,988,237, 1954
- DARPA Grand Challenge, 2004-2007
- ROS.org, https://www.ros.org/
- Open Robotics, https://openrobotics.org/
COMMUNITY
강의 댓글
질문과 학습 경험을 함께 나눠보세요.댓글을 불러오는 중입니다.