제어 엔지니어 로드맵
CareerRoboticsControlManipulation
Access restricted. Admin login required.
목표: 2027년 상반기까지 제어 관련 포지션으로 이직. 시뮬레이션에서 로봇 팔 pick-and-place를 Classical Control과 RL 각각으로 구현할 수 있는 상태.
이번 주
W10 (3/2 ~ 3/8)
이번 주 목표:
- 3Blue1Brown Essence of Linear Algebra Ep.1~3 시청 + 노트
- Python 환경 세팅 (conda env, numpy/scipy/matplotlib)
- 코테 3문제
| 날짜 | 한 일 | 시간 |
|---|---|---|
주간 회고: (주말에 작성)
분기별 체크리스트
준비기 (3월): 환경 세팅 + 수학 워밍업
3월은 Q2 본격 시작 전 기반을 다지는 달.
- Python 과학 스택 환경 구축 — conda env 생성, jupyter, numpy, scipy, matplotlib, cvxpy 설치 확인
- 3Blue1Brown Essence of Linear Algebra 완주 (16편) — 각 에피소드 후 핵심 개념 1줄 노트
- NumPy 선형대수 실습 — 행렬곱, 고유값 분해, SVD를 numpy로 직접 계산하는 연습 스크립트 작성
- Underactuated Robotics 강의 환경 확인 — MIT OCW 사이트에서 강의 목차 확인, Drake 설치 or Python 대체 확인
- 코테 12문제+ (프로그래머스 Lv2)
Q2 (4~6월): Classical Control 기초
체크포인트: LQR로 cart-pole 밸런싱 + MPC로 trajectory tracking. 둘 다 Python 구현, GitHub에 노트북 공개.
4월: 선형대수 + 최적화 기초
- Gilbert Strang Ch1~2 (벡터, 연립방정식, 소거법) — 연습문제 각 장 10문제 풀기
- Gilbert Strang Ch3~4 (벡터 공간, 직교성, 고유값) — 연습문제 각 장 10문제 풀기
- Boyd Convex Optimization Ch1~2 (convex set, convex function) — 핵심 정의 정리 노트
- cvxpy로 LP/QP 문제 3개 풀기 — 포트폴리오 최적화, 최소 비용 문제, constrained regression
- 코테 12문제+
5월: LQR + 제어 이론 입문
- Boyd Ch3~4 (최적화 문제 정의, duality 기초) — MPC에 필요한 부분 중심
- Underactuated Robotics Ch1~3 (비선형 동역학, 동적 시스템 기초)
- 상태 공간 모델 이해 — A, B, C, D 행렬, 안정성 판별을 Python으로 구현
- LQR 개념 이해 + cart-pole 밸런싱 구현 —
scipy.linalg.solve_continuous_are사용, 시뮬레이션 시각화 - 산출물:
lqr-cartpole.ipynbGitHub 공개 - 코테 12문제+
6월: MPC + Q2 마무리
- Underactuated Robotics Ch4~6 (trajectory optimization, LQR 심화)
- MPC 개념 이해 — prediction horizon, cost function, constraints 정리
- MPC로 trajectory tracking 구현 — double integrator 또는 cart-pole에 MPC 적용, cvxpy 사용
- 산출물:
mpc-trajectory-tracking.ipynbGitHub 공개 - Q2 회고 작성 — 배운 것, 부족한 것, Q3 계획 조정
- 코테 12문제+
Q3 (7~9월): 시뮬레이션 + RL
체크포인트: MuJoCo에서 RL로 로봇 팔 pick-and-place 성공. 학습 과정 시각화 + 결과 영상.
7월: MuJoCo + 역기구학
- MuJoCo 설치 + Gymnasium 연동 — 기본 환경 (CartPole, Ant) 실행 확인
- 로봇 팔 모델 로드 — Franka Panda MJCF, joint 제어로 움직여보기
- DH 파라미터 + Forward Kinematics — 2-link, 3-link 로봇으로 FK 직접 구현
- Inverse Kinematics 구현 — Jacobian 기반 IK, MuJoCo에서 end-effector 위치 제어
- 산출물:
robot-kinematics.ipynb - 코테 12문제+
8월: RL 기초 + robosuite
- Spinning Up Part 1 — 핵심 개념 (policy gradient, value function, advantage)
- PPO 알고리즘 이해 + CartPole에서 학습 — stable-baselines3 사용
- SAC 알고리즘 이해 + 연속 action space에서 학습 — MuJoCo 환경
- robosuite 설치 + Franka Panda reach task 실행 — 환경 구조 파악
- 코테 12문제+
9월: RL manipulation + Q3 마무리
- robosuite pick-and-place 환경 셋업 — reward shaping, observation space 이해
- SAC/PPO로 pick-and-place 학습 — 하이퍼파라미터 튜닝, 학습 커브 로깅 (wandb or tensorboard)
- 학습 결과 시각화 — 성공률 그래프 + 로봇 동작 영상 녹화
- 산출물:
rl-manipulation/레포 GitHub 공개 (코드 + 학습 결과 + README) - Q3 회고 작성
- 코테 12문제+
Q4 (10~12월): ROS2 + 이직 실행
체크포인트: ros2_control + MoveIt2 파이프라인 데모, 이직 서류 2곳 이상 제출.
10월: ros2_control
- ROS2 Humble 환경 구축 — Docker 또는 네이티브
- ros2_control 튜토리얼 완주 — joint_trajectory_controller로 로봇 팔 제어
- 커스텀 hardware_interface 작성 — 시뮬레이션 로봇에 연결
- 코테 8문제+
11월: MoveIt2 + 포트폴리오
- MoveIt2 튜토리얼 완주 — motion planning pipeline, 충돌 회피
- Franka Panda MoveIt2 데모 — pick-and-place 시나리오
- 산출물:
ros2-manipulation-demo/레포 GitHub 공개 - 포트폴리오 사이트 업데이트 — Q2~Q4 프로젝트 3개 추가
- 코테 8문제+
12월: 이직 서류 + 면접 준비
- 이력서 업데이트 — 제어 역량 + 시뮬레이션 프로젝트 반영
- 삼성 미래로봇추진단 지원 — manipulation / 로봇 SW 인프라 포지션
- Rainbow Robotics 지원 — manipulation 알고리즘 포지션
- 기술 면접 준비 — 제어 이론 Q&A, RL 알고리즘, 프로젝트 deep dive
- Q4 회고 + 2027 계획 작성
주간 기록
W09 (2/24 ~ 3/1)
- 로드맵 작성 및 학습 계획 수립 (2h)
주간 루틴
출퇴근 왕복 3시간(편도 1.5h)을 학습의 입력 시간으로, 집을 출력(구현) 시간으로 분리한다. 아이패드 활용.
평일 (월~금)
| 시간대 | 하는 일 | 도구 |
|---|---|---|
| 출근길 (1.5h) | 강의 시청 or 교재 읽기 | 아이패드 (오프라인 다운로드) |
| 퇴근길 (1.5h) | 복습 (Anki) + 코테 문제 읽고 풀이 구상 | 아이패드 |
| 집 (1~1.5h) | 코딩 구현 — 출퇴근에서 배운 것을 코드로 | PC |
주말
| 요일 | 하는 일 | 시간 |
|---|---|---|
| 토 | 프로젝트 집중 개발 | 3~4시간 |
| 일 | 주간 회고 + 다음 주 계획 | 30분 |
출퇴근 → 집 연결 예시
| 출근길 (입력) | 퇴근길 (복습) | 집 (출력) |
|---|---|---|
| Strang 강의 1편 시청 | Anki로 개념 복습 | 연습문제 numpy로 풀기 |
| Underactuated Robotics 강의 | 핵심 수식 노트 정리 | LQR cart-pole 구현 |
| Spinning Up 문서 읽기 | PPO 알고리즘 흐름 복기 | stable-baselines3로 학습 |
| Boyd 교재 읽기 | 최적화 문제 손풀이 구상 | cvxpy로 구현 |
| 코테 문제 읽기 + 풀이 구상 | 풀이 검증 | 코드 작성 + 제출 |
아이패드 세팅
- 오프라인 강의: YouTube Premium 다운로드 (3B1B, Strang, Underactuated Robotics)
- PDF 교재: Boyd Convex Optimization, Strang Linear Algebra — Books 또는 GoodNotes
- Anki: 수학 공식, 제어 이론 개념, RL 알고리즘 카드
- 코테: 프로그래머스 앱 or Safari
주당 시간 예산
| 구분 | 시간 |
|---|---|
| 출퇴근 학습 (3h × 5일) | 15h |
| 집 구현 (1h × 5일) | 5h |
| 토요일 집중 | 4h |
| 일요일 회고 | 0.5h |
| 합계 | ~24.5h/주 |
장기 타임라인
| 시점 | 마일스톤 |
|---|---|
| 2026.03 | 환경 세팅, 선형대수 워밍업 |
| 2026.06 | LQR cart-pole + MPC trajectory tracking 구현 |
| 2026.09 | MuJoCo RL pick-and-place 성공 |
| 2026.12 | ros2_control + MoveIt2 데모, 이직 서류 제출 |
| 2027 상반기 | 이직 완료 — 제어 관련 포지션 (삼성/Rainbow/Doosan) |
| 2028 | manipulation 실무 1년+, sim-to-real 경험, “FW 전용”에서 탈피 |
| 2029 | 논문 또는 오픈소스 기여 1건+ |
| 2030 | Manipulation 도메인 시니어 엔지니어 |
이직 타겟
| 구분 | 회사 | 포지션 | 핵심 요구 스킬 |
|---|---|---|---|
| Tier 1 | 삼성전자 미래로봇추진단 | 학습 기반 manipulation | RL, imitation learning, 시뮬레이션 |
| Tier 1 | Rainbow Robotics | manipulation 알고리즘 | 로봇 제어, VLA/LLM 경험 우대 |
| Tier 2 | Doosan Robotics | 협동로봇 제어 | 역기구학, 임피던스 제어, ROS2 |
| 해외 | Boston Dynamics, Figure, Agility | Controls Engineer | MPC, RL, sim-to-real |
내 차별화 포인트: 8년 임베디드 + 프로덕션 배포 경험 (브릭 0건, CI/CD, OTA). Classical Control + Learning-based를 모두 하면서 실제 하드웨어에 배포할 수 있는 사람.
리스크 대응
| 리스크 | 대응 |
|---|---|
| 수학 학습 곡선이 가파름 | 깊이보다 실습 중심. 3B1B → Strang → 바로 구현. 막히면 넘어가고 필요할 때 돌아오기 |
| RL 학습 불안정으로 좌절 | reach → push → pick-and-place 순으로 난이도 올리기. 처음부터 어려운 task 잡지 말 것 |
| 이직 시 제어 경험 부족으로 탈락 | GitHub 프로젝트 3개 (LQR, RL manipulation, ROS2 데모)가 실무 경험 부족을 보완 |
| 타겟 회사 채용 없음 | Doosan, 현대로보틱스, 해외(Figure, Agility)로 확대 |
| 번아웃 | 주 13시간 꾸준히 > 주 20시간 2개월. 분기마다 1주 완전 휴식 |
핵심 리소스
| 카테고리 | 리소스 |
|---|---|
| 선형대수 | 3Blue1Brown Essence of Linear Algebra, Gilbert Strang Introduction to Linear Algebra |
| 최적화 | Boyd & Vandenberghe Convex Optimization |
| 제어 이론 | Russ Tedrake Underactuated Robotics (MIT OCW), Lynch & Park Modern Robotics |
| RL | OpenAI Spinning Up, Sutton & Barto RL: An Introduction |
| 시뮬레이터 | MuJoCo, robosuite, Gymnasium |
| ROS2 | ros2_control 공식 문서, MoveIt2 튜토리얼 |
| 코딩 테스트 | 프로그래머스, NeetCode Blind 75 |
배경: 왜 제어인가
피지컬 AI 시대
NVIDIA Jensen Huang이 “로보틱스의 ChatGPT 모먼트”를 선언했다. 피지컬 AI 스택에서 내 위치:
┌─────────────────────────────────────────┐
│ Foundation Model (VLA, Diffusion) │ ← 새로 배워야 함
├─────────────────────────────────────────┤
│ Learning-based Control (RL, IL) │ ← 새로 배워야 함
├─────────────────────────────────────────┤
│ Classical Control (MPC, LQR, 역기구학) │ ← 일부 보유, 심화 필요
├─────────────────────────────────────────┤
│ 시뮬레이션 (MuJoCo, Isaac Sim) │ ← 새로 배워야 함
├─────────────────────────────────────────┤
│ ROS2 / 미들웨어 │ ← 학습 중
├─────────────────────────────────────────┤
│ 모션 제어 / 센서 퓨전 / RTOS │ ← 이미 보유 ✓
├─────────────────────────────────────────┤
│ 임베디드 HW (MCU, SoC, 통신) │ ← 이미 보유 ✓
└─────────────────────────────────────────┘
피지컬 AI는 상위 레이어를 추가하는 것이지 하위를 대체하는 게 아니다. 하위 스택을 유지한 채 상위를 쌓으면 희소 인력이 된다.
왜 Manipulation인가
- 기존 역량 직결 — 토크 예측, S-curve 가감속이 manipulation의 trajectory control과 직접 연결
- 진입 장벽이 locomotion보다 낮음 — 이족 보행은 동역학이 훨씬 복잡하고 하드웨어 접근성 제한적
- 시장 수요 폭발 — 휴머노이드 핵심은 “손으로 뭘 할 수 있느냐”. 걷기는 풀리고 있고 manipulation이 병목
- 시뮬레이션으로 독학 가능 — MuJoCo + robosuite로 집에서 학습 가능
현재 역량 갭
| 역량 | 현재 | 목표 | 갭 |
|---|---|---|---|
| 모션 제어 / 센서 퓨전 | ★★★★ | ★★★★ | 유지 |
| ROS2 | ★★★ | ★★★★ | ros2_control, MoveIt2 |
| 선형대수 / 최적화 | ★★ | ★★★★ | Q2에서 집중 보강 |
| Classical Control (MPC, LQR) | ★ | ★★★ | Q2 핵심 |
| 역기구학 / 동역학 | ★ | ★★★ | Q3에서 보강 |
| RL (PPO, SAC) | ☆ | ★★★ | Q3 핵심 |
| 시뮬레이션 (MuJoCo) | ☆ | ★★★ | Q3에서 시작 |