Ask Your Question

Creating Octomap from Blender file

asked 2013-01-17 21:48:17 -0600

Felix Messmer gravatar image

updated 2014-01-28 17:14:54 -0600

ngrennan gravatar image

Dear all,

I would like to use dynamicEDT3D that comes with octomap for distance computation. For the moment this question is not necessarily a ROS issue, but I hope to get an answer to my problem here as well.

I am using the latest source code from the octomap github repository and built it. I created a simple environment within blender (2.61) only consisting of a wall spanning from 0,05..x..0,15 -0,5..y..0,5 0,0..z..1,0 (Blender coordinates) and a point lamp. Then, I followed the tutorial to generate a binary tree to initialize the octomap structure.

I used the following commands:

  • Export as X3D Extensible 3D file with 'Y forward' and 'Z up'
  • xsltproc -o collision_test_envYZ.vrml X3dToVrml97.xslt collision_test_envYZ.x3d

    [Info] <x3d profile="Immersive"> differs from computed profile='Interactive' [Hint] preferred Dublin Core Metadata Term is name='title' (vice filename) <meta name="filename" content="collision_test_envYZ.x3d"/> [Hint] Recommended: add <meta name="description" content="..."/> for documentation [check X3D source or VRML output to find pertinent head] [Hint] Recommended: add <meta name="created"/> date content for documentation [check X3D source or VRML output to find pertinent head] [Hint] Recommended: add <meta name="modified"/> date content for documentation [check X3D source or VRML output to find pertinent head] [Warning] PointLight node location and radius are affected by translation and scaling of parent <transform def="Point_TRANSFORM" translation="0.000000 0.000000 1.500000" scale="1.000000 1.000000 1.000000"/> [PointLight DEF='LA_Point']

  • ./binvox64 -bb -1.0 -1.0 -1.0 1.0 1.0 1.0 -d 200 ~/octomap/data/collision_test_envYZ.vrml

    --- [binvox] mesh voxelizer, version 1.08, build #445 on 2011/08/02 18:49:00 --- written by Patrick Min, 2004-2011

    will force bounding box to be [-1, -1, -1, 1] - [1, 1, 1, 1] loading model file... MeshFileIdentifier::*create_mesh_file(/home/fxm/octomap/data/collision_test_envYZ.vrml) VrmlMeshFile::load(/home/fxm/octomap/data/collision_test_envYZ.vrml) Timer [load_vrml] started VRML version 2.0 75 lines read, and 4 top level nodes Mesh::add_def_name_group(Point_TRANSFORM, 0, -1, 0) Mesh::add_def_name_group(group_ME_Cube, 0, 5, 2) Mesh::add_def_name_group(Cube_ifs_TRANSFORM, 0, 5, 1) Mesh::add_def_name_group(Cube_TRANSFORM, 0, 5, 0) freeing VRML memory Timer [load_vrml] stopped at 0.000439 seconds bounding box: [0.05, -0.5, 0, 1] - [0.15, 0.5, 1, 1] normalization transform: (1) translate [-0.05, 0.5, -0, 1], (2) scale 1, (3) translate [0, 0, 0] removed 0 faces before rendering

    voxel model dimension: 200 Graphics card and driver information: Vendor: NVIDIA Corporation Renderer: GeForce GT 330M/PCI/SSE2 Version: 3.3.0 NVIDIA 270.41.06 Voxels::init(200, 200, 200) calling set clip box SimpleMeshView::set_clip_box Voxelizer::carve_voxelize doing x direction doing y direction doing z direction Voxelizer::parity_vote_voxelize doing x direction doing y direction doing z direction Voxels::process_votes Voxelizer::voxelize took 0.680941 seconds area filled: 20 x 200 x 200 integer bounding box: [0,0,0] - [19,199,199]

    writing voxel file... VoxelFile::write_file(/home/fxm/octomap ...

edit retag flag offensive close merge delete


I agree that maybe ROS answers is not the best for issues related directly to OctoMap (not in ROS). If there is enough demand, I can create a mailing list or OctoMap-related questions and issues...

AHornung gravatar image AHornung  ( 2013-01-18 03:23:22 -0600 )edit

The new mailing list for OctoMap is here: This should be used in the future for general (non-ROS related) questions.

AHornung gravatar image AHornung  ( 2013-01-23 03:43:53 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2013-01-18 03:21:48 -0600

AHornung gravatar image

binvox sometimes behaves strange, maybe it ignores the bounding box in a later step. As a first measure, I would get the latest version from the author's homepage (future versions of OctoMap will no longer contain binvox binaries anyways) and see if the problem is resolved with it.

I usually had good results with binvox using the -v or -e options, ignoring -bb. Instead, try using the --bb and --offset parameters of binvox2bt, that worked more reliable.

To verify whether the intermediate binvox file is OK you can use viewvox, and then octovis to verify the final .bt output.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2013-01-17 21:48:17 -0600

Seen: 553 times

Last updated: Jan 18 '13