Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ A C++ library for accessing Universal Robots interfaces. With this library C++-b
implemented in order to create external applications leveraging the versatility of Universal Robots
robotic manipulators.

The library is standalone without any external dependencies and.
Though it was initially developed for the ROS / ROS 2 drivers, it can be used in any C++ project.

<!-- markdownlint-disable MD033 -->
<div align="center">
<img src="doc/resources/family_photo.png" alt="Universal Robot family" style="width: 90%;"/>
Expand Down
3 changes: 3 additions & 0 deletions doc/setup.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
Setup a robot
=============

To enable communication between the robot and the client library you must first prepare the robot
and set up the robot correctly. This documentation will guide you through the necessary steps.

.. toctree::
:maxdepth: 1

Expand Down
9 changes: 7 additions & 2 deletions doc/setup/robot_setup.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Robot setup
===========

In order to use the client library with a robot, that robot has to be setup.
In order to use the client library with a robot, the robot needs to be prepared.

.. tabs::

Expand All @@ -14,6 +14,11 @@ In order to use the client library with a robot, that robot has to be setup.

.. group-tab:: PolyScope 5

There are two ways the client library can be enabled to send command to the robot.

- **Remote control**: There the full control is given to the client library and enables it to e.g. power on and off, brake release, load PolyScope programs and send URScript programs directly to the controller.
- **External Control URCap**: There the control to power on, off and start programs etc. still remains on the teach pendant. The External Control URCap injects the needed URScript code from the client library. This also makes it possible to combine the use of the client library and other PolyScope program nodes, like standard moves or other third-party URCaps.

**Enable remote control:**

#. Go to the hamburger menu -> settings.
Expand Down Expand Up @@ -203,6 +208,6 @@ application.
.. warning::

Support for PolyScope X isn't fully developed, yet. Please consider using External Control
with PolyScope X an open beta.
with PolyScope X as an open beta.

For details on installing the External Control URCapX, please see https://github.com/UniversalRobots/Universal_Robots_ExternalControl_URCapX
15 changes: 8 additions & 7 deletions doc/setup/ursim_docker.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ testing instance with very little computational overload.
This guide will assume that you have Docker already installed and setup such that you can startup
Docker containers using your current user.

The following example will start up a simulator on a UR5e. See the Docker image `documentation <https://hub.docker.com/r/universalrobots/ursim_e-series>`_ for more details and configuration options.

Start a URSim docker container
------------------------------

Expand All @@ -33,7 +35,7 @@ External Control
To use the external control functionality, we will need the ``external_control`` URCap installed on
the robot and a program containing its *ExternalControl* program node. Both can be prepared on the
host machine either by creating an own Dockerfile containing those or by mounting two folders
containing installed URCaps and programs. See the Dockerfile's upstream `documentation <https://hub.docker.com/r/universalrobots/ursim_e-series>`_.
containing installed URCaps and programs. See the Docker image `documentation <https://hub.docker.com/r/universalrobots/ursim_e-series>`_.

In this example, we will bind-mount a folder for the programs and URCaps. First, let's create a
local folder where we can store things inside:
Expand Down Expand Up @@ -63,10 +65,10 @@ described in :ref:`URCap setup guide <install_urcap>`.
Network setup
-------------

As described above, you can always start the URSim container using the default network setup. As long
as you don't have any other docker containers running, it will most probably always get the same IP
address assigned every time. However, to make things a bit more explicit, we can setup our own
docker network where we can assign a static IP address to our URSim container.
As described above, you can always start the URSim container using the default network setup. It will most probably
always get the same IP address assigned every time, as long as you don't have any other docker containers running.
However, to make things a bit more explicit, we can setup our own docker network where we can assign a static IP
address to our URSim container.

.. code-block:: bash

Expand All @@ -76,8 +78,7 @@ docker network where we can assign a static IP address to our URSim container.
The above commands first create a network for docker and then create a container with the URSim
image attaching to this network.

As we now have a fixed IP address we can also skip the port exposure as we know the robot's IP
address. The VNC web server will be available at `<http://192.168.56.101:6080/vnc.html>`_
We can skip the port exposure, as we use a fixed IP address for the simulated robot. Therefore, the VNC web server will be available at `<http://192.168.56.101:6080/vnc.html>`_.

Script startup
--------------
Expand Down
Loading