Acados介绍
Acados是一个开源的求解器库,主要用于解决控制理论中的动态优化问题。它以C++和Python两种语言实现,并通过CasADi、Eigen等高效的数值计算库进行支持。Acados的核心是其内建的高速优化引擎,能够处理非线性动态系统的模型预测控制(MPC)和其他优化任务。简单来说Acados通过python和C++对CasADi进行了封装,能够让我们更简单的实现最优问题的求解。
安装教程
Acados官方Wiki提供了安装方法,这里我们以官方Wiki为主进行展开
首先,拉取Acados官方的仓库
git clone https://github.com/acados/acados.git
拉取子模块的内容
cd acados
git submodule update --recursive --init
编译工程
mkdir -p build
cd build
cmake -DACADOS_WITH_QPOASES=ON ..
# add more optional arguments e.g. -DACADOS_WITH_OSQP=OFF/ON -DACADOS_INSTALL_DIR=<path_to_acados_installation_folder> above
make install -j4
一般来说我们需要在python中编写模型,所以还需要在python环境中安装acados接口
pip install -e <acados_root>/interfaces/acados_template
这里<acados_root>要替换成acados仓库的目录
为了让python解释器可以找到刚刚编译出来的库文件,我们需要将acaods的库地址加入动态链接库的环境变量
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"<acados_root>/lib"
export ACADOS_SOURCE_DIR="<acados_root>"
在终端中输入上述两行代码,可以使该终端正确的索引acados的动态库,但是每次新开一个终端都需要输入很麻烦,这里建议将上述两行代码加入bashrc中,这样即可每次打开终端时自动添加这两个地址
vim ~/.bashrc #如果你使用zsh那就使用 vim ~/.zshrc
然后在文件最低端输入上面两行代码,为了保证bashrc的可读性建议添加注释如下
# Acados
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"<acados_root>/lib"
export ACADOS_SOURCE_DIR="<acados_root>"
测试
现在可以通过python运行样例脚本来检测我们的安装是否正确
python <acados_root>/examples/acados_python/getting_started/minimal_example_ocp.py
如果运行成功会显示求解的结果,并生成对应的C文件
Comments NOTHING