当前位置: 首页 > news >正文

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

文章目录

  • 前言
  • 一、Ubuntu18.04下安装不同的CMake版本
  • 二、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包后顺利编译。


http://www.mrgr.cn/news/21520.html

相关文章:

  • 域取证的日志分析
  • QString如何格式化字符串
  • python学习
  • Mysql梳理1——数据库概述(下)
  • 优化算法与正则化
  • WPF入门到跪下 第十三章 3D绘图 - 3D绘图基础
  • Vue 中实现视频播放的艺术
  • 新手炒股,用Python股票接口程序化交易股票需要注意什么
  • Chapter 10 Stability and Frequency Compensation
  • DHCP服务
  • 【Linux】环境变量
  • 828华为云征文|华为云Flexus X实例docker部署最新gitlab社区版,搭建自己的私人代码仓库
  • 【Hot100】LeetCode—394. 字符串解码
  • vsCode 自动发布文件到服务器文件
  • 【 html+css 绚丽Loading 】000042 乾坤四象盘
  • 诺瓦星云校招嵌入式面试题及参考答案(100+面试题、10万字长文)
  • 【MATLAB】模拟退火算法
  • 手撕Python之面向对象
  • 一个C++程序运行,从点击运行到控制台打印文本,电脑硬件的资源是如何调动的
  • 2024软件测试需要具备的技能(软技能硬技能)