使用原因
我想在Windows系统的python中实现非线性控制;主流方法都是在matlab或者Linux中使用,采用acado、acados、casadi、CVXPY等。
我是个人目前习惯于使用Windows,或许后面也有人想在Windows用acado,也便于自己后续查找,在此记录一下。
主要参考文献及链接
①REAL-TIME MODEL PREDICTIVE CONTROL (MPC) WITH ACADO AND PYTHON
附上链接:Real-time Model Predictive Control (MPC) with ACADO and Python | Work-is-Playing
②GitHub - force-h2020/acadopy: Python bindings for the acado library
③没使用Acados的原因:Acados on windows with python interface - #2 by FreyJo - User Questions - acados forum没使用Acados的原因:没使用Acados的原因:Acados on windows with python interface - #2 by FreyJo - User Questions - acados forumAcados on windows with python interface - #2 by FreyJo - User Questions - acados forum
备注
如果你是Linux环境,直接参考①就行,我主要也是根据①在Windows中做配置。
然后如果有需要,就接着往下看,正文请配合参考①食用。
正文
首先,进行acado的安装,安装方法如下。
我在Git bash中下载完ACADO 安装包后,在VS2019 的命令行完成后续命令。(tips:进行后续工作前,要先用参考①中的simple_mpc.cpp替换本地ACADO 安装包中对应位置的文件)
然后最后一步make会报错,因为是在window下采用vs编译,可以在文件夹中找到sln文件,打开,在解决方案资源管理器中将getting_started_simple_mpc设为启动项目,点击调试进行编译运行;然后acado就安装好了, the ACADO executable will generate the MPC controller C code for your MPC problem。
第二步,进行样例的配置,见样例的setup.py文件,如下:
这里就按步骤就好了,我已经修改了它原有注释不太对的地方。
最后运行代码model_predictive_control2.py,大功告成。