Install C++ SDK

Linux - Installing and using the BOW C++ SDK

This tutorial assumes you have already installed the BOW System Tray application and simulator on your workstation. If not, follow this tutorial to get your environment set up.

Installing the C++ SDK

  1. The simplest way to install the BOW SDKs is using the Systray application. Simply click the "Install SDKs" drop down menu and then select "C++ SDK".
  1. Follow the onscreen prompts and wait for the installation to complete, you may have to enter your password a few times.

Testing with a simulated robot

Now lets run your first BOW enabled C++ program to control a simulated robot.

  1. Let's start by running the simulator, this can either be launched from the systray, "Launch Webots Simulator", or by running the command bow-webots in a terminal.
  2. In Webots, select File -> Open Sample World. In the menu that appears, navigate to BOW -> pal_robotics -> tiago++ -> tiago++.wbt and click OK.
  1. Once the project opens the BOW driver will start running automatically, after a short moment the simulated Tiago++ robot, named Buddy, will appear in the BOW systray under the "My Robots" heading. Select this robot, and it will appear under the "Current Selection" heading. You are now connected to Buddy.
  1. Before compiling we will need to install some additional tools and libraries. Open a terminal and run the following command:
sudo apt-get install qtbase5-dev pkg-config build-essential libopencv-dev
  1. Now let's navigate to an example project, by clicking on the installed SDK in the systray you will be taken to the tutorials directory (Home/.bow/tutorials/C++).
  1. For this example we will use the Keyboard Control project, open the "keyboard_teleop" directory.
  2. Within this directory, there is an script which can be used to build the project using the command ./ For the purposes of this tutorial however we will run through the steps in full.
  3. Let start by generating the Makefiles using cmake. First create a directory named build, navigate to this directory and run cmake
mkdir build
cd build
cmake ..
  1. Now we can make the executable
make -j4
  1. If the compilation was successful, you will now have an executable file named bow_keyboard_control
  1. Now lets run the example program, and test it works with our simulated robot
  1. After a short wait, you will see a window open which displays the image stream from the camera of the Tiago++. You will also see some activity in the console of the Webots sim which indicates that the connection to the robot has been made.
drawing drawing
  1. Try controlling the robot using your keyboard. First select the empty window titled "bow_keyboard_control". W, A, S and D keys control forwards, backwards and rotate, Q and E control strafing, the arrow keys control head movements.
  2. That's it, you have now tested your first BOW enabled robot using the C++ SDK.


Why not take this test further, your robot doesn't need to be on the same local network as your C++ program. Why not run the simulated robot on one workstation and run the keyboard controller from another workstation on a different network to experience simulated telepresence!