design

The design software allows you to rapidly test designs and discard bad ones before spending time and supplies to build them. However, if you already have a design in mind and the kit in hand, you skip the simulation and go ahead and build it now!

Follow @voxcraft

The software has three parts:

     viz: draw and visualize voxelbots in action.

       sim: gpu-accelerated simulation.

    evo: evolutionary design.

viz

You can manually design voxelbots by drawing them in our graphical user interface voxcraft-viz, which was originally forked from voxcad.

Star Fork Download

install on Windows

On Win10, you can download the software here.

install on linux

On linux you can install with snap

sudo snap install voxcraft-viz

Get it from the Snap Store

install on macOS

On macOS follow these steps to install viz (you’ll need Homebrew):

brew install cmake
brew install boost
brew install qt5
brew install glfw3
brew cask install xquartz
brew install freeglut
brew install mesa

This will take a while…

git clone https://github.com/voxcraft/voxcraft-viz.git

cd voxcraft-viz/
mkdir build
cd build/
  
cmake -DQt5_DIR=$(brew --prefix qt5)/lib/cmake/Qt5 -DCMAKE_BUILD_TYPE=Release ..
  
make -j 10

Copy the executable voxcraft-viz somewhere in your $PATH, for example /usr/local/bin.

cp voxcraft-viz /usr/local/bin

Done!

Type voxcraft-viz into your terminal to launch the viz.

drawing a robot in viz

You can draw a custom robot in voxcraft-viz using your mouse and then press play to watch its behavior.



playing a history file in viz

voxcraft-viz can also be used to replay the behavior of robots that have already been simulated elsewhere: their history.

You can download one of these prerecorded history files

m190.history    m805.history

and replay it in voxcraft-viz:


sim

voxcraft-sim simulates voxels in parallel on a gpu. The simulations are headless (without graphics) but a history file can be recorded that traces the behavior of each voxel within a simulation. This history can then be replayed in either voxcraft-viz or Unity.

Star Fork Download

run sim in Google Colab

Create a new notebook and go to Menu->Runtime->Change runtime type, select GPU.

Then, copy and run the script from this (readonly) example notebook.

It will produce a.history which can be played in voxcraft-viz to visualize the simulated behavior.

render a history file in Unity

History files can also be rendered in the Unity game engine.

You can download this Unity demo project here.

install sim from scratch

If you have access to Nvidia graphic cards you can compile voxcraft-sim from scratch. The most difficult part is installing CUDA 10.1.

Once you have CUDA 10.1, the rest is easy:

sudo apt-get update
sudo apt-get install -y git cmake libboost-all-dev

git clone https://github.com/voxcraft/voxcraft-sim.git
cd voxcraft-sim
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCUDA_DEBUG=OFF ..
make -j 10

Now you will have two executables: voxcraft-sim and vx3_node_worker.

Copy and paste them to a directory where you want to run the simulations.

Finally, try one of the demos:

./voxcraft-sim -i ../demos/basic/ > demo_basic.history

This will produce a demo_basic.history file that can be visualized in voxcraft-viz.

cite voxcraft-sim

If you use this code for academic purposes, please cite:

@MISC{liu_voxcraft_2020,
	title = {Voxcraft-sim, a GPU-accelerated voxel-based physics engine},
	howpublished = {\url{https://github.com/voxcraft/voxcraft-sim}},
	author = {Sida Liu and David Matthews and Sam Kriegman and Josh Bongard},
	year = {2020},
	doi = {10.5281/zenodo.3835152},
}

DOI

Thanks!

evo

With voxcraft-sim you can evaluate designs on GPUs with blazing fast speed, but which designs should you sim?

Star Fork Download

voxcraft-evo contains a simple but powerful evolutionary design package that “genetically” encodes each robot design as a generative network, and through a process of trial and error, incrementally improves their performance according to a desired behavioral goal: locomotion, grasping, jumping, etc.

The software is modular: you can replace the encoding and optimization algorithm with whatever you’d like.

If you can beat the default settings, that’s impressive! Please publish your method, contact Sam, and we will link your code and paper here.

demos

voxcraft-evo is UNDER CONSTRUCTION please check back soon.

I you are waiting for this, please let Sam know and we will hurry up.