Model Predictive Control Toolbox

모델 예측 제어기 설계 및 시뮬레이션

 

Model Predictive Control Toolbox™는 모델 예측 제어기(MPC)의 설계 및 시뮬레이션을 위한 함수와 앱, Simulink® 블록을 제공합니다. 이 툴박스를 사용하여 플랜트 및 외란 모델, 한계, 제약 조건 및 가중치를 지정할 수 있습니다. 폐루프 시뮬레이션을 실행하여 제어기 성능을 평가할 수 있습니다.

런타임에 가중치와 제약 조건을 달리하여 제어기의 동작을 조정할 수 있습니다. 비선형 플랜트의 제어를 위해서는 게인 스케줄링된 적응 MPC를 구현할 수 있습니다. 샘플 레이트가 높은 응용 분야의 경우, 일반적인 제어기로부터 명시적 모델 예측 제어기를 생성하거나 근사해를 구현할 수 있습니다.

툴박스는 빠른 프로토타이핑과 내장형 시스템 구현을 위해 C 코드 및 IEC 61131-3 구조 텍스트(ST)의 생성을 지원합니다.

시작하기:

모델 예측 제어기의 설계

MPC 제어기를 설계하여 입력 및 출력 제약 조건이 적용되는 MIMO 시스템 제어. 폐루프 시뮬레이션을 실행하여 제어기 성능 평가.

MATLAB에서의 MPC 설계

명령줄 함수를 사용하여 MPC 제어기를 설계하십시오. 내부 플랜트 모델을 정의하고, 가중치, 제약 조건 및 기타 제어기 파라미터를 조정하고, 폐루프 시스템 응답을 시뮬레이션하여 제어기 성능을 평가하십시오.

명령줄에서의 MPC 제어기 설계.

Simulink에서의 MPC 설계

Simulink에서 MPC 제어기 블록을 비롯해 툴박스에서 제공하는 기타 블록을 사용하여 MPC 제어기를 모델링 및 시뮬레이션하십시오. Simulink 모델을 자르고 선형화하여 MPC 제어기에 대한 내부 선형 시불변 플랜트 모델을 계산하고, Simulink Control Design™을 사용하여 플랜트 입력 및 출력에 대한 공칭 값을 계산하십시오.

MPC Designer 앱

내부 플랜트 모델을 정의하고 한계, 가중치 및 제약 조건을 조정하여 대화형 방식으로 MPC 제어기를 설계하십시오. 시뮬레이션 시나리오를 사용하여 제어기 성능을 검증할 수 있습니다. 여러 MPC 제어기의 응답을 비교할 수 있습니다.

Designing MPC controllers at the command line.

자율주행 활용 분야

내장된 Simulink 블록을 사용하여 ADAS 시스템의 개발을 가속하십시오. 참고 예제를 사용하여 ADAS 제어기를 빠르게 설계할 수 있습니다. Simulink 블록에서 차량 내 MPC 제어기 배포를 위한 코드를 생성할 수 있습니다.

내장된 블록

Adaptive Cruise Control System(적응 주행 제어 시스템), Lane Keeping Assist System(차선 유지 지원 시스템) 및 Path Following Control System(경로 추종 제어 시스템) 블록을 ADAS 활용 분야를 위한 출발점으로 사용하여 필요에 따라 설계를 사용자 지정할 수 있습니다. 내장된 블록에서 MPC 제어기 배포를 위한 코드를 생성할 수 있습니다.

적응형 주행 제어 시스템의 설계를 위해 미리 빌드된 Simulink 블록 사용.

참조 응용 프로그램

자율주행 시스템을 위한 MPC 제어기의 설계 및 배포 워크플로를 안내하는 참조 응용 프로그램을 활용하십시오. 참조 응용 프로그램에서는 시스템의 각 부분을 다양한 수준의 충실도로 모델링하는 방법도 보여줍니다.

선형 모델 예측 제어기

선형 동특성을 갖는 시스템을 위한 MPC 제어기 설계. 동작 조건에 따라 동특성이 변화하는 플랜트에 대해 게인 스케줄링된 적응식 MPC 제어기 설계.

선형 MPC

내부 플랜트 모델을 Control System Toolbox™의 LTI(선형 시불변) 시스템으로 지정하거나 Simulink Control Design을 사용하여 Simulink 모델을 선형화하여 선형 MPC 제어기를 설계하십시오. 또는, 측정된 입력-출력 데이터에서 생성된 모델을 System Identification Toolbox™를 사용하여 가져올 수 있습니다.

선형 MPC 설계에 대한 내부 플랜트 모델 지정.

적응 MPC

명령줄 함수와 Adaptive MPC Controller 블록을 사용하여 적응 MPC 제어기를 설계 및 시뮬레이션하십시오. 각 컴퓨팅 단계에서 플랜트 모델을 업데이트하고 이를 제어기의 입력으로 제공하십시오. 내장된 LTV(선형 시변) 칼만 필터를 점근 안정성 보장으로 사용하여 적응식 모델 예측 제어기의 상태를 추정하십시오.

게인 스케줄링된 MPC

Multiple MPC Controllers 블록을 사용하여 다양한 동작 조건에서 비선형 플랜트를 제어하십시오. 각 동작점에 대해 MPC 제어기를 설계하고, 런타임에 여러 제어기 간에 전환할 수 있습니다.

Multiple MPC Controller 블록을 사용하여 게인 스케줄링된 MPC 제어기 설계.

MPC 설계 파라미터, 상태 추정 및 설계 검토

내부 플랜트 모델을 정의하고, 제어기 파라미터를 조정하고, 폐루프 시스템 응답을 시뮬레이션하여 제어기 성능을 평가함으로써 제어기 설계를 반복적인 방식으로 개선. 제어기를 검토하여 잠재적인 설계 문제 발견.

제어기 파라미터

내부 플랜트 모델을 정의한 후에는 샘플 타임, 예측 및 제어 한계, 스케일링 인자, 입력 및 출력 제약 조건, 가중치를 지정하여 MPC 제어기의 설계를 완성하십시오. 툴박스는 제약 조건 완화 및 시변 제약 조건과 가중치도 지원합니다.

MPC Designer 앱에서 제어기 파라미터 지정.

상태 추정

내장된 상태 추정기를 사용하여, 측정된 출력값에서 제어기 상태를 추정할 수 있습니다. 또는, 사용자 지정 알고리즘으로 추정한 값을 제어기에 제공해야 하는 경우 사용자 지정 상태 추정 옵션을 사용할 수도 있습니다.

사용자 지정 상태 추정.

설계 검토

툴박스에서 제공하는 진단 함수를 사용하여 MPC 제어기의 잠재적인 안정성 및 견고성 문제를 발견하십시오. 제어기 설계 과정에서 이 진단 툴을 사용하여 제어기 가중치 및 제약 조건을 조정하여 런타임 결함을 방지할 수 있습니다.

설계 검토 리포트의 권장 사항을 사용하여 제어기 설계 개선.

런타임 파라미터 조정 및 성능 모니터링

런타임에 가중치 및 제약 조건을 조정하여 제어기 성능 개선. 제어기의 런타임 성능 분석.

런타임 파라미터 조정

MPC 제어기의 런타임 가중치 및 제약 조건을 조정하여 재설계나 재구현 없이 런타임에 성능을 최적화할 수 있습니다. 런타임 제어기 조정은 MATLAB과 Simulink 양쪽에서 수행할 수 있습니다.

런타임에 가중치 및 제약 조건 조정.

런타임 성능 모니터링

최적화 상태 신호에 액세스하여 드물게 최적화가 수렴하지 않는 경우를 발견하여 백업 제어 전략을 사용해야 할지 여부를 판단하십시오.

실시간으로 제어기 결함 발견. 

빠른 모델 예측 제어기의 구현

컴퓨팅 처리량이 한정된 활용 분야에서 MPC 제어기를 설계, 시뮬레이션 및 배포하십시오.

명시적 MPC

암묵적 MPC 설계로부터 명시적 MPC 제어기를 생성하십시오. 생성된 명시적 MPC 제어기를 단순화하여 메모리 사용량을 줄일 수 있습니다.

이전에 설계된 명시적 제어기로부터 명시적 MPC 제어기 생성.

근사(차선) 솔루션

근사(차선) 솔루션을 사용하여 보장된 최악의 경우 실행 시간 MPC 제어기를 설계, 시뮬레이션 및 배포하십시오.

최적 및 근사(차선) 솔루션의 실행 시간 비교.

비선형 모델 예측 제어기

비선형 MPC 제어기를 설계하여 비선형 예측 모델, 비용 함수 또는 제약 조건을 사용하여 플랜트 제어.

최적 계획

비선형 비용 또는 제약 조건을 갖는 비선형 모델이 요구되는 최적 계획 활용 분야에서 비선형 MPC 제어기를 사용하십시오.

비선형 MPC를 사용한 비행 로봇의 궤적 최적화 및 제어.

피드백 제어

비선형 비용 및 제약 조건하에서의 비선형 플랜트의 폐루프 제어를 시뮬레이션하십시오. 비선형 MPC 제어기는 기본적으로 Optimization Toolbox™를 사용하여 비선형 프로그래밍 문제를 풉니다. 자체 사용자 지정 비선형 솔버를 지정할 수도 있습니다.

발열성 화학 반응기의 비선형 모델 예측 제어.

경제적 MPC

경제적 MPC를 설계하여 임의의 비선형 제약 조건하에서의 임의의 비용 함수에 대한 제어기를 최적화하십시오. 선형 또는 비선형 예측 모델, 사용자 지정 비선형 비용 함수 및 사용자 지정 비선형 제약 조건을 사용할 수 있습니다.

에틸렌 산화물 생산의 경제적 MPC 제어.

코드 생성

Simulink 및 MATLAB에서 설계된 모델 예측 제어기의 코드를 생성하여 실시간 제어 활용 분야에 배포.

MATLAB 및 Simulink를 사용한 코드 생성

Simulink에서 MPC 제어기를 설계하고, Simulink Coder™ 및 Simulink PLC Coder™를 사용하여 각각 C 코드와 IEC 61131-3 구조 텍스트(ST)를 생성하십시오. MATLAB Coder™를 사용하여 MATLAB에서 C 코드를 생성하고, 실시간 제어를 위해 배포하십시오. 또는 MATLAB CompilerTM를 사용하여 MPC 제어기를 배포할 수도 있습니다.

MPC Controller 블록에서 C 코드 생성.

임베디드 솔버

함께 제공되는 2차 계획법(QP) 솔버에서 코드를 생성하여 임베디드 프로세서에 효율적으로 구현하십시오. 생성된 코드를 원하는 개수의 프로세서에 배포할 수 있습니다. 함께 제공되는 QP 솔버를 표준 MPC 전개와 함께 사용하거나 사용자 지정 MPC 문제를 푸는 데 사용할 수 있습니다.

사용자 지정 MPC 제어기.

시뮬레이션 및 코드 생성을 위한 사용자 지정 QP 솔버.

최신 기능

Integration with FORCES PRO

Simulate and generate code for MPC controllers with FORCES PRO solvers developed by Embotech AG

Interior-Point QP Solver

Efficiently compute optimal control moves for large-scale MPC problems

Nonlinear MPC Code Generation

Generate code for nonlinear MPC controllers that use default fmincon solver with the SQP algorithm

See release notes for details on any of these features and corresponding functions.