Skip to main content

Voxel Streaming (Beta)

Note

This feature is in Beta and functionality is expected to change. In order to test this, the feature needs to be switched on in your account by the DroneDeploy team.

In order to use the Voxels functionality, your Agent must have the Map component enabled. This requires Agent version 1.6+

The Voxel Streaming feature allows you to efficiently visualise point cloud maps of a robots local environment. This approach has two significant advances over using traditional pointcloud streaming.

  • Voxels are constructed by ingesting points into an octree. This is a lossy process that effectively spatially decimates the original point cloud to the minimum resolution of the octree. However, because we then render these as cubic voxels, the 3D visualisation looks more substantial than the original point cloud.
  • The binary representation we use to transfer voxels over the network is more efficient (~68%) of the ROS pointcloud2 binary format. Resulting in lower latency streaming and reduced bandwidth.

Adding Voxels to an Operation View

Once your agent has been correctly configured with the Map plugin, you need to add the visualisation into a freshly created local operations view.

You first need to add a voxel object into the scene by selecting the 3-dot menu and adding a Voxels object.

You can now bind the voxel object to the voxel topic from the Map plugin. Go to "Advanced Bindings" and then click the data viewer to pick the new map component and then the voxels topic.

Here you are also able to specify the colour method, and whether to render in chunks or not.

Render Chunks

By enabling this option, portions of the voxel map will be rendered as they are received from the agent. This can be useful when you have very large maps that take a long time to update, but will lead to the map constantly being cleared and rebuilt. It is recommended not to turn this on unless needed.

Colour Modes

Changing the colour mode lets you visualise different properties of the voxels in the map.

ModeDescription
ColorThis mode colours the map based off of the colour captured by the robot.
RainbowVoxels in this mode will be coloured using the voxels x, y and z coordinates mapped to a rainbow spectrum.
Height - RainbowVoxels in this mode will be coloured using only the voxels z coordinate mapped to a rainbow spectrum.
Height - MonoVoxels in this mode will be coloured using the only the voxels z coordinate mapped to a greyscale colour.