应用需求
在使用ADAMS进行机器人仿真过程中,需要一个崎岖的地表模型来验证机器人的通过能力。本文记录了如何从网上搜索二维地表模型,生成三维OBJ模型,然后导入ADAMS,赋予质量属性,并与仿真中其他物体进行交互。
1. 获取二维地表图像
根据自己的需求找到一个地形俯视图片,要求图片上的颜色深浅能展示地形凹凸。比如我这次需要一个小行星地表模型,从论文“Images from the surface of asteroid Ryugu show rocks similar to carbonaceous chondrite meteorites”中找到了一个这样的图片:
从这张图中截取一小部分:
也可以从其他渠道找到这样的图片,比如在国家天文科学数据中心公布了一个超清月面图片,等等。
2. 二维转三维
已经有成熟的工具可以从二维强度图片转成三维模型,我用的是一个在线转换的网站。
上传图片,注意一定要转换成OBJ格式,不然后面不好导入ADAMS:
转换之后直接下载:
3. OBJ导入ADAMS
使用ADAMS新建一个场景,注意ADAMS所有相关文件的路径都要用全英文且不能有空格。
菜单栏 File >> Import,打开下面窗口:
先选择文件格式为OBJ,然后选择刚才生成的文件,在Part Name一栏要右键,Part >> Create,在新窗口里面新建部件,如果直接在Part Name里输入名称就会报错。新建部件窗口如下:
回到导入文件窗口,输入缩放比例Scale Factor,第一次导入可以先不填,后面重新导入的时候再调整:
然后可以看到导入的地表模型:
模型的大小和方向可能是错的,大小不对的话,就把部件删了,重新导入的时候调整缩放比例Scale Factor。
方向位置不对的话,按下图操作,第一步调整视角我习惯用快捷键,这些都是ADAMS基操了:
调整完成效果:
4. 添加质量和约束
然后给地面添加质量,项目树里面右键部件,Modify:
按下图操作,指定一种材料,点确定之后会卡顿很久,耐心等待:
这时候可以先验证一下,在仿真窗口把步数调大一点,开始仿真,地面模型会做自由落体运动:
然后添加约束,把地面模型跟ground固定在一起,固定位置选择质心,不然仿真时候容易出错。我习惯把视角跳到一个倾斜位置,等鼠标旁边出现PART_2.cm,说明位置找对了。
添加约束之后会在质心位置出现一个锁的标志:
5. 添加物体接触
在地面上方新建一个立方块,基本操作,省略。
在立方块和地面之间添加接触力:
选择方块和地面作为接触物体:
选择完成:
最终建模效果:
开启仿真,方块会落在地面上,碰撞反弹:
如果效果不太理想,可以调一下接触力的参数。