Giter Club home page Giter Club logo

voxblox_ground_truth's Introduction

Voxblox Ground Truth

Create ground truth voxblox TSDF maps from

  • Gazebo worlds
  • Ply mesh files

Install

Make sure that voxblox and gazebo are installed, then run

cd ~/catkin_ws
catkin build voxblox_ground_truth
source devel/setup.bash

Gazebo plugin

Demo

Start the demo by running

roslaunch voxblox_ground_truth gazebo_plugin_demo.launch

Then wait for Gazebo and Rviz finish loading. Once they're ready, call

rosservice call /gazebo/save_voxblox_ground_truth_to_file "file_path: '$HOME/voxblox_ground_truth_demo.tsdf'"

The ground truth TSDF map will now be available in your home folder as ~/voxblox_ground_truth_demo.tsdf.

Your own world

In order to use the plugin, it must be loaded as part of your Gazebo world.

To do this, add the following line to your .world file right after the <world name='default'> tag:

<plugin name="voxblox_ground_truth_plugin" filename="libvoxblox_ground_truth_plugin.so"/>

For an example, see the provided sample.world.

Once your world is ready, launch your simulation in the same way you normally would.

Next, set the desired voxel size with

rosparam set /voxblox_ground_truth/voxel_size 0.05

And finally generate the ground truth map with

rosservice call /gazebo/save_voxblox_ground_truth_to_file "file_path: '$HOME/your_ground_truth_map.tsdf'"

Ply conversion script

Demo

Try the demo with

roslaunch voxblox_ground_truth ply_importer_demo.launch

The ground truth TSDF map will now be available in your home folder as ~/bun_zipper.tsdf.

Your own Ply file

To convert your own .ply file, run

roscore &
rosrun voxblox_ground_truth ply_to_sdf \
       [path_to_mesh_file.ply] [tsdf_output_file_path] [voxel_size] \
       [scale_factor] [X] [Y] [Z] [Qx] [Qy] [Qz] [Qw]

Note that the paths must be absolute.

The mesh can be scaled up or down using the scale_factor, translated by X Y Z and rotated with Qx Qy Qz Qw. Elements Qx Qy Qz and Qw should be set to the imaginary and real parts of a normalized quaternion. No rotation corresponds to 0 0 0 1. A convenient rotation conversion tool is available on Andre Gaschler's website.

In case you'd like to have fun with some random .ply meshes, you could download samples from Stanford's 3D Scanning Repository here.

voxblox_ground_truth's People

Contributors

victorreijgwart avatar rikba avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.