madymo操作实例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Example
Basketball game
目标:测试
创建文件:Playing Basketball
参考坐标系
图1 投篮模型
模型设置:
模拟投篮过程,需要创建手臂模型、地面模型、篮球模型、篮球架模型。其中,要求将篮板建成多面体。
第一部分:一般输入
在CONTROL_ANALYSIS.TIME中,将仿真时间设为2.0秒。
第二部分:地面模型
建立一个参考空间(SYSTEM.SPACE),然后在其中建立一个平面来代表地面(SURFACE.PLANE),平面定义在xy面内,其坐标如下:
第三部分:手臂模型
图2 手臂模型
1. 创建一个新的系统(SYSTEM.MODEL )作为手臂,其中创建3个体(BODY .RIGID ),
分别代表上臂,前臂和手。
2.使用旋转铰将体1和参考空间连接起来,用第二个旋转铰将体2和体1连接起来,用第三个旋转铰将体3和体2连接起来。位置要求如图2所示。
使用ORIENTION.xxx 元素来转动坐标系,以保证铰的转动方向(在图2中,旋转轴应
垂直于纸面,即y轴)。旋转铰的初始旋转轴为x轴,需沿z轴转90°。
3.为上臂创建一个椭球,半轴分别为0.04m,0.04m,0.15m;为前臂创建一个椭球,半轴分别为0.035m,0.035m,0.13m;为手创建一个椭球,半轴为0.04m,0.02m,0.08m。
4.初始条件
(1)使用INTIAL.JOINT_POS为旋转铰1定义初始角度为135°,使用INTIAL.JOINT_STATUS将旋转铰1的状态定义为LOCK。
(2)使用INTIAL.JOINT_POS和INTIAL.JOINT_VEL为旋转铰2定义初始角度为70°,初始角速度为-11rad/s。
(3)为旋转铰3定义初始角度为43°,初始角速度为-11rad/s。
设定初始条件前:设定初始条件后:
5.铰的刚度
为手臂上的铰加入如下刚度特性:
ArmUp_ArmLow_jnt ArmLow_Hand_jnt
x f(x) x f(x)
-0.01 -10.0 -1.57 -5.0
0.0 0.0 0.0 0.0
0.5 5.0 1.57 5.0
1.57 10.0
使用迟滞模型1,迟滞斜率为1e5,阻尼系数为1
第四部分:球体模型
1.建立一个系统模型SYSTEM.MODEL,用来代表篮球。
2.球的质量为0.65kg,转动惯量为0.4 0.4 0.4 0.0 0.0 0.0,半径为0.123m。
3.根据手臂的初始位置设置球的位置,这里在自由铰中设置:
4.为椭球定义接触特性,使用接触力特性(CONTACT_MODEL FORCE),定义加载曲线为:
x f(x)
0.0 0.0
0.01 1000
0.02 10000
0.03 100000
第五部分:篮球架模型
1.创建一个新的系统作为篮球架,在其中创建一个体。该系统包括篮圈、篮板以及连接篮圈和篮板的梁,三部分都建在该体的坐标系下。
2.使用自由铰将体与参考空间连接起来,位置要求如下:
使用INTIAL.JOINT_STATUS将自由铰的状态定义为LOCK。
3.篮圈
篮圈的半径定义为225mm,由12个大小相同的椭球组成,半轴分别为0.01m,0.07m,0.01m。
创建方法:
如图3所示(图中长度单位为mm),半径为225mm的圆(黑色虚线),内接正十二边形(品红色实线),需要创建椭球1,2,…,11,12(蓝色实线)。
x
y
图3 篮圈简图
以椭球1,2,3为例。
根据图中几何关系,计算得椭球1的中心点A的坐标为(-217.3,-58.2,0),椭球2的中心点B的坐标为(-159.1,-159.1,0),椭球3的中心点C的坐标为(-58.2,-217.3,0)。
(1)首先以A,B,C为中心创建椭球(SURFACE.ELLIPSOID),创建后如图3中红色实线椭圆所示。
(2)然后使用ORIENTATION.SUCCESSIVE_ROT分别将椭球1绕z轴旋转15°,椭球2绕z轴旋转45°,椭球3绕z轴旋转75°。
按照上面的步骤,创建椭球4,5,…,11,12。
4.连接篮圈与篮板的梁
创建两个椭球代表两根梁,椭球的半轴分别为0.05m,0.01m,0.01m,坐标位置如下:
5.篮板
(1)根据篮圈和梁的位置,确定篮板的位置,篮板长为1.8m,宽为1.0m。建立一个平面来代表篮板(SURFACE.PLAN),平面定义在yz面内,其坐标如下:
(2)使用菜单栏Tools下的Mesh Surface…将篮板转换为多面体。其中Mesh density设置为Fine。
第六部分:加入重力
使用LOAD.BODY_ACC给所有的系统施加重力场。
第七部分:接触定义
1.分别定义篮球和手、篮球和篮圈、篮球和篮板以及篮球和地面的接触。需要分别建立篮球、篮圈、手、地面的GROUP_MB以及篮板的GROUP_FE(Ball_gmb、Basket_gmb,Hand_gmb,Ground_gmb,backboard_gfe)。
2.对于篮球与篮板的接触,选择篮板作为接触的SLAVE_SURFACE,篮球作为接触的
MASTER_SURFACE。
3.对于篮球和篮板的接触,接触类型选择MASTER,定义一个摩擦系数的函数,如下图所示:
运行模型
在运行模型之前,完成一次空运行,检查模型中有限元的时间步长,在reprint文件中检查有限元模型的子循环数是不是1。
进一步练习
尝试在三分线投篮(三分线相对篮筐距离为6.25米),同时通过改变铰的刚度、摩擦系数、初速度等,观察球的运动有什么不同,并且将篮球投进。