제어 시스템과 MATLAB 시작하기

제어공학1 · 1주차

이번 주 목표 · 목표값·입력·출력·측정을 구분하고 Live Editor에서 실행합니다.

실행: MathWorks 로그인 후 내 작업 공간의 .mlx를 엽니다. 코드 안 클릭 → Live Editor → Run Section으로 한 Section씩 실행하세요. Run은 전체 실행입니다. 값 수정 후에는 관련 Section을 다시 실행해야 합니다. ⟦직접 입력⟧ 작성란은 설명을 직접 수정하며 실행하지 않습니다. Windows/Linux는 Ctrl+Enter, Mac은 ⌘+Enter를 사용할 수 있습니다.

도구가 바뀌어도 모델과 응답을 읽기

MATLAB의 함수나 화면이 바뀌어도, 물리 법칙으로 모델을 세우고 입력에 대한 응답을 해석하는 과정은 계속 필요합니다. 강의에서는 식과 모델이 뜻하는 바를 이해하고, 실습에서는 계산 도구로 그 결과를 확인합니다.

사용법이 달라지면 먼저 어떤 모델에 어떤 입력을 주고 무엇을 구하려는지 정리하세요. 공식 문서에서 함수의 입력 조건과 출력의 의미를 확인하고, 손으로 예상할 수 있는 간단한 모델에 적용해 보세요. 함수를 외우는 데서 나아가, 새로운 도구의 결과가 타당한지 판단하는 것이 목표입니다.

1. 목표와 실제 출력을 비교하기

제어 시스템의 역할을 설명하는 예로, 실내 온도 조절을 생각해 보겠습니다. 온도를 25도로 유지하려면 현재 온도를 측정하고 목표와 비교해야 합니다. Controller(제어기)는 그 차이에 따라 히터 입력을 바꿉니다. 목표값, Controller, Plant(제어 대상), Sensor(센서)를 구분하는 것이 제어 시스템을 읽는 첫 단계입니다.

목표와 실제 출력을 비교하기

Open-loop는 출력 측정값을 이용한 수정이 없습니다. Closed-loop는 측정값을 되돌려 비교합니다. Sensor가 잘못 측정하면 Controller가 열심히 작동해도 실제 목표와 어긋날 수 있습니다.

2. 물리 시스템에서 모델로

실제 장치의 모든 특성을 담기보다 관심 있는 입력과 출력을 정하고 필요한 관계를 모델로 만듭니다. Differential Equation, Transfer Function, State Space은 같은 시간에 따라 값이 변하는 같은 시스템을 목적에 맞게 표현하는 방식입니다.

물리 시스템에서 모델로

모델은 가정과 적용 범위가 있습니다. 마찰·포화·Sensor 오차처럼 생략한 요소가 실제 결과에 어떤 차이를 만들 수 있는지 생각하세요.

3. MATLAB Online에서 내 사본 열기

실습 시작 버튼은 저장소를 복제하고 .mlx 파일을 엽니다. 필요한 경우 MathWorks 계정으로 로그인하세요. 설명은 읽고, 코드 안을 클릭한 뒤 Run Section으로 실행합니다.

MATLAB Online에서 내 사본 열기

처음 실행은 버전·기본 배열·그래프를 확인하는 단계입니다. 다른 주차에서는 Control System Toolbox, Symbolic Math Toolbox 또는 Simulink가 추가로 필요할 수 있으므로 각 문서의 환경 안내를 확인합니다.

학습 내용 확인

  1. 코드에 넣을 값은 무엇이며, 결과 배열의 각 행·열은 무엇을 뜻하나요? 물리량을 계산한다면 단위도 확인했나요?
  2. 조건을 하나 바꿨을 때 다시 실행해야 하는 부분을 찾을 수 있나요?
  3. 실행 결과가 예상과 맞나요? 다르다면 출력값이나 그래프를 보고 이유를 설명할 수 있나요?

MATLAB 공식 문서 · Control System Toolbox

실습 자료