diff --git a/joss.06138/10.21105.joss.06138.crossref.xml b/joss.06138/10.21105.joss.06138.crossref.xml new file mode 100644 index 0000000000..0c480f6720 --- /dev/null +++ b/joss.06138/10.21105.joss.06138.crossref.xml @@ -0,0 +1,281 @@ + + + + 20241115124828-65eda5a732b292742d7b99e683e47ee4bddd83bb + 20241115124828 + + JOSS Admin + admin@theoj.org + + The Open Journal + + + + + Journal of Open Source Software + JOSS + 2475-9066 + + 10.21105/joss + https://joss.theoj.org + + + + + 11 + 2024 + + + 9 + + 103 + + + + LBR-Stack: ROS 2 and Python Integration of KUKA FRI for +Med and IIWA Robots + + + + Martin + Huber + + School of Biomedical Engineering & Imaging Sciences, King’s College London, United Kingdom + + https://orcid.org/0000-0003-4603-6773 + + + Christopher E. + Mower + + School of Biomedical Engineering & Imaging Sciences, King’s College London, United Kingdom + + https://orcid.org/0000-0002-3929-9391 + + + Sebastien + Ourselin + + School of Biomedical Engineering & Imaging Sciences, King’s College London, United Kingdom + + https://orcid.org/0000-0002-5694-5340 + + + Tom + Vercauteren + + School of Biomedical Engineering & Imaging Sciences, King’s College London, United Kingdom + + https://orcid.org/0000-0003-1794-0456 + + + Christos + Bergeles + + School of Biomedical Engineering & Imaging Sciences, King’s College London, United Kingdom + + https://orcid.org/0000-0002-9152-3194 + + + + 11 + 15 + 2024 + + + 6138 + + + 10.21105/joss.06138 + + + http://creativecommons.org/licenses/by/4.0/ + http://creativecommons.org/licenses/by/4.0/ + http://creativecommons.org/licenses/by/4.0/ + + + + Software archive + 10.5281/zenodo.13897377 + + + GitHub review issue + https://github.com/openjournals/joss-reviews/issues/6138 + + + + 10.21105/joss.06138 + https://joss.theoj.org/papers/10.21105/joss.06138 + + + https://joss.theoj.org/papers/10.21105/joss.06138.pdf + + + + + + A Scalable and Unified Multi-Control +Framework for KUKA LBR IIWA Collaborative Robots + Serrano-Muñoz + 2023 IEEE/SICE international symposium on +system integration (SII) + 10.1109/SII55687.2023.10039308 + 2023 + Serrano-Muñoz, A., Elguea-Aguinaco, +Í., Chrysostomou, D., BØgh, S., & Arana-Arexolaleiba, N. (2023). A +Scalable and Unified Multi-Control Framework for KUKA LBR IIWA +Collaborative Robots. 2023 IEEE/SICE International Symposium on System +Integration (SII), 1–5. +https://doi.org/10.1109/SII55687.2023.10039308 + + + iiwa_ros: A ROS Stack for KUKA’s IIWA Robots +Using the Fast Research Interface + Chatzilygeroudis + 2019 + Chatzilygeroudis, K., Mayr, M., +Fichera, B., & Billard, A. (2019). iiwa_ros: A ROS Stack for KUKA’s +IIWA Robots Using the Fast Research Interface. +http://github.com/epfl-lasa/iiwa_ros + + + KUKA Sunrise Toolbox: Interfacing +Collaborative Robots With MATLAB + Safeea + IEEE Robotics Automation +Magazine + 1 + 26 + 10.1109/MRA.2018.2877776 + 1070-9932 + 2019 + Safeea, M., & Neto, P. (2019). +KUKA Sunrise Toolbox: Interfacing Collaborative Robots With MATLAB. IEEE +Robotics Automation Magazine, 26(1), 91–96. +https://doi.org/10.1109/MRA.2018.2877776 + + + ROS 2 Stack for KUKA IIWA Collaborative +Robots + Bednarczyk + GitHub repository + 2023 + Bednarczyk, M., & Guzmán, J. H. +G. (2023). ROS 2 Stack for KUKA IIWA Collaborative Robots. In GitHub +repository. GitHub. +https://github.com/ICube-Robotics/iiwa_ros2 + + + Generic and Simple Controls Framework for ROS +2 + Magyar + GitHub repository + 2023 + Magyar, B., Stogl, D., Knese, K., +& Community. (2023). Generic and Simple Controls Framework for ROS +2. In GitHub repository. GitHub. +https://github.com/ros-controls/ros2_control + + + Towards MRI-Based Autonomous Robotic US +Acquisitions: A First Feasibility Study + Hennersperger + IEEE Transactions on Medical +Imaging + 2 + 36 + 10.1109/TMI.2016.2620723 + 2017 + Hennersperger, C., Fuerst, B., Virga, +S., Zettinig, O., Frisch, B., Neff, T., & Navab, N. (2017). Towards +MRI-Based Autonomous Robotic US Acquisitions: A First Feasibility Study. +IEEE Transactions on Medical Imaging, 36(2), 538–548. +https://doi.org/10.1109/TMI.2016.2620723 + + + The Fast Research Interface for the KUKA +Lightweight Robot + Schreiber + IEEE workshop on innovative robot control +architectures for demanding (research) applications how to modify and +enhance commercial controllers (ICRA 2010) + 2010 + Schreiber, G., Stemmer, A., & +Bischoff, R. (2010). The Fast Research Interface for the KUKA +Lightweight Robot. IEEE Workshop on Innovative Robot Control +Architectures for Demanding (Research) Applications How to Modify and +Enhance Commercial Controllers (ICRA 2010), +15–21. + + + Design and Use Paradigms for Gazebo, an +Open-Source Multi-Robot Simulator + Koenig + 2004 IEEE/RSJ international conference on +intelligent robots and systems (IROS) (IEEE cat. +no.04CH37566) + 3 + 10.1109/IROS.2004.1389727 + 2004 + Koenig, N., & Howard, A. (2004). +Design and Use Paradigms for Gazebo, an Open-Source Multi-Robot +Simulator. 2004 IEEE/RSJ International Conference on Intelligent Robots +and Systems (IROS) (IEEE Cat. No.04CH37566), 3, 2149–2154 vol.3. +https://doi.org/10.1109/IROS.2004.1389727 + + + Robot Operating System 2: Design, +Architecture, and Uses in the Wild + Macenski + Science Robotics + 66 + 7 + 10.1126/scirobotics.abm6074 + 2022 + Macenski, S., Foote, T., Gerkey, B., +Lalancette, C., & Woodall, W. (2022). Robot Operating System 2: +Design, Architecture, and Uses in the Wild. Science Robotics, 7(66). +https://doi.org/10.1126/scirobotics.abm6074 + + + ros_control: A Generic and Simple Control +Framework for ROS + Chitta + The Journal of Open Source +Software + 10.21105/joss.00456 + 2017 + Chitta, S., Marder-Eppstein, E., +Meeussen, W., Pradeep, V., Rodríguez Tsouroukdissian, A., Bohren, J., +Coleman, D., Magyar, B., Raiola, G., Lüdtke, M., & Fernández +Perdomo, E. (2017). ros_control: A Generic and Simple Control Framework +for ROS. The Journal of Open Source Software. +https://doi.org/10.21105/joss.00456 + + + Reducing the Barrier to Entry of Complex +Robotic Software: A MoveIt! Case Study + Coleman + arXiv preprint +arXiv:1404.3785 + 10.6092/JOSER_2014_05_01_p3 + 2014 + Coleman, D., Sucan, I., Chitta, S., +& Correll, N. (2014). Reducing the Barrier to Entry of Complex +Robotic Software: A MoveIt! Case Study. arXiv Preprint arXiv:1404.3785. +https://doi.org/10.6092/JOSER_2014_05_01_p3 + + + + + + diff --git a/joss.06138/10.21105.joss.06138.pdf b/joss.06138/10.21105.joss.06138.pdf new file mode 100644 index 0000000000..5107d7c80b Binary files /dev/null and b/joss.06138/10.21105.joss.06138.pdf differ diff --git a/joss.06138/paper.jats/10.21105.joss.06138.jats b/joss.06138/paper.jats/10.21105.joss.06138.jats new file mode 100644 index 0000000000..e42d5da40b --- /dev/null +++ b/joss.06138/paper.jats/10.21105.joss.06138.jats @@ -0,0 +1,696 @@ + + +
+ + + + +Journal of Open Source Software +JOSS + +2475-9066 + +Open Journals + + + +6138 +10.21105/joss.06138 + +LBR-Stack: ROS 2 and Python Integration of KUKA FRI for +Med and IIWA Robots + + + +https://orcid.org/0000-0003-4603-6773 + +Huber +Martin + + +* + + +https://orcid.org/0000-0002-3929-9391 + +Mower +Christopher E. + + + + +https://orcid.org/0000-0002-5694-5340 + +Ourselin +Sebastien + + + + +https://orcid.org/0000-0003-1794-0456 + +Vercauteren +Tom + + + + +https://orcid.org/0000-0002-9152-3194 + +Bergeles +Christos + + + + + +School of Biomedical Engineering & Imaging Sciences, +King’s College London, United Kingdom + + + + +* E-mail: + + +21 +11 +2023 + +9 +103 +6138 + +Authors of papers retain copyright and release the +work under a Creative Commons Attribution 4.0 International License (CC +BY 4.0) +2024 +The article authors + +Authors of papers retain copyright and release the work under +a Creative Commons Attribution 4.0 International License (CC BY +4.0) + + + +C++ +Python +ROS 2 +KUKA LBR Med +KUKA LBR IIWA +Hard Real-time + + + + + +

Supported robots in the LBR-Stack. From left to right: + KUKA LBR IIWA 7 R800, IIWA 14 R820, Med 7 R800, Med 14 R820. + Visualizations made using Foxglove + 1.

+ +
+ + Summary +

The LBR-Stack is a collection of packages + that simplify the usage and extend the capabilities of KUKA’s Fast + Robot Interface (FRI) + (Schreiber + et al., 2010). It is designed for mission critical hard + real-time applications. Supported are the + KUKA LBR Med 7/14 and + KUKA LBR IIWA 7/14 robots in the Gazebo + simulation + (Koenig + & Howard, 2004) and for communication with real hardware. A + demo video can be found + here. + An overview of the software architecture is shown in Figure + [fig:fri].

+

At the LBR-Stack’s core is the following + package:

+ + +

fri: Integration of KUKA’s original FRI client + library into CMake: + link.

+
+
+

All other packages are built on top. These include Python bindings + and packages for integration into the Robot Operating System (ROS) and + ROS 2:

+ + +

pyfri: Python bindings for the fri: + link.

+
+ +

lbr_fri_ros2_stack: ROS 1/2 integration of the + KUKA LBRs through the fri: + link.

+
+
+

For brevity, and due to the architectural advantages over ROS + (Macenski + et al., 2022), only ROS 2 is considered in the following. The + lbr_fri_ros2_stack comprises the following packages:

+ + +

lbr_bringup: Python library for launching the + different components.

+
+ +

lbr_description: Description files for the + Med7/14 and IIWA7/14 + robots.

+
+ +

lbr_demos: Demonstrations for simulation and the + real robots.

+
+ +

lbr_fri_idl: Interface Definition Language (IDL) + equivalent of FRI protocol buffers.

+
+ +

lbr_fri_ros2: FRI ROS 2 interface through + realtime_tools + (Chitta + et al., 2017).

+
+ +

lbr_ros2_control: Interface and controllers for + ros2_control + (Magyar + et al., 2023).

+
+ +

lbr_moveit_config: MoveIt 2 configurations + (Coleman + et al., 2014).

+
+
+ +

An overview of the overall software architecture. There + exists a single source for KUKA’s FRI. This design facilitates that + downstream packages, i.e. the Python bindings and the ROS 2 package, + can easily support multiple FRI versions. The ROS 2 side utilizes + vcstool2.

+ +
+
+ + Statement of need +

An overview of existing work that interfaces the KUKA LBRs from an + external computer is given in Table 1. We broadly classify these works + into custom communication solutions + (Hennersperger + et al., 2017; + Safeea + & Neto, 2019; + Serrano-Muñoz + et al., 2023) and communication solutions through KUKA’s FRI + UDP channel + (Bednarczyk + & Guzmán, 2023; + Chatzilygeroudis + et al., 2019). The former can offer greater flexibility while + the latter offer a well defined interface and direct software support + from KUKA. Contrary to the custom communication solutions, the FRI + solutions additionally enable hard real-time communication, that is + beneficial for mission critical development. Stemming from + translational medical research, this work therefore focuses on the + FRI.

+

Limitations with the current FRI solutions are:

+ + +

Only support IIWA 7/14 robots, not + Med 7/14.

+
+ +

Don’t provide Python bindings.

+
+ +

Don’t support multiple FRI versions:

+ + +

Modified FRI client source code + iiwa_ros.

+
+ +

FRI client library tangled into the source code + iiwa_ros2.

+
+
+
+ +

Partial support of FRI functionality. Both, + iiwa_ros + and + iiwa_ros2, + exclusively aim at providing implementations of the ROS 1/2 + hardware abstraction layer. This does not support:

+ + +

FRI’s cartesian impedance control mode.

+
+ +

FRI’s cartesian control mode (FRI version 2 and above).

+
+
+
+
+

The first original contribution of this work is to add support for + the KUKA LBR Med 7/14 robots, which, to the + best author’s knowledge, does not exist in any other work. The second + novel contribution of this work is to provide Python bindings. This + work solves the support for multiple FRI versions by treating the FRI + library as an externally provided library by separating it into the + fri package, which leaves the FRI’s source code untouched + and simply provides build support. The partial support for the FRI + functionality is solved by defining an IDL message to KUKA’s + nanopb command and state protocol buffers in + lbr_fri_idl. These messages can then be interfaced from + ROS 1/2 topics via simple controllers or from the ROS 1/2 hardware + abstraction layer.

+ + +

Overview of existing frameworks for interfacing the KUKA LBRs. + A square indicates support for the respective feature. List of + abbreviations: Hard Real-time (RT), Position Control + (Pos), Impedance Control (Imp), + Cartesian Impedance Control (Cart Imp), Hardware + Interface (HW IF).

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FrameworkIIWAMedROSROS 2RTFRIpyfriPosImpCart ImpHW IF
lbr-stack + + + + + + + + + + + + + + + + + + + + + +
iiwa_ros + + + + + + + + + + + + + +
iiwa_ros2 + + + + + + + + + + + + + +
iiwa-stack + + + + + + + + + +
libiiwa + + + + + + + + + + + +
KST-KUKA + + + + + + + +
+
+
+ + Acknowledgement +

We want to acknowledge the work in Hennersperger et al. + (2017), + as their MoveIt configurations were utilized in a first iteration of + this project.

+

This work was supported by core funding from the Wellcome/EPSRC + [WT203148/Z/16/Z; NS/A000049/1], the European Union’s Horizon 2020 + research and innovation programme under grant agreement No 101016985 + (FAROS project), and EPSRC under the UK Government Guarantee Extension + (EP/Y024281/1, VITRRO).

+
+ + + + + + + + Serrano-MuñozAntonio + Elguea-AguinacoÍñigo + ChrysostomouDimitris + BØghSimon + Arana-ArexolaleibaNestor + + A Scalable and Unified Multi-Control Framework for KUKA LBR IIWA Collaborative Robots + 2023 IEEE/SICE international symposium on system integration (SII) + 2023 + + 10.1109/SII55687.2023.10039308 + 1 + 5 + + + + + + ChatzilygeroudisKonstantinos + MayrMatthias + FicheraBernardo + BillardAude + + iiwa_ros: A ROS Stack for KUKA’s IIWA Robots Using the Fast Research Interface + 2019 + http://github.com/epfl-lasa/iiwa_ros + + + + + + SafeeaM. + NetoP. + + KUKA Sunrise Toolbox: Interfacing Collaborative Robots With MATLAB + IEEE Robotics Automation Magazine + 2019 + 26 + 1 + 1070-9932 + 10.1109/MRA.2018.2877776 + 91 + 96 + + + + + + BednarczykMaciej + GuzmánJuan Helios García + + ROS 2 Stack for KUKA IIWA Collaborative Robots + GitHub repository + GitHub + 2023 + https://github.com/ICube-Robotics/iiwa_ros2 + + + + + + MagyarBence + StoglDenis + KneseKarsten + Community + + Generic and Simple Controls Framework for ROS 2 + GitHub repository + GitHub + 2023 + https://github.com/ros-controls/ros2_control + + + + + + HennerspergerChristoph + FuerstBernhard + VirgaSalvatore + ZettinigOliver + FrischBenjamin + NeffThomas + NavabNassir + + Towards MRI-Based Autonomous Robotic US Acquisitions: A First Feasibility Study + IEEE Transactions on Medical Imaging + 2017 + 36 + 2 + 10.1109/TMI.2016.2620723 + 538 + 548 + + + + + + SchreiberGünter + StemmerAndreas + BischoffRainer + + The Fast Research Interface for the KUKA Lightweight Robot + IEEE workshop on innovative robot control architectures for demanding (research) applications how to modify and enhance commercial controllers (ICRA 2010) + Citeseer + 2010 + 15 + 21 + + + + + + KoenigN. + HowardA. + + Design and Use Paradigms for Gazebo, an Open-Source Multi-Robot Simulator + 2004 IEEE/RSJ international conference on intelligent robots and systems (IROS) (IEEE cat. no.04CH37566) + 2004 + 3 + 10.1109/IROS.2004.1389727 + 2149 + 2154 vol.3 + + + + + + MacenskiSteven + FooteTully + GerkeyBrian + LalancetteChris + WoodallWilliam + + Robot Operating System 2: Design, Architecture, and Uses in the Wild + Science Robotics + American Association for the Advancement of Science (AAAS) + 202205 + 7 + 66 + https://doi.org/10.1126%2Fscirobotics.abm6074 + 10.1126/scirobotics.abm6074 + + + + + + ChittaSachin + Marder-EppsteinEitan + MeeussenWim + PradeepVijay + Rodríguez TsouroukdissianAdolfo + BohrenJonathan + ColemanDavid + MagyarBence + RaiolaGennaro + LüdtkeMathias + Fernández PerdomoEnrique + + ros_control: A Generic and Simple Control Framework for ROS + The Journal of Open Source Software + 2017 + http://www.theoj.org/joss-papers/joss.00456/10.21105.joss.00456.pdf + 10.21105/joss.00456 + + + + + + ColemanDavid + SucanIoan + ChittaSachin + CorrellNikolaus + + Reducing the Barrier to Entry of Complex Robotic Software: A MoveIt! Case Study + arXiv preprint arXiv:1404.3785 + 2014 + 10.6092/JOSER_2014_05_01_p3 + + + + + +

Foxglove: + https://foxglove.dev/ros.

+
+ +

vcstool: + https://github.com/dirk-thomas/vcstool.

+
+
+
+
diff --git a/joss.06138/paper.jats/fri_dependency_architecture.pdf b/joss.06138/paper.jats/fri_dependency_architecture.pdf new file mode 100644 index 0000000000..41743b078b Binary files /dev/null and b/joss.06138/paper.jats/fri_dependency_architecture.pdf differ diff --git a/joss.06138/paper.jats/joss_figure.png b/joss.06138/paper.jats/joss_figure.png new file mode 100644 index 0000000000..08e7ff52a0 Binary files /dev/null and b/joss.06138/paper.jats/joss_figure.png differ