************ Installation ************ This section contains information on how to build and install the ur_rtde library. Quick Install ============= If you are on Linux (Ubuntu), you can install ur_rtde with: .. code-block:: shell sudo add-apt-repository ppa:sdurobotics/ur-rtde sudo apt-get update sudo apt install librtde librtde-dev If you only want to the use the Python interface, you can install ur_rtde through pip: .. code-block:: shell pip install --user ur_rtde Notice! Make sure your pip version >=19.3, otherwise the install might fail. Compatible Robots ================= * All CB-Series from CB3/CB3.1 software 3.3 * All e-Series Compatible Operating Systems ============================ Currently tested on: * Ubuntu 16.04 (Xenial Xerus) * Ubuntu 18.04 (Bionic Beaver) * Ubuntu 20.04 (Focal Fossa) * macOS 10.14 (Mojave) * Windows 10 Pro x64 .. note:: The ur_rtde should be compatible with Windows 10. However it has currently only been tested without python bindings. pybind11 supports *Microsoft Visual Studio 2015 Update 3 or newer* on Windows. Build Instructions ================== This section describes how to build ur_rtde from source on different platforms. The dependencies of ur_rtde are: .. image:: ../_static/boost-logo.svg :width: 60 :target: https://www.boost.org/ :alt: Boost .. image:: ../_static/pybind11-logo.png :width: 100 :target: https://github.com/pybind/pybind11 :alt: pybind11 * `Boost `_ * `pybind11 `_ .. note:: The pybind11 dependency is optional and are only required if ur_rtde are to be used with Python. The ur_rtde library depends on Boost for networking and threading. Linux (Ubuntu) and macOS ------------------------ Dependencies ~~~~~~~~~~~~ You can install Boost on Ubuntu using: .. code-block:: shell sudo apt-get install libboost-all-dev On macOS you can install Boost with: .. code-block:: shell brew install boost *Optionally* if you want to use ur_rtde with Python make sure pybind11 is checked out from the submodule before attempting to build using: .. code-block:: shell git submodule update --init --recursive Build ~~~~~ .. code-block:: shell git clone https://gitlab.com/sdurobotics/ur_rtde.git cd ur_rtde git submodule update --init --recursive mkdir build cd build cmake .. make sudo make install .. role:: bash(code) :language: bash .. note:: If you want Python 2.x support you must use :bash:`cmake -DPYBIND11_PYTHON_VERSION=2.x ..` in this step, since the default interpreter is Python3. If you do not want to use Python at all, please use :bash:`cmake -DPYTHON_BINDINGS:BOOL=OFF ..` .. tip:: In order to test the interface, download the most recent UR simulator for your robot from here `UR Download `_. Once installed run the simulator with: :bash:`./start-ursim.sh`, when the simulator is running, initialize the robot by first clicking the **'ON'** button, and next clicking the **'START'** button. You can now run the examples. Windows ------- Dependencies ~~~~~~~~~~~~ Boost precompiled libraries can be found at: https://sourceforge.net/projects/boost/files/boost-binaries/ .. note:: If you are using Microsoft Visual Studio make sure you download a version of Boost that matches your Microsoft Visual Studio version. Depending on your setup it may be required to add the Boost library path to the system environment variables. *Optionally* if you want to use ur_rtde with Python make sure pybind11 is checked out from the submodule before attempting to build using: .. code-block:: shell git submodule update --init --recursive .. code-block:: shell git clone https://gitlab.com/sdurobotics/ur_rtde.git Visual Studio Build ~~~~~~~~~~~~~~~~~~~ If you are using Microsoft Visual Studio with CMake support (supported since 2017 version). You should be able to navigate to the folder you cloned the repository to and open the ur_rtde as a CMake project. See the image below. .. image:: ../_static/open_cmake_project.png :target: https://docs.microsoft.com/en-us/cpp/build/cmake-projects-in-visual-studio?view=vs-2019 :alt: Open CMake Project You can find more information about CMake projects in visual studio `Here `_. Once you have loaded the project navigate to the CMake Settings through 'Project->CMake Settings for ur_rtde'. Set the following CMake Command Arguments in order for the project to find Boost and disable the Python bindings: .. code-block:: shell -DBOOST_ROOT= -DBOOST_LIBRARYDIR= -DPYTHON_BINDINGS:BOOL=OFF .. tip:: Remember you can run the UR Simulator on Windows through the virtual machines provided by UR. In the VMware virtual machine you can set the network adapter to "Bridged" in the 'Virtual Machine Settings'. If you then obtain the IP address of the robot using ifconfig, you can test the communication with your windows host running the ur_rtde program. Commandline Build ~~~~~~~~~~~~~~~~~ A quick way to compile the interface on Windows, is to do everything from the command line. The following commands can be executed from the command prompt after Boost has been installed. .. code-block:: shell git clone https://gitlab.com/sdurobotics/ur_rtde.git cd ur_rtde mkdir Build cd Build cmake -DBOOST_ROOT=">" -DBOOST_LIBRARYDIR="\>" -DPYTHON_BINDINGS=OFF .. msbuild ur_rtde.sln /property:Configuration=Release /maxcpucount: filling out the system specific variables the setup looks like this for a computer with 8 cores, using visual studio 2019 and boost 1.71.0. .. code-block:: shell cmake -DBOOST_ROOT="C:\local\boost_1_71_0" -DBOOST_LIBRARYDIR="C:\local\boost_1_71_0\lib64-msvc-14.2" -DPYTHON_BINDINGS=OFF .. msbuild ur_rtde.sln /property:Configuration=Release /maxcpucount:8 The example above is the basic setup for compiling ur_rtde below you'll find a list of other commands and what they do. - -G "Visual Studio 15 2017 Win64" - This command forces the generator to vs 2017 64 bit. On some 64 bit systems when running cmake boost will look for 32bit libraries which are not there. - The equivalent for Visual studio 2019 is: -G "Visual Studio 16 2019" -A x64 - -DBUILD_STATIC=[ON|OFF] - The default value is "OFF", which means that a dll library is built. This means, that when trying to link against this library runtime. The .dll file must either be moved to the same directory as .exe file. Or the system PATH variable must be set to include Build\\ - If it is set to ON the libraries will be build statically. This will make the compile time linking libraries a little longer and the output .exe or .lib a little larger. - -DBoost_USE_STATIC_LIBS=[ON|OFF] - The default is OFF. If set to on it will link statically to Boost libraries. This will give the same benefits/drawbacks as -DBUILD_STATIC, just for the Boost libraries instead.