【小项目】Isight&Abaqus仿真优化实例:Mechanical Design Optimization for Robot Legs with Abaqus and Isight

【参考教程】

  1. Abaqus Isight - Optimization of a Pump Support https://www.youtube.com/watch?v=xCmVjNXlczM

2.【YouTube转载】Isight参数优化(士盟科技出品)(中文讲解) https://www.bilibili.com/video/av18312751/

一、项目背景

本项目为“ME327机械优化设计方法”课程项目。

如何合理利用更轻更强的材料,是机器人结构设计值得深究的问题。在驱动的功率一定的情况下,更轻的机械结构意味着电机承受更小的负载,更强的机械性能意味着机器人可以拥有更大的体格。本项目意在探究使用碳纤维材料的机器人腿部结构设计与优化方法,并结合Abaqus和Isight软件,通过计算和仿真来得到初步的设计方案。

如下图所示的六足蜘蛛机器人Mat6有6条腿,每条腿有两个关节。现在计划将每条小腿(即最后一个link)改用碳纤维材料以减轻机器人的重量。

二、问题描述

寻找最优的小腿形状,使得其质量最轻,刚度最大。对这个问题进行简化,假设小腿模型由一个半径待定的圆沿着某条曲线扫掠获得。输入参数是曲线的形状和扫掠圆的半径,然后在模型上铺设碳纤维复合材料,并设定约束,进行仿真,输出参数是小腿的体积和最大形变量。优化这两个目标,找到最好的小腿模型设计方案。

三、用Abaqus完成复合材料的仿真分析

参考:Abaqus tutorials for beginners - Hollow Composite pipe Analysis, URL: https://www.youtube.com/watch?v=xnEi6kBMGCU

1. 打开Abaqus2017

选择:部件-创建部件-三维-可变形-壳-扫掠,进入草图截面,绘制小腿轴线。这里我将小腿曲线简化为两两相切的一段直线和三段圆弧构成的曲线,并标注了尺寸。注意,本Abaqus工程采用SI单位制。
小腿的垂直高度为0.3m为固定值。

2. 绘制扫掠圆,设半径为0.033m。扫掠完成建模。

3. 进入属性,创建材料。

命名为:Unidirectional Carbon Fiber,选择密度,设置为1760(kg/m3),设置弹性材料行为,类型:工程参数。填入下表所示数据。单位:SI

碳纤维材料的参数来源:Liu T J C, Wu H C. Fiber direction and stacking sequence design for bicycle frame made of carbon/epoxy composite laminate[J]. Materials & Design, 2010, 31(4): 1971-1980.

4. 创建铺层

点击创建复合层,建立沿着曲面内部为法线方向、沿着曲面母线为主轴方向的坐标系。层方向定义为离散,法线轴与主轴均自定义。

选择区域、材料,设置厚度与铺层材料朝向。如下图所示:


在Ply Stack Plot视图中检查,效果如下:

5. 进入装配,选择创建实例从部件-实例类型非独立

6. 创建分析步,在场输出请求中多勾选体积输出(SVOL)

7. 创建载荷和边界条件

假设腿部与地面的摩擦力足够大而不会产生滑移,简化为固定约束。腿的另一侧承受身体的1/6重量,约35N。如下图所示:

8. 创建网格

对象选择部件,设置网格参数如下


9. 开始仿真分析

点击作业,创建一个作业,并在作业管理器中提交运行,运行结果如下图

从图中可以看到最大的变形量,我以这个指标作为刚度的优化指标。

至此,Abaqus的仿真结束。仿真文件为xxx.cae,输出结果文件为xxx.odb

四、利用Isight结合Abaqus的仿真结果进行结构优化设计

1. Isight简介

传统的设计通常是采用试算法,即在设计时根据要求,参考一些同类产品设计的成功经验,凭借一定的理论判断来选定设计参数, 然后进行校核计算,检验其是否符合要求,不满意则调整设计参数再校核,如此反复多次直到满足设计要求为止。传统的算法已经不能满足高效、优质的设计生产任务要求,需要一种新的方法来适应现代化的高速发展。ISIGHT通过一种搭积木的方式快速集成和耦合各种仿真软件,将所有设计流程组织到一个统一、有机和逻辑的框架中,自动运行仿真软件,并自动重启设计流程,从而消除了传统设计流程中的"瓶颈",使整个设计流程实现全数字化和全自动化。所以ISIGHT是一个“软件机器人”,可以在不用人工干预的情况下不断的调用相应的工程计算软件进行计算。在进行数值分析的时候,可以通过修改模拟计算模块的输入文件来完成模型的修改。

2. 数值优化方法

通常的工程优化问题具有非线性、连续的特点,数值优化是解决这类问题的理想方法。数值优化算法能够利用函数的导数、梯度等数学特征,实现高效的优化。能有效探索初始设计点周围局部区域,如果设计空间是连续、单峰的形态,能够沿最快下降方向快速探索,特定条件下,能从数学上证明其收敛性。

Isight的optimization模块里集成了许多数值优化方法,如MMFD(修正可行方向法),LSGRG(广义梯度下降法),NLPQL(序列二次规划法)等。

参考资料:Optimization in Practice with MATLAB®: For Engineering Students and Professionals https://b-ok.cc/book/2553839/2b6f32

3. 建立Isight工程

打开Isight2017,在application components里找到abaqus,并将task改为optimization,如下图。

点开abaqus,在input选项卡中选择xxx.cae文件,选择read file,选取需要的优化输入变量。

在output选项卡中选择xxx.odb文件,选择read file,选取需要提取的输出变量。

选择OK,打开optimization,选择优化方法,设置优化参数。右侧是优化方法的描述。

在variable选项卡里设置变量的取值范围。在constraints里设置优化变量的取值范围,在objectives里设置优化方向:mimimize,点击OK退出设置。

点击run开始运算。经过25步迭代后收敛,结果如下图。可以看到,变形量下降了0.038%,体积下降了1.2%

在data analysis等选项卡中有许多对本次优化的数据处理图。如correlation table

4. 全局优化探索

虽然通过上面的步骤达到了一个最优解,但是各参数的变化值不大,可能陷入了局部最优解,这也是基于梯度下降的算法的通病。工程中的优化问题往往比较复杂,其目标函数可能存在多峰性、非线性、非连续、不可微函数;设计变量和约束函数可能是线性、非线性、连续或离散变量集。这些复杂的情况,使得没有任何导数、梯度信息可供利用,传统的数值优化和直接搜索方法无法找到全局优化解。因此,人们开发出全局探索法,为解决这类复杂优化问题提供了新的思路和手段。

Isight中提供了许多全局搜索算法,如MIGA多岛遗传算法,Pointer自动优化专家算法,Evol进化算法,ASA自适应模拟退火算法,PSO粒子群优化法等。它们适应性强,只评价设计点而不计算任何函数的梯度,具有全局性,能求解全局最优解,避免了集中在局部区域的搜索,缺点是计算量比较大。


后面其实还有的,但我不想写了嘻嘻,到此为止了

posted @ 2019-12-17 16:24  zhongyuliang  阅读(6468)  评论(0编辑  收藏  举报