Quickstart ========== This guide will help you to setup your programming environment to start using the xbot2 framework. System Setup ============ The xbot2 framework is written in C++17 and depends on a few external packages. Note that xbot2 is released free of charge, and it is not open source: as a standard user you are expected to install the framework using our apt server as follow. System Requirements ------------------- Currently the xbot2 framework support the following operating systems: - Linux Ubuntu 18.04 LTS - Linux Ubuntu 20.04 LTS Moreover it supports the Xenomai3 Real-Time (RT) co-kernel system. Dependencies ------------ Install the ROS base version of the target OS you choose. First of all set up the source.list and your keys: .. code-block:: bash sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' sudo apt install curl curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add - Then continue based on the OS you are working on for the right ROS and Gazebo version (including the sourcing in the .bashrc): - on Ubuntu 18.04 LTS (Bionic): .. code-block:: bash sudo apt update && sudo apt install -y \ ros-melodic-ros-base \ libgazebo9-dev echo ". /opt/ros/melodic/setup.bash" >> ~/.bashrc . ~/.bashrc - on Ubuntu 20.04 LTS (Focal): .. code-block:: bash sudo apt update && sudo apt install -y \ ros-noetic-ros-base \ libgazebo11-dev echo ". /opt/ros/noetic/setup.bash" >> ~/.bashrc You can now install some extra ROS and QT packages needed for xbot2: .. code-block:: bash source $HOME/.bashrc sudo apt install -y \ ros-$ROS_DISTRO-urdf ros-$ROS_DISTRO-kdl-parser \ ros-$ROS_DISTRO-eigen-conversions ros-$ROS_DISTRO-robot-state-publisher ros-$ROS_DISTRO-moveit-core \ ros-$ROS_DISTRO-rviz ros-$ROS_DISTRO-interactive-markers ros-$ROS_DISTRO-tf-conversions ros-$ROS_DISTRO-tf2-eigen \ qttools5-dev libqt5charts5-dev qtdeclarative5-dev Install the xbot2 framework --------------------------- This installation is meant for a non-RT capable machine (e.g. your laptop). .. code-block:: bash sudo sh -c 'echo "deb http://xbot.cloud/xbot2/ubuntu/$(lsb_release -sc) /" > /etc/apt/sources.list.d/xbot-latest.list' wget -q -O - http://xbot.cloud/xbot2/ubuntu/KEY.gpg | sudo apt-key add - sudo apt update sudo apt install xbot2_desktop_full The installed libraries/binaries are made visible by sourcing the provided `/opt/xbot/setup.sh` script: .. code-block:: bash echo ". /opt/xbot/setup.sh" >> ~/.bashrc Note that installing the `xbot2_dekstop_full` package will also provide the following SDKs: - `CartesI/O `_ (with OpenSoT under the hood) - `MatLogger2 `_ Run the examples ================ Clone and compile the `examples repository `_! The readme file will guide you through the commented source code, and you'll be able to play with the *IIT-Teleop* robotic arm inside Gazebo. If you're just curious and you don't want to deal with software installation, the examples can be executed on a **Docker** container as well (see the provided instruction).