프로젝트에 관하여

기타(임시) · 2020. 5. 21. 10:40

모델예측제어 활용을 위한 실시간 최적화 QP Solver 알고리즘 연구

 

1. 개요

 

1) 계획 수립 및 자료조사

 

2) 산업 MPC 적용 현황, 공개 QP Solver 조사

 

3) SVD, NNLS 기반의 QP Solver 알고리즘 개발

 

4) 시뮬링크 라이브러리 블락 형태의 QP Solver 개발

 

5) Embedded MCU 용 QP Solver 개발

 

6) 환경 구축 및 테스트

 

7) 공개 QP Solver와 성능 비교

 

8) 3)~7) 반복 -> 개선안 연구

 

9) 추진팀으로 기술 이전

 

10) 보고서, 사용설명서 작성 및 추가 연구주제 도출

 

 

 

 

2. 평가 방법

 

1) 정량적 목표

 

해의 정확성 -> 매트랩 QP Solver 함수인 quadprog와 결과 비교

 

풀이 시간 -> quadprog 및 공개된 타 QP Solver와 비교

 

 

2) 정성적 목표

 

Solver의 시뮬링크 블락 제공 -> Simulation 시 블락이 잘 동작하는지 평가 => 동작여부 및 해의 정확성

 

Solver의 임베디드 MCU 용 라이브러리 제공 -> QP를 정확히 풀이하는지 평가 => 동작여부 및 해의 적확성

 

 

 

3. 계획한 결과물

 

1) Simulink library block 형태로 QP Solver를 제작하는 방법과 사용하는 방법

 

2) Embedded MCU 용의 QP Solver의 구현과 사용하는 방법

 

3) 개발된 Solver를 이용한 Simulation과 공개된 타 QP Solver들과의 성능 비교

 

- S/W

 

1) C-MEX (Matlab Executable) 형태로 개발한 QP Solver

 

2) Simulink Model: 개발된 Simulink Block을 테스트

 

3) Embedded MCU 용 QP Solver

 

4) 개발된 QP Solver를 이용한 MPC 예제

 

 

 

4. 자동차에서 MPC 적용 사례

 

=> 해당하는 기술이 뭔지 간략하게 정리하자.

 

 

 

4-1. MPC 활용 사례

 

1) Active Front Steering (Ford)

 

2) Autonomous Racing (ETH)

 

=> Prediction, Constraint Handling 등을 통해 기존 제어 성능을 뛰어넘는 제어성능을 달성

 

-> 현재와 이전의 데이터를 취합하여 미래를 예측하고, 가장 첫번째 미래 예측 입력을 다음 입력으로 사용.

-> 모델과 현재까지의 정보를 사용하여 미래를 예측함으로써 좀 더 안정적인 성능을 기대할 수 있다.

=> 여기 좀 더 정확하게 미래 예측을 함으로써 발생할 수 있는 장점에 대해 서술하자.

 

 

3) Motion control for quadruped robots (MIT)

 

 

 

5. QP (Quadratic Programming)

 

- 예측제어 알고리즘 구현의 핵심

 

- P > 0 -> Convex optimization, unique solution

=> 유일해를 가질 수 있다.

 

- 최적해를 구하는 알고리즘: Active-set method, Interior-point method 등

 

 

5-1. Interior Point Method

 

- Strictly feasible region에서 시작해 해를 찾는다.

-> Strictly feasible initial point가 필요하다. (바로 거기서 시작되는게 아니라, 시작점이 있어야 하네... (어떻게?))

 

- 계산 복잡도: 변수의 다항 함수

 

- Parameter의 수가 많을 결우 Active Set Method 보다 우수

=> 이게 중요!!! 왜??

 

 

5-2. Active Set Method

 

- initial feasible solution 필요

-> Phase 1 과정에서 LP를 풀어 구할 수 있다.

 

- 최적해는 constraint가 active 한 지점에서 주로 결정된다.  (Active의 의미!)

-> LP의 Simplex Method 처럼 Boundary를 순회하면서 해를 찾음.

 

- 계산 복잡도: 제약조건 또는 변수의 계수에 대한 지수 함수

 

- Parameter의 수가 작을 경우 효율적

 

 

 

 

 

 

 

 

 

 

 

반응형

'기타(임시)' 카테고리의 다른 글

저장  (0) 2020.07.08
현대자동차  (0) 2020.05.22
[자료구조 C 언어] 부록 - 4: 네트워크 - AOV, AOE, EST, LST, Topological Sort, Critical Path  (0) 2020.05.14
BFS_DFS 임시  (0) 2020.05.13
코드 저장  (0) 2020.04.21