控制代码部署域控流程与注意事项

本文详细描述了在车辆域控无法上网的情况下,如何在确保已安装库的基础上,下载并编译osqp、eigen、cppad和ipopt等IT库,以及遇到的网络限制和编译时的错误解决方案。
摘要由CSDN通过智能技术生成

需要部署的的相关库有 osqp、eigen、cppad、ipopt、yaml、glog

部署代码在域控的主板,主板上也会部署感知的代码,部署感知代码时,yaml、glog库就已经装好了,所以需要先检查域控上已经有的库,避免重复安装,本文的安装是在车辆域控无法上网翻墙的条件下,采用的办法是先下载好安装包,到车辆域控上编译,需要注意第一点是提前下载安装包的过程需要在可以翻墙的域控中,安装包在git的过程中会自动选择版本,如果在电脑中下载,会报版本不匹配的错误。

在没有网络时,只执行编译部分。

 OSQP库(Note:必须安装和使用0.4.1版本)
# (1)安装命令
sudo git clone --recursive https://github.com/oxfordcontrol/osqp
cd osqp/
git checkout v0.4.1
git submodule update --init --recursive   
mkdir build
cd build/
cmake ..
sudo make install

eigen库

sudo apt-get install libeigen3-dev
/usr/include/eigen3
git clone https://gitlab.com/libeigen/eigen.git
cd eigen
git checkout -p 3.3.4  //输入需要安装的版本
mkdir build
cd build
cmake…
sudo make install

sudo cp -r /usr/local/include/eigen3/Eigen /usr/local/include 

注意二 ipopt库安装需要在cppad库前,否则会报库连接冲突的错误

ipopt库

安装依赖

sudo apt-get install gcc g++ gfortran git patch wget pkg-config liblapack-dev libmetis-dev libblas-dev

创建一个存放所有跟Ipopt相关的文件夹,便于管理

mkdir ~/Ipopt_pkg
cd Ipopt_pkg

安装ASL

git clone https://github.com/coin-or-tools/ThirdParty-ASL.git
cd ThirdParty-ASL
sudo ./get.ASL
sudo ./configure
sudo make
sudo make install
cd ..

安装HSL

git clone https://github.com/coin-or-tools/ThirdParty-HSL.git
cd ThirdParty-HSL
# 接下来需要下载coinhsl文件,并解压到ThirdParty-HSL目录下

下载coinhsl文件,并解压到ThirdParty-HSL目录下

在ThirdParty-HSL目录下,执行以下命令

sudo ./configure
sudo make
sudo make install
cd ..

安装MUMPS

git clone https://github.com/coin-or-tools/ThirdParty-Mumps.git
cd ThirdParty-Mumps
sudo ./get.Mumps
sudo ./configure
sudo make
sudo make install
cd ..

安装Ipopt

git clone https://github.com/coin-or/Ipopt.git
cd Ipopt
mkdir build
cd build
sudo ../configure
sudo make
sudo make test
sudo make install

完善环境

cd /usr/local/include
sudo cp coin-or coin -r
sudo ln -s /usr/local/lib/libcoinmumps.so.3 /usr/lib/libcoinmumps.so.3
sudo ln -s /usr/local/lib/libcoinhsl.so.2 /usr/lib/libcoinhsl.so.2
sudo ln -s /usr/local/lib/libipopt.so.3 /usr/lib/libipopt.so.3

cppad库

sudo apt-get install cppad

报错解决办法

1编译ipopt报错

checking for package HSL... yes
checking for function ma27ad_ in -L/usr/local/lib -lcoinhsl   ... no
checking for function ma27ad in -L/usr/local/lib -lcoinhsl   ... no
checking for function MA27AD_ in -L/usr/local/lib -lcoinhsl   ... no
checking for function MA27AD in -L/usr/local/lib -lcoinhsl   ... no
checking for function ma27ad__ in -L/usr/local/lib -lcoinhsl   ... no
checking for function ma27ad_ in -L/usr/local/lib -lcoinhsl   ... no
checking for function MA27AD__ in -L/usr/local/lib -lcoinhsl   ... no
checking for function MA27AD_ in -L/usr/local/lib -lcoinhsl   ... no
configure: error: Provided package HSL is not working or does not contain MA27. See config.log for details on failed checks

解决方法

去到ipopt文件夹下configure文件中找到

hsl_pcfiles="coinhsl"

将其改为:

hsl_pcfiles="libcoinhsl"

2 编译control 时,control_node.cpp文件中FLAGS_max_log_size = 10;会报错,将其注释

参考文献

1 Linux | Ubuntu 20.04安装ipopt和cppAD | 安装全流程+报错解决

2 Provided package HSL is not working or does not contain MA27. See config.log for details ...

  • 44
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值