binvox 碰撞模型¶
binvox 是一种体素文件的格式,夹具不推荐使用 binvox 模型,而被抓非长方体一定使用 binvox 模型作为碰撞模型。
使用 SolidWorks 等常见 CAD 软件均可将模型保存为 STL、wrl 等格式。
从 STL 转得的 binvox 模型仅为一个空壳;
从 wrl 文件转得的 binvox 模型为一个实心碰撞模型。
实心碰撞模型能更好得判断碰撞程度(擦碰/实碰),但也会使规划时间更长。
下载 “生成binvox.zip”,解压后在此文件夹下,用 notepad++ 打开 generate_binvoxes.py 文件,修改文件夹路径为 STL 模型所在文件夹路径,如下(不要将“r”删掉),保存 generate_binvoxes.py 后,双击运行即可。
执行后,路径文件夹下的所有 STL 和 wrl 模型均会转化为 binvox 格式。
注意
待转 STL 模型只支持 ASCII 格式 ,不支持二进制格式。若原 STL 模型为二进制模型,可使用 Mech-Viz 添加 3D 模型后,保存工程,原模型即可在工程文件夹下的 end_effectors/3d_models
文件夹中保存为 ASCII 格式,如图:
加载后的 binvox 模型:
可通过修改 gridSize 调整 binvox 模型的细致程度:
若 binvox 加载进场景后超级大,这是因为米和毫米的单位转换问题。此时可用 notepad++ 打开 binvox 文件,将 scale 和 translate 均缩小1000倍后再加载模型。