matlab(四连杆优化设计)
第三章 四连杆之MATLAB程式
第三章四連桿之MATLAB程式第三章中之四連桿分析可以參考相關資料。
本節則針對四連桿之動作程式加以說明。
目前所設計之程式有f4bar.m、drawlinks.m、fb_angle_limits.m、drawlimits.m 等四個程式,茲分別說明如下:圖一、四連桿之關係位置及各桿名稱一、f4bar函數:f4bar函數之呼叫格式如下:function [values,form] = f4bar(r,theta1,theta2,td2,tdd2,sigma,driver)輸入變數:.r(1:4) = 各桿之長度,r(1)為固定桿,其餘分別為曲桿、結合桿及被動桿。
.theta1 = 第一桿之水平角,或為四連桿之架構角,以角度表示。
.theta2 = 驅動桿之水平夾角,以角度表示。
一般為曲桿角,但若為結合桿驅動,則為結合桿之水平夾角。
.td2 = 驅動桿(第二桿或第三桿)之角速度(rad/sec)。
.tdd2 = 驅動桿(第二桿或第三桿)之角加速度(rad/sec^2)。
.sigma = +1 or -1. 組合模式,負值表示閉合型,正值為分支型,但有時需視實際情況而定。
.driver = 0 (驅動桿為第二桿); 1 (驅動桿為第三桿)輸出變數:.form = 組合狀態,0 :表示無法組合;1:可以正確組合.values = 輸出矩陣,其大小為 4 X 7,各行之資料分配如下:其中第一行之連桿位置向量,屬於單桿的位置向量。
第二行為各桿之水平夾角,第三及第四行為各桿之角度速度及角加速度。
第五至七行則為P點與Q點之速度與加速度量,第五行為向量,第六行為絕對量,第七行為夾角。
值得一提的是第一行、三行、四行及五行之向量表示法屬於複數之型式。
故若要得到其絕對值僅需在MATLAB指令檔中,以abs()這一個函數指令即可求得,而以函數angle()則可求得其夾角,雖然第二行與第七行之輸出亦有相對應之夾角。
例一:為第二桿為驅動桿[val,form]=f4bar([3 2 4 2],0,60,10,0,-1,0)val = Columns 1 through 33 0 01 + 1.7321i 60 103.8682 - 1.0182i -14.7465.40781.8682 + 0.71389i 20.913 16.549 Columns 4 through 60 1 + 1.7321i 20 1.8682 + 0.71389i 2-127.58 173.21 - 100i 200-236.27 364.19 - 953.09i 1020.3 Column 76020.913-30-69.087form = 1 (表示可以組合)本例中,有框線者表示其為輸入值。
基于MATLAB的平面四连杆机构优化设计
基于 MATLAB 的四连杆机构的优化设计
陈伟斌
(汕头大学,工学院)
[摘要] 对平面四连杆机构进行数学建模,要求实现预期的传递函数运动轨迹。利用 MATLAB 强大的运算功能,快速精确地计 算出优化结果。再利用 MATLAB 编写程序检验得出的运动轨迹是否达到期望目标。 [关键词] 连杆、轨迹、优化设计、MATLAB。
Optimized design for four bar linkage mechanism of crushing machine based on MATLAB
Terry Chen (Shantou University, Engineering College)
[Abstract] Analyze the model of four bar linkage mechanism and try to satisfy the movement locus that we excepted. With the strong functions of MATLAB, we can calculate and get the best result quickly. Then write a program to simulate the movement locus of the output and examine whether it satisfy our requirement. [Key Words] Linkage, Movement locus , Optimized Design, MATLAB
l 2, l 3 两 个 独 立 变 量 。 设
l 2 x1; l 3 x 2; 可以得出本题是二维优化问题。
有志,有恒,有识,有为
基于matlab的平面四连杆机构设计以及该机构的运动分析
基于matlab 的平面四连杆机构设计以及该机构的运动仿真分析摘要四连杆机构因其结构方便灵活,能够传递动力并实现多种运动形式而被广泛应用于各个领域,因此对其进行运动分析具有重要的意义。
传统的分析方法主要应用几何综合法和解析综合法,几何综合法简单直观,但是精确度较低;解析法精确度较高,但是计算工作量大。
随着计算机辅助数值解法的发展,特别是MATLAB 软件的引入,解析法已经得到了广泛的应用。
对于四连杆的运动分析,若应用MATLAB 则需要大量的编程,因此我们引入proe 软件,我们不仅可以在此软件中建立实物图,而且还可以对其进行运动仿真并对其运动分析。
在设计四连杆时,我们利用解析综合法建立数学模型,再根据数学模型在MATLAB 中编程可以求得其他杆件的长度。
针对范例中所求得的各连杆的长度,我们在proe 软件中画出其三维图(如图4)并在proe软件中进行仿真分析得出B,C的角加速度的变化,从而得到B,C两接触处所受到的力是成周期性变化的,可以看出B,C两点处极易疲劳断裂,针对B,C两点处的疲劳断裂,我们提出了在设计四连杆中的一些建议。
关键字:解析法MATLAB软件proe软件运动仿真建立用解析法设计平面四杆机构模型对于问题中所给出的连架杆AB的三个位置与连架杆CD的三个位置相对应,即三组对应位置为: f 1」2卜2,「3卜3,其中他们对应的值分别为:135 ,112 ,90 ,82 ,45 ,52,为了便于写代数式,可作出AB与CD对应的关系,其图如下:图一2 AB与CD三个位置对应的关系通过上图我们可以通过建立平面直角坐标系并利用解析法来求解,其直角坐标系图如下:图一3平面机构直角坐标系通过建立直角坐标系OXY,如上图所示,其中:0与°为AB杆与CD杆的初始角,各杆件的长度分别用矢量a,b,c,d,表示,将各矢量分别在X轴与丫轴上投影的方程为'a* cos©) +b* cos®) = d + c* cos仲)a* si n(a pH b* si n(日)=c* si n仲)在上述的方程中我们可以消除二,从而可以得到:与•之间的关系如下:2 2 2 2(a c d -b ) 2cd cos( ) = 2accos© ■■') 2abcos(v) (1)为便于化简以及matlab编程我们可以令:2丄2丄』2 ,2a +c +d -bH 1 :2acdadH3c通过将(2)式代入(1)式中则可以化简得到如下等式:H 1 H 2 cos( ) =cos(= ?) - H3cos(:) (3)我们可以通过(3)式将两连架杆对应的位置带入(3)式中, 我们可以得到如下方程:H 1H 2 cos(- •!)= cos( \ -,!\)H3 cos( \)H 4 H 2 COS(- 2)= COS(;:22)H 3cos(2)(4)联立(4)方程组我们可以求得H I,H2,H3,再根据(2)中的条件H1 H2 cosC 3)=cos( 3 —3) H3COS( 3)以及所给定的机架d的长度,我们可以求出其它杆件的长度为:j 2 2 2 b 二 a c d - 2acH 1 四连杆设计范例:在日常生活中,我们经常看到消防门总能自动关上, 其实它是利用四连杆机构与弹簧组成的。
基于Matlab软件的挑梁四连杆机构优化设计 (1)
基于Matlab软件的挑梁四连杆机构优化设计 (1)第31卷第09期2010年09月煤矿机械V01.3IN。
09SeI,.2010CoalMineMachinery基于Matlab软件的挑梁四连杆机构优化设计孙鹏飞.孟海岗.孙博,田家宝(三一重型装备有限公司支护研究院,沈阳110027)摘要:利用解析法设计四连杆机构,借助现代计算机软件强大的运算功能.可以快速实现四连杆机构相关参数的确定.简化设计过程。
简要介绍了基于Matlab软件液压支架挑梁四连杆设计方法,实例表明,应用此方法可缩短设计周期.并达到结构优化的目的。
关键词:液压支架:四连杆;优化设计DesignofFour-barSUN、中图分类号:THl22文献标志码:A文章编号:1003—0794(2010)09—0014—03OptimalMechanismsBasedonMatlabSoftwarePeng-Fei,MENGHai-gang,SUNBo,TIANJia-bao(DepartmentofHydraulicSupport,SanyHeavyEquipmentCo.,Ltd.,Shenyangl10027,China)Abstract:Four—barmechanismsparameterscanquicklyconfirmbymodemcomputer’Sstrongfunctiontoshortendesign’Sprocess.Afour-barmechanismsoptimaldesign’Smethodwasintroduced,theapplicationresultshowsthatthemethodcanreducedesign’Stimeandobtainoptimaldesign’Saim.Keywords:hydraulicsupport;four-barmechanisms;optimaldesign11.1设计原理几何分析为挑梁与水平方向夹角,妒。
基于MATLAB给定连杆预定位置的四杆机构设计
第14卷第2期2019年6月Vol.14No.2Jun.2019陕西工业职业技术学院学报Journal of Shaanxi Polytechnic Institute基于MATLAB给定连杆预定位置的四杆机构设计韩二豹(陕西工业职业技术学院土木工程学院,陕西咸阳712000)摘要:连杆机构是一种典型的机械机构,运动设计是一个比较复杂和困难的问题,给定连杆预定位置的四杆机构的设计常用的设计方法主要为解析法。
本文以MATLAB语言为基础,利用计算机对给定连杆预定位置的四杆机构进行设计。
结果表明,此方法设计过程简洁,结果合理,准确,效率高。
关键词:四杆机构;MATLAB;预定位置中图分类号:TB121文献标识码:A文章编号=9459-2019(2)-0006-03A MATLAB-based Design of Four-bar Linkage with PresetPosition of Connecting RodHan Erbao(School of Civil Engineering,Shaanxi Polytechnic Institute,Xianyang Shaanxi712000,China)Abstract:Connecting rod is a typical mechanical linkage and its motion design is complex and ually, analytical method is the main method used in the design of four一bar linkage with preset position of connecting rod. In the study,a MATLAB一based design of four bar mechanism was made to link the preset position given by com・puter.The results show that the design process is simple Key words:Four bar linkage;MATLAB;Preset positiono引言MATLAB是一种高级技术语言和发展环境,特提供了一个人机交互的系统环境,并以矩阵作为基础的数据结构,节省编程时间,语法简单、容易掌握、调试方便,可以设置调试断点、快速查找程序错误等优点,可以将使用者从繁重重复的计算中解脱出来,已经被大家认可和广泛使用,充分展现其高效、直观、简单的特点⑷。
基于MATLAB的液压支架四连杆机构优化设计
l k g t cu efo o t z d d sg tte n e w n w se — aro b t tT n g t e r a e w i h fc n e to o . i a e sr t r r m p i e e in me h e d o s i g o t itd p i r i Cn e a d mih c e s e g t o n cin rd n u mi f f d o 1 i o t z d d sg y tm u si td a t ca e in a d l r ey s o e e e in p r d a d i rv d d sg r cso . ' s pi e e in s s h mi e s b t u e ri i d sg n a g l h  ̄ n d d s e o n mp o e e in p e i n t i f l g i i Ke r s p w r d s p ot o rb rl k g t cu e p i z d d sg y wo d : o e e u p r ;f u — a i a e s u t r ;o t n r mie e in;
Op i ie De i n o ur ba nk g t u t e o we e up r s d n Ⅳ【 tm z d sg f r Fo - r Li a e S r c ur fPo r d S po tBa e o ATLAB
WANG Ja — u in g o
量。液压 支架 四连杆机构优化设计 系统代替 了人工设计 ,大大缩短 了设计周期杆机构 ;优化设计 [ 中图分类 号]T 3 54 D5 .1 [ 文献标识码 ]A [ 文章编号] 10 -25 (0 0 207 -3 0 66 2 2 1 )0 - 00 0
运用MATLAB解决四杆机构问题
MATLAB 解题1.设有如图所示四杆机构,其中→R 4为机架(常矢),→R1为主动杆,→R3为从动杆,→R 2为连杆。
设在某一工作位置时各杆的角速度和角加速度分别取如下值:ω1=20 rad/s, ε1= 0;ω2=8.5 rad/s, ε2=-10 rad /s 2;ω3=13 rad/s, ε3=-160rad /s 2.试根据上述要求确定该机构尺寸比。
根据图(2),回路闭合方程可写为:→R 1 +→R 2 +→R 3=-→R 4 回路闭合方程对时间求导一次,利用(6)式,可得: 图2 ω1→R 1 +ω2→R 2 +ω3→R 3 = 0回路闭合方程对时间求导两次,利用(7)式,可得c 1→R 1 + c 2 →R 2 + c 3→R 3 = 0其中 c 1=ε1+j ω12 , c 2=ε2+j ω22, c 3=ε3+j ω32解关于→R 1 ,→R 2 和→R 3的线性方程组:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡→→→001111321321321R R R c c c ωωω→R 4 (13) 可得 →R 1=DDx →R 4, →R 2=DDy →R 4 , →R 3=DDz →R 4注意到上述解中含有相同的分母D,它是一个复数,不妨记为D =k<j α|,被它除的效果是把各杆的长度都缩小k 倍,同时方向都顺时针旋转α角,相当于机构不动,坐标轴逆时针旋转α角。
设计机构时,重要的是机构的形状与尺寸比例。
基于这种考虑,可设→R 4 / D =1,则有→R 1=D x =32320111c c ωω-=1230-j497.3 ; →R 2= D y =311030111c c ωω-=-3200-j1820 ; →R 3= D z =001112121c c ωω-=200+j1955 . 于是:→R 4 = -(→R 1 +→R 2+→R 3) = 1770+j362.3在坐标系上作出上述各杆矢量图,根据各杆矢量图作出机构的闭合矢量图,再根据实际需要选定某一杆长度,其它各杆长度按图比例相似放大。
matlab四连杆机器人轨迹代码
matlab四连杆机器人轨迹代码四连杆机器人是一种常见的机械臂结构,由四个连杆组成,能够进行各种运动和操作。
在机器人控制过程中,轨迹规划是一个重要的任务,它决定了机器人的运动路径和动作。
Matlab是一个功能强大的数学计算软件,它提供了许多工具和函数可以帮助我们实现机器人的轨迹规划。
下面我将介绍如何使用Matlab编写四连杆机器人的轨迹代码。
首先,我们需要定义机器人的几何参数,包括连杆的长度和初始位置。
假设机器人的连杆长度分别为L1、L2、L3、L4,以及初始位置的坐标(x0, y0)。
在Matlab 中,我们可以使用变量来表示这些参数,并进行赋值。
```matlabL1 = ; % 第一根连杆的长度L2 = ; % 第二根连杆的长度L3 = ; % 第三根连杆的长度L4 = ; % 第四根连杆的长度x0 = ; % 初始位置的x坐标y0 = ; % 初始位置的y坐标```接下来,我们可以使用Matlab的函数来计算机器人在不同位置的关节角度。
一个常用的函数是`acos`,它可以计算两个向量之间的夹角。
我们可以根据机器人的几何关系来计算关节角度。
```matlabtheta1 = acos((x^2+y^2+L2^2-L3^2)/(2*L1*sqrt(x^2+y^2))) + atan2(y, x);theta2 = acos((x^2+y^2-L2^2-L3^2)/(2*L2*L3));theta3 = pi - acos((x^2+y^2-L2^2-L3^2)/(2*L2*L3));theta4 = atan2((y-L2*sin(theta2)-L3*sin(theta3)), (x-L2*cos(theta2)-L3*cos(theta3)));```在计算关节角度之后,我们可以使用三次样条插值方法来生成机器人的轨迹。
三次样条插值是一种常用的插值方法,可以根据已知的数据点来生成平滑的曲线。
matlab四连杆机构代码实现
matlab四连杆机构代码实现
下面是一个使用MATLAB实现四连杆机构的简单示例代码:
```matlab
% 定义连杆参数
a = [2 3 2 3]; % 连杆长度
theta = [pi/4 pi/3 pi/2 pi/6]; % 连杆转角
% 计算连杆末端坐标
x = zeros(1,5);
y = zeros(1,5);
for i = 2:5
x(i) = x(i-1) + a(i-1) * cos(theta(i-1));
y(i) = y(i-1) + a(i-1) * sin(theta(i-1));
end
% 绘制机构图像
figure;
hold on;
axis equal;
for i = 1:4
line([x(i) x(i+1)], [y(i) y(i+1)], 'LineWidth', 2);
plot(x(i+1), y(i+1), 'ro', 'MarkerSize', 8);
end
```
在这个例子中,我们使用数组`a`存储了四个连杆的长度,使用数组`theta`存储了四个连杆的转角。
通过循环计算每个连杆末端的坐标,并使用MATLAB的`line`函数和`plot`函数绘制连杆和末端坐标点。
你可以根据实际情况修改连杆长度和转角,然后运行代码来生成相应的机构图像。
希望对你有帮助!。
基于Matlab的空间四连杆转向装置的设计与分析
的机构有 多种 , 常 用 的有 空 间 四杆 机 构 、 凸 轮摇 杆 机 构 和
正 弦机构。而其 中空间四杆机 构凭借 结构紧凑 、 灵 活性 高
且 易 于实 现 复杂 运 动 的 特 点 , 被 应 用 最 为 广 泛 。正 因 为 空
间 四杆机构 灵活性高 , 其 运动特性 更为多变 , 设 计与分 析
难 度较高 。为此 , 本文 力求减少设计 工作量 , 对 空 间 四杆 机 构做 出 一 些 简 化 。 得 到 一 种 新 的设 计 方 法 。
1 空 间 四 连 杆 转 向装 置 设 计
1 . 1 转 向 机 构 的 主 要 类 型 在 某些场合 , 特别是 精密机械 , 对 传 动 精 度 和 调 节 精 度 的要 求 极 高 , 同 时 还 应 便 于 拆 装 和 维 护 。 目前 被 广 泛 应 用 的机构 有凸轮机构 、 正 弦 机 构 和 空 问 四杆 机 构 , 其 中 凸 轮 机 构 最 易 于 实 现 预设 的 复 杂 运 动 ,而 其 机 构 占用 空 间 较大, 一 定 程 度 上 影 响 到 机 构 的极 限 尺 寸 ; 正 弦 机 构 可用 于 实 现 从 动 件 的正 弦 运 动 ,其 对 于 导 轨 安 装 精 度 要 求 较 高, 安 装 调 节 难 度 较 大Ⅲ : R S S R 空 间 四连 杆 机 构 具 有 结 构
4 1 0 1 2 8 )
要: 为 了提 高 空 间 四 连杆 转 向 机 构 的 设 计 精 度 , 设 计 了 RS S R 空 间 四连 杆 转 向装 置 , 并 建 立 了该 装 置 的 数 据 模 型 和 设 计 了 Ma d a b
第三章 四连杆之MATLAB程式讲解
第三章四連桿之MATLAB程式第三章中之四連桿分析可以參考相關資料。
本節則針對四連桿之動作程式加以說明。
目前所設計之程式有f4bar.m、drawlinks.m、fb_angle_limits.m、drawlimits.m 等四個程式,茲分別說明如下:圖一、四連桿之關係位置及各桿名稱一、f4bar函數:f4bar函數之呼叫格式如下:function [values,form] = f4bar(r,theta1,theta2,td2,tdd2,sigma,driver)輸入變數:.r(1:4) = 各桿之長度,r(1)為固定桿,其餘分別為曲桿、結合桿及被動桿。
.theta1 = 第一桿之水平角,或為四連桿之架構角,以角度表示。
.theta2 = 驅動桿之水平夾角,以角度表示。
一般為曲桿角,但若為結合桿驅動,則為結合桿之水平夾角。
.td2 = 驅動桿(第二桿或第三桿)之角速度(rad/sec)。
.tdd2 = 驅動桿(第二桿或第三桿)之角加速度(rad/sec^2)。
.sigma = +1 or -1. 組合模式,負值表示閉合型,正值為分支型,但有時需視實際情況而定。
.driver = 0 (驅動桿為第二桿); 1 (驅動桿為第三桿)輸出變數:.form = 組合狀態,0 :表示無法組合;1:可以正確組合.values = 輸出矩陣,其大小為 4 X 7,各行之資料分配如下:其中第一行之連桿位置向量,屬於單桿的位置向量。
第二行為各桿之水平夾角,第三及第四行為各桿之角度速度及角加速度。
第五至七行則為P點與Q點之速度與加速度量,第五行為向量,第六行為絕對量,第七行為夾角。
值得一提的是第一行、三行、四行及五行之向量表示法屬於複數之型式。
故若要得到其絕對值僅需在MATLAB指令檔中,以abs()這一個函數指令即可求得,而以函數angle()則可求得其夾角,雖然第二行與第七行之輸出亦有相對應之夾角。
例一:為第二桿為驅動桿[val,form]=f4bar([3 2 4 2],0,60,10,0,-1,0)val = Columns 1 through 33 0 01 + 1.7321i 60 103.8682 - 1.0182i -14.7465.40781.8682 + 0.71389i 20.913 16.549 Columns 4 through 60 1 + 1.7321i 20 1.8682 + 0.71389i 2-127.58 173.21 - 100i 200-236.27 364.19 - 953.09i 1020.3 Column 76020.913-30-69.087form = 1 (表示可以組合)本例中,有框線者表示其為輸入值。
基于Matlab的四杆机构优化设计简介
基于Matlab的四杆机构优化设计简介
李建霞;王良才
【期刊名称】《机电产品开发与创新》
【年(卷),期】2010(023)001
【摘要】介绍了Matlab优化工具箱的使用方法和在机械优化设计中的应用.通过分析,建立了四杆机构优化设计的数学模型,并用Matlab优化工具箱实现了四杆机构优化设计,提出了MATLAB进行机械优化设计的一般方法和步骤.
【总页数】2页(P88-89)
【作者】李建霞;王良才
【作者单位】空军第一航空学院,河南,信阳,464000;空军第一航空学院,河南,信阳,464000
【正文语种】中文
【中图分类】TP312
【相关文献】
1.基于MATLAB工具箱四杆机构优化设计 [J], 杨林光
2.基于MATLAB和Pro/E的四杆机构多目标优化设计 [J], 吴义成;吴玉国
3.基于MATLAB与ADAMS的四杆机构优化设计与仿真 [J], 陈晃;胡元洲;成相宜
4.基于MATLAB给定连杆预定位置的四杆机构设计 [J], 韩二豹[1]
5.基于MATLAB的四杆机构优化设计及仿真 [J], 刘菊蓉;吴金强;王旭飞;穆塔里夫因版权原因,仅展示原文概要,查看原文内容请购买。
用matlab分析四杆机构
⽤matlab分析四杆机构⾸先创建函数FoutBarPosition,函数fsolve通过他确定。
function t=fourbarposition(th,th2,L2,L3,L4,L1)t=[L2*cos(th2)+L3*cos(th(1))-L4*cos(th(2))-L1;…L2*sin(th2)+L3*sin(th(1))-L4*sin(th(2))];主程序如下:disp ' * * * * * * 平⾯四杆机构的运动分析* * * * * *'L1=304.8;L2=101.6;L3=254.0;L4=177.8; %给定已知量,各杆长L1,L2,L3,L4th2=[0:1/6:2]*pi; %曲柄输⼊⾓度从0⾄360度,步长为pi/6th34=zeros(length(th2),2); %建⽴⼀个N⾏2列的零矩阵,第⼀列存放options=optimset('display','off'); %θ_3,第⼆列存放θ_3 for m=1:length(th2) %建⽴for循环,求解θ_3,θ_4th34(m,:)=fsolve('fourbarposition',[1 1],…%调⽤fsove函数求解关于θ_3,θ_4options,th2(m),L2,L3,L4,L1); %的⾮线性超越⽅程,结果保存在th34中endy=L2*sin(th2)+L3*sin(th34(:,1)'); %连杆3的D端点Y坐标值x=L2*cos(th2)+L3*cos(th34(:,1)'); %连杆3的D端点X坐标值xx=[L2*cos(th2)]; %连杆3的C端点X坐标值yy=[L2*sin(th2)]; %连杆3的C端点Y坐标值figure(1)plot([x;xx],[y;yy],'k',[0 L1],[0 0],…%绘制连杆3的⼏个位置点'k--^',x,y,'ko',xx,yy,'ks')title('连杆3的⼏个位置点')xlabel('⽔平⽅向')ylabel('垂直⽅向')axis equal %XY坐标均衡th2=[0:2/72:2]*pi; %重新细分曲柄输⼊⾓度θ_2,步长为5度th34=zeros(length(th2),2);options=optimset('display','off');for m=1:length(th2)th34(m,:)=fsolve('fourbarposition',[1 1],…options,th2(m),L2,L3,L4,L1);endfigure(2)plot(th2*180/pi,th34(:,1),th2*180/pi,th34(:,2)) %绘制连杆3的⾓位移关于曲柄2的⾓位移图plot(th2*180/pi,th34(:,1)*180/pi,…th2*180/pi,th34(:,2)*180/pi) %绘制摇杆4的⾓位移关于曲柄2的⾓位移图axis([0 360 0 170]) %确定XY边界值grid %图形加⽹格xlabel('主动件转⾓\theta_2(度)')ylabel('从动件⾓位移(度)')title('⾓位移线图')text(120,120,'摇杆4⾓位移')text(150,40,'连杆3⾓位移')w2=250; %设定曲柄⾓速度for i=1:length(th2)A=[-L3*sin(th34(i,1)) L4*sin(th34(i,2));…L3*cos(th34(i,1)) -L4*cos(th34(i,2))];B=[w2*L2*sin(th2(i)); -w2*L2*cos(th2(i))];w=inv(A)*B;w3(i)=w(1);w4(i)=w(2);endfigure(3)plot(th2*180/pi,w3,th2*180/pi,w4); %绘制⾓速度线图axis([0 360 -175 200])text(50,160,'摇杆4⾓速度(\omega_4)')text(220,130,'连杆3⾓速度(\omega_3)')gridxlabel('主动件转⾓\theta_2(度)')ylabel('从动件⾓速度(rad\cdot s^{-1})')title('⾓速度线图')for i=1:length(th2)C=[-L3*sin(th34(i,1)) L4*sin(th34(i,2));…L3*cos(th34(i,1)) -L4*cos(th34(i,2))];D=[w2^2*L2*cos(th2(i))+w3(i)^2*L3*cos(th34(i,1))-w4(i)^2*L4*cos(th34(i,2));... w2^2*L2*sin(th2(i))+w3(i)^2*L3*sin(th34(i,1))-w4(i)^2*L4*sin(th34(i,2))];a=inv(C)*D;a3(i)=a(1);a4(i)=a(2);endfigure(4)plot(th2*180/pi,a3,th2*180/pi,a4); %绘制⾓加速度线图axis([0 360 -70000 65000])text(50,50000,'摇杆4⾓加速度(\alpha_4)')text(220,12000,'连杆3⾓加速度(\alpha_3)')gridxlabel('从动件⾓加速度')ylabel('从动件⾓加速度(rad\cdot s^{-2})')title('⾓加速度线图')disp '曲柄转⾓连杆转⾓-摇杆转⾓-连杆⾓速度-摇杆⾓速度-连杆加速度-摇杆加速度' ydcs=[th2'*180/pi,th34(:,1)*180/pi,th34(:,2)*180/pi,w3',w4',a3',a4'];disp(ydcs)>> * * * * * * 平⾯四杆机构的运动分析* * * * * *曲柄转⾓连杆转⾓-摇杆转⾓-连杆⾓速度-摇杆⾓速度-连杆加速度-摇杆加速度1.0e+004 *0 0.0044 0.0097 -0.0125 -0.0125 -0.5478 4.84580.0005 0.0042 0.0094 -0.0126 -0.0107 0.2300 5.5630 0.0010 0.0039 0.0092 -0.0124 -0.0086 0.8946 6.0520 0.0015 0.0037 0.0091 -0.0119 -0.0065 1.4143 6.2982 0.0020 0.0034 0.0090 -0.0114 -0.0043 1.7801 6.3174 0.0025 0.0032 0.0089 -0.0107 -0.0021 2.0027 6.1467 0.0030 0.0030 0.0089 -0.0100 0.0000 2.1046 5.8339 0.0035 0.0028 0.0089 -0.0093 0.0020 2.1134 5.4272 0.0040 0.0026 0.0090 -0.0085 0.0038 2.0566 4.9687 0.0045 0.0025 0.0091 -0.0078 0.0054 1.9578 4.4918 0.0050 0.0023 0.0092 -0.0072 0.0069 1.8356 4.0198 0.0055 0.0022 0.0093 -0.0065 0.0082 1.7040 3.5680 0.0060 0.0021 0.0095 -0.0060 0.0094 1.5725 3.1450 0.0065 0.0019 0.0097 -0.0055 0.0104 1.4474 2.7545 0.0070 0.0018 0.0099 -0.0050 0.01131.33282.3968 0.0075 0.0017 0.0102 -0.0045 0.0121 1.2307 2.0702 0.0080 0.0017 0.0104 -0.0041 0.0128 1.1425 1.7716 0.0085 0.0016 0.0107 -0.0037 0.0134 1.0687 1.4971 0.0090 0.0015 0.0110 -0.0034 0.0138 1.0095 1.2426 0.0095 0.0014 0.0112 -0.0030 0.0142 0.9653 1.0035 0.0100 0.0014 0.0115 -0.0027 0.0145 0.9364 0.7752 0.0105 0.0013 0.0118 -0.0024 0.0148 0.9232 0.5530 0.0110 0.0013 0.0121 -0.0020 0.0149 0.9269 0.3319 0.0115 0.0013 0.0124 -0.0017 0.0150 0.9485 0.1069 0.0120 0.0012 0.0127 -0.0014 0.0150 0.9899 -0.1276 0.0125 0.0012 0.0130 -0.0010 0.0149 1.0530 -0.3773 0.0130 0.0012 0.0133 -0.0006 0.0147 1.1404 -0.6481 0.0135 0.0012 0.0136 -0.0002 0.0145 1.2544 -0.9455 0.0140 0.0012 0.0139 0.0002 0.0141 1.3967 -1.2743 0.0145 0.0012 0.0142 0.0008 0.0136 1.5677 -1.63680.0150 0.0012 0.0144 0.0013 0.0129 1.7648 -2.0314 0.0155 0.0012 0.0147 0.0020 0.0121 1.9807 -2.4495 0.0160 0.0013 0.0149 0.0027 0.0112 2.2018 -2.8735 0.0165 0.0013 0.0151 0.0035 0.0101 2.4071 -3.2754 0.0170 0.0014 0.0153 0.0044 0.0089 2.5697 -3.6186 0.0175 0.0015 0.0155 0.0053 0.0076 2.6616 -3.8650 0.0180 0.0016 0.0156 0.0063 0.0063 2.6609 -3.9849 0.0185 0.0018 0.0157 0.0072 0.0049 2.5591 -3.9674 0.0190 0.0019 0.0158 0.0080 0.0035 2.3638 -3.8244 0.0195 0.0021 0.0159 0.0088 0.0022 2.0959 -3.5866 0.0200 0.0023 0.0159 0.0095 0.0010 1.7823 -3.2931 0.0205 0.0025 0.0159 0.0100 -0.0001 1.4487 -2.9815 0.0210 0.0027 0.0159 0.0105 -0.0011 1.1152 -2.6809 0.0215 0.0029 0.0159 0.0108 -0.0020 0.7942 -2.4103 0.0220 0.0031 0.0158 0.0111 -0.0028 0.4916 -2.1794 0.0225 0.0033 0.0158 0.0112 -0.0035 0.2086 -1.9913 0.0230 0.0036 0.0157 0.0112 -0.0042 -0.0565 -1.8450 0.0235 0.0038 0.0156 0.0111 -0.0048 -0.3071 -1.7375 0.0240 0.0040 0.0155 0.0110 -0.0054 -0.5475 -1.6650 0.0245 0.0042 0.0154 0.0108 -0.0060 -0.7817 -1.6233 0.0250 0.0044 0.0153 0.0104 -0.0065 -1.0139 -1.6089 0.0255 0.0046 0.0151 0.0100 -0.0071 -1.2479 -1.6181 0.0260 0.0048 0.0150 0.0096 -0.0077 -1.4868 -1.6480 0.0265 0.0050 0.0148 0.0090 -0.0082 -1.7336 -1.6955 0.0270 0.0052 0.0146 0.0084 -0.0088 -1.9905 -1.7574 0.0275 0.0054 0.0145 0.0076 -0.0095 -2.2588 -1.8304 0.0280 0.0055 0.0143 0.0068 -0.0101 -2.5391 -1.9100 0.0285 0.0056 0.0141 0.0058 -0.0108 -2.8305 -1.9910 0.0290 0.0057 0.0138 0.0048 -0.0115 -3.1300 -2.06600.0295 0.0058 0.0136 0.0037 -0.0122 -3.4326 -2.1255 0.0300 0.0059 0.0133 0.0024 -0.0130 -3.7297 -2.1572 0.0305 0.0059 0.0131 0.0011 -0.0137 -4.0091 -2.1451 0.0310 0.0059 0.0128 -0.0004 -0.0145 -4.2538 -2.0696 0.0315 0.0059 0.0125 -0.0019 -0.0152 -4.4419 -1.9079 0.0320 0.0058 0.0122 -0.0035 -0.0158 -4.5473 -1.6352 0.0325 0.0058 0.0119 -0.0051 -0.0163 -4.5411 -1.2273 0.0330 0.0056 0.0115 -0.0066 -0.0166 -4.3954 -0.6661 0.0335 0.0055 0.0112 -0.0081 -0.0167 -4.0889 0.0551 0.0340 0.0053 0.0109 -0.0095 -0.0166 -3.6129 0.9243 0.0345 0.0051 0.0105 -0.0106 -0.0161 -2.9781 1.9058 0.0350 0.0049 0.0102 -0.0115 -0.0152 -2.2178 2.9395 0.0355 0.0047 0.0099 -0.0122 -0.0140 -1.3857 3.9473 0.0360 0.0044 0.0097 -0.0125 -0.0125 -0.5478 4.8458 图形输出:图2 连杆3的⼏个位置点图4 ⾓加速度线图图5 ⾓加速度线图。
基于matlab的4连杆机构设计
基于matlab的4连杆机构设计第一篇:基于matlab的4连杆机构设计目录1平面连杆机构的运动分析 (1)1.2 机构的工作原理................................................................................................1 1.3 机构的数学模型的建立.......................................................................................1 1.3.1建立机构的闭环矢量位置方程...................................................1 1.3.2求解方法.....................................................................2 2 基于MATLAB程序设计..........................................................................................4 2.1 程序流程图 (4)2.2 M文件编写 (6)2.3 程序运行结果输出.............................................................................................7 3 基于MATLAB图形界面设计....................................................................................11 3.1界面设计 (11)3.2代码设计 (12)4 小结 (17)参考文献………………………………………………………………………………………………18平面连杆机构的运动分析1.1 机构运动分析的任务、目的和方法曲柄摇杆机构是平面连杆机构中最基本的由转动副组成的四杆机构,它可以用来实现转动和摆动之间运动形式的转换或传递动力。
基于MATLAB的四连杆机构近似直线的线性度优化
基于MATLAB的四连杆机构近似直线的线性度优化李帅1,王俊杰2(1.江苏中贵重工有限公司,江苏盐城224011;2.长安大学,西安710064)摘要:采用一种插值的优化方法以提高四连杆端点运动轨迹的线性度,实现升降平台近似直线平稳上升。
四连杆机构各杆件长度的优化是提高线性度的关键。
为了快速准确地计算四连杆各杆件长度,首先在MATLAB软件中采用插值法进行计算,然后在MATLAB中对插值法计算和优化的结果进行程序化画图,实现可视化的线性度分析。
结果表明,基于MATLAB 的插值法优化对四连杆机构在大行程上的近似直线线性度计算准确快速,且线性度可达到1%以下,完全满足煤矿机械的精度要求。
关键词:四连杆机构;近似直线运动;线性度计算与优化;插值法优化;MATLAB程序化计算与优化中图分类号:TH12文献标志码:A文章编号:1002-2333(2021)02-0074-04 Linearity Optimization of Approximate Straight Line of Four-bar Linkage Based on MATLABLI Shuai1,WANG Junjie2(1.Jiangsu Zhonggui Heavy Industries Co.,Ltd,Yancheng224011,China;2.Chang’an University,Xi’an710064,China) Abstract:An interpolation optimization method is used to improve the linearity of the movement trajectory of the end point of the four-bar linkage,which realizes an approximately linear and steady rise of the lifting platform.The length optimization of each rod in the four-bar linkage is the key to improve linearity.In order to quickly and accurately calculate each rod length of the four-bar linkage,firstly,the interpolation method is utilized in MATLAB software for calculation,and then the results of the interpolation calculation and optimization are programmed in MATLAB to achieve visual linearity analysis.The results show that the approximately straight-line linearity of the four-bar linkage are optimized quickly and accurately by interpolation method based on MATLAB at large stroke,and the linearity is less than1%,which fully meets the accuracy requirements of coal mining machinery.Keywords:four-bar linkage;large stroke;approximately linear motion;linearity calculation and optimization;interpolation optimization;programmatic calculation in MATLAB0引言四连杆机构的插值法优化是提高四连杆线性度的重要方法,升降平台的升降行程较大,多在800~1700mm之间,基于AutoCAD优化后,其端点运动轨迹的线性度可控制在1%之内。
matlab(四连杆优化设计)
机械优化设计在matlab中的应用东南大学机械工程学院**一优化设计目的:在生活和工作中,人们对于同一个问题往往会提出多个解决方案,并通过各方面的论证从中提取最佳方案。
最优化方法就是专门研究如何从多个方案中科学合理地提取出最佳方案的科学。
由于优化问题无所不在,目前最优化方法的应用和研究已经深入到了生产和科研的各个领域,如土木工程、机械工程、化学工程、运输调度、生产控制、经济规划、经济管理等,并取得了显著的经济效益和社会效益。
二优化设计步骤:1.机械优化设计的全过程一般可以分为如下几个步骤:1)建立优化设计的数学模型;2)选择适当的优化方法;3)编写计算机程序;4)准备必要的初始数据并伤及计算;5)对计算机求得的结果进行必要的分析。
其中建立优化设计数学模型是首要的和关键的一步,它是取得正确结果的前提。
优化方法的选取取决于数学模型的特点,例如优化问题规模的大小,目标函数和约束函数的性态以及计算精度等。
在比较各种可供选用的优化方法时,需要考虑的一个重要因素是计算机执行这些程序所花费的时间和费用,也即计算效率。
2.建立数学模型的基本原则与步骤设计变量的确定;设计变量是指在优化设计的过程中,不断进行修改,调整,一直处于变化的参数称为设计变量。
设计变量的全体实际上是一组变量,可用一个列向量表示:x=。
目标函数的建立;选择目标函数是整个优化设计过程中最重要的决策之一。
当对某以设计性能有特定的要求,而这个要求有很难满足时,则针对这一性能进行优化会得到满意的效果。
目标函数是设计变量的函数,是一项设计所追求的指标的数学反映,因此它能够用来评价设计的优劣。
目标函数的一般表达式为:f(x)=,要根据实际的设计要求来设计目标函数。
约束条件的确定。
一个可行性设计必须满足某些设计限制条件,这些限制条件称为约束条件,简称约束。
由若干个约束条件构成目标函数的可行域,而可行域内的所有设计点都是满足设计要求的,一般情况下,其设计可行域可表示为在可行域中,任意设计点满足全部约束条件,称为可行解,但不是最优解,而优化设计就是要求出目标函数在可行域的最优解。
基于Matlab的四杆机构优化设计简介
·制造业信息化·Vol.22.,200922009机电产品开发与创新Development &Innovation of M achinery &E lectrical P roducts3,No.1Jan .,2010第23卷第1期2010年1月收稿日期:2009-11-06作者简介:李建霞,女,河南信阳人,教授。
主要从事计算机辅助设计教学与研究工作。
已发表核心期刊论文20余篇;王良才,男,山东济南人,副教授。
主要从事机械设计教学与研究工作。
已发表核心期刊论文10余篇。
0引言Matlab 语言是一种非常强大的工程计算语言,提供了非常丰富的Matlab 优化工具箱。
其优化工具箱有许多常用的优化算法,广泛应用于线性规划、二次规划、非线性优化、最小二乘法问题、非线性方程求解、多目标决策等问题,其函数表达简洁,优化算法选择灵活,参数设置自由,相比于其它很多成熟的优化程序具有明显的优越性。
机械优化设计是在现代机械设计理论发展基础上产生的一种新的设计方法,在机械零部件设计中取得了广泛的应用。
机械优化设计是在进行某种机械产品设计时,根据规定的约束条件,优选设计参数,使某项或几项设计指标获得最优值。
在进行优化设计时,首先要建立工程设计问题的数学模型,然后按照数学模型的特点选择优化方法及其计算程序,求得最优设计方案。
1四杆机构优化设计的数学模型四杆机构是机械传动的重要组成部分。
设计四杆机构通常使用作图法与实验法,这两种方法简单易行,但误差较大,运用解析法,能获得所要求的精度,然而用人工进行,整个设计过程是一项繁琐、冗长的工作,甚至可能无法实现。
采用Matlab 优化工具箱对四杆机构进行优化设计,不仅参数输入简单,而且编程工作量小,可更快捷准确地达到设计要求。
四杆机构种类很多,这里只以曲柄摇杆机构为例说明四杆机构优化设计方法。
Matlab 优化工具箱是一套功能强大的工程计算软件,集数值计算、符号运算、可视化建模、仿真和图形处理等多种功能于一体,被广泛应用于机械设计、自动控制和数理统计等工程领域。
matlab四连杆机器人轨迹代码
一、介绍matlab是一种广泛应用于工程领域的计算软件,其强大的数学计算和可视化功能使其在机器人领域有着广泛的应用。
四连杆机器人是一种常见的工业机器人,其运动轨迹的规划和控制是机器人研究中的重要问题。
本文将介绍在matlab中编写四连杆机器人轨迹规划的代码。
二、问题描述四连杆机器人由四个连杆组成,每个连杆的长度和连接方式都对机器人的运动轨迹产生影响。
在实际应用中,需要对机器人的运动轨迹进行规划,以实现特定的任务。
编写四连杆机器人轨迹规划的代码是非常有必要的。
三、代码实现在matlab中,可以使用符号计算工具箱来进行四连杆机器人的轨迹规划。
下面是一个简单的示例代码:```matlab定义连杆长度a = 1;b = 2;c = 1.5;d = 3;定义末端轨迹x = [0, 2, 4, 6, 8];y = [0, 2, 1, 3, 2];计算轨迹规划theta2 = acos((x.^2 + y.^2 - a^2 - b^2) / (2 * a * b));phi = atan2(y, x);theta1 = atan2(y - b * sin(theta2), x - a * cos(theta2));delta = acos((a^2 + b^2 - x.^2 - y.^2) / (2 * a * b));theta4 = pi - delta;theta3 = phi - theta2 - theta1;绘制轨迹for i = 1:length(x)clf;plot([0, a*cos(theta1(i)), a*cos(theta1(i)) + b*cos(theta2(i)), x(i)], ...[0, a*sin(theta1(i)), a*sin(theta1(i)) + b*sin(theta2(i)), y(i)]); axis([-1, 9, -1, 5]);drawnow;end```四、代码解析以上代码首先定义了四连杆机器人的连杆长度和末端轨迹。
088-基于MATLAB的液压支架四连杆机构优化设计
基于M A T L A B 的液压支架四连杆机构优化设计王建国(天地科技股份有限公司开采设计事业部,北京100013)[摘 要] 通过对液压支架设计变量分析,采用M A T L A B 软件开发了一套液压支架四连杆机构优化设计系统。
通过人机交互界面把支架设计变量输入到该系统,实现了对四连杆机构结构尺寸和铰接点坐标的优化设计;优化设计的四连杆机构满足双扭线轨迹曲线偏摆量,并可以降低支架连杆的重量。
液压支架四连杆机构优化设计系统代替了人工设计,大大缩短了设计周期,提高了设计精度。
[关键词] 液压支架;四连杆机构;优化设计[中图分类号]T D 355.41 [文献标识码]A [文章编号]1006-6225(2010)02-0070-03O p t i m i z e d D e s i g nf o r F o u r -b a r L i n k a g e S t r u c t u r e o f P o w e r e dS u p p o r t B a s e do n MA T L A BW A N GJ i a n -g u o(C o a l M i n i n g &D e s i g n i n gD e p a r t m e n t ,T i a n d i S c i e n c e &T e c h n o l o g y C o .,L t d ,B e i j i n g 100013,C h i n a )A b s t r a c t :B y a n a l y z i n g d e s i g np a r a m e t e r s o f p o w e r e ds u p p o r t ,t h i s p a p e r a p p l i e dM A T L A Bs o f t w a r et o d e v e l o p i n g as e t o f o p t i m i z e d d e s i g ns y s t e mo f f o u r -b a r l i n k a g e s t r u c t u r e o f p o w e r e ds u p p o r t .I n p u t t i n g d e s i g n p a r a m e t e r s i n t o t h i s s y s t e mw i t h h u m a n -m a c h i n e i n t e r -a c t i v e i n t e r f a c e ,i t r e a l i z e do p t i m i z e dd e s i g nf o r s t r u c t u r es i z eo f f o u r -b a r l i n k a g e s t r u c t u r e a n dc o o r d i n a t e o f l i n k a g e p o i n t .F o u r -b a r l i n k a g e s t r u c t u r e f r o mo p t i m i z e dd e s i g n m e t t h e n e e do f s w i n g o f t w i s t e d -p a i r o r b i t c u r v e a n dm i g h t d e c r e a s e w e i g h t o f c o n n e c t i o nr o d .T h i s o p t i m i z e d d e s i g ns y s t e ms u b s t i t u t e d a r t i f i c i a l d e s i g n a n dl a r g e l y s h o r t e n e dd e s i g np e r i o da n d i m p r o v e dd e s i g n p r e c i s i o n .K e yw o r d s :p o w e r e d s u p p o r t ;f o u r -b a r l i n k a g e s t r u c t u r e ;o p t i m i z e d d e s i g n ;[收稿日期]2009-10-29[作者简介]王建国(1973-),男,山东济宁人,硕士,工程师,从事液压支架设计工作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
机械优化设计在matlab中的应用东南大学机械工程学院**一优化设计目的:在生活和工作中,人们对于同一个问题往往会提出多个解决方案,并通过各方面的论证从中提取最佳方案。
最优化方法就是专门研究如何从多个方案中科学合理地提取出最佳方案的科学。
由于优化问题无所不在,目前最优化方法的应用和研究已经深入到了生产和科研的各个领域,如土木工程、机械工程、化学工程、运输调度、生产控制、经济规划、经济管理等,并取得了显著的经济效益和社会效益。
"二优化设计步骤:1.机械优化设计的全过程一般可以分为如下几个步骤:1)建立优化设计的数学模型;2)选择适当的优化方法;3)编写计算机程序;:4)准备必要的初始数据并伤及计算;5)对计算机求得的结果进行必要的分析。
其中建立优化设计数学模型是首要的和关键的一步,它是取得正确结果的前提。
优化方法的选取取决于数学模型的特点,例如优化问题规模的大小,目标函数和约束函数的性态以及计算精度等。
在比较各种可供选用的优化方法时,需要考虑的一个重要因素是计算机执行这些程序所花费的时间和费用,也即计算效率。
2.建立数学模型的基本原则与步骤①设计变量的确定;—设计变量是指在优化设计的过程中,不断进行修改,调整,一直处于变化的参数称为设计变量。
设计变量的全体实际上是一组变量,可用一个列向量表示:x=。
②目标函数的建立;选择目标函数是整个优化设计过程中最重要的决策之一。
当对某以设计性能有特定的要求,而这个要求有很难满足时,则针对这一性能进行优化会得到满意的效果。
目标函数是设计变量的函数,是一项设计所追求的指标的数学反映,因此它能够用来评价设计的优劣。
目标函数的一般表达式为:。
f(x)=,要根据实际的设计要求来设计目标函数。
③约束条件的确定。
一个可行性设计必须满足某些设计限制条件,这些限制条件称为约束条件,简称约束。
由若干个约束条件构成目标函数的可行域,而可行域内的所有设计点都是满足设计要求的,一般情况下,其设计可行域可表示为¥在可行域中,任意设计点满足全部约束条件,称为可行解,但不是最优解,而优化设计就是要求出目标函数在可行域的最优解。
三实例分析(机械优化设计P241页例8-5)设计一曲柄摇杆机构如图,要求:曲柄从"且已知范围内变化。
分析:1)设计变量的确定决定机构尺寸的各杆长度,以及当摇杆按已知运动规律开始运行时,曲柄所载的位置角应列为设计变量,即:X==$考虑到机构的杆长按比例变化时,不会改变其运动规律,因此在计算时常取,而其他杆长则按比例取为的倍数。
若取曲柄的初始位置角为极位角,则及相应摇杆位置角均为杆长的函数,几何图形关系如右图,其关系式为:=arcos[] (1)=arcos[] (2)将的长度代入上式(1),(2)得到:!=arcos[]=arcos[]因此,只有为独立变量,设计变量减少,故最后的设计变量为:X==!2) 目标函数的建立目标函数可根据已知的运动规律与机构实际运动规律之间的偏差最小为指标来建立,即f(x)=→min式中—期望输出角,;)m —输入角等分数;—实际输出角,由下图得:】{a)0≤<b)(3)式中;将输入角分成30等分,并用近似公式计算,可得目标函数的表达式:f(x)=…由题意知,传动角的变化范围是,则上式中变量的最后形式可以写成:!将带入(4)(5)得:,为当时的理想输出角,其值在题目中已经给出:…3)约束条件的确定①曲柄摇杆机构应满足曲柄存在条件,可得]②曲柄摇杆机构的传动角可得}把约束条件简化(=5 ==,)\、其中满足条件,故最后一共有两个设计变量(),7个约束条件。
4)优化计算,。
①此问题的图解见上图,有7个约束条件构成了改优化模型的可行域,而最优解在可行域内。
②优化方法选择:、该问题属于一般的约束非线性最优化类型,可以使用matlab优化工具箱里面的‘fmincon’函数进行求解。
⑴fmincon里面算法的选择:fmincon里面一共提供了‘largescale’,‘'medium-scale’两种算法,由于此问题只有两个设计变量,维数较低,故采用‘medium-scale’算法。
‘medium-scale’算法是采用SQP,算法中Hessian阵可以通过BFGS迭代,初始Hessian阵任给。
注意BFGS公式中q项是需要计算目标函数梯度得到的。
所以Hessian矩阵的近似计算是需要用到有限差分法。
在采用‘'medium-scale’算法时,需提供其设计变量的初始点的信息,而初始点的选择也将影响计算得收敛性和收敛速度,如果初始点选择得不恰当,可能最后函数不能收敛,得不到计算结果。
⑵精度的控制:为了得到更加精确地解,需要设置优化函数的控制精度,函数本身默认精度为1e-4,精度比较低,通过options的设置将精度提高到1e-9,这样得到的结果更精确。
以上两点通过设置options参数即可:options=optimset('largescale','off','display','off','Algorithm','active-set','TolFun',1e-9);'所有的程序编好以后,在命令窗口输入:youhua得到的matlab的运行结果如下:>> youhua*x =%最优解fval =%目标函数最优点的值—exitflag =5 %标志值,’5’表示重要方向导数小于规定的容许范围并且约束违背小于|output =iterations: 12 %迭代次数funcCount: 40 %函数的评价次数》lssteplength: 1stepsize:algorithm: 'medium-scale: SQP, Quasi-Newton, line-search' %采用的中型算法firstorderopt: %一阶最优性条件constrviolation:]message: [1x780 char] %跳出信息lambda =]lower: [2x1 double]upper: [2x1 double]eqlin: [0x1 double]eqnonlin: [0x1 double]ineqlin: [5x1 double]\ineqnonlin: [2x1 double]grad = %函数在最优点处梯度信息、*%hessian = %函数在最优点处海塞矩阵">>5)结果分析①采用fmincon求解的最优值:=[; ];…;采用算法:中型算法(mediun-scale)。
这与课本给出的最优解:=[;],=相比,计算精度更高,最优解的数值更精确,故计算准确度高。
②用matlab绘制输入——输出曲线关系图;。
(上图中(单位为“度”)蓝色的线代表曲柄摇杆机构的实际输出角与输入角的关系,红色的线代表理想输出角与输入角的关系。
可以看出:实际输出和理论输出曲线之间存在线性误差,其最大线性误差为,误差在允许的范围之内,故结果的可信度也较大,运用matlab优化工具箱计算所得结果正确。
$小结通过结合实际问题的分析,计算,求解,更加深入地了解和掌握机械优化设计的过程和步骤,比较重要的步骤是数学模型的建立,以及设计变量的选取,以及数学模型的尺度变换,根据机构实际工作需要,建立目标函数的约束条件等等,当数学模型建好以后,剩下的工作可以再matlab里面完成,而matlab里面的优化工具箱,给用户提供了多种优化函数,使用者只需要将数学模型按要求编写成子程序嵌入已有的优化程序即可。
》在设计过程中也遇到一些困难,比如说在在用matlab计算时,计算机已知处于busy 状态,得不到函数的最优解,最后反复的检查,终于找的了其原因,是由于初始点选择不恰当引起的,如果初始点选择得好,可以节省计算时间和计算空间,故初始点的选取比较重要。
-('`附录1.编写目标函数M文件:function f=myfun(x)f=0; %函数f赋初值a0=acos(((1+x(1))^2-x(2)^2+25)/(10*(1+x(1)))); %初始计算点曲柄和摇杆的角度b0=acos(((1+x(1))^2-x(2)^2-25)/(10*x(2)));i=2;while(i<=31) %设置迭代次数为30次a(i)=a0+(pi/2)*(i/30); % 计算曲柄各分度的角度值b(i)=b0+2*(a(i)-a0)^2/(3*pi); % 计算摇杆各分度的角度值r=sqrt(26-10*cos(a(i)));c(i)=acos((r^2+x(2)^2-x(1)^2)/(2*x(2)*r));d(i)=acos((r^2+24)/(10*r));if a(i)<=pie(i)=pi-c(i)-d(i); %计算摇杆输出的实际值else if a(i)<=2*pie(i)=pi-c(i)+d(i);endenda(1)=a0;f=f+((b(i)-e(i))^2)*(a(i)-a(i-1)); %目标函数的计算i=i+1;end2.编写非线性不等式约束M文件:function[c ceq]=constrain(x)c=[36-x(1)^2-x(2)^*x(1)*x(2); x(1)^2+x(2)^*x(1)*x(2)-16]; %非线性不等式约束ceq=[];3.调用fmincon优化函数,建立文件:lb=[1;1]; %设计变量的下界x0=[4;2]; %迭代初始点A=[-1,0;0,-1;-1,-1;1,-1;-1,1]; %线性不等式约束b=[-1;-1;-6;4;4];options=optimset('largescale','off','display','off','Algohm','active-set','TolFun',1e-9); %采用中型算法,设计精度为1e-9[x,fval,exitflag,output]=fmincon(@myfun,x0,A,b,[],[],lb,[],@constrain,options)%调用fmincon函数。