콘텐츠로 바로가기

Robotics & Control Systems Mechanics

로봇의 물리적 제어를 위한 센서 역학, 액추에이터 구동, 그리고 피드백 루프를 통한 자율 시스템 설계 이론을 다루는 학습 노드입니다.

Article
M

Me

hyunyoun's Blog

computer-architecture-embedded-systemscomputer-architectureembedded-systemsroboticscontrol-systems-mechanicsarchitecture-hardwarelearningcontrol9 min read

1. Overview

로보틱스 및 제어 시스템 역학(Robotics & Control Systems Mechanics, RCS)은 컴퓨터 아키텍처 상의 순수한 소프트웨어 연산 결과가 모터나 유압 장치 등의 하드웨어를 통해 물리적인 기계적 움직임으로 발현되어 현실 세계와 직접적으로 상호작용하는 과정을 탐구합니다.

소프트웨어가 보낸 완벽한 디지털 제어 신호(PWM)는, 실제 세계에서 모터의 관성, 기어의 마찰력, 중력, 그리고 외부의 불확실한 외란(Disturbance)과 만나면서 필연적으로 오차를 발생시킵니다. 학습자는 수학적 기구학(Kinematics)을 바탕으로 로봇의 3차원 동작 공간을 모델링하고, 다중 센서 퓨전(Sensor Fusion)을 통해 노이즈가 섞인 데이터를 필터링하며 현재 상태를 추정합니다. 나아가 고전적인 PID 피드백 루프 설계를 넘어 ROS(Robot Operating System)와 같은 분산형 소프트웨어 아키텍처를 도입함으로써, 오차를 스스로 보정하고 목표 궤적을 능동적으로 추종하는 물리적 자율 시스템 설계 능력을 확보합니다.

2. Scope & Boundaries

In-Scope

  • 로봇 공간 모델링 기초: 3차원 공간 좌표계 변환 행렬, 정기구학(Forward Kinematics) 및 역기구학(Inverse Kinematics), 자유도(DoF)와 작업 공간 분석.
  • 제어 이론과 피드백 루프: 닫힌 루프(Closed-loop) 제어 블록 다이어그램, PID(비례-적분-미분) 제어기 튜닝, 시스템 안정성 및 오버슈트(Overshoot) 최적화.
  • 상태 추정 및 센서 퓨전: 아날로그 노이즈 필터링, 데드 레코닝(Dead Reckoning), IMU/엔코더 센서 결합을 위한 상보 필터(Complementary Filter) 및 칼만 필터(Kalman Filter) 기초.
  • 로봇 미들웨어 구조 (ROS): ROS2의 노드(Node), 토픽(Topic), 퍼블리셔/서브스크라이버 통신 모델, 통신 미들웨어 기반의 하드웨어 추상화 계층 설계.

Out-of-Scope

  • 기계 공학적 가공 및 동력학 설계: 로봇 팔 프레임의 알루미늄 소재 강성(Tensile Strength) 분석, 기어비 맞물림 공차, 모터 열 발산 설계 → 기계 공학 영역.
  • 고도화된 인공지능 자율주행 알고리즘: 강화 학습(RL) 기반의 완전 자율 글로벌 경로 계획, 라이다(LiDAR) 3D 포인트 클라우드 딥러닝 분석 → 11. Machine Learning 영역으로 위임.
  • 범용 컴퓨터 비전: 카메라도를 이용한 OpenCV 엣지 디텍션, 객체 윤곽 추출 이미지 필터링 자체의 최적화 → 12. Human-Computer Interaction & Graphics 영역으로 위임.

Boundaries

  • RCS vs Embedded AI (IEI, 02-07): Embedded AI가 '센서로 들어온 이미지나 음성 데이터에서 강아지인지 고양이인지 패턴을 인식'하는 인지적 행위에 머무른다면, RCS는 그 인지 결과를 토대로 '목표 위치로 로봇 팔을 이동시키기 위해 모터에 몇 볼트의 전압을 걸고 각도 오차를 어떻게 좁혀나갈지 수식으로 계산하는 구동 제어'에 집중합니다.

3. Counterexample

  • 장난감 RC카 무선조종 (Open-loop Fallacy): 아두이노 RC카 키트를 조립하고 스마트폰 앱의 블루투스로 직진/후진 모터를 On/Off로 구동하는 것은 RCS 학습이 아닙니다. RC카가 경사면에 부딪혀 바퀴가 헛돌고 있는 물리적 외란 상황에서, 엔코더 센서를 통해 피드백(Closed-loop)을 받고 목표 속도를 복구하기 위해 PID 이득(Gain) 수식을 연산하여 모터의 PWM 듀티 사이클을 자율 보정하도록 설계하는 것이 진정한 제어 시스템입니다.
  • 시뮬레이터 맹신 설계: 모터의 마찰력이나 관성 질량을 0으로 가정한 시뮬레이터에서 역기구학 모델을 만들고 "테스트가 완벽하다"고 결론 내리는 것은 안티패턴입니다. 현실 공간의 하드웨어 액추에이터는 기계적 백래시(Backlash, 톱니바퀴 유격)나 모터 포화(Saturation) 같은 물리적 한계점을 반드시 동반하므로, 이를 제어 이론의 댐핑(Damping)항이나 상태 추정 오차 보정으로 극복하는 엔지니어링 훈련이 포함되어야 합니다.

4. Prerequisites

  • 선형대수 및 공간 기하학 (Recommended): 3차원 공간에서 로봇 관절의 회전(Rotation)과 병진(Translation)을 기술하기 위한 다차원 행렬(Matrix) 곱셈 이해가 절대적입니다. (01-03. Linear Algebra)
  • 하드웨어-소프트웨어 인터페이스 (Basic): 모터를 제어하는 펄스 폭 변조(PWM) 전기 신호와 외부 센서 데이터를 읽어오는 통신(SPI/I2C) 버스 기초 지식이 선행되어야 합니다. (02-05. HSI)

5. Learning Map

Sequence Core Cluster Objective & Description Evidence (BoK)
1 Space & Kinematics 동차 변환 행렬을 이용해 로봇의 3D 공간 상 위치와 자세를 수식으로 정의하는 기구학을 학습합니다. P1/Robotics
2 Classical Control (PID) 외부 마찰이나 외란에도 불구하고 모터가 정확히 목표 각도에 수렴하게 하는 PID 피드백 루프를 설계합니다. Industry
3 Sensor Fusion & State 엔코더와 자이로/가속도 센서의 노이즈 특성을 파악하고, 여러 센서를 결합해 로봇의 현재 상태를 정확히 추정합니다. P1/Robotics
4 Robotics Middleware (ROS) 수많은 센서/액추에이터 노드가 분산 통신하는 복잡한 로봇 시스템을 효율적으로 통합하기 위해 ROS 아키텍처를 도입합니다. Industry

6. Learning Topics

Basic

Core Topic 01: 좌표계 공간 기술과 로봇 기구학 기초 (Coordinates & Kinematics)

  • Why to Learn: 각 관절의 모터 회전 각도라는 1차원적 데이터가, 로봇의 끝단(End-effector)이 3차원 공간의 어느 X,Y,Z 위치에 있는지를 유일하게 수학적으로 정의하기 위함입니다.
  • What to Learn:
    • Concepts: 자유도(Degrees of Freedom, DoF), 오일러 각(Euler Angles), 정기구학(Forward Kinematics), 역기구학(Inverse Kinematics).
    • Skills: 동차 변환 행렬(Homogeneous Transformation Matrix)을 이용한 회전 및 병진 연산, 작업 공간(Workspace) 계산 및 도식화.
    • Tools: 수학 시뮬레이션 환경 (MATLAB, Python NumPy).
    • Trade-offs: 오일러 각을 이용할 때 직관적인 표현이 가능한 장점 vs 특정 각도에서 짐벌 락(Gimbal Lock, 회전축 상실) 현상이 발생하는 치명적 단점 및 이를 해결하기 위한 쿼터니언(Quaternion)의 도입 필요성.
  • How to Learn:
    • 1단계: 2차원 평면 상에 존재하는 2개의 조인트(Joint)를 가진 단순한 로봇 팔에서, 각 링크의 길이와 각도(θ1,θ2\theta_1, \theta_2)가 주어졌을 때 말단의 (x, y) 좌표를 삼각함수로 수기 계산해 봅니다.
    • 2단계: 역으로 목표 위치 (x, y)가 주어졌을 때 모터가 움직여야 할 각도 θ1,θ2\theta_1, \theta_2를 구하는 역기구학 방정식을 세우고, 이 해(Solution)가 여러 개 존재하거나 불가능할 수 있는 이유를 분석합니다.
  • Implement: 각 조인트의 각도 정보 리스트를 입력받아, 변환 행렬 곱셈 파이프라인을 거쳐 로봇 팔 끝단의 3차원 절대 좌표를 출력하는 기초 정기구학 파이썬 모듈 작성.

Core Topic 02: 고전 제어와 PID 피드백 (Classical Control & PID)

  • Why to Learn: 소프트웨어적으로 목표 각도(Setpoint)를 지시해도 관성과 마찰 때문에 실제 기계는 그대로 멈추지 않는 물리적 오차를 능동적으로 보정하기 위해서입니다.
  • What to Learn:
    • Concepts: 개방 루프(Open-loop) vs 닫힌 루프(Closed-loop) 제어 시스템, P(비례), I(적분), D(미분) 항의 물리적 의미.
    • Skills: 목표 상태 수렴 시의 오버슈트(Overshoot), 정상 상태 오차(Steady-state Error), 침강 시간(Settling Time) 분석 및 Gain 튜닝.
    • Tools: 제어 시스템 블록 다이어그램 툴, PID 튜닝 시뮬레이터.
    • Trade-offs: P 게인을 극단적으로 올려 응답 속도를 극대화하려는 시도 vs 시스템이 걷잡을 수 없이 진동(Oscillation)하며 파괴되는 물리적 불안정성 간의 타협점(Damping) 도출.
  • How to Learn:
    • 1단계: 드론의 고도 제어 시뮬레이션에서 P 게인만을 적용했을 때 목표 고도 위아래로 진동하는 모습을 관찰하고, 여기에 D 게인(변화율 감쇠)을 추가하여 어떻게 진동이 억제되며 안착하는지 파형을 그립니다.
    • 2단계: 모터 기어의 마찰로 인해 목표 지점 바로 앞에서 멈춰버리는 1%의 정상 상태 오차를, I 게인(과거 오차의 누적)이 어떻게 해결하는지 수식적으로 이해합니다.
  • Implement: 모터의 현재 각도와 목표 각도를 매 제어 주기마다 입력받아 오차(Error)를 구하고, P, I, D 수식에 의해 최종 제어 전압(PWM) 값을 실시간으로 리턴하는 소프트웨어 PID 컨트롤러 C 함수.

Practical

Core Topic 03: 상태 추정과 센서 퓨전 (State Estimation & Sensor Fusion)

  • Why to Learn: 저가의 가속도 센서나 자이로 센서는 필연적으로 진동 노이즈와 시간 누적 오차(Drift)를 내포하므로, 여러 센서를 수학적으로 결합해 진짜 물리적 현재 상태를 파악하기 위함입니다.
  • What to Learn:
    • Concepts: 데드 레코닝(Dead Reckoning), 센서 드리프트 현상, 저주파/고주파 필터, 상보 필터(Complementary Filter) 개요.
    • Skills: 가속도계(직진/중력)와 자이로스코프(회전 각속도) 센서의 물리적 특성 및 장단점 분석, 다중 센서 샘플링 동기화.
    • Tools: 하드웨어 IMU(Inertial Measurement Unit) 모듈 스펙 시트, 필터링 파형 비교기.
    • Trade-offs: 필터의 차수나 강도를 높여 노이즈를 완벽하게 제거한 부드러운 데이터를 얻는 이득 vs 필터 연산으로 인해 데이터의 지연 시간(Phase Delay)이 길어져 제어 루프의 반응성이 치명적으로 느려지는 트레이드오프.
  • How to Learn:
    • 1단계: 바퀴에 달린 엔코더(Encoder) 틱 카운트만으로 현재 위치를 계속 더해 나가는 데드 레코닝(Dead Reckoning)을 구현하고, 바퀴가 미끄러졌을 때 그 오차가 영원히 복구되지 않음을 확인합니다.
    • 2단계: 진동 노이즈가 심한 가속도계 데이터에는 로우 패스 필터를 걸고, 드리프트가 있는 자이로 데이터에는 하이 패스 필터를 걸어 단순 합산하는 상보 필터의 원리를 수식으로 증명합니다.
  • Implement: 자이로스코프의 적분 각도와 가속도계의 각도를 각각 가중치를 두어(예: 0.98 vs 0.02) 결합하는 상보 필터 코드를 구현하고, 흔들리는 드론의 실제 기울기를 부드럽게 추정해 내는 로직 구축.

Advanced

Core Topic 04: 고급 제어 구조와 로봇 소프트웨어 프레임워크 (Advanced Control & ROS)

  • Why to Learn: 수십 개의 센서와 모터가 동시다발적으로 데이터를 주고받는 복잡한 하드웨어 컴포넌트들을 스파게티 코드 없이 유연하게 확장하고 통합 제어하기 위해서입니다.
  • What to Learn:
    • Concepts: 자코비안(Jacobian) 속도 제어 기구학 및 특이점(Singularity), 로봇 미들웨어 구조, 발행/구독(Publish/Subscribe) 메시지 패턴.
    • Skills: ROS2(Robot Operating System)의 노드(Node), 토픽(Topic), 서비스(Service) 모델을 활용한 분산 프로세스 통신 아키텍처 설계.
    • Tools: ROS2 프레임워크(Foxy/Humble), RViz(3D 시각화 도구).
    • Trade-offs: ROS2를 통한 소프트웨어 컴포넌트 간 완벽한 모듈화 및 재사용성 확보 vs IPC(Inter-Process Communication) 메시징 오버헤드로 인한 마이크로초 단위의 초정밀 실시간 하드웨어 동기화 제어 상의 불리함.
  • How to Learn:
    • 1단계: 역기구학 모델을 비선형 방정식으로 풀기 어려울 때, 자코비안 행렬을 이용해 '작업 공간에서의 속도'와 '관절 공간에서의 각속도'를 매핑하는 미분 기구학 수치 해석법의 기본 원리를 이해합니다.
    • 2단계: 카메라 센서 노드가 이미지를 퍼블리시(Publish)하고, 제어 노드가 이를 서브스크라이브(Subscribe)하여 모터 명령을 내리는 비동기 통신 시스템 아키텍처를 ROS 블록 다이어그램으로 도식화합니다.
  • Implement: ROS2 프레임워크를 기반으로 임의의 목표 좌표가 토픽으로 들어오면 현재 상태와의 오차를 계산해 모터 제어 명령으로 퍼블리시하는 기초 분산형 제어 노드(Node) 파이썬 스크립트 작성.

7. Terminology

Term (EN / ko, abbr) 1문장 정의 단계(기본/권장/실무/심화) 역할/맥락 관련 개념 유사/대비/함께 사용 오해 포인트 Evidence(Primary/Secondary/Industry) Flags(core/misused/legacy)
Kinematics (운동학) 질량과 힘을 고려하지 않고 기하학적 위치와 속도만 다루는 모델입니다. 기본 기초 모델 DH Table Dynamics 힘의 작용과 혼동함 P1:CS2023/Robotics core
PID Controller 오차를 기반으로 조작량을 계산하여 시스템을 안정화하는 기법입니다. 보편 제어 Setpoint LQR 단순히 상수를 높인다고 해결됨 Industry Control core
Dead Reckoning 외부 정보 없이 내부 센서만으로 현재 위치를 추정하는 항법 기술입니다. 보편 상태 추정 Odometry SLAM 오차가 없다고 오해함 Industry Robotics core
ROS (Robot OS) 로봇 소프트웨어 개발을 위한 통신 미들웨어 프레임워크입니다. 실무 플랫폼 Node / Topic Firmware 실제 운영체제로 오해 Industry.org Docs core

8. References

Primary References

  • [P1] CS2023 - ES/Robotics — Robotics foundations for CS.
  • [Modern Robotics] Kevin Lynch and Frank Park, Cambridge — Geometric mechanics focus.

Secondary References

  • [Robotics: Modelling, Planning and Control] Bruno Siciliano — Classical reference.
  • [Control Systems Engineering] Norman Nise — Deep dive into control theory.

Industry References

  • [ROS2 Documentation] Foxy/Humble tutorials — Modern robotics middleware standard.
  • [NASA Jet Propulsion Lab] Mars Rover Control Papers — Extreme reliability case studies.

9. Final Checklist

Primary Checklist

  • 로봇의 DoF(자유도)를 산정하고 각 관절의 움직임이 3차원 좌표에 미치는 수식을 모델링 가능한가? (P1)
  • 특정 외란 상황에서 PID 제어기의 Gain 값을 물리적 응답 특성에 맞춰 조정할 수 있는가? (P1)

Secondary Checklist

  • 센서 인터페이스(I2C/SPI)의 지연 시간이 제어 루프의 실시간 안정성에 미치는 영향을 인지하는가?
  • 정기구학(Forward)과 역기구학(Inverse)의 차이를 이해하고 하드웨어 제어 시나리오에 선택 적용 가능한가?

Industry Checklist

  • ROS2와 같은 프레임워크를 활용하여 분산된 센서/액추에이터 노드 간의 데이터 동기화를 유지할 수 있는가? (SFIA)
  • 하드웨어 액추에이터의 물리적 한계점(Saturation, Backlash)을 코드 레벨에서 방어 설계할 수 있는가?

Architecture Hardware

9 / 9