binvox 碰撞模型

binvox 是一种体素文件的格式,夹具不推荐使用 binvox 模型,而被抓非长方体一定使用 binvox 模型作为碰撞模型。

使用 SolidWorks 等常见 CAD 软件均可将模型保存为 STL、wrl 等格式。

  • 从 STL 转得的 binvox 模型仅为一个空壳;

  • 从 wrl 文件转得的 binvox 模型为一个实心碰撞模型。

  • 实心碰撞模型能更好得判断碰撞程度(擦碰/实碰),但也会使规划时间更长。

下载 “生成binvox.zip”,解压后在此文件夹下,用 notepad++ 打开 generate_binvoxes.py 文件,修改文件夹路径为 STL 模型所在文件夹路径,如下(不要将“r”删掉),保存 generate_binvoxes.py 后,双击运行即可。

../../../_images/global_param_4_1.png

执行后,路径文件夹下的所有 STL 和 wrl 模型均会转化为 binvox 格式。

注意

待转 STL 模型只支持 ASCII 格式 ,不支持二进制格式。若原 STL 模型为二进制模型,可使用 Mech-Viz 添加 3D 模型后,保存工程,原模型即可在工程文件夹下的 end_effectors/3d_models 文件夹中保存为 ASCII 格式,如图:

../../../_images/global_param_4_2.png

加载后的 binvox 模型:

../../../_images/global_param_4_3.png

可通过修改 gridSize 调整 binvox 模型的细致程度:

../../../_images/global_param_4_4.png
../../../_images/global_param_4_5.png

gridSize = 512 & gridSize = 100

若 binvox 加载进场景后超级大,这是因为米和毫米的单位转换问题。此时可用 notepad++ 打开 binvox 文件,将 scaletranslate 均缩小1000倍后再加载模型。

../../../_images/global_param_4_7.png