Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
Tags
- Graph Neural Network
- self driving car
- 경로생성
- MDP
- CUDA
- 소프티어
- Motion Planning
- 백준
- 선형대수
- Hybrid A star
- 수치최적화
- C
- CPP
- Frenet Coordinate
- OSQP
- Recursion
- solver
- 동적라이브러리
- Dubins Path
- 정적라이브러리
- autonomous vehicle
- DynamicProgramming
- GIT
- GNN
- Leetcode
- PathPlanning
- C++
- path planning
- 강화학습
- 공유라이브러리
Archives
- Today
- Total
Swimmer
QP Solver 본문
- Solver
- Optimization Problem을 풀어주는 Tool
- Optimization Problem 분류에 따라 Solve 알고리즘이 상이하고, Solver 또한 상이함
- ex) MATLAB - linprog, quadrprog, OSQP 등..
- OSQP Solver
- Linear Programming, Quadratic Programming을 풀 수 있는 Solver
- 오픈소스임 (License : Apache-2.0 License)
- OSQP 홈페이지 : https://osqp.org/
- OSQP 문서 : https://osqp.org/docs/release-0.6.3/
- OSQP Github (C 코드 개발 브랜치) : https://github.com/osqp/osqp
GitHub - osqp/osqp: The Operator Splitting QP Solver
The Operator Splitting QP Solver. Contribute to osqp/osqp development by creating an account on GitHub.
github.com
- 특징
- 임베디드 환경에서 사용 가능하도록 매크로 제공함 (동적 할당, 외부 라이브러리 미사용)
- 이때 QP 문제에 대한 Workspace 구조체를 미리 만들어 전역 변수로 선언해야 함
- MATLAB에서 OSQP API를 이용한 Codegen으로 Workspace .c / .h 를 생성할 수 있음
- Workspace.c / .h를 OSQP 소스코드와 함께 프로젝트에 추가하여 사용하면 됨
- 이때 QP 문제에 대한 Workspace 구조체를 미리 만들어 전역 변수로 선언해야 함
- 기본 C언어로 작성되었고 C++, Python 등 다양한 언어 지원함
- 임베디드 환경에서 사용 가능하도록 매크로 제공함 (동적 할당, 외부 라이브러리 미사용)
- 사용 예시
- 일반 PC 환경 : OSQP Example을 참고해 사용하면 됨
- 임베디드 환경 : OSQP에서 제공하는 EMBEDDED Flag 활성화 후, QP Problem의 Hessian Matrix, Gradient Vector, Constraint Matrix, Bound Vector를 Update 하는 API를 사용하면 됨. (이때 Workspace .c/.h를 QP Problem의 크기에 맞게 미리 만들어 놓아야 함)
- 차량 임베디드 환경에서 MPC Problem Update & Solve를 직접 테스트 하였음
'개념공부 > 기타' 카테고리의 다른 글
OSQP Solver 빌드하기 (0) | 2023.12.22 |
---|---|
FLOPS (0) | 2023.10.25 |
[OpenGL] GLUT (0) | 2023.09.11 |
[MATLAB] mex 파일이란 (0) | 2023.06.27 |
[Git 스터디 3] Git 시작하기 (0) | 2023.05.23 |
Comments