主要内容

Kinova®Gen3机械臂单个部件的模态和频率响应分析

此示例显示了如何分析Kinova®Gen3超轻型机械臂的肩部连杆,以确定其在压力下可能发生的变形。

机械臂在从工厂自动化到医疗手术的各种应用中执行精确操作。通常,机械臂由多个串联链连接的连杆组成,底座连接在桌面或地面上,末端执行器连接在顶端。这些连杆的结构必须坚固,以避免任何振动当转子在负载作用下移动时,会发生振动。

机械臂末端的负载会对每个连杆的关节产生压力。压力的方向取决于负载的方向。

此示例通过执行模态分析和频率响应分析模拟,计算施加压力下肩部连杆的变形。您可以找到辅助函数animateSixLinkModes.m和几何体文件Gen3Shoulder.stl在下面matlab/R20XXx/examples/pde/main.

模态分析

假设机械臂的一端是固定的,求出固有频率和振型。

创建用于模态分析的结构模型。

model=createpde(“结构性”,“模态实体”);

若要对结构执行无约束模态分析,必须指定几何体、网格和材质属性。首先,导入机械臂肩部的几何体。

进口几何(模型,“Gen3Shoulder.stl”);

生成一个网格。

generateMesh(模型);pdemesh(模型)

以一致的单位指定材料的杨氏模量、泊松比和质量密度。通常,用于连接的材料为碳纤维增强塑料。假设材料为均质材料。

E=1.5E11;nu=0.3;rho=2000;结构特性(模型,“YoungsModulus”E...“PoissonsRatio”,nu,...“质量密度”,rho);

通过使用面标签打印几何图形,识别用于应用边界约束和载荷的面。

图pdegplot(模型,“人脸标签”,“开”)视图([-1-2])标题(“带面标签的肩部连接几何体”)

图中包含一个轴。带有标题肩部链接几何体和面标签的轴包含3个类型为quiver、patch和line的对象。

肩部连杆固定在一端(面3),并连接到另一端(面4)的移动连杆。在面3上应用固定边界条件。

结构BC(模型,“脸”3.“约束”,“固定的”);

为选定的频率范围求解模型。指定低于零的低频极限,以便所有频率接近零的模态(如果有的话)都出现在解中。

RF=求解(模型,“频率范围”,[-110000]*2*pi);

默认情况下,解算器返回循环频率。

modeID = 1:元素个数(RF.NaturalFrequencies);

将结果频率除以 2. π .在表格中显示频率。

tmodalResults=表格(modeID.),射频自然频率/2/pi;tmodalResults.Properties.VariableNames={“模式”,“频率”};disp(tmodalResults);
模式频率uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

可视化振型的最佳方法是在其各自的频率下设置谐波运动的动画。这个animateSixLinkModes函数为前六种模式设置动画。生成的绘图显示了负载下主要变形的区域。

figure frames=animateSixLinkModes(RF);

要播放动画,请使用以下命令:

电影(图(‘单位’、‘标准化’、‘外部定位’、[0 0 1]),帧,5,30)

频率响应分析

假设连接的连杆在半个面上施加相等和相反的压力,模拟面上压力载荷下肩部的动力学。分析面上某点的频率响应和变形。

首先,创建用于频率响应分析的结构模型。

fmodel=createpde(“结构性”,“频率固体”);

为用于模态分析的肩部导入相同的几何图形。

进口几何(fmodel,“Gen3Shoulder.stl”);

生成一个网格。

网格=生成网格(fmodel);

指定杨氏模量、泊松比和质量密度。

结构特性(F模型,“YoungsModulus”E...“PoissonsRatio”,nu,...“质量密度”,rho);

肩部连杆固定在一端(面3),并连接到另一端(面4)的移动连杆。在面3上应用固定边界条件。

结构BC(fmodel,“脸”3.“约束”,“固定的”);

当臂承载负载时,估计移动连杆施加在面4上的压力。此图显示了面4的两半在中心沿轴分开Y-协调。

使用按Fcnfr函数在面4上施加边界载荷。此函数应用推力和扭转压力信号。推力压力分量是均匀的。扭转分量在面左侧施加正压力,在面右侧施加负压力。对于按Fcnfr功能,请参阅本页底部的压力功能部分。这个函数对频率没有明显的依赖性。因此,在频域内,压力载荷作用于解的所有频率。

结构边界荷载(F模型,“脸”4.“压力”,@(地区、州)按FCNFR(地区、州),“矢量化”,“开”);

将解决方案的频率列表定义为0至3500 Hz(200步)。

flist=linspace(03500200)*2*pi;

通过将模型结果对象RF指定为输入之一,使用模态频率响应解算器求解模型。

R=求解(fmodel,flist,“ModalResults”,RF)
R=具有以下特性的频率结构结果:位移:[1x1 FEStruct]速度:[1x1 FEStruct]加速度:[1x1 FEStruct]解算频率:[1x200双]网格:[1x1 FEMesh]

绘制加载面上某点的频率响应图。位于最大负压加载的面4上的点为(0.003; 0.0436; 0.1307).将位移插值到此点并绘制结果。

queryPoint=[0.003;0.0436;0.1307];queryPointDisp=R.interpolateDisplacement(queryPoint);图形图(R.SolutionFrequencies/2/pi,abs(queryPointDisp.uy))标题(“加载面上点的横向位移”)包含(‘频率(Hz)’) ylabel (“Y位移”)xlim([0.0000 3500])

图中包含一个轴。在加载面上的点处具有标题横向位移的轴包含类型为line的对象。

响应峰值出现在2662 Hz附近,接近第二振型。在接近1947 Hz的第一模式下,也会出现较小的响应。

通过使用最大值具有两个输出参数的函数。第二个输出参数提供峰值频率的索引。

[M,I]=max(abs(queryPointDisp.uy))
M=1.1256e-04
I=152

绘制峰值响应频率下的变形。施加的荷载主要激励路肩的开启模式和弯曲模式。

RD=struct();RD.ux=R.Displacement.ux(:,I);RD.uy=R.Displacement.uy(:,I);RD.uz=R.Displacement.uz(:,I);图(“单位”,“正常化”,“外置”,[0 0 1 1]); 子地块(2,2,1)pdeplot3D(fmodel,“ColorMapData”,R.Displacement.ux(:,I),...“变形”,路,“DeformationScaleFactor”,1); 头衔(“X-Displacement”)子地块(2,2,2)pdeplot3D(fmodel,“ColorMapData”,R.Displacement.uy(:,I),...“变形”,路,“DeformationScaleFactor”,1); 头衔(“Y位移”)子地块(2,2,3)pdeplot3D(fmodel,“ColorMapData”,R.Displacement.uz(:,I),...“变形”,路,“DeformationScaleFactor”,1); 头衔(“Z位移”)子地块(2,2,4)pdeplot3D(fmodel,“ColorMapData”,R.位移量值(:,I),...“变形”,路,“DeformationScaleFactor”,1); 头衔(“震级”)

压力函数

定义一个压力函数,按Fcnfr,来计算一个推力和一个扭转压力信号。推压分量均匀。扭转压力组件对面部左侧施加正压力,对右侧施加负压力。扭转压力载荷从点处的最小值开始呈抛物线分布增加C到正峰值L到了负峰值R.中获得的抛物线分布的扭转压力系数按Fcnfr乘以一个正弦函数,其大小为0.1 MPa。均匀推压值为10kpa。

作用p=pressFcnFR(region,~)meanY=mean(region.y);absMaxY=max(abs(region.y));scaleFactor=zero(size(region.y));%查找面左右半部分上点的ID%使用y坐标值。leftHalfIdx =。y < =小气鬼;rightHalfIdx =。y > =小气鬼;%为面的每一半定义抛物线比例因子。scaleFactor(leftHalfIdx)=((region.y(leftHalfIdx)-meanY)/absMaxY)。^2;scaleFactor(righhalfidx)=-((region.y(righhalfidx)-meanY)/absMaxY)。^2;p=10E3+0.1E6*scaleFactor;终止