栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

eigen/osqp/osqp

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

eigen/osqp/osqp

eigen,osqp,osqp-eigen库的安装

文章目录
  • eigen,osqp,osqp-eigen库的安装
  • 一、eigen-3.4.0库的安装
  • 二、osqp库的安装
  • 三、osqp-eigen库的安装
  • 四、测试这三个矩阵计算库是否配置完成

因为个人的需求:本人论文的车辆纵向控制算法为MPC算法,需要用到C/C++语言的二次规划求解器(OSQP)和矩阵运算库eigen。因此,在编写MPC代码之前,是需要在Linux下部署以下三个矩阵计算库

我没记错的话,osqp-eigen依赖于osqp库,osqp依赖于eigen库,建议安装顺序建议如下:
	 1.eigen
	 2.osqp
	 3.osqp-eigen
一、eigen-3.4.0库的安装

链接: eigen-3.4.0库下载地址
1.1 将下载好的eigen-3.4.0文件夹拷贝到主目录下,进入到eigen-3.4.0文件夹中,在当前路径下右键打开终端,并输入以下指令,完成eigen库的安装

//打开终端,进入/eigen-3.4.0文件夹,然后执行以下指令
mkdir build
cd build
cmake ..
sudo make install
//拷贝头文件到系统的用户头文件中,方便后期管理
sudo cp -r /home/qjj/eigen-3.4.0/Eigen  /usr/local/include  

我的eigen-3.4.0的绝对路径是/home/qjj/eigen-3.4.0,这里要换成你那边的绝对路径

二、osqp库的安装

链接: osqp库下载地址
2.1 将下载好的osqp文件夹拷贝到主目录/home,进入到下载好的osqp文件夹中,在当前路径下右键打开终端,并输入以下指令,完成osqp库的安装

//打开终端,进入osqp文件夹,然后执行以下指令
$ mkdir build   //然后创建build文件夹
$ cd build      //再进入build文件夹
$ cmake ..      //在build文件夹中进行编译
$ cmake .. -DCMAKE_INSTALL_PREFIT=usr/local/osqp
$ sudo make install
$ source ~/.bashrc  //刷新环境变量
三、osqp-eigen库的安装

链接: osqp-eigen库下载地址
将下载好的osqp-eigen文件夹拷贝到主目录/home,进入到下载好的osqp-eigen文件夹中,在当前路径下右键打开终端,并输入以下指令,完成osqp-eigen库的安装

//打开终端,进入osqp-eigen文件夹,然后执行以下指令
$ mkdir build       //然后创建build文件夹
$ cd build          //再进入build文件夹
$ cmake ..          //在build文件夹中进行编译
$ cmake .. -DCMAKE_INSTALL_PREFIT=usr/local/osqp-eigen
$ sudo make install
$ source ~/.bashrc  //刷新环境变量
四、测试这三个矩阵计算库是否配置完成

不出以外的话,基本会报错
测试代码链接:测试代码下载地址
注:该测试代码从该博主的文章中获得(感谢这位博主)。
那么获得该测试代码之后,怎么把它部署到自己的电脑上面呢?
首先我们先看该代码的cmakelist.txt文件

cmake_minimum_required(VERSION 3.0.2)
//工程名称
project(test)
//动态库路径
link_directories(
  /usr/local/lib 
  )
 //头文件路径
include_directories( include )
//生成的可执行程序名字
add_executable(testqjj  
               test.cpp  )
//需要连接到可执行文件testqjj的动态库
target_link_libraries(testqjj
                      libosqp.so  
                      libOsqpEigen.so 
                      libqdldl.so )

随后执行以下指令

//理论上,当下载好test_test文件夹后,执行以下指令,出现图一的计算结果,
//-说明这三个库安装配置完成,并可以使用
//-但是一般没这么顺利-------------哈哈哈哈哈哈哈哈哈哈
$ cd test_test    // 进入test_test文件夹
$ mkdir build       //然后创建build文件夹
$ cd build          //再进入build文件夹
$ cmake ..          //在build文件夹中进行编译
$ make 
$ ./testqjj               //运行当前文件夹下面的可执行程序testqjj

理论上来说,如果以上三个库都配置完成后,测试代码就可以正常编译,正常运行(如图1所示)

图1
但是一般会报错,如图2所示。
图2

报错的原因,一般的都是osqp-eigen文件夹里面的头文件找不到osqp文件里面的头文件,如找不到osqp里面的头文件,只需要把osqp文件夹里面的头文件的绝对路径给加上去即可。如图3所示,第12行在原有的地址上,加上了osqp.h头文件的绝对路径。

图3
**注意:在对系统里面的文件进行编辑的时候,要获取超管权限才可以对其进行编辑,否则只能看,不能写。我们都知道获取超级管理员的指令是:su。有时候“su”的时候会警告一些问题,这边建议您先输入以下指令:

//打开终端,然后执行以下指令
sudo passwd //然后按照指示输入你的开机密码,一般要输入两遍

然后再尝试su,获取超级管理员的权限。

一般的话,其他还需要添加文件绝对路径的地方,如下所示图4

图5
图6
图7
图8

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1025973.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号