背景:由于我最近在进行一个基于机器人动力学的参数整体优化,因此对matlab的optimization toolbox简单的用一个小模块进行了简单的摸索。
版本:matlab 2021a 第一步应该查看是否有该工具箱,没有请自行安装,查询方式:命令行窗口输入ver
看图说话
首先可以看到的是这是个实时编辑器,基本流程参考matlab优化工具箱OptimizationToolbox使用方法_逐梦荷里活的博客-CSDN博客。我在这里仅针对我的需要进行一点细节的注意补充
优化目标:一个连杆系统的运动学建模和静力学解算,所以函数ffunction_efficent3里面是非线性的很复杂的一个函数,输出则是我定义的一个运动距离和输出力的比值,以此为优化目标
优化参数:连杆OA长度,连杆AB长度,初始角度
相对于基本流程,不一样的地方如下:
1、前四行的上下界不一样
2、起始点不一样
3、绘图参数不一样
效果还可以,几个不同的起始点都收敛到了同一个值,但是有以下的几个注意事项
1、目标函数的选择,新建后不要关,这个时候才能下拉选
2、要简单的运行一次,约束选择一般在工作区选择,工作区空的话选择不了
3、边界约束要注意,我之前把边界外的设置为1000(大值),结果有一部分初始点收敛在了1000上
作用:可以对自己敲出来的复杂的函数的输入参数直接进行优化,不需要进行格式的修改,至于优化的方式我还没仔细看,看完会补充