【泡泡来稿】基于 Carsim 2016 和 Simulink的无人车运动控制联合仿真(二)

2019 年 4 月 28 日 泡泡机器人SLAM

前言:

该节主要说明OPTI非线性求解工具箱的安装与使用


1、简介

OPTI是一个开源的MATLAB优化工具箱,相比MATLAB自带非线性优化求解函数fmincon,该优化器更加人性化,同时也有丰富的求解方法可供选择,后续的MPC求解将使用该工具箱完成求解。


2、下载链接链接

https://link.zhihu.com/?target=https%3A//www.inverseproblem.co.nz/OPTI/index.php/DL/DownloadOPTI

GitHub源码下载链接

https://link.zhihu.com/?target=https%3A//github.com/jonathancurrie/OPTI


3、可供选择的求解器

线性规划 CLP,CSDP,DSDP,GLPK,LP_SOLVE,OOQP,SCIP

混合整数线性规划 CBC,GLPK,LP_SOLVE,SCIP

二次规划 CLP,OOQP,SCIP

混合整数二次规划 SCIP

二次约束二次规划 SCIP

混合整数二次约束二次规划 SCIP

半定规划 CSDP,DSDP

非线性方程组 HYBRJ,LM_DER,MKLTRNLS,NL2SOL

非线性最小二乘 LEVMAR,LM_DER,MKLTRNLS,NL2SOL

非线性规划 FILTERSD,IPOPT,L-BFGS-B,M1QN3,NLOPT,SCIP

全局非线性规划 NLOPT,NOMAD,PSWARM,SCIP

混合整数非线性规划 BONMIN,NOMAD,SCIP


4、安装过程

a.使用2中的链接完成opti的源码下载,并完成解压,放置在合适的文件夹

b.打开MATLAB,进入到文件夹所在路径

c.点击opti_Install.m文件,并运行

d.按照命令窗口的提示,选择‘Y’完成安装


5、示例

https://link.zhihu.com/?target=https%3A//www.inverseproblem.co.nz/OPTI/index.php/Examples/Examples


带约束的非线性方程组求解

MATLAB代码:

% Objective (fun(x))

fun = @(x) x(1)*x(4)*sum(x(1:3)) + x(3);

% Row Nonlinear Constraints 

nlcon = @(x) [ prod(x); sum(x.^2) ];

cl = [25;40];

cu = [Inf;40]; 

% Bounds (lb <= x <= ub)

lb = ones(4,1);

ub = 5*ones(4,1);         

% 初始值设置

x0 = [1 5 5 1]';

% Build OPTI 

ObjectOpt = opti('fun',fun,'nl',nlcon,cl,cu,'bounds',lb,ub)

% Solve Problem

[x,fval] = solve(Opt,x0)


6、optiset项的相关设置

各个参数的具体设置可以查看该链接

https://link.zhihu.com/?target=https%3A//www.inverseproblem.co.nz/OPTI/index.php/Advanced/Opts%23sOpts

欢迎来到泡泡论坛,这里有大牛为你解答关于SLAM的任何疑惑。

有想问的问题,或者想刷帖回答问题,泡泡论坛欢迎你!

泡泡网站:www.paopaorobot.org

泡泡论坛:http://paopaorobot.org/bbs/


泡泡机器人SLAM的原创内容均由泡泡机器人的成员花费大量心血制作而成,希望大家珍惜我们的劳动成果,转载请务必注明出自【泡泡机器人SLAM】微信公众号,否则侵权必究!同时,我们也欢迎各位转载到自己的朋友圈,让更多的人能进入到SLAM这个领域中,让我们共同为推进中国的SLAM事业而努力!

商业合作及转载请联系liufuqiang_robot@hotmail.com

登录查看更多
4

相关内容

【ICML2020】用于强化学习的对比无监督表示嵌入
专知会员服务
28+阅读 · 2020年7月6日
【UCLA】基于深度神经网络的工业大模型预测控制,36页ppt
基于视觉的三维重建关键技术研究综述
专知会员服务
164+阅读 · 2020年5月1日
【SIGIR2020】学习词项区分性,Learning Term Discrimination
专知会员服务
16+阅读 · 2020年4月28日
【干货书】数值计算C编程,319页pdf,Numerical C
专知会员服务
69+阅读 · 2020年4月7日
【泡泡机器人公开课】第一O五课:MSCKF介绍-邱笑晨
泡泡机器人SLAM
38+阅读 · 2019年6月29日
基于 Carsim 2016 和 Simulink的无人车运动控制联合仿真(四)
基于 Carsim 2016 和 Simulink的无人车运动控制联合仿真(三)
【泡泡读者来稿】VINS代码推导及论文解析(五)
泡泡机器人SLAM
29+阅读 · 2019年3月19日
【泡泡一分钟】基于运动估计的激光雷达和相机标定方法
泡泡机器人SLAM
25+阅读 · 2019年1月17日
Real-time Scalable Dense Surfel Mapping
Arxiv
5+阅读 · 2019年9月10日
Arxiv
8+阅读 · 2018年4月8日
Arxiv
3+阅读 · 2018年3月13日
VIP会员
Top
微信扫码咨询专知VIP会员