【参考教程】

  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粒子群优化法等。它们适应性强,只评价设计点而不计算任何函数的梯度,具有全局性,能求解全局最优解,避免了集中在局部区域的搜索,缺点是计算量比较大。

Mechanical Design Optimization with Abaqus and Isight的更多相关文章

  1. <2013 12 17> 专业技能

    Specialties: • Mechanical design modeling using Pro/ENGINEER and SolidWorks.• Robot control, path pl ...

  2. Open CASCADE Technology(OCCT)概述

    OCCT模块结构图 基础类: Foundation Classes module underlies all other OCCT classes; 模型数据: Modeling Data modul ...

  3. mit课程ocw-business

    https://ocw.mit.edu/courses/find-by-topic/#cat=business Course # Course Title Level 1.011 Project Ev ...

  4. 斯坦福CS课程列表

    http://exploredegrees.stanford.edu/coursedescriptions/cs/ CS 101. Introduction to Computing Principl ...

  5. CAD简介

    Computer-aided design (CAD) is the use of computers (or workstations) to aid in the creation, modifi ...

  6. 【转】Install MATLAB 2013a on CentOS 6.4 x64 with mode silent

    首先要下载安装光盘. Matlab801_MacUnix.iso [root@db-172-16-3-150 mnt]# md5sum /ssd1/Matlab801_MacUnix.iso  0d3 ...

  7. [zz] MATLAB工具箱介绍

    http://blog.sina.com.cn/s/blog_57235cc701012kfb.html Toolbox工具箱 序号 工具箱 备注   数学.统计与优化   1 Symbolic Ma ...

  8. Frames of Reference参考框架

    Frames of Reference参考框架 When describing the position and orientation of something (for example, your ...

  9. Matlab 工具箱介绍

    Toolbox工具箱 序号 工具箱 备注 数学.统计与优化 1 Symbolic Math Toolbox 符号数学工具箱 2 Partial Differential Euqation Toolbo ...

随机推荐

  1. java编程思想第四版第五章总结

    1. 构造器 构造器的一个重要的作用: 保证对象被使用之前初始化了. 构造器是一种特殊类型的方法, 因为他没有返回值.这与返回值为空(void)明显不同.对于空返回值,尽管方法本身不会自动返回什么, ...

  2. TreeMap树映射取出对象的方式

    1.直接获取该TreeMap集合中的关系:entrySet() Map接口中的方法,返回值类型是该集合中的各个关系:返回值类型是:Set类型的Map.EntrySet类型:然后在通过Set集合中特有的 ...

  3. python:沙盒(virtualenv)

    当电脑需要使用多个版本的python时,可以使用沙盒:或者使用docker: virtualenv是Python自带的,通过pip安装的 [root@centos7 public]# cd jinji ...

  4. 基于 HTML5 WebGL 和 VR 技术的 3D 机房数据中心可视化

    前言 在 3D 机房数据中心可视化应用中,随着视频监控联网系统的不断普及和发展, 网络摄像机更多的应用于监控系统中,尤其是高清时代的来临,更加快了网络摄像机的发展和应用. 在监控摄像机数量的不断庞大的 ...

  5. (四十二)golang--管道

    假设我们现在有这么一个需求: 计算1-200之间各个数的阶乘,并将每个结果保存在mao中,最终显示出来,要求使用goroutime. 分析: (1)使用goroutime完成,效率高,但是会出现并发/ ...

  6. 2019-10-30,Hack The Box 获取邀请码

    一.快速获取邀请码方法 1,使用curl请求下面的地址curl -X POST https://www.hackthebox.eu/api/invite/generate 2,在返回结果的code部分 ...

  7. 结合开源软件kaptcha讲解登录验证码功能的实现

    一.验证码生成之配置使用kaptcha 使用google开源的验证码实现类库kaptcha,通过maven坐标引入 <dependency> <groupId>com.gith ...

  8. java8 Optional优雅非空判断

    java8 Optional优雅非空判断 import java.util.ArrayList;import java.util.List;import java.util.Optional; pub ...

  9. HTML字符实体(Character Entities)与 转义字符串(Escape Sequence)(转)

    为什么要用转义字符串?HTML中<,>,&等有特殊含义(<,>,用于链接签,&用于转义),不能直接使用.这些符号是不显示在我们最终看到的网页里的,那如果我们希望 ...

  10. 公众号在线Markdown编辑器,支持公式

    公众号排版不支持Markdown,用自带的富文本编辑器排版出来的格式十分丑陋,尤其是公式,竟然连"Mathjax"都不支持,但好在支持"带格式复制",也即可以将 ...