The PID projects development methodology is used to manage packages to simplify their deployment and use. Based on CMake and Git, it provides:

  • Common and formal structure for projects.
  • Uniform project life-cycle.
  • Automating build/deployment/publishing processes.

More information about PID are given in the official documentation available here.

Here are the first steps to get you started with PID. First, install the system dependencies required by PID:

On Ubuntu:

curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt install build-essential gfortran git git-lfs cmake

On Archlinux:

sudo pacman -S gcc gcc-fortran git git-lfs cmake

After that, run the following steps to get and configure a PID workspace:

git clone https://github.com/lirmm/pid-workspace.git
cd pid-workspace
./pid configure

The following message should appear:

----------------------------------------------------- WARNING --------------------------------------------------
Consider sourcing the share/pid.sh script inside your workspace and use the pid command for better shell support

For the current session only run
    source /home/robin/soft/PID-test/pid-workspace/share/pid.sh

Then add the above line to your shell setup script
    echo "source /home/robin/soft/PID-test/pid-workspace/share/pid.sh" >> /home/robin/.bashrc
----------------------------------------------------------------------------------------------------------------

If it is the first time you deploy a workspace into your local station or if you never performed the script sourcing, simply follow the instructions given.

To make sure that all RKCL packages are known by PID, add the dedicated contribution space where everything related to RKCL is referenced:

cd pid-workspace
pid contributions cmd=add space=rkcl_contributions update=https://gite.lirmm.fr/rkcl/pid-contributions.git

Let’s define the downloaded contribution space as default. To do so, edit the file located at pid-workspace/contributions/contribution_spaces_list.cmake with any text editor and just swap the two lines it contains to set the maximum priority to rkcl_contributions space. Then, reconfigure the workspace:

cd pid-worskspace
pid configure

Now you can deploy existing RKCL packages (we call it <rkcl-package>):

pid deploy package=<rkcl-package>

This command clones the <rkcl-package> in the pid-workspace/package folder and automatically downloads and builds the package’s dependencies before building the package itself.

Now you are ready to use RKCL, go to the next section to learn how to use an application package to control a robot.