Skip to content

Commit 8100e25

Browse files
committed
updated doc
1 parent 2ba408d commit 8100e25

File tree

3 files changed

+12
-42
lines changed

3 files changed

+12
-42
lines changed

lbr_fri_ros2/doc/img/lbr_fri_ros2.drawio.svg

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

lbr_fri_ros2/doc/img/lbr_fri_ros2_v1.5.0.svg

Lines changed: 4 additions & 0 deletions
Loading

lbr_fri_ros2/doc/lbr_fri_ros2.rst

Lines changed: 8 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -9,47 +9,17 @@ lbr_fri_ros2
99

1010
../../../docs/doxygen/lbr_fri_ros2/html/annotated_classes
1111

12-
The ``lbr_fri_ros2`` package adds :lbr_fri_ros2:`AsyncClient <lbr_fri_ros2::AsyncClient>`.
13-
1412
Software Architecture
1513
---------------------
16-
An overview of the software architecture is shown :ref:`below <target to software architecture figure>`:
17-
18-
.. _target to software architecture figure:
19-
.. thumbnail:: img/lbr_fri_ros2.drawio.svg
20-
:alt: lbr_fri_ros2
21-
22-
Design Principles
23-
~~~~~~~~~~~~~~~~~
24-
- Leave KUKA's FRI **untouched** (except for new ``ament_cmake`` build system) -> implemented through :ref:`FRI` package.
25-
- Bridge ``nanopb`` (used within FRI for message definition) with ROS 2 Interface Definition Language (``IDL``) -> implemented through ``lbr_fri_idl`` package.
26-
- Support future versions of the FRI -> implemented through ``vcstool`` and by separating the :ref:`FRI` package.
27-
- Run stand-alone **and** within ``ros2_control`` -> implemented through :lbr_fri_ros2:`App <lbr_fri_ros2::App>`.
28-
29-
Implementation Details
30-
~~~~~~~~~~~~~~~~~~~~~~
31-
The FRI lets users communicate to the robot via a :fri:`ClientApplication <KUKA::FRI::ClientApplication>`. The :fri:`ClientApplication <KUKA::FRI::ClientApplication>` has (see :ref:`above <target to software architecture figure>`):
32-
33-
- :fri:`UdpConnection <KUKA::FRI::UdpConnection>` (UDP socket for reading states / sending commands)
34-
- :fri:`Client <KUKA::FRI::LBRClient>` (interface for reading states / sending commands)
14+
The ``lbr_fri_ros2`` package extends the FRI with:
3515

36-
The user calls :fri:`step <KUKA::FRI::ClientApplication::step()>`, which, depending on the robot's state, callbacks:
16+
#. :lbr_fri_ros2:`AsyncClient <lbr_fri_ros2::AsyncClient>` for asynchronous communication to the hardware
17+
#. :lbr_fri_ros2:`App <lbr_fri_ros2::App>` for running the :lbr_fri_ros2:`AsyncClient <lbr_fri_ros2::AsyncClient>` asynchronously
3718

38-
- :fri:`monitor <KUKA::FRI::LBRClient::monitor()>`
39-
- :fri:`waitForCommand <KUKA::FRI::LBRClient::waitForCommand()>`
40-
- :fri:`command <KUKA::FRI::LBRClient::command()>`
19+
An overview of the software architecture is shown :ref:`below <software architecture figure>`:
4120

42-
The user can implement these callbacks to read states / send commands by implementing an :fri:`Client <KUKA::FRI::LBRClient>`.
43-
44-
The ``lbr_fri_ros2`` package implements an :fri:`Client <KUKA::FRI::LBRClient>` in :lbr_fri_ros2:`Client <lbr_fri_ros2::Client>`.
45-
46-
The :lbr_fri_ros2:`Client <lbr_fri_ros2::Client>` has
47-
48-
- A publisher to publish states in :lbr_fri_ros2:`pub_lbr_state_ <lbr_fri_ros2::Client::pub_lbr_state_()>`.
49-
- A subscription to read commands in :lbr_fri_ros2:`on_lbr_command_ <lbr_fri_ros2::Client::on_lbr_command_(const lbr_fri_idl::msg::LBRCommand::SharedPtr lbr_command)>`.
50-
51-
Commands in :lbr_fri_ros2:`on_lbr_command_ <lbr_fri_ros2::Client::on_lbr_command_(const lbr_fri_idl::msg::LBRCommand::SharedPtr lbr_command)>` are checked for validity via a :lbr_fri_ros2:`CommandGuard <lbr_fri_ros2::CommandGuard>`.
21+
.. _software architecture figure:
22+
.. thumbnail:: img/lbr_fri_ros2_v1.5.0.svg
23+
:alt: lbr_fri_ros2
5224

53-
API
54-
~~~
55-
For the ``Doxygen`` generated API, checkout `lbr_fri_ros2 <../../../docs/doxygen/lbr_fri_ros2/html/hierarchy.html>`_.
25+
The :ref:`lbr_ros2_control` package can be considered a **User** in the above figure. It builds on top of the ``lbr_fri_ros2`` package to provide a ROS 2 interface to the hardware.

0 commit comments

Comments
 (0)