First of all, we need to install bullet3 from the sources in order to get all the libraries. You can install it where you want on your computer but avoid installing it in your catkin workspace.
git clone git@github.com:bulletphysics/bullet3.git
cd bullet3
mkdir build && mkdir install
export BULLET_PATH=$(pwd)
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$BULLET_PATH/install -DBUILD_SHARED_LIBS=ON
make install
From there, bullet is installed. To use it, we have to export two variables. You can put them in the bashrc file or in the setup file of your workspace if you use some.
export BULLET_INSTALL_PATH=your/install/path
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$BULLET_INSTALL_PATH/lib
To install Overworld, you just have to clone it and Ontologenius in the src folder of your ROS workspace and compile it. Enjoy !
cd src
git clone git@github.com:sarthou/ontologenius.git
git clone git@github.com:sarthou/overworld.git
cd ..
catkin_make # or catkin build
Overworld has only one executable being overworld_node
which takes two arguments: a configuration file and a robot name. We thus advise you to use a launch file. You can take the overworld.launch
example file.
The configuration file is used to define the used perception modules and to configure them.
The robot name is the identifier of your robot.
Because Overworld is strongly linked to the semantic knowledge base Ontologenius, you have to launch both:
Terminal 1:
roslaunch ontologenius ontologenius_full.launch
Terminal 2:
roslaunch overworld overworld.launch
You can also create a launch file starting both if you prefer
The knowledge base Ontologenius can be used as a source of information for Overworld to spawn the objects. It can provide the visual mesh, the collision mesh, or the color of an object. In addition, it is used to store the symbolic facts generated by Overworld.
More information about this link and tutorials to show its use will come soon.