首页/文章/ 详情

用Amesim仿真风力仿生兽,妙啊!

3年前浏览4712

一、什么是风力仿生兽?



风力仿生兽,英文名叫Strandbeest,其发明者是被誉为“现代版的达芬奇”的荷兰艺术家泰奥扬森。这些奇特的“生物”主要是由塑料管组合而成框架结构,它们借助自身巧妙的多连杆机构,通过“食用”自然风就可以在海滩上自由漫步,因此也被叫做“噬风兽”。




下图所示为结构较为简单的一种风力仿生兽。




图片




经过几十年的发展,风力仿生兽演变出很多不同的类型,比如这样的↓↓↓




图片
大耳招风型




还有这样的↓↓↓




图片
雍容华贵型




这样的↓↓↓




图片
长驱直入型




甚至这样的↓↓↓




图片
毛毛虫型




以及这样的↓↓↓




图片
拖家带口型




等等。




更为神奇的是,这些“沙滩巨兽”还拥有感应装置,能够进行简单的思考判断,比如它们可以储存风能,在风力较弱的时候也能行走;它们够感知海洋的位置,一旦遇到水就会自动向反方向行走,以防自己被“淹死”;当暴风雨来临时,它们还可以启动锤子锤一根钉子,把自己的身体固定在沙滩上。发明者甚至希望他的生物最终可以自行在海滩上生存进化!




本文就来向大家展示如何用Amesim仿真一只行走的风力仿生兽,最终动画效果如下。




图片
基于Amesim的风力仿生兽仿真动画

二、风力仿生兽的Amesim仿真方法


本文的仿真是基于下图所示的三维模型(文末提供了三维模型下载链接,供大家参考)




图片
风力仿生兽三维模型




按照结构和功能,该模型可分解为以下部分:



  • 支架:即风力仿生兽的“身体”,其他结构都通过支架安装并连结在一起;

  • 风车:用于“食用”自然风,将风能转化为行走所需的能量;

  • 齿轮:将风车的能量和运动传递至曲轴;

  • 曲轴:共有两根,每根曲轴相当于三个相位相差60度的曲柄,曲柄可以带动腿行走;

  • 腿:每条腿由四根杆和两个三角架组成,是整个仿生兽最核心、最精巧的部分;腿共有12条,两两一组(即前腿和后腿)安装在支架和六个曲柄上。



通过分析不难发现,风力仿生兽本质上是一个设计巧妙的多连杆机构,它行走时的运动也是维持在一个2D平面内,因此我们可以用Amesim的2D机械库实现其建模和运动仿真。




下面进入正题,向大家展示风力仿生兽的建模仿真过程。额,有点麻烦。不过不要紧,我们由简到繁,一步一步来!




第1步:建立曲轴和一条前腿的仿真模型




风力仿生兽的各组成构件通过dynamic_plmbody元件建模,构件间的铰接主要通过plmpivot元件建模。我们采用局部坐标系的方式,先建立曲轴和一条前腿的仿真模型。




首先在三维模型中为每个构件分别建立局部坐标系,然后测得各自的铰点坐标。在草图模式下根据构件的铰接关系搭建模型,如下图所示。在子模型模式下点击首选子模型。




图片
曲轴和一条前腿的仿真模型




在参数模式下输入各个子模型的局部坐标、质量属性等参数。此时模型只有一个自由度,因此我们右击曲柄锁定其绝对角度状态变量,并在参数中输入曲柄的绝对角度初始值为0进行约束。




图片
锁定曲柄的绝对角度状态变量




进入仿真模式下,双击plmassembly元件打开动画窗口,查看模型初始化结果。




图片
初始化失败




好吧,初始化失败,看来需要更多约束才可以。这里我们在三维模型中测量各构件的初始角度(即各构件的局部坐标系相对于全局坐标系的逆时针旋转角度),并输入Amesim对模型做进一步约束。再次进行初始化,成功!




图片
初始化成功




接下来给这条腿输入一个力矩,仿真一下,查看动画,如下所示。




图片
一条前腿仿真动画



第2步,建立两条腿的仿真模型



我们把第一步建立的前腿模型复制粘贴一下,建立相应后腿的模型。需要注意的是,前腿和后腿是镜像对称的,因此其局部坐标系和构件角度也要做相应改变。




图片
两条腿仿真模型




完成之后再仿真一下,查看动画,如下所示。




图片
两条腿仿真动画




第3步,建立六条腿的仿真模型




鉴于三维模型中两根曲轴的运动完全一致,因此我们只需建立一根曲轴和相应的六条腿的仿真模型即可。




在两条腿的基础上,比葫芦画瓢,完成另外四条腿的建模,如下图所示。




图片
六条腿仿真模型




仿真一下,查看动画。看这群魔乱舞的架式,有内味了!




图片
六条腿仿真动画




第4步,建立风车和齿轮模型




风车和齿轮在模型中主要用于传递运动和力,并非建模重点。我们采用Powertrain库的gear_3p元件进行齿轮建模,采用输入力矩的方式模拟风车受到的风力。另外,由于风车和齿轮不能在动画窗口中显示,为方便后续动画关联运动变量,我们给风车和齿轮添加角位移传感器。




图片
风车和齿轮建模




第5步,建立支架模型




前面四步建模没有考虑支架,本该与支架铰接的点都是和大地铰接。在这一步中,我们来建立支架模型。




支架暂时与大地铰接,约束其x和y方向的平移自由度,如下图所示。此时模型又增加了支架的旋转自由度,因此需要锁定支架的绝对角度状态变量(设置方法可参照第1步),并在参数设置中设置其绝对角度初始值为0。




图片
加入支架后的模型




完成以上设置之后,运行仿真,查看动画,如图所示。




图片


加入支架后的仿真动画



第6步,建立“脚”与地面接触模型




首先,去除支架与大地之间的铰接,释放其x和y方向的平移自由度,使模型可以落地行走;此时,需要锁定支架重心的x绝对位置状态变量和y绝对位置状态变量,并在参数中设置其重心的坐标初始值(重心坐标初始值可通过三维模型测得)。然后,采用plmcontcont元件建立六只脚与地面的接触模型,如下图所示。




图片
建立接触后的模型




设置完成后,运行仿真。哈~看这精致又急促的小碎步!




图片
建立接触后的仿真动画




至此,仿真模型已搭建完成!最后,我们导入三维模型,使仿真动画看起来更逼真更美观。




第7步,导入三维模型




在动画窗口中导入三维模型(这里采用的是.stp格式),如下图所示。由于前期建模时,Amesim中的模型采用了和三维模型完全一致的坐标系,所以导入之后所有构件和铰点位置也是完全对应的。




图片
导入三维模型




接下来,我们对动画进行关联和美化,需要做三件事:



  1. 根据模型的对应关系,在Object tree下将导入的三维模型一一拖拽至相应的元件下,使其关联(注:要确保Tools菜单下,Options窗口中,General选项卡里Parent change handling为keep absolute position);

  2. 将位移传感器输出变量对应关联到风扇和齿轮Z轴旋转坐标中;

  3. 更改模型颜色,调整视图。



完成之后,运行动画,最终效果如下图所示。




图片


最终动画效果



齐活!




第8步,简单提取仿真结果



对于Amesim建立的系统仿真模型,除了仿真结果可视化之外,更重要的是我们可以提取力、运动等各种仿真结果,对系统进行性能分析和优化改进。




比如,提取仿生兽行走的位移和速度曲线,如下图所示。可以看出,在恒定力矩输入的情况下,行走速度有较大波动。



图片


行走位移和速度曲线




再比如,提取脚的行走轨迹曲线,如下图所示。可以看出,仿生兽每迈一步,脚的触地距离非常有限,这也印证了我们动画中看到的“小碎步”。同时,这也说明我们所使用的仿生兽模型尺寸还有进一步优化改进的空间。



图片


脚的行走轨迹曲线




当然,可以分析的点还有很多,本文不再一一列举。



三、小结



总的来说,Amesim的机械库非常强大,可以完成绝大多数常见机械结构的运动学和动力学仿真。限于篇幅,本文并没有对风力仿真兽的建模仿真过程做过于细致的介绍。文末提供了本文模型(采用Amesim 17版本创建)的下载链接,供大家参考。


科普代码&命令系统仿真结构基础AMESim
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2021-02-03
最近编辑:3年前
batt
本科 微信公众号:Amesim学习与应用
获赞 73粉丝 377文章 198课程 0
点赞
收藏
未登录
3条评论
工蚁达
签名征集中
1年前
老师您好,我们当前准备在成都国创中心开展一个线下的短期培训,人数20人左右,提供场地和设配,您只需要出课程内容就行,如果您感兴趣可以联系我做详细了解
回复
Sunny
签名征集中
1年前
佩服~~
回复
FWSVIP
风电在读研究生o(^o^)o
3年前
⊙ω⊙
回复
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈