Blender创建物体堆的模型并将模型导入Gazebo

Blender创建物体堆的模型并将模型导入Gazebo

  • 1.创建一个常规场景
  • 2.设置立方体的粒子属性
  • 3.添加地面
  • 4.给小立方体添加物理属性
  • 5.导出模型

1.创建一个常规场景

这里用不到相机和光照,可以把这两个删掉,只保留立方体(不删也没啥影响),再新建一个立方体(shift+a新建网格->立方体),用于待会选这个立方体为渲染对象。

2.设置立方体的粒子属性

选中立方体,然后点右侧的粒子属性,再点加号创建新的粒子设置。
Blender创建物体堆的模型并将模型导入Gazebo_第1张图片
设置数量,起始帧和结束点都设置成0,在里面发射源选择体积,分布可以是抖动,也可以选栅格,选择栅格后可以通过改分辨率来调整数量,下面也可以加旋转属性。
Blender创建物体堆的模型并将模型导入Gazebo_第2张图片
在渲染属性中,将渲染为选成物体,在物体属性中,点吸管工具,选择刚才的另一个立方体,显示发射体取消勾选;
视图显示属性中,显示发射体取消勾选。
Blender创建物体堆的模型并将模型导入Gazebo_第3张图片
现在得到的结果是这样的:

选中物体,按Tab进入编辑模式,再按一下数字3,鼠标点击最上方的面,然后按s缩放,使得整体的形状像一个金字塔形。再按Tab就可以回到物体模式。
Blender创建物体堆的模型并将模型导入Gazebo_第4张图片

3.添加地面

shift+a添加网格->平面,添加一个平面,当做地面,让所有小立方体能够落到这个平面上形成堆。添加平面后,移动平面放到物体堆的下方,按s将平面放大。
Blender创建物体堆的模型并将模型导入Gazebo_第5张图片

选中平面,按下图所示,先选物理属性,然后点刚体。
Blender创建物体堆的模型并将模型导入Gazebo_第6张图片
将刚体类型改成被动。
Blender创建物体堆的模型并将模型导入Gazebo_第7张图片

4.给小立方体添加物理属性

为了后面选物体方面操作,先在右上角场景集合处新建集合,可以按键盘上的c,然后可以双击重命名。
Blender创建物体堆的模型并将模型导入Gazebo_第8张图片
选中模型中的小立方体后,点右侧的修改器属性,点击实例独立化,紧接着按m,将这些独立化的立方体移动到新建的集合中,删除原来的cube。
Blender创建物体堆的模型并将模型导入Gazebo_第9张图片
右键点击这个新建的集合,然后选择物体,和刚才对平面的操作类似,选择物理属性,点击刚体,这里的类型选为活动项表面响应中将摩擦调到最大,动力中将阻尼变换旋转都调到0.5左右,否则物体会停不下来。
Blender创建物体堆的模型并将模型导入Gazebo_第10张图片
点左上角的物体,依次选刚体->从活动项复制,然后按空格,可以看到小立方体掉落在平面上,在感觉已经到了自己想要的形状时,就可以再次按空格来暂停模拟。

这时如果拖动下方的帧,会回到原来未掉落的状态,可以选任意一帧进行应用,步骤如下:拖动帧进度条,找到想要的状态,然后再通过集合选中所有的小立方体,点击左上角物体,选择刚体->应用变换,然后再点左上角的物体,这次选择刚体->移除,现在拖动帧进度条已经不会再变了。最后可以删除平面,以及创建的另外一个立方体。
Blender创建物体堆的模型并将模型导入Gazebo_第11张图片
现在,一个简单的物体堆就做好了,如果要更复杂的,可以多做几次,多次让另外的小立方体掉落,就可以做成比较大的堆。另外,还可以加入别的形状的物体,只要在吸管工具那里选择不同的物体就行了。

5.导出模型

Gazebo中一般用dae格式的模型比较方便。这里为了保险起见,可以把所有的小立方体合并成一个物体。按一下a,可以全选所有模型,然后右键,选择合并,就成了一个整体。最后点左上角文件,选择导出dae就行了。
Blender创建物体堆的模型并将模型导入Gazebo_第12张图片
将dae模型导入Gazebo后就可以进行仿真了,这种模型可以用来用作SLAM中激光雷达和视觉摄像头的扫描,进行三维重建等仿真实验。

  • 要注意的几个点:
    1.在缩放物体时,注意不要让物体之间有碰撞,否则模拟的时候会炸开
    2.作为渲染参照的物体,进行缩放后,要按ctrl+a应用变换后才会起作用

参考视频:B站

你可能感兴趣的:(笔记,机器人,blender,算法,人工智能,ubuntu)