本demo在Ubuntu20.04下运行。依赖如下
cmake的安装直接终端运行
sudo apt install cmake
CppAD和Ipopt的安装参考博客资料.
mkdir build
cd build
cmake ../
make
在build
文件夹内,运行
测试CppAD
./CppAD_demo
./cppad_ipopt_demo
OSQP 是一种二次规划求解器,可用求解线性组合或二次规划问题,在同类问题中求解效率极高!
OSQP是用纯C实现的,但是纯C中对于矩阵和向量的操作不是特别友好,因此为了更方便使用OSQP,在构造C++接口时,引入了Eigen库,方便矩阵和向量的操作。
相关类
osqp-eigen主要是构造了三个类,Data类、Setting类、Solver类:
求解过程
OSQP安装
git clone --recursive https://github.com/osqp/osqp
cd osqp
mkdir build
cd build
cmake .. -DBUILD_SHARED_LIBS=ON
make
sudo make install
osqp-eigen安装
osqp-eigen依赖eigen3,ubuntu系统里内置安装了eigen3包。
git clone https://github.com/robotology/osqp-eigen.git
cd osqp-eigen
mkdir build
cd build
cmake .. #默认安装在/usr/local/include中,非apt安装的包,不在/usr/include/下,而是/usr/local/include下
make
sudo make install
首先编译项目
mkdir build
cd build
cmake ../
make
osqp测试
./osqp_demo
osqp-eigen测试 例子来自于博客
./osqp_eigen_demo