From 5dfe8ec7f6ec68be30ada8e2e3c2ed7134ff69f1 Mon Sep 17 00:00:00 2001 From: mhubii Date: Sun, 8 Sep 2024 16:41:00 +0200 Subject: [PATCH] added initial rst content --- README.md | 10 +- doc/example_applications.rst | 172 ++++++++++++++++++++++++++++ doc/examples.rst | 51 --------- doc/img/applications_lbr_server.png | Bin 0 -> 80419 bytes doc/pyfri.rst | 10 +- doc/software_architecture.rst | 0 examples/joint_teleop.py | 6 +- 7 files changed, 185 insertions(+), 64 deletions(-) create mode 100644 doc/example_applications.rst delete mode 100644 doc/examples.rst create mode 100644 doc/img/applications_lbr_server.png create mode 100644 doc/software_architecture.rst diff --git a/README.md b/README.md index b4b1495..2ffb857 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ Since UDP is the only supported connection type and the connection object is not See the [examples](examples/). -# Quickstart +## Quickstart 1. Clone repository (make sure you include `--recursive`): ```shell @@ -56,13 +56,11 @@ See the [examples](examples/). > [!NOTE] > FRI client is fetched from [fri](https://github.com/lbr-stack/fri) and must be available as branch, refer [README](https://github.com/lbr-stack/fri?tab=readme-ov-file#contributing). -# Important notice +4. Setup the hardware, see [Hardware Setup](https://lbr-stack.readthedocs.io/en/latest/lbr_fri_ros2_stack/lbr_fri_ros2_stack/doc/hardware_setup.html). -**THIS IS NOT A KUKA PRODUCT.** +5. Checkout the [example applications](https://lbr-stack.readthedocs.io/en/latest/pyfri/doc/example_applications.html#example-applications). -[@cmower](https://github.com/cmower) and [@mhubii](https://github.com/mhubii) are not affiliated with KUKA. - -# Citation +## Citation If you enjoyed using this repository for your work, we would really appreciate ❤️ if you could leave a ⭐ and / or cite it, as it helps us to continue offering support. ``` diff --git a/doc/example_applications.rst b/doc/example_applications.rst new file mode 100644 index 0000000..7b273d1 --- /dev/null +++ b/doc/example_applications.rst @@ -0,0 +1,172 @@ +Usage +----- +.. contents:: Table of Contents + :depth: 3 + :local: + :backlinks: none + +Data Types +~~~~~~~~~~ + +You can pass NumPy arrays to the "set" methods (e.g. ``setJointPosition``) in order to command the robot. +However, you **must** ensure the format of the array is correct. + +Arrays that have a ``dtype`` of ``np.float32`` are the only ones that can be accepted. +See how the commands are set in the the examples. + +Collecting Data from the Robot +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +We provide additional functionality to the LBR client application class that enables data collection to a text file. +In Python, simply add the following + +```python +app = fri.ClientApplication(client) +app.collect_data(file_name) +``` + +The string ``file_name`` should contain the file name for the data file. +We use the comma-separated values format for the data file, and so the file name should end with the extension ``.csv`` - *note*, if this isn't the case then ``.csv`` is automatically appended to the given file name. + +The columns in the recorded csv file are as follows: +* ``index``: the index of the recorded data, starts at 0, and is incremented by 1 at each call to the ``step`` method. +* ``time``: the time of the command, starts at 0.0, then is incremented by the sample time at each call to the ``step`` method. +* ``record_time_nsec``: the epoch time collected when the data in the current time step is recorded. +* ``tsec``: controller time as specified by the FRI in seconds. See FRI documentation for ``getTimestampSec``. +* ``tnsec``: controller time as specified by the FRI in nanoseconds. See FRI documentation for ``getTimestampNanoSec``. +* ``mp1, ..., mp7``: The measured joint position for the robot. +* ``ip1, ..., ip7``: The ipo joint position for the robot. +* ``mt1, ..., mt7``: The measured torque for the robot. +* ``et1, ..., et7``: The external torque for the robot. +* ``dt``: The sample time specified on the KUKA controller. + +See the [examples/LBRJointSineOverlay.py](examples/LBRJointSineOverlay.py) example that demonstrates how to easily collect data from the robot. + +Example Applications +~~~~~~~~~~~~~~~~~~~~ +First, ensure the corresponding Java applications for each example are installed (these were supplied with KUKA Sunrise). +Then turn on the robot, connect your laptop via ethernet, and follow these steps on your laptop. + +1. Change directory: ``cd /path/to/FRI-Client-SDK_Python/examples`` +2. Run examples + +Hand-guiding +^^^^^^^^^^^^ +Source code: `hand_guide.py `_:octicon:`link-external` + +#. Remote side configurations: + + #. .. dropdown:: Launch the ``LBRServer`` application on the ``KUKA smartPAD`` + + .. thumbnail:: img/applications_lbr_server.png + + #. Select + + - ``FRI send period``: ``10 ms`` + - ``IP address``: ``your configuration`` + - ``FRI control mode``: ``POSITION_CONTROL`` + - ``FRI client command mode``: ``POSITION`` + +#. Client side: + +Joint Teleoperation +^^^^^^^^^^^^^^^^^^^ +Source code: `joint_teleop.py `_:octicon:`link-external` + +#. Remote side configurations: + + #. .. dropdown:: Launch the ``LBRServer`` application on the ``KUKA smartPAD`` + + .. thumbnail:: img/applications_lbr_server.png + + #. Select + + - ``FRI send period``: ``10 ms`` + - ``IP address``: ``your configuration`` + - ``FRI control mode``: ``POSITION_CONTROL`` + - ``FRI client command mode``: ``POSITION`` + +#. Client side: + +- ``$ python3 joint_teleop.py`` + + +Task Teleoperation +^^^^^^^^^^^^^^^^^^ +Source code: `task_teleop.py `_:octicon:`link-external` + +#. Remote side configurations: + + #. .. dropdown:: Launch the ``LBRServer`` application on the ``KUKA smartPAD`` + + .. thumbnail:: img/applications_lbr_server.png + + #. Select + + - ``FRI send period``: ``10 ms`` + - ``IP address``: ``your configuration`` + - ``FRI control mode``: ``POSITION_CONTROL`` + - ``FRI client command mode``: ``POSITION`` + +- ``$ python3 task_teleop.py`` + +KUKA Default Demos +^^^^^^^^^^^^^^^^^^ +LBR Joint Sine Overlay +"""""""""""""""""""""" +Source code: `LBRJointSineOverlay.py `_:octicon:`link-external` + +#. Remote side configurations: + + #. .. dropdown:: Launch the ``LBRServer`` application on the ``KUKA smartPAD`` + + .. thumbnail:: img/applications_lbr_server.png + + #. Select + + - ``FRI send period``: ``10 ms`` + - ``IP address``: ``your configuration`` + - ``FRI control mode``: ``POSITION_CONTROL`` + - ``FRI client command mode``: ``POSITION`` + +- ``$ python3 LBRJointSineOverlay.py # based on examples provided by KUKA`` + + +LBR Torque Sine Overlay +""""""""""""""""""""""" +Source code: `LBRTorqueSineOverlay.py `_:octicon:`link-external` + +#. Remote side configurations: + + #. .. dropdown:: Launch the ``LBRServer`` application on the ``KUKA smartPAD`` + + .. thumbnail:: img/applications_lbr_server.png + + #. Select + + - ``FRI send period``: ``10 ms`` + - ``IP address``: ``your configuration`` + - ``FRI control mode``: ``POSITION_CONTROL`` + - ``FRI client command mode``: ``POSITION`` + +- ``$ python3 LBRTorqueSineOverlay.py # based on examples provided by KUKA`` + + +LBR Wrench Sine Overlay +""""""""""""""""""""""" +Source code: `LBRWrenchSineOverlay.py `_:octicon:`link-external` + +#. Remote side configurations: + + #. .. dropdown:: Launch the ``LBRServer`` application on the ``KUKA smartPAD`` + + .. thumbnail:: img/applications_lbr_server.png + + #. Select + + - ``FRI send period``: ``10 ms`` + - ``IP address``: ``your configuration`` + - ``FRI control mode``: ``POSITION_CONTROL`` + - ``FRI client command mode``: ``POSITION`` + +- ``$ python3 LBRWrenchSineOverlay.py # based on examples provided by KUKA`` diff --git a/doc/examples.rst b/doc/examples.rst deleted file mode 100644 index 037246a..0000000 --- a/doc/examples.rst +++ /dev/null @@ -1,51 +0,0 @@ - -# Usage - -## Data types - -You can pass NumPy arrays to the "set" methods (e.g. `setJointPosition`) in order to command the robot. -However, you **must** ensure the format of the array is correct. - -Arrays that have a `dtype` of `np.float32` are the only ones that can be accepted. -See how the commands are set in the the examples. - -## Collecting data from the robot - -We provide additional functionality to the LBR client application class that enables data collection to a text file. -In Python, simply add the following - -```python -app = fri.ClientApplication(client) -app.collect_data(file_name) -``` - -The string `file_name` should contain the file name for the data file. -We use the comma-separated values format for the data file, and so the file name should end with the extension `.csv` - *note*, if this isn't the case then `.csv` is automatically appended to the given file name. - -The columns in the recorded csv file are as follows: -* `index`: the index of the recorded data, starts at 0, and is incremented by 1 at each call to the `step` method. -* `time`: the time of the command, starts at 0.0, then is incremented by the sample time at each call to the `step` method. -* `record_time_nsec`: the epoch time collected when the data in the current time step is recorded. -* `tsec`: controller time as specified by the FRI in seconds. See FRI documentation for `getTimestampSec`. -* `tnsec`: controller time as specified by the FRI in nanoseconds. See FRI documentation for `getTimestampNanoSec`. -* `mp1, ..., mp7`: The measured joint position for the robot. -* `ip1, ..., ip7`: The ipo joint position for the robot. -* `mt1, ..., mt7`: The measured torque for the robot. -* `et1, ..., et7`: The external torque for the robot. -* `dt`: The sample time specified on the KUKA controller. - -See the [examples/LBRJointSineOverlay.py](examples/LBRJointSineOverlay.py) example that demonstrates how to easily collect data from the robot. - -# Examples - -First, ensure the corresponding Java applications for each example are installed (these were supplied with KUKA Sunrise). -Then turn on the robot, connect your laptop via ethernet, and follow these steps on your laptop. - -1. Change directory: `cd /path/to/FRI-Client-SDK_Python/examples` -2. Run examples - - `$ python3 LBRJointSineOverlay.py # based on examples provided by KUKA` - - `$ python3 LBRTorqueSineOverlay.py # based on examples provided by KUKA` - - `$ python3 LBRWrenchSineOverlay.py # based on examples provided by KUKA` - - `$ python3 joint_teleop.py` - - `$ python3 task_teleop.py` - diff --git a/doc/img/applications_lbr_server.png b/doc/img/applications_lbr_server.png new file mode 100644 index 0000000000000000000000000000000000000000..6588f6a8525e2869b0b6c64aa5defd9a1abf5e85 GIT binary patch literal 80419 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 RgaGhQOHEg`O4%m*{{idT({%s< literal 0 HcmV?d00001 diff --git a/doc/pyfri.rst b/doc/pyfri.rst index f8f3d6c..1df0d0f 100644 --- a/doc/pyfri.rst +++ b/doc/pyfri.rst @@ -1,6 +1,8 @@ -pyfri -===== +.. include:: ../README.md + :parser: myst_parser.sphinx_ -.. ## Upgrading/switching between FRI Versions +.. toctree:: + :hidden: -.. If you upgrade your FRI version or want to switch between them, you need to manually remove the `build/` directory before running `pip install`. + software_architecture + example_applications diff --git a/doc/software_architecture.rst b/doc/software_architecture.rst new file mode 100644 index 0000000..e69de29 diff --git a/examples/joint_teleop.py b/examples/joint_teleop.py index cc176ba..a762055 100644 --- a/examples/joint_teleop.py +++ b/examples/joint_teleop.py @@ -1,10 +1,10 @@ +import argparse import sys -# PyGame: https://www.pygame.org/news -import pygame - # FRI Client: https://github.com/cmower/FRI-Client-SDK_Python import pyfri as fri +# PyGame: https://www.pygame.org/news +import pygame pygame.init()