1 Build Instructions - Tabjones/pacman_vision GitHub Wiki

PaCMaN Vision supports a modular build system, letting you choose which part of the node you want to compile. By default, the package will try to build all the modules provided along with the default bare-bone node. To control which part of the package you want to include in the build process, some CMake variables are provided for user convinience. These variables are called:

    PACV_BUILD_XXXXX

Set them to 1 or 0 in order to build/skip the relative module. You can easily do this with CMake by passing the argument -DPACV_BUILD_XXXXX to the catkin_make macro (or catkin build in case you installed catkin_tools, see below).

By disabling all the modules you'll get the the bare-bone version of PaCMan Vision, which needs the following software. Other modules might have more dependencies, listed on its Module wiki page.

1- CMake

At least version 2.8.11. This is used also by ROS and catkin, so you should already have it, just make sure your version is high enough (2.8.11).

2- ROS

A full ROS setup is required, follow the instructions on ROS wiki pages if you need help. The project was developed and tested with ROS Indigo Igloo, but it should also work with ROS Hydro, although it is not tested with it.

3- Catkin Workspace

This should be initialized and configured to work with catkin tools. catkin tools is not strictly required, but it is to be preferred over catkin_make macro provided by ROS for a number of reasons. The most important one is that it can handle pure cmake projects directly inside the ROS workspace, building any other non-ROS packages with a single catkin build command. In case you want to install it just type:

      sudo apt-get install python-catkin-tools

Then, follow their documentation on how to configure the ROS workspace to work with it.

4- A compiler that supports at least C++11

For example GCC > 4.8 is fine.

5- Point Cloud Library, PCL at version 1.7.2

1.7.2 is the latest stable version, as of today. PaCMaN Vision requires some functionalities in 1.7.2 which are not included into 1.7.1. If you have Ubuntu 14.04 you will need to compile PCL from source, since there is no version 1.7.2 on Ubuntu repositories, only 1.7.1, technically you don't have to uninstall 1.7.1, since both version can coexist without much hassle. 1.7.2 will in fact be installed into /usr/local prefix, while 1.7.1 from ubuntu repositories will live into /usr prefix, so nothing will get overwritten.

To install PCL 1.7.2 from source you can read the detailed instructions on PCL wiki, or follow these condensed instructions:

      cd <YOUR-PCL-SOURCE-LOCATION>
      git clone https://github.com/PointCloudLibrary/pcl pcl
      cd pcl
      git checkout pcl-1.7.2
      mkdir build && cd build
      cmake -DCMAKE_BUILD_TYPE=Release ..
      make && sudo make install

6- Qt Libraries

You will need at least version 4.8, which should be already installed on Ubuntu 14.04. In case you need to install them just type:

   sudo apt-get install libqt4-dev libqt4-dev-bin

Build

When everything is set up you can build your workspace with PaCMaN Vision in it.

   roscd && cd ..
   catkin build     # or catkin_make without catkin_tools