多机编队—(2)Ubuntu安装Eigen OSQP OSQP-EIGEN求解器


前言

承接上文,想要通过MPC进行轨迹的跟踪,参考了一些教程,打算采用OSQP,OSQP-Eigen求解器进行机器人控制输入U(k)的计算。


一、Ubuntu18.04下安装不同的CMake版本

后面在编译OSQP,OSQP-Eigen时,如果用的是CMake版本过低会出现报错提示(如果使用鱼香ros自动安装的ros,默认的CMake版本是:3.10.2),提示需要CMake 3.18以上

(1)官网下载对应版本的Cmake:CMake官网
(2)找到下载完后的目录,解压
(3)创建软链接

将下载的Cmake连接到系统中 一般将Cmake文件放在/opt 或 /usr 路径下, 这里选择/opt:

sudo mv cmake-3.21.0-Linux-x86_64 /opt/cmake-3.12.0

创建软连接

sudo ln -sf /opt/cmake-3.18.0/bin/* /usr/bin/

(4)执行命令检查:cmake --version
在这里插入图片描述

二、eigen库的安装

链接:eigen
将下载好的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/wjx/eigen-3.4.0  /usr/local/include/eigen3  

/home/wjx/eigen-3.4.0 替换为自己的路径

三、osqp库的安装

链接:ospq
将下载好的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库的安装

链接:ospq-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  //刷新环境变量

五、出现的问题

fatal error: Eigen/Dense: No such file or directory

首先查到eigen的安装路径为:
/usr/include/eigen3/Eigen

解决办法:

在终端执行下列指令

sudo ln -s /usr/include/eigen3/Eigen /usr/include/Eigen

报错原因分析:

这是因为一些文件在编译时指向 Eigen 库的头文件位于 /usr/include/Eigen 目录下,而不是 /usr/include/eigen3/Eigen。

通过执行上面指令后,创建了一个名为 /usr/include/Eigen 的符号链接,指向 /usr/include/eigen3/Eigen 目录。具体来说,执行这条指令后,系统中的任何访问 /usr/include/Eigen 的请求都会被重定向到 /usr/include/eigen3/Eigen。

总结

求解器的安装我是按照这篇博客linux安装eigen/osqp/osqp_eigen库,记录下操作流程。
另一个原因是备份一下Eigen OSQP OSQP-EIGEN安装包:
因为我在github上下载了Eigen OSQP OSQP-EIGEN源码,但在后面进行编译时一直不通过,后面换了现在文章中的Eigen OSQP OSQP-EIGEN包后顺利编译。

  • 14
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Ubuntu安装osqp-eigen库,首先需要安装eigen库。可以从琴郎同学的博客中找到关于在Linux安装eigen库的教程。另外,你也可以直接从Ubuntu的源码库中下载eigen库的源码并解压缩。安装eigen库后,你可以按照以下步骤安装osqp-eigen库: 1. 打开终端并使用以下命令克隆osqp-eigen库的GitHub仓库: ``` git clone https://github.com/robotology/osqp-eigen.git ``` 2. 进入osqp-eigen目录并创建一个build文件夹: ``` cd osqp-eigen mkdir build && cd build ``` 3. 使用cmake命令生成Makefile: ``` cmake ../ ``` 4. 使用make命令编译osqp-eigen库: ``` make ``` 5. 使用sudo make install命令安装osqp-eigen库。默认情况下,osqp-eigen库将安装在`/usr/local/include`目录中。请注意,这是非apt安装的包,默认情况下不会安装在`/usr/include`目录中。 通过按照以上步骤进行操作,你应该能够成功在Ubuntu安装osqp-eigen库。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [安装eigen opqp eigen-osqp matplotlib-cpp及使用](https://blog.csdn.net/zk1639712996/article/details/126568314)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [eigen-3.3.7.tar.gz](https://download.csdn.net/download/Mua111/12651226)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [18.04安装osqp-eigen](https://blog.csdn.net/qq_38313901/article/details/119415574)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值