Skip to content

Commit d82c0a9

Browse files
srvaldurfeex
andauthored
Add Sphinx documentation (#9)
* Sphinx Documentation * Add sphinx build job * Remove title from index.rst The title comes from including the README --------- Co-authored-by: Felix Exner <feex@universal-robots.com>
1 parent 1f6c36f commit d82c0a9

12 files changed

Lines changed: 789 additions & 106 deletions

File tree

.github/workflows/sphinx_build.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
name: "Build documentation"
3+
on:
4+
workflow_dispatch:
5+
pull_request:
6+
push:
7+
branches:
8+
- main
9+
schedule:
10+
- cron: '38 2 * * *'
11+
12+
jobs:
13+
docs:
14+
runs-on: ubuntu-latest
15+
permissions:
16+
contents: write
17+
concurrency:
18+
group: ${{ github.workflow }}-${{ github.ref }}
19+
steps:
20+
- uses: actions/checkout@v6
21+
- uses: actions/setup-python@v6
22+
with:
23+
cache: 'pip'
24+
- name: Install dependencies
25+
run: |
26+
python -m pip install --upgrade pip
27+
pip install -r doc_requirements.txt
28+
- name: Build documentation
29+
run: |
30+
sphinx-build -W -b html doc _doc_build

README.md

Lines changed: 0 additions & 106 deletions
This file was deleted.

README.rst

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
ur_rtde_publisher
2+
=================
3+
4+
A ROS 2 package that provides a RTDE (Real Time Data Exchange) publisher for Universal Robots manipulators. The node connects to a robot's IP via UR’s `RTDE protocol <https://docs.universal-robots.com/tutorials/communication-protocol-tutorials/rtde-guide.html>`_, retrieves selected robot state variables (such as robot mode, safety status and timestamps), and exposes them as ROS 2 topics.
5+
6+
.. note::
7+
8+
This package is currently in an early development stage. At this point, we don't make any
9+
guarantees about ROS API stability, so the interface types for published data might change in the
10+
future. Hence, this package is currently not available as a pre-built binary in any ROS
11+
distribution, and users need to :ref:`build it from source <ur_rtde_pub/installation>`.
12+
13+
Usage
14+
-----
15+
16+
The node is started using the provided launch file:
17+
18+
.. code-block:: bash
19+
20+
ros2 launch ur_rtde_publisher rtde_publisher.launch.xml \
21+
robot_ip:=192.168.56.101 \
22+
output_recipe:='["payload", "robot_mode"]' \
23+
rtde_frequency:=125
24+
25+
See the documentation's :ref:`ur_rtde_pub/usage` section for more details on how to run the node and verify its operation.
26+
27+
Parameters
28+
^^^^^^^^^^
29+
30+
* ``robot_ip`` (string): IP address of the robot.
31+
* ``output_recipe`` (string[]): List of RTDE output variables to request and publish.
32+
* ``rtde_frequency`` (int, optional, default: ``500``): RTDE communication frequency in Hz.
33+
* ``tf_prefix`` (string, optional, default: ``""``): Optional prefix applied to the ``frame_id`` of stamped ROS 2 messages.
34+
35+
Architecture
36+
------------
37+
38+
The package follows the following structure:
39+
40+
* **rtde_publisher_node:** Implements the ROS2 node. It handles parameters loading, RTDE connections setup, and the main publish loop.
41+
* **rtde_publisher:** Responsible for creating ROS publishers based on the RTDE recipe and the YAML mapping file.
42+
* **rtde_converter:** Contains utility functions to convert RTDE raw data types into ROS messages types.
43+
44+
Build status
45+
------------
46+
47+
.. list-table::
48+
:widths: 20 20 20 20 20
49+
:header-rows: 1
50+
51+
* -
52+
- Humble
53+
- Jazzy
54+
- Kilted
55+
- Rolling
56+
* - Branch
57+
- `jazzy <https://github.com/UniversalRobots/RTDE_ROS2_Publisher/tree/jazzy>`_
58+
- `jazzy <https://github.com/UniversalRobots/RTDE_ROS2_Publisher/tree/jazzy>`_
59+
- `main <https://github.com/UniversalRobots/RTDE_ROS2_Publisher/tree/main>`_
60+
- `main <https://github.com/UniversalRobots/RTDE_ROS2_Publisher/tree/main>`_
61+
* - Build status main
62+
- .. image:: https://github.com/UniversalRobots/RTDE_ROS2_Publisher/actions/workflows/humble_binary_main.yml/badge.svg?event=schedule
63+
:target: https://github.com/UniversalRobots/RTDE_ROS2_Publisher/actions/workflows/humble_binary_main.yml?query=event%3Aschedule++
64+
:alt: Humble Binary Main
65+
- .. image:: https://github.com/UniversalRobots/RTDE_ROS2_Publisher/actions/workflows/jazzy_binary_main.yml/badge.svg?event=schedule
66+
:target: https://github.com/UniversalRobots/RTDE_ROS2_Publisher/actions/workflows/jazzy_binary_main.yml?query=event%3Aschedule++
67+
:alt: Jazzy Binary Main
68+
- .. image:: https://github.com/UniversalRobots/RTDE_ROS2_Publisher/actions/workflows/kilted_binary_main.yml/badge.svg?event=schedule
69+
:target: https://github.com/UniversalRobots/RTDE_ROS2_Publisher/actions/workflows/kilted_binary_main.yml?query=event%3Aschedule++
70+
:alt: Kilted Binary Main
71+
- .. image:: https://github.com/UniversalRobots/RTDE_ROS2_Publisher/actions/workflows/rolling_binary_main.yml/badge.svg?event=schedule
72+
:target: https://github.com/UniversalRobots/RTDE_ROS2_Publisher/actions/workflows/rolling_binary_main.yml?query=event%3Aschedule++
73+
:alt: Rolling Binary Main
74+
* - Build status testing
75+
- .. image:: https://github.com/UniversalRobots/RTDE_ROS2_Publisher/actions/workflows/humble_binary_testing.yml/badge.svg?event=schedule
76+
:target: https://github.com/UniversalRobots/RTDE_ROS2_Publisher/actions/workflows/humble_binary_testing.yml?query=event%3Aschedule++
77+
:alt: Humble Binary Testing
78+
- .. image:: https://github.com/UniversalRobots/RTDE_ROS2_Publisher/actions/workflows/jazzy_binary_testing.yml/badge.svg?event=schedule
79+
:target: https://github.com/UniversalRobots/RTDE_ROS2_Publisher/actions/workflows/jazzy_binary_testing.yml?query=event%3Aschedule++
80+
:alt: Jazzy Binary Testing
81+
- .. image:: https://github.com/UniversalRobots/RTDE_ROS2_Publisher/actions/workflows/kilted_binary_testing.yml/badge.svg?event=schedule
82+
:target: https://github.com/UniversalRobots/RTDE_ROS2_Publisher/actions/workflows/kilted_binary_testing.yml?query=event%3Aschedule++
83+
:alt: Kilted Binary Testing
84+
- .. image:: https://github.com/UniversalRobots/RTDE_ROS2_Publisher/actions/workflows/rolling_binary_testing.yml/badge.svg?event=schedule
85+
:target: https://github.com/UniversalRobots/RTDE_ROS2_Publisher/actions/workflows/rolling_binary_testing.yml?query=event%3Aschedule++
86+
:alt: Rolling Binary Testing

0 commit comments

Comments
 (0)