CINXE.COM
ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817.
<!DOCTYPE html> <html lang="en"> <head> <meta content="text/html; charset=utf-8" http-equiv="content-type"/> <title>ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817.</title> <!--Generated on Tue Mar 18 14:32:51 2025 by LaTeXML (version 0.8.8) http://dlmf.nist.gov/LaTeXML/.--> <meta content="width=device-width, initial-scale=1, shrink-to-fit=no" name="viewport"/> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" type="text/css"/> <link href="/static/browse/0.3.4/css/ar5iv.0.7.9.min.css" rel="stylesheet" type="text/css"/> <link href="/static/browse/0.3.4/css/ar5iv-fonts.0.7.9.min.css" rel="stylesheet" type="text/css"/> <link href="/static/browse/0.3.4/css/latexml_styles.css" rel="stylesheet" type="text/css"/> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.3.3/html2canvas.min.js"></script> <script src="/static/browse/0.3.4/js/addons_new.js"></script> <script src="/static/browse/0.3.4/js/feedbackOverlay.js"></script> <base href="/html/2503.14331v1/"/></head> <body> <nav class="ltx_page_navbar"> <nav class="ltx_TOC"> <ol class="ltx_toclist"> <li class="ltx_tocentry ltx_tocentry_section"> <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S1" title="In ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">1 </span>Introduction</span></a> <ol class="ltx_toclist ltx_toclist_section"> <li class="ltx_tocentry ltx_tocentry_subsection"><a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S1.SS1" title="In 1 Introduction ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">1.1 </span>Contribution</span></a></li> <li class="ltx_tocentry ltx_tocentry_subsection"><a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S1.SS2" title="In 1 Introduction ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">1.2 </span>Article structure</span></a></li> </ol> </li> <li class="ltx_tocentry ltx_tocentry_section"> <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S2" title="In ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">2 </span>Related Work</span></a> <ol class="ltx_toclist ltx_toclist_section"> <li class="ltx_tocentry ltx_tocentry_subsection"><a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S2.SS1" title="In 2 Related Work ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">2.1 </span>Localization, Mapping, and Traversability</span></a></li> <li class="ltx_tocentry ltx_tocentry_subsection"><a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S2.SS2" title="In 2 Related Work ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">2.2 </span>Pallet Pose Estimation</span></a></li> <li class="ltx_tocentry ltx_tocentry_subsection"><a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S2.SS3" title="In 2 Related Work ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">2.3 </span>Task Planning</span></a></li> <li class="ltx_tocentry ltx_tocentry_subsection"><a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S2.SS4" title="In 2 Related Work ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">2.4 </span>Motion Planning and Control</span></a></li> </ol> </li> <li class="ltx_tocentry ltx_tocentry_section"> <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S3" title="In ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">3 </span>System Design</span></a> <ol class="ltx_toclist ltx_toclist_section"> <li class="ltx_tocentry ltx_tocentry_subsection"><a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S3.SS1" title="In 3 System Design ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">3.1 </span>Vehicle Platform</span></a></li> <li class="ltx_tocentry ltx_tocentry_subsection"><a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S3.SS2" title="In 3 System Design ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">3.2 </span>Actuation</span></a></li> <li class="ltx_tocentry ltx_tocentry_subsection"> <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S3.SS3" title="In 3 System Design ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">3.3 </span>Sensing</span></a> <ol class="ltx_toclist ltx_toclist_subsection"> <li class="ltx_tocentry ltx_tocentry_subsubsection"><a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S3.SS3.SSS1" title="In 3.3 Sensing ‣ 3 System Design ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">3.3.1 </span>Proprioception</span></a></li> <li class="ltx_tocentry ltx_tocentry_subsubsection"><a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S3.SS3.SSS2" title="In 3.3 Sensing ‣ 3 System Design ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">3.3.2 </span>Exteroception</span></a></li> </ol> </li> <li class="ltx_tocentry ltx_tocentry_subsection"><a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S3.SS4" title="In 3 System Design ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">3.4 </span>Processing Components and Network</span></a></li> <li class="ltx_tocentry ltx_tocentry_subsection"><a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S3.SS5" title="In 3 System Design ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">3.5 </span>Software Components</span></a></li> </ol> </li> <li class="ltx_tocentry ltx_tocentry_section"> <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4" title="In ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">4 </span>Perception</span></a> <ol class="ltx_toclist ltx_toclist_section"> <li class="ltx_tocentry ltx_tocentry_subsection"><a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.SS1" title="In 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">4.1 </span>Joint Localization and Pallet Mapping</span></a></li> <li class="ltx_tocentry ltx_tocentry_subsection"><a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.SS2" title="In 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">4.2 </span>Traversabilty Mapping</span></a></li> <li class="ltx_tocentry ltx_tocentry_subsection"><a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.SS3" title="In 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">4.3 </span>Pallet Detection and Pose Estimation</span></a></li> <li class="ltx_tocentry ltx_tocentry_subsection"><a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.SS4" title="In 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">4.4 </span>Loading Edge Detection</span></a></li> <li class="ltx_tocentry ltx_tocentry_subsection"><a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.SS5" title="In 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">4.5 </span>Obstacle Detection</span></a></li> </ol> </li> <li class="ltx_tocentry ltx_tocentry_section"> <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5" title="In ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">5 </span>Planning and Control</span></a> <ol class="ltx_toclist ltx_toclist_section"> <li class="ltx_tocentry ltx_tocentry_subsection"><a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.SS1" title="In 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">5.1 </span>Task planning and Execution</span></a></li> <li class="ltx_tocentry ltx_tocentry_subsection"> <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.SS2" title="In 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">5.2 </span>System Models</span></a> <ol class="ltx_toclist ltx_toclist_subsection"> <li class="ltx_tocentry ltx_tocentry_subsubsection"><a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.SS2.SSS1" title="In 5.2 System Models ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">5.2.1 </span>Vehicle Base Kinematics</span></a></li> <li class="ltx_tocentry ltx_tocentry_subsubsection"><a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.SS2.SSS2" title="In 5.2 System Models ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">5.2.2 </span>Hydraulic Modeling</span></a></li> </ol> </li> <li class="ltx_tocentry ltx_tocentry_subsection"> <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.SS3" title="In 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">5.3 </span>Motion Planning and Control</span></a> <ol class="ltx_toclist ltx_toclist_subsection"> <li class="ltx_tocentry ltx_tocentry_subsubsection"><a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.SS3.SSS1" title="In 5.3 Motion Planning and Control ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">5.3.1 </span>Cascaded control</span></a></li> <li class="ltx_tocentry ltx_tocentry_subsubsection"><a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.SS3.SSS2" title="In 5.3 Motion Planning and Control ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">5.3.2 </span>Navigation</span></a></li> <li class="ltx_tocentry ltx_tocentry_subsubsection"><a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.SS3.SSS3" title="In 5.3 Motion Planning and Control ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">5.3.3 </span>Manipulation</span></a></li> </ol> </li> </ol> </li> <li class="ltx_tocentry ltx_tocentry_section"> <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S6" title="In ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">6 </span>Validation and Evaluation</span></a> <ol class="ltx_toclist ltx_toclist_section"> <li class="ltx_tocentry ltx_tocentry_subsection"><a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S6.SS1" title="In 6 Validation and Evaluation ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">6.1 </span>Experimental Setup</span></a></li> <li class="ltx_tocentry ltx_tocentry_subsection"><a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S6.SS2" title="In 6 Validation and Evaluation ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">6.2 </span>Baseline data collection</span></a></li> <li class="ltx_tocentry ltx_tocentry_subsection"><a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S6.SS3" title="In 6 Validation and Evaluation ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">6.3 </span>Performance Criteria</span></a></li> <li class="ltx_tocentry ltx_tocentry_subsection"><a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S6.SS4" title="In 6 Validation and Evaluation ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">6.4 </span>Performance Analysis</span></a></li> <li class="ltx_tocentry ltx_tocentry_subsection"><a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S6.SS5" title="In 6 Validation and Evaluation ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">6.5 </span>Lessons Learned</span></a></li> </ol> </li> <li class="ltx_tocentry ltx_tocentry_section"><a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S7" title="In ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_title"><span class="ltx_tag ltx_tag_ref">7 </span>Conclusion and Outlook</span></a></li> </ol></nav> </nav> <div class="ltx_page_main"> <div class="ltx_page_content"> <article class="ltx_document ltx_authors_1line ltx_fleqn"> <div class="ltx_para" id="p1"> <span class="ltx_ERROR undefined" id="p1.1">\affiliation</span> <p class="ltx_p" id="p1.2">[1] organization=AIT Austrian Institute of Technology GmbH, Center for Vision, Automation and Control, addressline=Giefinggasse 4, postcode=1210, city=Vienna, country=Austria <span class="ltx_ERROR undefined" id="p1.2.1">\affiliation</span>[2] organization=Technische Universität Wien, Automation and Control Institute, addressline=Gußhausstrasse 27-29, postcode=1040, city=Vienna, country=Austria</p> </div> <h1 class="ltx_title ltx_title_document">ADAPT: An Autonomous Forklift for Construction Site Operation<span class="ltx_note ltx_role_footnote" id="footnote1"><sup class="ltx_note_mark">1</sup><span class="ltx_note_outer"><span class="ltx_note_content"><sup class="ltx_note_mark">1</sup><span class="ltx_tag ltx_tag_note">1</span>This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817.</span></span></span> </h1> <div class="ltx_authors"> <span class="ltx_creator ltx_role_author"> <span class="ltx_personname">Johannes Huemer<span class="ltx_note ltx_role_footnote" id="footnote2"><sup class="ltx_note_mark">2</sup><span class="ltx_note_outer"><span class="ltx_note_content"><sup class="ltx_note_mark">2</sup><span class="ltx_tag ltx_tag_note">2</span>These authors contributed equally to this work.</span></span></span> </span></span> <span class="ltx_creator ltx_role_author"> <span class="ltx_personname">Markus Murschitz<span class="ltx_note ltx_role_footnotemark" id="footnote3"><sup class="ltx_note_mark">3</sup><span class="ltx_note_outer"><span class="ltx_note_content"><sup class="ltx_note_mark">3</sup><span class="ltx_note_type">footnotemark: </span><span class="ltx_tag ltx_tag_note">3</span></span></span></span> </span></span> <span class="ltx_creator ltx_role_author"> <span class="ltx_personname">Matthias Schörghuber </span></span> <span class="ltx_creator ltx_role_author"> <span class="ltx_personname">Lukas Reisinger </span></span> <span class="ltx_creator ltx_role_author"> <span class="ltx_personname">Thomas Kadiofsky </span></span> <span class="ltx_creator ltx_role_author"> <span class="ltx_personname">Christoph Weidinger </span></span> <span class="ltx_creator ltx_role_author"> <span class="ltx_personname">Mario Niedermeyer </span></span> <span class="ltx_creator ltx_role_author"> <span class="ltx_personname">Benedikt Widy </span></span> <span class="ltx_creator ltx_role_author"> <span class="ltx_personname">Marcel Zeilinger </span></span> <span class="ltx_creator ltx_role_author"> <span class="ltx_personname">Csaba Beleznai </span></span> <span class="ltx_creator ltx_role_author"> <span class="ltx_personname">Tobias Glück </span></span> <span class="ltx_creator ltx_role_author"> <span class="ltx_personname">Andreas Kugi </span></span> <span class="ltx_creator ltx_role_author"> <span class="ltx_personname">Patrik Zips<span class="ltx_note ltx_role_footnotemark" id="footnote4"><sup class="ltx_note_mark">4</sup><span class="ltx_note_outer"><span class="ltx_note_content"><sup class="ltx_note_mark">4</sup><span class="ltx_note_type">footnotemark: </span><span class="ltx_tag ltx_tag_note">4</span></span></span></span> </span></span> </div> <div class="ltx_abstract"> <h6 class="ltx_title ltx_title_abstract">Abstract</h6> <p class="ltx_p" id="id1.id1">Efficient material logistics play a critical role in controlling costs and schedules in the construction industry. However, manual material handling remains prone to inefficiencies, delays, and safety risks. Autonomous forklifts offer a promising solution to streamline on-site logistics, reducing reliance on human operators and mitigating labor shortages. This paper presents the development and evaluation of the Autonomous Dynamic All-terrain Pallet Transporter (ADAPT), a fully autonomous off-road forklift designed for construction environments. Unlike structured warehouse settings, construction sites pose significant challenges, including dynamic obstacles, unstructured terrain, and varying weather conditions. To address these challenges, our system integrates AI-driven perception techniques with traditional approaches for decision making, planning, and control, enabling reliable operation in complex environments. We validate the system through extensive real-world testing, comparing its long-term performance against an experienced human operator across various weather conditions. We also provide a comprehensive analysis of challenges and key lessons learned, contributing to the advancement of autonomous heavy machinery. Our findings demonstrate that autonomous outdoor forklifts can operate near human-level performance, offering a viable path toward safer and more efficient construction logistics.</p> </div> <section class="ltx_section" id="S1"> <h2 class="ltx_title ltx_title_section"> <span class="ltx_tag ltx_tag_section">1 </span>Introduction</h2> <div class="ltx_para" id="S1.p1"> <p class="ltx_p" id="S1.p1.1">Streamlined logistics are critical to managing both costs and timelines in the construction industry. Studies indicate that materials represent more than half of the total construction costs and influence up to 80% of the project schedules <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib1" title="">1</a>]</cite>. A well-orchestrated on-site logistics, including resource delivery, storage and distribution <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib2" title="">2</a>]</cite>, ensures that resources are available when and where they are needed, reducing delays and costs <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib3" title="">3</a>]</cite>. Numerous studies have identified inefficient on-site material management as a major contributor to project delays, see <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib4" title="">4</a>]</cite>.</p> </div> <div class="ltx_para" id="S1.p2"> <p class="ltx_p" id="S1.p2.1">Digitalization and automation has the potential to revolutionize construction logistics. While digitalization allows optimal planning and tracking of materials, automation of machinery ensures fluid and timely material flow operation on the construction site. A multitude of reliable and flexible autonomous machines may be utilized to service the site in pull, push as well as just in time deliveries. In particular, forklifts are easy to bring to construction sites, even in large numbers, and are flexible in operation, which makes them well suited for ground-based material flow, lifting the workload of restricted cranes. When seamlessly integrated into the construction process through IT services, forklifts can greatly improve site efficiency by minimizing downtime, streamlined material handling, and preventing both equipment idleness and worker delays <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib5" title="">5</a>]</cite>. With the increasing shortage of skilled workers, the rough and dangerous working conditions, and the required increase in efficiency and decrease of errors, automation of these machines seems mandatory in the near future.</p> </div> <figure class="ltx_figure" id="S1.F1"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_landscape" height="425" id="S1.F1.g1" src="extracted/6290360/figures/vehicle_in_action.jpg" width="598"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S1.F1.2.1.1" style="font-size:90%;">Figure 1</span>: </span><span class="ltx_text" id="S1.F1.3.2" style="font-size:90%;">The autonomous off-road forklift ADAPT (Autonomous Dynamic All-terrain Pallet Transporter) demonstrating precision pallet loading onto a truck during a field demonstration. Throughout the development phase, the vehicle was equipped with additional hardware for testing outdoor sensor systems.</span></figcaption> </figure> <div class="ltx_para" id="S1.p3"> <p class="ltx_p" id="S1.p3.1">However, the dynamic and unstructured environments of construction sites and the variable weather conditions pose significant challenges for automation. Unlike the controlled settings of autonomous warehouses, construction sites require flexible route planning and operation to navigate unpredictable terrains and obstacles. Safety is another paramount aspect, as 6% of total construction costs are due to accidents and one third of all fatalities at construction sites are caused by material handling equipment <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib6" title="">6</a>]</cite>. Despite advances in automation, there is a notable scarcity of autonomous machines capable of long-term operation in outdoor environments. Current solutions often fail in terms of robustness and adaptability, particularly when it comes to tasks such as unloading and loading full pallets from trucks. This gap underscores the need for innovative systems that can seamlessly integrate into the demanding conditions of construction sites.</p> </div> <div class="ltx_para" id="S1.p4"> <p class="ltx_p" id="S1.p4.1">This paper presents the autonomous off-road forklift ADAPT (Autonomous Dynamic All-terrain Pallet Transporter), depicted in Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S1.F1" title="Figure 1 ‣ 1 Introduction ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">1</span></a>, addressing the critical need for enhanced material handling solutions in construction. The scenario under consideration is a typical construction site that is not designed for autonomous operation. Predefined structures, guiding systems, or designated high-precision cargo locations are not required. Using advanced task and motion planning, purely synthetically trained geometry-based pallet detection, collision avoidance, and a new factor-graph-based joint vehicle localization and pallet mapping approach, our system aims to provide a reliable and efficient alternative to manual operation in this environment. The vehicle localization and pallet mapping approach is a specialized variant of traditional Simultaneous Localization and Mapping (SLAM) methods, specifically designed for manipulation tasks. Unlike most SLAM techniques, which rely on natural features (mid-level) or raw sensor data (low-level), this approach operates at a higher level by utilizing object poses—specifically, pallet locations. The overall approach and technology are designed to ensure mandatory adaptability to dynamic construction site conditions while maintaining robust and reliable operation. This is achieved through a combination of novel AI-based approaches (e.g., pallet detection) and classical physics-driven methodologies for task management, motion planning, and control. The use of primarily cost-effective sensors ensures affordability, while extensive real-world testing in various weather conditions validates the system’s performance. Through a comparative analysis with an experienced human operator, we demonstrate the potential of our automated forklift to give a realistic estimate of the performance and viability of autonomous machines in the coming years. </p> </div> <section class="ltx_subsection" id="S1.SS1"> <h3 class="ltx_title ltx_title_subsection"> <span class="ltx_tag ltx_tag_subsection">1.1 </span>Contribution</h3> <div class="ltx_para" id="S1.SS1.p1"> <p class="ltx_p" id="S1.SS1.p1.1">This paper presents a comprehensive system overview for an autonomous forklift for flexible outdoor operation. This includes hardware modifications and complete software integration for perception, planning and control specialized to the needs of construction sites. The main contributions are:</p> <ul class="ltx_itemize" id="S1.I1"> <li class="ltx_item" id="S1.I1.i1" style="list-style-type:none;"> <span class="ltx_tag ltx_tag_item">•</span> <div class="ltx_para" id="S1.I1.i1.p1"> <p class="ltx_p" id="S1.I1.i1.p1.1">Development and validation of an autonomous forklift system capable of loading and unloading operations in unstructured outdoor environments, demonstrating near-human performance across varied weather conditions, particularly robust operation under low to medium rainfall.</p> </div> </li> <li class="ltx_item" id="S1.I1.i2" style="list-style-type:none;"> <span class="ltx_tag ltx_tag_item">•</span> <div class="ltx_para" id="S1.I1.i2.p1"> <p class="ltx_p" id="S1.I1.i2.p1.1">Design and implementation of a novel factor-graph-based joint optimization framework for precise vehicle localization and pallet mapping, specifically engineered to enhance object manipulation accuracy in pallet loading tasks.</p> </div> </li> <li class="ltx_item" id="S1.I1.i3" style="list-style-type:none;"> <span class="ltx_tag ltx_tag_item">•</span> <div class="ltx_para" id="S1.I1.i3.p1"> <p class="ltx_p" id="S1.I1.i3.p1.1">Introduction of an innovative fork contact measurement system utilizing pressure feedback, significantly enhancing manipulation robustness and operational safety while maintaining cost-effectiveness and implementation simplicity.</p> </div> </li> <li class="ltx_item" id="S1.I1.i4" style="list-style-type:none;"> <span class="ltx_tag ltx_tag_item">•</span> <div class="ltx_para" id="S1.I1.i4.p1"> <p class="ltx_p" id="S1.I1.i4.p1.1">Comprehensive performance evaluation comparing the autonomous system against an expert human operator with over 20 years of experience, including detailed quantitative analysis of operational efficiency, system robustness, and the frequency and severity of required human interventions during extended autonomous operation.</p> </div> </li> </ul> <p class="ltx_p" id="S1.SS1.p1.2">Unlike many publications that focus solely on successful outcomes and scenarios, we provide a comprehensive section highlighting problems and key lessons learned from the long-term development and testing of autonomous machines. We believe that this will aid the scientific and engineering community in accelerating advances in heavy machine automation and, in the long run, contribute to safer and more reliable systems.</p> </div> <figure class="ltx_figure" id="S1.F2"><span class="ltx_picture ltx_centering" id="S1.F2.pic1" style="width:388.8pt;height:140.9pt;">\begin{overpic}[width=390.25534pt]{figures/software_overview_v3.pdf} \put(0.5,-1.0){{Section~{}\ref{sec:task_planning}}} \put(21.5,-1.0){{Section~{}\ref{sec:motion_control}}} \put(44.0,-1.0){{Section~{}\ref{sec:motion_control}}} \put(66.0,-1.0){{Section~{}\ref{sec:motion_control}}} \put(87.5,-1.0){{Section~{}\ref{sec:system_description}}} \put(18.0,12.0){{Section~{}\ref{sec:state_estimation},~{}\ref{sec:mapping}}} \put(44.0,12.0){{Section~{}\ref{sec:pallet_detection}}} \put(65.5,12.0){{Section~{}\ref{sec:obstacle_detection}}} \end{overpic}</span> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S1.F2.2.1.1" style="font-size:90%;">Figure 2</span>: </span><span class="ltx_text" id="S1.F2.3.2" style="font-size:90%;">System architecture of the proposed autonomous forklift, illustrating the hierarchical organization of key components essential for autonomous operation. The diagram depicts high-level information pathways and data flow between integrated sensors and specialized processing modules throughout the system. Relevant section references are provided alongside each major component, directing readers to corresponding detailed descriptions within the manuscript.</span></figcaption> </figure> </section> <section class="ltx_subsection" id="S1.SS2"> <h3 class="ltx_title ltx_title_subsection"> <span class="ltx_tag ltx_tag_subsection">1.2 </span>Article structure</h3> <div class="ltx_para" id="S1.SS2.p1"> <p class="ltx_p" id="S1.SS2.p1.1">The remainder of this paper is organized as follows. Section <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S2" title="2 Related Work ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">2</span></a> presents a review of recent advances in autonomous outdoor machinery and related research in robotic material handling. Section <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S3" title="3 System Design ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">3</span></a> provides an overview of the proposed system, including its hardware and software components. The perception system, responsible for environment sensing, obstacle detection, and localization, is described in Section <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4" title="4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">4</span></a>. Section <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5" title="5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">5</span></a> details the planning and control strategies used for autonomous navigation and load handling. In Section <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S6" title="6 Validation and Evaluation ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">6</span></a>, we evaluate the system’s performance compared to an expert operator through experiments conducted in real-world outdoor environments and provide development and testing insights. Finally, Section <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S7" title="7 Conclusion and Outlook ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">7</span></a> concludes the paper and discusses potential directions for future work. An overview of the system components and the corresponding sections is sketched in Fig. <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S1.F2" title="Figure 2 ‣ 1.1 Contribution ‣ 1 Introduction ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">2</span></a>.</p> </div> </section> </section> <section class="ltx_section" id="S2"> <h2 class="ltx_title ltx_title_section"> <span class="ltx_tag ltx_tag_section">2 </span>Related Work</h2> <div class="ltx_para" id="S2.p1"> <p class="ltx_p" id="S2.p1.1">While automated manipulation and logistics have reached commercial readiness in structured indoor environments, automated machines in rough, outdoor environments remain primarily in the research phase. Nevertheless, recent years have produced several promising prototypes. The HEAP platform <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib7" title="">7</a>]</cite> combines navigation and manipulation capabilities in a legged excavator. This outstanding research platform has demonstrated various tasks including excavation, dry-wall construction with natural stones, and forestry operations using both classical control techniques and novel AI approaches. Similarly, the Harveri platform <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib8" title="">8</a>]</cite> employs comparable technologies to harvest trees in challenging environments.</p> </div> <div class="ltx_para" id="S2.p2"> <p class="ltx_p" id="S2.p2.1">An automated logistics yard machine <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib9" title="">9</a>]</cite> was introduced for mixed operations with both manual and automated vehicles. The machine’s core capabilities—driving in open spaces and precise docking for trailer pick-up—closely resemble forklift operations. However, detailed technical information about the automation system remains unavailable.</p> </div> <div class="ltx_para" id="S2.p3"> <p class="ltx_p" id="S2.p3.1">Over the past two decades, several research platforms for autonomous forklift solutions have been published. Earlier work <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib10" title="">10</a>]</cite> explored vision-based handling tasks for autonomous outdoor forklifts, particularly focusing on vision systems for transporting molten aluminum in the metal industry. Another study <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib11" title="">11</a>]</cite> presented a system configuration for autonomous forklift operation that incorporated vision, laser range finders, sonar, and other sensors. This research analyzed the kinematics of a spin-turn mechanism and established essential system equations for path following based on time-varying feedback control law. However, in stark contrast to our work, their evaluation merely demonstrated the basic functionality of path following without presenting comprehensive real-world evaluations of loading success.</p> </div> <div class="ltx_para" id="S2.p4"> <p class="ltx_p" id="S2.p4.1">To our knowledge, only two similar scientific publications <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib12" title="">12</a>, <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib13" title="">13</a>]</cite> focus on autonomous forklifts in outdoor operation. The first <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib12" title="">12</a>]</cite> primarily emphasized motion planning with an anytime approach and explored new interaction modalities with human workers, such as voice commands. This work used trained AI only for object reacquisition after manual annotation of a single frame. Although it presented the robustness of the path planning, it did not provide a robustness or performance analysis of the complete loading cycle. Similarly, the second study <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib13" title="">13</a>]</cite> concentrated on the successful unloading of a specific pallet type from a truck, without offering comparative analysis against the performance of the human operator.</p> </div> <div class="ltx_para" id="S2.p5"> <p class="ltx_p" id="S2.p5.1">Another promising platform has been presented by the Linde group and their scientific collaborators, featuring counterbalanced forklifts capable of operating in both indoor and outdoor environments <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib14" title="">14</a>]</cite>. This research emphasized cooperative behavior through real-time information exchange, handling of inclines and gradients, and management of weather influences. The work highlighted the necessity for enhanced performance in outdoor settings, including the ability to navigate inclines and adapt to varying weather conditions. However, no scientific publication detailing technical specifications or evaluation results is currently available.</p> </div> <section class="ltx_subsection" id="S2.SS1"> <h3 class="ltx_title ltx_title_subsection"> <span class="ltx_tag ltx_tag_subsection">2.1 </span>Localization, Mapping, and Traversability</h3> <div class="ltx_para" id="S2.SS1.p1"> <p class="ltx_p" id="S2.SS1.p1.1">To enable a system to operate in unfamiliar environments, a common approach is to use variants of SLAM (Simultaneous Localization and Mapping) <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib15" title="">15</a>]</cite>. SLAM is a technique that simultaneously constructs a map of an unknown environment while tracking the agent’s location within that environment, and has been extensively studied and applied in robotics applications <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib16" title="">16</a>, <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib17" title="">17</a>]</cite>. For autonomous unmanned forklifts, the SLAM method presented in <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib18" title="">18</a>]</cite> demonstrates robust operation in real-world, large-scale, and unstructured warehouse environments by employing a stereo-camera-based approach. This method achieves efficiency and robustness through a combination of direct (pixel-based) and indirect (feature-based) SLAM, focusing primarily on mapping indoor environments in mostly static settings.</p> </div> <div class="ltx_para" id="S2.SS1.p2"> <p class="ltx_p" id="S2.SS1.p2.1">Environment mapping is even more crucial for autonomous truck-mounted forklifts operating in unfamiliar construction sites. It serves as the foundation for traversability analysis and downstream path planning, enabling safe and efficient navigation. While mapping robot environments has been extensively studied over past decades, significant challenges remain in achieving human-like scene understanding—essential for enabling robots to navigate unstructured environments safely. Simple 2D occupancy grids may suffice for structured indoor spaces, but complex terrains require richer representations. The work <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib19" title="">19</a>]</cite> introduced a pioneering approach to address memory and runtime efficiency challenges in 3D occupancy maps, which has since been enhanced by methods such as spatio-temporal voxel layers <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib20" title="">20</a>]</cite> and VDB <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib21" title="">21</a>]</cite>. Other popular representations for 3D mapping include point clouds <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib22" title="">22</a>]</cite> and implicit representations <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib23" title="">23</a>, <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib24" title="">24</a>, <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib25" title="">25</a>]</cite>.</p> </div> <div class="ltx_para" id="S2.SS1.p3"> <p class="ltx_p" id="S2.SS1.p3.1">Although these methods emphasize geometric reconstruction, <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib26" title="">26</a>]</cite> provides a comprehensive survey on scene understanding via traversability estimation and terrain classification. This survey explores the application of various proprioceptive and exteroceptive sensors across nonlearning-based, traditional learning-based, and deep learning-based approaches, highlighting their effectiveness in enhancing navigation capabilities in diverse environments. When multiple sensors are used in a mapping approach, it is common to implement certain aspects of sensor fusion and state estimation together with SLAM. For comparative overviews on sensor fusion, see <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib27" title="">27</a>]</cite> and <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib28" title="">28</a>]</cite> for a focus on autonomous driving applications.</p> </div> <div class="ltx_para" id="S2.SS1.p4"> <p class="ltx_p" id="S2.SS1.p4.1">An elegant unified approach is to use algorithms based on factor graphs <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib29" title="">29</a>]</cite>. Although filter-based techniques perform well in state estimation <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib30" title="">30</a>, <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib31" title="">31</a>]</cite>, in the SLAM context, factor graphs have become the standard methodology <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib17" title="">17</a>, <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib32" title="">32</a>]</cite>. They allow for an efficient representation of not only the sensor fusion functionality but also the occurrence of signals over time. The frequency of these signals can vary in such systems, and algorithms exist that can solve for the most probable state of the system given a series of measurements, subject to the system’s constraints (i.e., maximum a posteriori likelihood estimation). A notable algorithm for solving such problems is iSAM2 <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib33" title="">33</a>]</cite>, which uses factor graphs as its foundational framework while focusing on efficient incremental updates over time. The variant of SLAM that we present in this paper employs the factor graph method not only to locate the forklift, but also to determine the poses of the pallet in a joint optimization problem.</p> </div> </section> <section class="ltx_subsection" id="S2.SS2"> <h3 class="ltx_title ltx_title_subsection"> <span class="ltx_tag ltx_tag_subsection">2.2 </span>Pallet Pose Estimation</h3> <div class="ltx_para" id="S2.SS2.p1"> <p class="ltx_p" id="S2.SS2.p1.1">Automated pallet manipulation requires the estimation of the 3D pallet pose with respect to the vision sensor. As we focus on a specific pallet type of known size and geometry (Euro-pallet), the vision task becomes <span class="ltx_text ltx_font_italic" id="S2.SS2.p1.1.1">instance-level</span> pose estimation. To tackle this task, common pose-aware pallet detection approaches adopt either geometric cues from depth data or are based on visual appearance. <span class="ltx_text ltx_font_italic" id="S2.SS2.p1.1.2">Geometric schemes</span> typically focus on 2D structure templates <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib34" title="">34</a>]</cite> or perform geometric fitting on point-cloud data from stereo <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib35" title="">35</a>]</cite>, Time-of-Flight or LiDAR sensing <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib13" title="">13</a>]</cite>. In the presence of clutter and partial occlusions, however, geometric analysis schemes inherently become ambiguous. <span class="ltx_text ltx_font_italic" id="S2.SS2.p1.1.3">Appearance-based</span> neural representations, sometimes complemented by depth in the form of RGB-D images, yield highly object-specific detectors, as demonstrated for 3D pose estimation in recent challenges <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib36" title="">36</a>]</cite>. Especially occlusion-robust local key-point representations <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib37" title="">37</a>, <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib38" title="">38</a>]</cite> offer accurate pose estimation results in high-resolution and semantically rich RGB or <span class="ltx_text" id="S2.SS2.p1.1.4">RGB-D</span> data spaces. The work <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib39" title="">39</a>]</cite> introduces a pallet detection method based on the concept of <span class="ltx_text ltx_font_italic" id="S2.SS2.p1.1.5">Front Face Shots</span>, which represent the access side of the pallets, where the pockets are. Their approach demonstrates that by combining a machine learning-based object detector with a kernel-based regression method, an accurate 6D pose can be computed, even for previously unseen pallet appearances.</p> </div> <div class="ltx_para" id="S2.SS2.p2"> <p class="ltx_p" id="S2.SS2.p2.1">Our employed pallet pose estimation scheme <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib40" title="">40</a>]</cite> exclusively relies on depth data to reduce object variations only to geometric traits. Furthermore, as a distinctive feature compared to most state-of-the-art, we only use stereo depth computed on synthetic image pairs for training, to generate an infinite diversity of view configurations with a narrow sim-to-real gap.</p> </div> </section> <section class="ltx_subsection" id="S2.SS3"> <h3 class="ltx_title ltx_title_subsection"> <span class="ltx_tag ltx_tag_subsection">2.3 </span>Task Planning</h3> <div class="ltx_para" id="S2.SS3.p1"> <p class="ltx_p" id="S2.SS3.p1.1">Task Planning is essential for automating utility machinery, particularly in complex load manipulation tasks such as pallet handling. It involves high-level decision-making and sequencing of operations. Early approaches relied on finite state machines (FSMs) but evolved into hierarchical behavior trees for greater modularity and reactivity <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib41" title="">41</a>]</cite>. Similarly, the autonomous system under evaluation employs a modular behavior tree implementation to efficiently manage task execution. More recently, integrated Task and Motion Planning (TAMP) methods have emerged <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib42" title="">42</a>]</cite>, combining symbolic reasoning with motion feasibility checks <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib43" title="">43</a>]</cite> or hierarchical architectures that leverage Linear Temporal Logic (LTL) for high-level planning and reactive behavior trees for low-level control <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib44" title="">44</a>]</cite>. Learning-based methods are being explored to infer planning domains from data, reducing the reliance on manually defined preconditions <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib45" title="">45</a>]</cite>. Recent developments have deployed LLMs for task planning. Although LLMs excel at processing natural language and common sense reasoning, directly translating abstract language inputs into executable plans is problematic due to their limited grounding in physical environments and inability to reason over complex task sequences <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib46" title="">46</a>]</cite>. LLMs struggle with the physical understanding of actions and fail to manage long-term dependencies in multiple steps, limiting their applicability to planning real-world tasks <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib47" title="">47</a>]</cite>. Recent research has explored the integration of LLMs with classical planners to capitalize on the language understanding of LLMs while leveraging the precision of PDDL-based planning <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib48" title="">48</a>, <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib49" title="">49</a>]</cite>. This hybrid approach improves the decision making capabilities of autonomous agents, allowing them to process natural language instructions and generate actionable plans using PDDL-based frameworks <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib50" title="">50</a>, <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib51" title="">51</a>]</cite>. However, no reliable long-term operation is yet feasible.</p> </div> </section> <section class="ltx_subsection" id="S2.SS4"> <h3 class="ltx_title ltx_title_subsection"> <span class="ltx_tag ltx_tag_subsection">2.4 </span>Motion Planning and Control</h3> <div class="ltx_para" id="S2.SS4.p1"> <p class="ltx_p" id="S2.SS4.p1.1">Motion planning and control ensure task feasibility, forming an adaptive feedback loop for execution. In the context of vehicles, motion planning must account for non-holonomic constraints such as limited turning radii and restricted maneuverability <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib52" title="">52</a>, <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib53" title="">53</a>]</cite>. One such constraint arises from the articulation of the center, a common feature in heavy-duty vehicles, which significantly influences the kinematic behavior.</p> </div> <div class="ltx_para" id="S2.SS4.p2"> <p class="ltx_p" id="S2.SS4.p2.1">Various approaches have been developed to address these challenges. A Goal-Directed Rapidly exploring Random Tree (RRT) with multi-step refinement has been proposed for articulated construction machines <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib54" title="">54</a>]</cite>. Similarly, an extended Reeds-Sheep algorithm has been applied to wheel loader path planning <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib55" title="">55</a>]</cite>. A modified bug-like algorithm, integrated with Model Predictive Control (MPC) to ensure smoother trajectory execution, was proposed in <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib56" title="">56</a>]</cite>. Additionally, offline motion primitive generation combined with online receding-horizon planning has been successfully applied to tree harvester vehicles <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib57" title="">57</a>]</cite>. Application-focused path planning for yard automation was proposed in <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib58" title="">58</a>]</cite>.</p> </div> <div class="ltx_para" id="S2.SS4.p3"> <p class="ltx_p" id="S2.SS4.p3.1">For tracking and control, a variant of the pure-pursuit method for the tracking of the path of articulated vehicles was introduced in <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib57" title="">57</a>]</cite>, while another tracking controller has been specifically developed for articulated drum rollers that navigate construction sites <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib59" title="">59</a>]</cite>.</p> </div> <div class="ltx_para" id="S2.SS4.p4"> <p class="ltx_p" id="S2.SS4.p4.1">Our navigation approach employs the well-established Hybrid A* planner with a Reeds-Shepp configuration <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib60" title="">60</a>]</cite> by introducing an analytic conversion between car-like and articulated vehicles for constant curvature driving. This path planning is complemented by a Lyapunov-based path tracking controller similar to <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib59" title="">59</a>]</cite>.</p> </div> <div class="ltx_para" id="S2.SS4.p5"> <p class="ltx_p" id="S2.SS4.p5.1">Beyond collision-free navigation, precise pallet docking is crucial for autonomous forklifts. Successful docking relies on accurate pallet pose estimation, achieved through vision-based systems, laser range finders, or hybrid sensor fusion approaches. The literature explores various motion planning techniques for this task, including geometric-based path generation <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib13" title="">13</a>, <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib61" title="">61</a>]</cite> and dynamic-based planning methods <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib62" title="">62</a>]</cite>. In addition, advanced control strategies, such as visual servoing <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib63" title="">63</a>]</cite>, have been used to enhance the accuracy of jacking. Some methods also consider pallet inclination during insertion <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib64" title="">64</a>]</cite>, improving adaptability and robustness in unstructured environments.</p> </div> <div class="ltx_para" id="S2.SS4.p6"> <p class="ltx_p" id="S2.SS4.p6.1">For the system presented in this paper, the docking approach is based on visual servoing, integrating depth-camera and LiDAR measurements to achieve precise pallet engagement under varied environmental conditions.</p> </div> <figure class="ltx_figure" id="S2.F3"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_landscape" height="352" id="S2.F3.g1" src="x1.png" width="822"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S2.F3.2.1.1" style="font-size:90%;">Figure 3</span>: </span><span class="ltx_text" id="S2.F3.3.2" style="font-size:90%;">Key hardware components of ADAPT. (a) 3D Central joint for maneuverability and structural flexibility, (b) Object detection system, (c) Obstacle avoidance and terrain mapping sensor, and (d) Close-range object detection for precise load handling.</span></figcaption> </figure> </section> </section> <section class="ltx_section" id="S3"> <h2 class="ltx_title ltx_title_section"> <span class="ltx_tag ltx_tag_section">3 </span>System Design</h2> <div class="ltx_para" id="S3.p1"> <p class="ltx_p" id="S3.p1.1">This section describes ADAPT, including the vehicle platform it is based on, the hardware modifications necessary for automation, and an overview of the key software components.</p> </div> <section class="ltx_subsection" id="S3.SS1"> <h3 class="ltx_title ltx_title_subsection"> <span class="ltx_tag ltx_tag_subsection">3.1 </span>Vehicle Platform</h3> <figure class="ltx_figure" id="S3.F4"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_landscape" height="487" id="S3.F4.g1" src="x2.png" width="830"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S3.F4.2.1.1" style="font-size:90%;">Figure 4</span>: </span><span class="ltx_text" id="S3.F4.3.2" style="font-size:90%;">Actuated and unactuated(*) joints for vehicle base movement and fork positioning.</span></figcaption> </figure> <div class="ltx_para" id="S3.SS1.p1"> <p class="ltx_p" id="S3.SS1.p1.1">ADAPT is built on the Palfinger BM154 truck-mounted platform. Unlike common warehouse forklifts, this platform is remotely controlled, which eliminates the need for an operator seat. Its foldable design allows it to be stored beneath a truck’s cargo area, making it an ideal solution for delivering goods to environments without established infrastructure. The vehicle is widely used in challenging operational settings in multiple industries, including the delivery of construction material to the worksites, the transportation of agricultural equipment and landscaping supplies, the logistics of beverages, and civil protection and disaster management.</p> </div> <figure class="ltx_table" id="S3.T1"> <figcaption class="ltx_caption"><span class="ltx_tag ltx_tag_table"><span class="ltx_text" id="S3.T1.2.1.1" style="font-size:90%;">Table 1</span>: </span><span class="ltx_text" id="S3.T1.3.2" style="font-size:90%;">Specifications of the Palfinger BM154 platform.</span></figcaption> <table class="ltx_tabular ltx_guessed_headers ltx_align_middle" id="S3.T1.4"> <thead class="ltx_thead"> <tr class="ltx_tr" id="S3.T1.4.1.1"> <th class="ltx_td ltx_align_left ltx_th ltx_th_column ltx_border_r" id="S3.T1.4.1.1.1"><span class="ltx_text ltx_font_bold" id="S3.T1.4.1.1.1.1">Safe Working Load</span></th> <th class="ltx_td ltx_align_left ltx_th ltx_th_column" id="S3.T1.4.1.1.2">1500kg @ 0.6m</th> </tr> </thead> <tbody class="ltx_tbody"> <tr class="ltx_tr" id="S3.T1.4.2.1"> <td class="ltx_td ltx_align_left ltx_border_r ltx_border_t" id="S3.T1.4.2.1.1"><span class="ltx_text ltx_font_bold" id="S3.T1.4.2.1.1.1">Lift Height</span></td> <td class="ltx_td ltx_align_left ltx_border_t" id="S3.T1.4.2.1.2">2.85m</td> </tr> <tr class="ltx_tr" id="S3.T1.4.3.2"> <td class="ltx_td ltx_align_left ltx_border_r ltx_border_t" id="S3.T1.4.3.2.1"><span class="ltx_text ltx_font_bold" id="S3.T1.4.3.2.1.1">Weight</span></td> <td class="ltx_td ltx_align_left ltx_border_t" id="S3.T1.4.3.2.2">Approx. 1500kg</td> </tr> <tr class="ltx_tr" id="S3.T1.4.4.3"> <td class="ltx_td ltx_align_left ltx_border_r ltx_border_t" id="S3.T1.4.4.3.1"><span class="ltx_text ltx_font_bold" id="S3.T1.4.4.3.1.1">Engine</span></td> <td class="ltx_td ltx_align_left ltx_border_t" id="S3.T1.4.4.3.2">3-cylinder Diesel, 18.8kW</td> </tr> <tr class="ltx_tr" id="S3.T1.4.5.4"> <td class="ltx_td ltx_align_left ltx_border_r ltx_border_t" id="S3.T1.4.5.4.1"><span class="ltx_text ltx_font_bold" id="S3.T1.4.5.4.1.1">Drive System</span></td> <td class="ltx_td ltx_align_left ltx_border_t" id="S3.T1.4.5.4.2">Hydrostatic 4-wheel drive</td> </tr> </tbody> </table> </figure> <div class="ltx_para" id="S3.SS1.p2"> <p class="ltx_p" id="S3.SS1.p2.1">Table <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S3.T1" title="Table 1 ‣ 3.1 Vehicle Platform ‣ 3 System Design ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">1</span></a> lists the main technical specifications of the BM154. The platform’s primary strengths lie in its advanced all-terrain capabilities, enabled by an all-wheel drive system and its center articulated steering with 3 rotational degrees of freedom, see Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S2.F3" title="Figure 3 ‣ 2.4 Motion Planning and Control ‣ 2 Related Work ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">3</span></a>a. These features allow to navigate in uneven terrain under various ground conditions such as asphalt, gravel, mud, or grass. The platform consists of two chassis parts, the front part housing the motor and the hydraulic block, and the rear part incorporating the forks attached to the lifting mast. The motor side is designated as the main driving direction for autonomous operation, see Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S3.F4" title="Figure 4 ‣ 3.1 Vehicle Platform ‣ 3 System Design ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">4</span></a>. This is motivated by considerations of load handling safety and operational visibility due to the unobscured view.</p> </div> <div class="ltx_para" id="S3.SS1.p3"> <p class="ltx_p" id="S3.SS1.p3.1">ADAPT has been extensively customized for automation since 2019 as part of several funded national and international research projects. Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S2.F3" title="Figure 3 ‣ 2.4 Motion Planning and Control ‣ 2 Related Work ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">3</span></a> illustrates the current hardware setup, highlighting the added components required for autonomous operation. The following sections provide a detailed overview of the hardware architecture and emphasize the differences between the automated prototype and the platform for manual operation.</p> </div> </section> <section class="ltx_subsection" id="S3.SS2"> <h3 class="ltx_title ltx_title_subsection"> <span class="ltx_tag ltx_tag_subsection">3.2 </span>Actuation</h3> <div class="ltx_para" id="S3.SS2.p1"> <p class="ltx_p" id="S3.SS2.p1.1">As shown in Table <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S3.T1" title="Table 1 ‣ 3.1 Vehicle Platform ‣ 3 System Design ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">1</span></a>, the BM154 platform uses a diesel engine as its main power source, driving two distinct hydraulic circuits that control vehicle movement and operational functions. The diesel engine drives a closed hydraulic circuit designed for operating the wheels, as well as an open hydraulic circuit responsible for actuating multiple hydraulic cylinders, amongst others for steering and lifting the forks. Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S3.F4" title="Figure 4 ‣ 3.1 Vehicle Platform ‣ 3 System Design ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">4</span></a> and Table <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S3.T2" title="Table 2 ‣ 3.2 Actuation ‣ 3 System Design ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">2</span></a> provide graphical and concise textual information on the forklift’s actuated and non-actuated joints, driven by the hydraulic motor and cylinders.</p> </div> <div class="ltx_para" id="S3.SS2.p2"> <p class="ltx_p" id="S3.SS2.p2.1">The closed hydraulic circuit is tasked with driving the vehicle’s wheels, delivering continuous hydraulic traction to ensure efficient power transfer and enhanced mobility. This design optimizes vehicle stability and maneuverability, particularly in challenging or uneven terrains. The hydrostatic four-wheel drive system is controlled by a PWM signal, where the duty cycle determines the flow rate of the hydraulic fluid, which in turn directly governs the wheel speed.</p> </div> <div class="ltx_para" id="S3.SS2.p3"> <p class="ltx_p" id="S3.SS2.p3.1">The open system discharges hydraulic fluid after use into the tank, making it more suitable for functions that require intermittent actuation. The open circuit governs several essential functions, including steering and tilting of the central joint that connects the front and rear chassis (see Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S2.F3" title="Figure 3 ‣ 2.4 Motion Planning and Control ‣ 2 Related Work ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">3</span></a>a). Although the rolling rotation of the chassis is passive and not directly actuated, it is fundamental to maintaining ground contact and load distribution on irregular terrain. The open circuit also facilitates mast actuation, allowing vertical fork movement (lifting and lowering) and lateral adjustments (shifting left and right). The control of the open hydraulic system’s cylinders is facilitated by proportional valves, which allow precise control of valve spool positions via a CAN interface.</p> </div> <figure class="ltx_table" id="S3.T2"> <figcaption class="ltx_caption"><span class="ltx_tag ltx_tag_table"><span class="ltx_text" id="S3.T2.5.1.1" style="font-size:90%;">Table 2</span>: </span><span class="ltx_text" id="S3.T2.6.2" style="font-size:90%;">Interfaces for actuation and proprioceptive feedback for joint position, velocity, and hydraulic pressure. <span class="ltx_text" id="S3.T2.6.2.1" style="color:#31B6BB;"> ✓</span> indicates directly available interfaces, while <span class="ltx_text" id="S3.T2.6.2.2" style="color:#C7122C;"> ✗</span> denotes unavailable ones. <span class="ltx_text" id="S3.T2.6.2.3" style="color:#7C8287;"> ✓</span> signifies feedback that is obtained through post-processing of sensor data.</span></figcaption> <table class="ltx_tabular ltx_centering ltx_guessed_headers ltx_align_middle" id="S3.T2.7"> <tbody class="ltx_tbody"> <tr class="ltx_tr" id="S3.T2.7.1.1"> <th class="ltx_td ltx_th ltx_th_row ltx_border_r" id="S3.T2.7.1.1.1"></th> <td class="ltx_td ltx_align_center ltx_border_r" id="S3.T2.7.1.1.2">Active</td> <td class="ltx_td ltx_align_center ltx_border_r" id="S3.T2.7.1.1.3">Position</td> <td class="ltx_td ltx_align_center ltx_border_r" id="S3.T2.7.1.1.4">Velocity</td> <td class="ltx_td ltx_align_center" id="S3.T2.7.1.1.5">Pressure</td> </tr> <tr class="ltx_tr" id="S3.T2.7.2.2"> <th class="ltx_td ltx_th ltx_th_row ltx_border_r" id="S3.T2.7.2.2.1"></th> <td class="ltx_td ltx_align_center ltx_border_r" id="S3.T2.7.2.2.2">Actuation</td> <td class="ltx_td ltx_align_center ltx_border_r" id="S3.T2.7.2.2.3">Feedback</td> <td class="ltx_td ltx_align_center ltx_border_r" id="S3.T2.7.2.2.4">Feedback</td> <td class="ltx_td ltx_align_center" id="S3.T2.7.2.2.5">Feedback</td> </tr> <tr class="ltx_tr" id="S3.T2.7.3.3"> <th class="ltx_td ltx_align_left ltx_th ltx_th_row ltx_border_r ltx_border_t" id="S3.T2.7.3.3.1"><span class="ltx_text ltx_font_bold" id="S3.T2.7.3.3.1.1">Drive</span></th> <td class="ltx_td ltx_align_center ltx_border_r ltx_border_t" id="S3.T2.7.3.3.2"><span class="ltx_text" id="S3.T2.7.3.3.2.1" style="color:#31B6BB;">✓</span></td> <td class="ltx_td ltx_align_center ltx_border_r ltx_border_t" id="S3.T2.7.3.3.3"><span class="ltx_text" id="S3.T2.7.3.3.3.1" style="color:#C7122C;">✗</span></td> <td class="ltx_td ltx_align_center ltx_border_r ltx_border_t" id="S3.T2.7.3.3.4"><span class="ltx_text" id="S3.T2.7.3.3.4.1" style="color:#31B6BB;">✓</span></td> <td class="ltx_td ltx_align_center ltx_border_t" id="S3.T2.7.3.3.5"><span class="ltx_text" id="S3.T2.7.3.3.5.1" style="color:#31B6BB;">✓</span></td> </tr> <tr class="ltx_tr" id="S3.T2.7.4.4"> <th class="ltx_td ltx_align_left ltx_th ltx_th_row ltx_border_r ltx_border_t" id="S3.T2.7.4.4.1"><span class="ltx_text ltx_font_bold" id="S3.T2.7.4.4.1.1">Steer</span></th> <td class="ltx_td ltx_align_center ltx_border_r ltx_border_t" id="S3.T2.7.4.4.2"><span class="ltx_text" id="S3.T2.7.4.4.2.1" style="color:#31B6BB;">✓</span></td> <td class="ltx_td ltx_align_center ltx_border_r ltx_border_t" id="S3.T2.7.4.4.3"><span class="ltx_text" id="S3.T2.7.4.4.3.1" style="color:#31B6BB;">✓</span></td> <td class="ltx_td ltx_align_center ltx_border_r ltx_border_t" id="S3.T2.7.4.4.4"><span class="ltx_text" id="S3.T2.7.4.4.4.1" style="color:#7C8287;">✓</span></td> <td class="ltx_td ltx_align_center ltx_border_t" id="S3.T2.7.4.4.5"><span class="ltx_text" id="S3.T2.7.4.4.5.1" style="color:#31B6BB;">✓</span></td> </tr> <tr class="ltx_tr" id="S3.T2.7.5.5"> <th class="ltx_td ltx_align_left ltx_th ltx_th_row ltx_border_r ltx_border_t" id="S3.T2.7.5.5.1"><span class="ltx_text ltx_font_bold" id="S3.T2.7.5.5.1.1">Tilt</span></th> <td class="ltx_td ltx_align_center ltx_border_r ltx_border_t" id="S3.T2.7.5.5.2"><span class="ltx_text" id="S3.T2.7.5.5.2.1" style="color:#31B6BB;">✓</span></td> <td class="ltx_td ltx_align_center ltx_border_r ltx_border_t" id="S3.T2.7.5.5.3"><span class="ltx_text" id="S3.T2.7.5.5.3.1" style="color:#31B6BB;">✓</span></td> <td class="ltx_td ltx_align_center ltx_border_r ltx_border_t" id="S3.T2.7.5.5.4"><span class="ltx_text" id="S3.T2.7.5.5.4.1" style="color:#7C8287;">✓</span></td> <td class="ltx_td ltx_align_center ltx_border_t" id="S3.T2.7.5.5.5"><span class="ltx_text" id="S3.T2.7.5.5.5.1" style="color:#31B6BB;">✓</span></td> </tr> <tr class="ltx_tr" id="S3.T2.7.6.6"> <th class="ltx_td ltx_align_left ltx_th ltx_th_row ltx_border_r ltx_border_t" id="S3.T2.7.6.6.1"><span class="ltx_text ltx_font_bold" id="S3.T2.7.6.6.1.1">Roll</span></th> <td class="ltx_td ltx_align_center ltx_border_r ltx_border_t" id="S3.T2.7.6.6.2"><span class="ltx_text" id="S3.T2.7.6.6.2.1" style="color:#C7122C;">✗</span></td> <td class="ltx_td ltx_align_center ltx_border_r ltx_border_t" id="S3.T2.7.6.6.3"><span class="ltx_text" id="S3.T2.7.6.6.3.1" style="color:#31B6BB;">✓</span></td> <td class="ltx_td ltx_align_center ltx_border_r ltx_border_t" id="S3.T2.7.6.6.4"><span class="ltx_text" id="S3.T2.7.6.6.4.1" style="color:#7C8287;">✓</span></td> <td class="ltx_td ltx_align_center ltx_border_t" id="S3.T2.7.6.6.5"><span class="ltx_text" id="S3.T2.7.6.6.5.1" style="color:#C7122C;">✗</span></td> </tr> <tr class="ltx_tr" id="S3.T2.7.7.7"> <th class="ltx_td ltx_align_left ltx_th ltx_th_row ltx_border_r ltx_border_t" id="S3.T2.7.7.7.1"><span class="ltx_text ltx_font_bold" id="S3.T2.7.7.7.1.1">Lift</span></th> <td class="ltx_td ltx_align_center ltx_border_r ltx_border_t" id="S3.T2.7.7.7.2"><span class="ltx_text" id="S3.T2.7.7.7.2.1" style="color:#31B6BB;">✓</span></td> <td class="ltx_td ltx_align_center ltx_border_r ltx_border_t" id="S3.T2.7.7.7.3"><span class="ltx_text" id="S3.T2.7.7.7.3.1" style="color:#31B6BB;">✓</span></td> <td class="ltx_td ltx_align_center ltx_border_r ltx_border_t" id="S3.T2.7.7.7.4"><span class="ltx_text" id="S3.T2.7.7.7.4.1" style="color:#7C8287;">✓</span></td> <td class="ltx_td ltx_align_center ltx_border_t" id="S3.T2.7.7.7.5"><span class="ltx_text" id="S3.T2.7.7.7.5.1" style="color:#31B6BB;">✓</span></td> </tr> <tr class="ltx_tr" id="S3.T2.7.8.8"> <th class="ltx_td ltx_align_left ltx_th ltx_th_row ltx_border_r ltx_border_t" id="S3.T2.7.8.8.1"><span class="ltx_text ltx_font_bold" id="S3.T2.7.8.8.1.1">Shift</span></th> <td class="ltx_td ltx_align_center ltx_border_r ltx_border_t" id="S3.T2.7.8.8.2"><span class="ltx_text" id="S3.T2.7.8.8.2.1" style="color:#31B6BB;">✓</span></td> <td class="ltx_td ltx_align_center ltx_border_r ltx_border_t" id="S3.T2.7.8.8.3"><span class="ltx_text" id="S3.T2.7.8.8.3.1" style="color:#31B6BB;">✓</span></td> <td class="ltx_td ltx_align_center ltx_border_r ltx_border_t" id="S3.T2.7.8.8.4"><span class="ltx_text" id="S3.T2.7.8.8.4.1" style="color:#7C8287;">✓</span></td> <td class="ltx_td ltx_align_center ltx_border_t" id="S3.T2.7.8.8.5"><span class="ltx_text" id="S3.T2.7.8.8.5.1" style="color:#31B6BB;">✓</span></td> </tr> </tbody> </table> </figure> </section> <section class="ltx_subsection" id="S3.SS3"> <h3 class="ltx_title ltx_title_subsection"> <span class="ltx_tag ltx_tag_subsection">3.3 </span>Sensing</h3> <div class="ltx_para" id="S3.SS3.p1"> <p class="ltx_p" id="S3.SS3.p1.1">This section describes the proprioceptive and exteroceptive sensing hardware components of ADAPT. Proprioceptive sensors monitor the vehicle’s internal state, enabling precise joint control, while exteroceptive sensors facilitate accurate pallet and loading platform pose estimation, vehicle localization and mapping, and obstacle detection. Advanced algorithms that process sensor data and enable higher-level decision-making and motion control are discussed in Sections <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4" title="4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">4</span></a> and <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5" title="5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">5</span></a>.</p> </div> <section class="ltx_subsubsection" id="S3.SS3.SSS1"> <h4 class="ltx_title ltx_title_subsubsection"> <span class="ltx_tag ltx_tag_subsubsection">3.3.1 </span>Proprioception</h4> <div class="ltx_para" id="S3.SS3.SSS1.p1"> <p class="ltx_p" id="S3.SS3.SSS1.p1.1">The forklift’s proprioception system integrates several sensors to monitor its internal state with high precision, especially the joint values depicted in Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S3.F4" title="Figure 4 ‣ 3.1 Vehicle Platform ‣ 3 System Design ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">4</span></a>. In terms of vehicle motion feedback, wheel speed encoders are used to monitor the rotational velocity of each wheel. To capture the 3D rotation of the central articulated joint, a system utilizing three linear potentiometers was designed. By measuring the sensor elongation, the three articulation angles can be calculated with sub-degree precision. The resulting values are integral for steering the vehicle and precisely adjusting the fork tilt angle during load manipulation. Pressure sensors are installed within the hydraulic cylinders and the hydraulic drive system to measure pressure levels at high frequency. These measurements are crucial for controlling the forklift’s load-handling capabilities, including detecting whether the fork is in direct contact with the environment. In addition, draw-wire encoders are implemented to measure the vertical position of the lifting mast and the lateral movement of the forks (side-shift) with millimeter precision. Together, these sensors provide comprehensive real-time feedback and allow for accurate modeling of the behavior of the system. </p> </div> </section> <section class="ltx_subsubsection" id="S3.SS3.SSS2"> <h4 class="ltx_title ltx_title_subsubsection"> <span class="ltx_tag ltx_tag_subsubsection">3.3.2 </span>Exteroception</h4> <div class="ltx_para" id="S3.SS3.SSS2.p1"> <p class="ltx_p" id="S3.SS3.SSS2.p1.1">In robotics, the exteroceptive system refers to the sensors and mechanisms that allow a robot to perceive and interpret information from its environment. For ADAPT, the exteroceptive system is crucial for localization and mapping, precise object detection, traversability assessment, and obstacle avoidance, ensuring safe and efficient operations in complex environments. The sensor placement on the machine is chosen according to their function and the phase of operations they are required in, see Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S2.F3" title="Figure 3 ‣ 2.4 Motion Planning and Control ‣ 2 Related Work ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">3</span></a>. High-resolution 3D mapping of the environment and obstacle detection is performed by the wide field of view Ouster OS1-64 LiDAR, mounted in the machine’s forward direction, see Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S2.F3" title="Figure 3 ‣ 2.4 Motion Planning and Control ‣ 2 Related Work ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">3</span></a>c. In fork/backward direction, a narrow field of view Livox Mid-70 LiDAR sensor, and a ZED2i stereo camera are employed for object detection, see Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S2.F3" title="Figure 3 ‣ 2.4 Motion Planning and Control ‣ 2 Related Work ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">3</span></a>b. In the forward direction, the system moves faster and covers longer distances, increasing the risk of collisions with dynamic obstacles. Thus, active low-latency obstacle detection is crucial during path execution. In the backward direction, where pallets are only loaded and unloaded, explicit obstacle detection (going beyond terrain mapping) is not essential.</p> </div> <div class="ltx_para" id="S3.SS3.SSS2.p2"> <p class="ltx_p" id="S3.SS3.SSS2.p2.1">For pallet recognition, the ZED2i is the central component. It provides the input data for the neural networks for pallet recognition and pose estimation. Additionally, for precise short-range detection during the final pallet approach, the forklift is equipped with a Sick picoScan150 2D LiDAR, Figure. <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S2.F3" title="Figure 3 ‣ 2.4 Motion Planning and Control ‣ 2 Related Work ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">3</span></a>d. It ensures accurate positioning of the forks relative to the pallet, due to its high frequent update rate and well-aligned viewing angle. To enable accurate detection of the truck’s loading edge, the forklift utilizes the Livox LiDAR. Additionally, a Septentrio mosaic-H system with two antennas is used for RTK GNSS localization. It provides accurate position information at the centimeter level and heading information to ensure precise alignment during loading and unloading tasks.</p> </div> <div class="ltx_para" id="S3.SS3.SSS2.p3"> <p class="ltx_p" id="S3.SS3.SSS2.p3.1">By integrating these sensors, the exteroceptive system equips ADAPT with comprehensive situational awareness, supporting centimeter-accurate load handling and safe navigation in outdoor settings. </p> </div> </section> </section> <section class="ltx_subsection" id="S3.SS4"> <h3 class="ltx_title ltx_title_subsection"> <span class="ltx_tag ltx_tag_subsection">3.4 </span>Processing Components and Network</h3> <figure class="ltx_figure" id="S3.F5"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_landscape" height="602" id="S3.F5.g1" src="x3.png" width="830"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S3.F5.2.1.1" style="font-size:90%;">Figure 5</span>: </span><span class="ltx_text" id="S3.F5.3.2" style="font-size:90%;">Overview of the main hardware components, including core processing devices, actuators, as well as proprioceptive and exteroceptive sensors.</span></figcaption> </figure> <div class="ltx_para" id="S3.SS4.p1"> <p class="ltx_p" id="S3.SS4.p1.1">ADAPT is designed with a robust and distributed processing hardware architecture, depicted in Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S3.F5" title="Figure 5 ‣ 3.4 Processing Components and Network ‣ 3 System Design ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">5</span></a>. The core system consists of three primary computational components: a Programmable Logic Controller (PLC), a rugged industrial PC (IPC), and an additional compact, high-performance PC (NUC), each assigned distinct responsibilities.</p> </div> <div class="ltx_para" id="S3.SS4.p2"> <p class="ltx_p" id="S3.SS4.p2.1">The B&R X90 PLC is dedicated to managing low-level hardware interfaces, including direct connections to sensors and actuators that require low latency and real-time control. It also handles safety-critical operations that depend on rapid response times, such as emergency stops. The rugged IP67-compliant design of the PLC makes it suitable for harsh outdoor environments and does not require an additional enclosure. For higher-level processing, such as planning, advanced control algorithms, and managing intelligent sensors, a Vecow 1210 IPC is employed. It connects to the PLC via a central Ethernet switch to receive the low-level sensor data and to transmit high-level commands over a custom TCP/IP protocol. This setup enables seamless integration and coordination between low-level operations and advanced computational tasks that do not require millisecond-level latency. These advanced computational tasks include high-level task and motion control, vehicle state estimation, and object detection pipelines, utilizing camera and LiDAR sensors. The NUC unit is responsible for processing data from the Ouster LiDAR, allowing both mapping the vehicle’s environment and obstacle avoidance and sharing the respective data via the Robot Operating System (ROS 2) <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib65" title="">65</a>]</cite> over Ethernet.</p> </div> <div class="ltx_para" id="S3.SS4.p3"> <p class="ltx_p" id="S3.SS4.p3.1">A wireless network bridge connects the forklift to a remote monitoring station housed in a weatherproof container, primarily supporting development and expert interventions. This setup enables live monitoring of the system’s operation, ensuring efficient debugging and adjustments during testing phases. Additionally, a supplementary WLAN antenna provides on-site operators with the ability to monitor the system state via a tablet-based Human-Machine Interface (HMI). For long-range communication, an LTE/5G router is integrated.</p> </div> <div class="ltx_para" id="S3.SS4.p4"> <p class="ltx_p" id="S3.SS4.p4.1">All components discussed, along with the necessary power supply electronics, are IP67 rated or housed within weatherproof switching cabinets, ensuring reliable operation under all typical weather conditions in Central Europe.</p> </div> </section> <section class="ltx_subsection" id="S3.SS5"> <h3 class="ltx_title ltx_title_subsection"> <span class="ltx_tag ltx_tag_subsection">3.5 </span>Software Components</h3> <div class="ltx_para" id="S3.SS5.p1"> <p class="ltx_p" id="S3.SS5.p1.1">Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S1.F2" title="Figure 2 ‣ 1.1 Contribution ‣ 1 Introduction ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">2</span></a> shows an overview of the software architecture as well as concise descriptions of core functionalities and their associated hardware components. Core functionalities include localization and mapping, object detection, obstacle detection, task planning, and motion control. Localization and mapping are based on GNSS modules and LiDAR to provide accurate environmental maps and vehicle positioning data. Object detection utilizes a stereo camera as well as LiDAR to identify pallets and truck loading edges, facilitating precise load carrier handling. The obstacle detection module ensures safety by halting the vehicle before potential collisions with detected obstacles. The task planner serves as the central planning component of the system, managing high-level decision-making and coordinating both the path planner and motion controller. The path planner creates optimal routes based on map and localization data, while the cascaded motion controller provides precise vehicle base movements and responsive fork actuation for effective pallet manipulation. The majority of the software components running on the rugged IPC and the NUC highly depend on the ROS 2 middleware and its associated libraries, which enable a decentralized architecture while ensuring robust data and information exchange. A detailed discussion of the modules presented can be found in Sections <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4" title="4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">4</span></a> and <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5" title="5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">5</span></a>.</p> </div> </section> </section> <section class="ltx_section" id="S4"> <h2 class="ltx_title ltx_title_section"> <span class="ltx_tag ltx_tag_section">4 </span>Perception</h2> <div class="ltx_para" id="S4.p1"> <p class="ltx_p" id="S4.p1.1">ADAPT relies on multiple perception modules to function effectively in an outdoor environment. The first requirement is self-localization within its surroundings, which is integrated with mapping of pallet poses in a simultaneous localization and pallet mapping process; see Section <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.SS1" title="4.1 Joint Localization and Pallet Mapping ‣ 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">4.1</span></a>. However, a more detailed environment mapping is necessary to assess terrain traversability, as shown in Section <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.SS2" title="4.2 Traversabilty Mapping ‣ 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">4.2</span></a>.</p> </div> <div class="ltx_para" id="S4.p2"> <p class="ltx_p" id="S4.p2.1">Since autonomous exploration on a public construction site is infeasible, we assume an initial human-guided exploration phase. A human controller then designates general loading and unloading areas to define the mission: which pallets should be brought where, and how many. Within these areas, ADAPT autonomously detects all pallets and trucks and estimates their 6D poses. The pallet detection process is described in Section <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.SS3" title="4.3 Pallet Detection and Pose Estimation ‣ 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">4.3</span></a>, while the estimation of the edge of loading of the truck is covered in Section <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.SS4" title="4.4 Loading Edge Detection ‣ 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">4.4</span></a>. Lastly, to ensure safe navigation and prevent collisions during path execution, the forklift must detect and take into account obstacles in its surroundings, as discussed in Section <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.SS5" title="4.5 Obstacle Detection ‣ 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">4.5</span></a>.</p> </div> <section class="ltx_subsection" id="S4.SS1"> <h3 class="ltx_title ltx_title_subsection"> <span class="ltx_tag ltx_tag_subsection">4.1 </span>Joint Localization and Pallet Mapping</h3> <div class="ltx_para" id="S4.SS1.p1"> <p class="ltx_p" id="S4.SS1.p1.1">The goal of mapping is to derive a representation of the environment that is as rich in features as necessary for the application, but as compact as possible to keep computational complexity low. For ADAPT, there are two levels of abstraction in which we need to map the environment in: The high-level representation of the pallet poses, and the lower-level environment map with a strong focus on terrain traversability assessment, see Section <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.SS2" title="4.2 Traversabilty Mapping ‣ 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">4.2</span></a>.</p> </div> <div class="ltx_para" id="S4.SS1.p2"> <p class="ltx_p" id="S4.SS1.p2.1">For high-level joint location and pallet mapping, we use a factor graph-based approach <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib66" title="">66</a>]</cite> that allows the integration of vehicle odometry data, GNSS measurements and pallet detections in a joint optimization framework. A factor graph is a theoretical framework that models unknown variables, measurements, and their interdependencies as a bipartite graph with two types of nodes, see Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.F6" title="Figure 6 ‣ 4.1 Joint Localization and Pallet Mapping ‣ 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">6</span></a>. It consists of variable nodes (depicted as circles), which represent the variables to be estimated, and factor nodes (depicted as rectangles). In this context, factors can be binary (functions that relate two unknowns with one another) or unary (constraints on a variable based on a measurement). This factor graph approach is advantageous in this context as it allows flexible integration of multiple types of measurement and provides a probabilistic framework for managing uncertainties inherent in noisy and delayed sensor data. Our factor graph is shown in Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.F6" title="Figure 6 ‣ 4.1 Joint Localization and Pallet Mapping ‣ 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">6</span></a>. We use GNSS measurements from a dual antenna system that provides global position and attitude information. The forklift pose nodes are connected using odometry which is based on wheel encoders and steering angle measurements. Pallets are detected and their poses are estimated from different viewpoints and forklift poses, respectively. Therefore, the estimation of the pose of the pallet is represented as a binary factor linking the position of the pallet with the location of the vehicle. To maintain real-time performance, we build upon iSAM2 <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib33" title="">33</a>]</cite> incremental smoothing, which yields the jointly most probable pallet and forklift poses given all odometry, GNSS, and pallet measurements. This allows the pose of a pallet to be optimized by measurements from different views. In addition, the pallet poses and vehicle location are optimized even without or with a less precise GNSS signal.</p> </div> <div class="ltx_para" id="S4.SS1.p3"> <p class="ltx_p" id="S4.SS1.p3.1">With iSAM2 updates of pallet detections and localization information are optimized incrementally, in contrast to re-solving the entire optimization repeatedly. To do so, iSAM2 maintains, in addition to the factor graph, a dynamic Bayesian tree structure to track variable interdependencies. This approach ensures that updates to the factor graph are confined to regions where changes in interdependencies occur. To facilitate real-time operation, our iSAM2-based optimization approach for joint pallet and vehicle pose mapping</p> <ul class="ltx_itemize" id="S4.I1"> <li class="ltx_item" id="S4.I1.i1" style="list-style-type:none;"> <span class="ltx_tag ltx_tag_item">•</span> <div class="ltx_para" id="S4.I1.i1.p1"> <p class="ltx_p" id="S4.I1.i1.p1.1">linearizes the problem around an initial guess,</p> </div> </li> <li class="ltx_item" id="S4.I1.i2" style="list-style-type:none;"> <span class="ltx_tag ltx_tag_item">•</span> <div class="ltx_para" id="S4.I1.i2.p1"> <p class="ltx_p" id="S4.I1.i2.p1.1">reinitializes (recomputes the linearization) when a variable changes significantly,</p> </div> </li> <li class="ltx_item" id="S4.I1.i3" style="list-style-type:none;"> <span class="ltx_tag ltx_tag_item">•</span> <div class="ltx_para" id="S4.I1.i3.p1"> <p class="ltx_p" id="S4.I1.i3.p1.1">exploits the sparsity of the optimization problem, since each factor connects only a small subset of variables, leading to a sparse Jacobian matrix,</p> </div> </li> <li class="ltx_item" id="S4.I1.i4" style="list-style-type:none;"> <span class="ltx_tag ltx_tag_item">•</span> <div class="ltx_para" id="S4.I1.i4.p1"> <p class="ltx_p" id="S4.I1.i4.p1.1">simplifies (marginalizes the optimization problem) by pruning redundant vehicle and pallet poses to facilitate long-term operation,</p> </div> </li> <li class="ltx_item" id="S4.I1.i5" style="list-style-type:none;"> <span class="ltx_tag ltx_tag_item">•</span> <div class="ltx_para" id="S4.I1.i5.p1"> <p class="ltx_p" id="S4.I1.i5.p1.1">performs pose pruning and culling for measurements older than a certain time (currently set to 5 seconds) to keep the measurement history maintainable.</p> </div> </li> </ul> <p class="ltx_p" id="S4.SS1.p3.2">This approach can efficiently integrate information from odometry sensors, GNSS, and detections over time in a way that yields, given all sensor information, the most probable result for the unknowns (the maximum a posteriori estimate). The pallet mapping is tightly integrated into our optimization framework. For pallet tracking, we use a Mahalanobis distance-based <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib67" title="">67</a>]</cite> approach to ensure a robust association of detections between consecutive measurements. The Mahalanobis distance metric allows for dynamic association by accounting for both positional variance and estimated noise in pallet positions. Additionally, pallets are dynamically managed within the forklift’s view frustum by pallet bookkeeping that goes beyond pure variable marginalization (pruning). It manages the tracking of new never-before-seen pallets, associates new detections with old ones, and deletes pallets if they should be in sensor view but cannot be detected for a while. This approach aligns with the concept of object permanence, where pallets are presumed to remain at a designated location even when they are not directly visible.</p> </div> <figure class="ltx_figure" id="S4.F6"><svg class="ltx_picture ltx_centering" height="133.5" id="S4.F6.pic1" overflow="visible" version="1.1" width="274.63"><g fill="#000000" stroke="#000000" stroke-width="0.4pt" transform="translate(0,133.5) matrix(1 0 0 -1 0 0) translate(14.11,0) translate(0,73.17)"><g fill="#FFFFFF" stroke="#000000"><path d="M 13.84 0 C 13.84 7.64 7.64 13.84 0 13.84 C -7.64 13.84 -13.84 7.64 -13.84 0 C -13.84 -7.64 -7.64 -13.84 0 -13.84 C 7.64 -13.84 13.84 -7.64 13.84 0 Z M 0 0"></path></g><g fill="#000000" stroke="#000000" transform="matrix(1.0 0.0 0.0 1.0 -8.21 -3.48)"><foreignobject height="11.95" overflow="visible" transform="matrix(1 0 0 -1 0 16.6)" width="16.42"><math alttext="X_{0}" class="ltx_Math" display="inline" id="S4.F6.pic1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1"><semantics id="S4.F6.pic1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1a"><msub id="S4.F6.pic1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1.1" xref="S4.F6.pic1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.cmml"><mi id="S4.F6.pic1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.2" xref="S4.F6.pic1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.2.cmml">X</mi><mn id="S4.F6.pic1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.3" xref="S4.F6.pic1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.3.cmml">0</mn></msub><annotation-xml encoding="MathML-Content" id="S4.F6.pic1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1b"><apply id="S4.F6.pic1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.cmml" xref="S4.F6.pic1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1.1"><csymbol cd="ambiguous" id="S4.F6.pic1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.1.cmml" xref="S4.F6.pic1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1.1">subscript</csymbol><ci id="S4.F6.pic1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.2.cmml" xref="S4.F6.pic1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.2">𝑋</ci><cn id="S4.F6.pic1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.3.cmml" type="integer" xref="S4.F6.pic1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.3">0</cn></apply></annotation-xml><annotation encoding="application/x-tex" id="S4.F6.pic1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1c">X_{0}</annotation><annotation encoding="application/x-llamapun" id="S4.F6.pic1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1d">italic_X start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT</annotation></semantics></math></foreignobject></g><g fill="#FFFFFF" stroke="#000000"><path d="M 72.89 0 C 72.89 7.64 66.7 13.84 59.06 13.84 C 51.41 13.84 45.22 7.64 45.22 0 C 45.22 -7.64 51.41 -13.84 59.06 -13.84 C 66.7 -13.84 72.89 -7.64 72.89 0 Z M 59.06 0"></path></g><g fill="#000000" stroke="#000000" transform="matrix(1.0 0.0 0.0 1.0 50.84 -3.48)"><foreignobject height="11.95" overflow="visible" transform="matrix(1 0 0 -1 0 16.6)" width="16.42"><math alttext="X_{1}" class="ltx_Math" display="inline" id="S4.F6.pic1.2.2.2.2.2.2.2.2.2.2.2.2.1.1.1.1.1.1.1.1.1.1.1.m1.1"><semantics id="S4.F6.pic1.2.2.2.2.2.2.2.2.2.2.2.2.1.1.1.1.1.1.1.1.1.1.1.m1.1a"><msub id="S4.F6.pic1.2.2.2.2.2.2.2.2.2.2.2.2.1.1.1.1.1.1.1.1.1.1.1.m1.1.1" xref="S4.F6.pic1.2.2.2.2.2.2.2.2.2.2.2.2.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.cmml"><mi id="S4.F6.pic1.2.2.2.2.2.2.2.2.2.2.2.2.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.2" xref="S4.F6.pic1.2.2.2.2.2.2.2.2.2.2.2.2.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.2.cmml">X</mi><mn id="S4.F6.pic1.2.2.2.2.2.2.2.2.2.2.2.2.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.3" xref="S4.F6.pic1.2.2.2.2.2.2.2.2.2.2.2.2.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.3.cmml">1</mn></msub><annotation-xml encoding="MathML-Content" id="S4.F6.pic1.2.2.2.2.2.2.2.2.2.2.2.2.1.1.1.1.1.1.1.1.1.1.1.m1.1b"><apply id="S4.F6.pic1.2.2.2.2.2.2.2.2.2.2.2.2.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.cmml" xref="S4.F6.pic1.2.2.2.2.2.2.2.2.2.2.2.2.1.1.1.1.1.1.1.1.1.1.1.m1.1.1"><csymbol cd="ambiguous" id="S4.F6.pic1.2.2.2.2.2.2.2.2.2.2.2.2.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.1.cmml" xref="S4.F6.pic1.2.2.2.2.2.2.2.2.2.2.2.2.1.1.1.1.1.1.1.1.1.1.1.m1.1.1">subscript</csymbol><ci id="S4.F6.pic1.2.2.2.2.2.2.2.2.2.2.2.2.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.2.cmml" xref="S4.F6.pic1.2.2.2.2.2.2.2.2.2.2.2.2.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.2">𝑋</ci><cn id="S4.F6.pic1.2.2.2.2.2.2.2.2.2.2.2.2.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.3.cmml" type="integer" xref="S4.F6.pic1.2.2.2.2.2.2.2.2.2.2.2.2.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.3">1</cn></apply></annotation-xml><annotation encoding="application/x-tex" id="S4.F6.pic1.2.2.2.2.2.2.2.2.2.2.2.2.1.1.1.1.1.1.1.1.1.1.1.m1.1c">X_{1}</annotation><annotation encoding="application/x-llamapun" id="S4.F6.pic1.2.2.2.2.2.2.2.2.2.2.2.2.1.1.1.1.1.1.1.1.1.1.1.m1.1d">italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT</annotation></semantics></math></foreignobject></g><g fill="#FFFFFF" stroke="#000000"><path d="M 131.95 0 C 131.95 7.64 125.75 13.84 118.11 13.84 C 110.47 13.84 104.27 7.64 104.27 0 C 104.27 -7.64 110.47 -13.84 118.11 -13.84 C 125.75 -13.84 131.95 -7.64 131.95 0 Z M 118.11 0"></path></g><g fill="#000000" stroke="#000000" transform="matrix(1.0 0.0 0.0 1.0 109.9 -3.48)"><foreignobject height="11.95" overflow="visible" transform="matrix(1 0 0 -1 0 16.6)" width="16.42"><math alttext="X_{2}" class="ltx_Math" display="inline" id="S4.F6.pic1.3.3.3.3.3.3.3.3.3.3.3.3.1.1.1.1.1.1.1.1.1.1.1.m1.1"><semantics id="S4.F6.pic1.3.3.3.3.3.3.3.3.3.3.3.3.1.1.1.1.1.1.1.1.1.1.1.m1.1a"><msub id="S4.F6.pic1.3.3.3.3.3.3.3.3.3.3.3.3.1.1.1.1.1.1.1.1.1.1.1.m1.1.1" xref="S4.F6.pic1.3.3.3.3.3.3.3.3.3.3.3.3.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.cmml"><mi id="S4.F6.pic1.3.3.3.3.3.3.3.3.3.3.3.3.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.2" xref="S4.F6.pic1.3.3.3.3.3.3.3.3.3.3.3.3.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.2.cmml">X</mi><mn id="S4.F6.pic1.3.3.3.3.3.3.3.3.3.3.3.3.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.3" xref="S4.F6.pic1.3.3.3.3.3.3.3.3.3.3.3.3.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.3.cmml">2</mn></msub><annotation-xml encoding="MathML-Content" id="S4.F6.pic1.3.3.3.3.3.3.3.3.3.3.3.3.1.1.1.1.1.1.1.1.1.1.1.m1.1b"><apply id="S4.F6.pic1.3.3.3.3.3.3.3.3.3.3.3.3.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.cmml" xref="S4.F6.pic1.3.3.3.3.3.3.3.3.3.3.3.3.1.1.1.1.1.1.1.1.1.1.1.m1.1.1"><csymbol cd="ambiguous" id="S4.F6.pic1.3.3.3.3.3.3.3.3.3.3.3.3.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.1.cmml" xref="S4.F6.pic1.3.3.3.3.3.3.3.3.3.3.3.3.1.1.1.1.1.1.1.1.1.1.1.m1.1.1">subscript</csymbol><ci id="S4.F6.pic1.3.3.3.3.3.3.3.3.3.3.3.3.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.2.cmml" xref="S4.F6.pic1.3.3.3.3.3.3.3.3.3.3.3.3.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.2">𝑋</ci><cn id="S4.F6.pic1.3.3.3.3.3.3.3.3.3.3.3.3.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.3.cmml" type="integer" xref="S4.F6.pic1.3.3.3.3.3.3.3.3.3.3.3.3.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.3">2</cn></apply></annotation-xml><annotation encoding="application/x-tex" id="S4.F6.pic1.3.3.3.3.3.3.3.3.3.3.3.3.1.1.1.1.1.1.1.1.1.1.1.m1.1c">X_{2}</annotation><annotation encoding="application/x-llamapun" id="S4.F6.pic1.3.3.3.3.3.3.3.3.3.3.3.3.1.1.1.1.1.1.1.1.1.1.1.m1.1d">italic_X start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT</annotation></semantics></math></foreignobject></g><g fill="#FFFFFF" stroke="#000000"><path d="M 191 0 C 191 7.64 184.81 13.84 177.17 13.84 C 169.52 13.84 163.33 7.64 163.33 0 C 163.33 -7.64 169.52 -13.84 177.17 -13.84 C 184.81 -13.84 191 -7.64 191 0 Z M 177.17 0"></path></g><g fill="#000000" stroke="#000000" transform="matrix(1.0 0.0 0.0 1.0 168.95 -3.48)"><foreignobject height="11.95" overflow="visible" transform="matrix(1 0 0 -1 0 16.6)" width="16.42"><math alttext="X_{3}" class="ltx_Math" display="inline" id="S4.F6.pic1.4.4.4.4.4.4.4.4.4.4.4.4.1.1.1.1.1.1.1.1.1.1.1.m1.1"><semantics id="S4.F6.pic1.4.4.4.4.4.4.4.4.4.4.4.4.1.1.1.1.1.1.1.1.1.1.1.m1.1a"><msub id="S4.F6.pic1.4.4.4.4.4.4.4.4.4.4.4.4.1.1.1.1.1.1.1.1.1.1.1.m1.1.1" xref="S4.F6.pic1.4.4.4.4.4.4.4.4.4.4.4.4.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.cmml"><mi id="S4.F6.pic1.4.4.4.4.4.4.4.4.4.4.4.4.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.2" xref="S4.F6.pic1.4.4.4.4.4.4.4.4.4.4.4.4.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.2.cmml">X</mi><mn id="S4.F6.pic1.4.4.4.4.4.4.4.4.4.4.4.4.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.3" xref="S4.F6.pic1.4.4.4.4.4.4.4.4.4.4.4.4.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.3.cmml">3</mn></msub><annotation-xml encoding="MathML-Content" id="S4.F6.pic1.4.4.4.4.4.4.4.4.4.4.4.4.1.1.1.1.1.1.1.1.1.1.1.m1.1b"><apply id="S4.F6.pic1.4.4.4.4.4.4.4.4.4.4.4.4.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.cmml" xref="S4.F6.pic1.4.4.4.4.4.4.4.4.4.4.4.4.1.1.1.1.1.1.1.1.1.1.1.m1.1.1"><csymbol cd="ambiguous" id="S4.F6.pic1.4.4.4.4.4.4.4.4.4.4.4.4.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.1.cmml" xref="S4.F6.pic1.4.4.4.4.4.4.4.4.4.4.4.4.1.1.1.1.1.1.1.1.1.1.1.m1.1.1">subscript</csymbol><ci id="S4.F6.pic1.4.4.4.4.4.4.4.4.4.4.4.4.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.2.cmml" xref="S4.F6.pic1.4.4.4.4.4.4.4.4.4.4.4.4.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.2">𝑋</ci><cn id="S4.F6.pic1.4.4.4.4.4.4.4.4.4.4.4.4.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.3.cmml" type="integer" xref="S4.F6.pic1.4.4.4.4.4.4.4.4.4.4.4.4.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.3">3</cn></apply></annotation-xml><annotation encoding="application/x-tex" id="S4.F6.pic1.4.4.4.4.4.4.4.4.4.4.4.4.1.1.1.1.1.1.1.1.1.1.1.m1.1c">X_{3}</annotation><annotation encoding="application/x-llamapun" id="S4.F6.pic1.4.4.4.4.4.4.4.4.4.4.4.4.1.1.1.1.1.1.1.1.1.1.1.m1.1d">italic_X start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT</annotation></semantics></math></foreignobject></g><g fill="#FFFFFF" stroke="#000000"><path d="M 250.06 0 C 250.06 7.64 243.86 13.84 236.22 13.84 C 228.58 13.84 222.38 7.64 222.38 0 C 222.38 -7.64 228.58 -13.84 236.22 -13.84 C 243.86 -13.84 250.06 -7.64 250.06 0 Z M 236.22 0"></path></g><g fill="#000000" stroke="#000000" transform="matrix(1.0 0.0 0.0 1.0 228.01 -3.48)"><foreignobject height="11.95" overflow="visible" transform="matrix(1 0 0 -1 0 16.6)" width="16.42"><math alttext="X_{4}" class="ltx_Math" display="inline" id="S4.F6.pic1.5.5.5.5.5.5.5.5.5.5.5.5.1.1.1.1.1.1.1.1.1.1.1.m1.1"><semantics id="S4.F6.pic1.5.5.5.5.5.5.5.5.5.5.5.5.1.1.1.1.1.1.1.1.1.1.1.m1.1a"><msub id="S4.F6.pic1.5.5.5.5.5.5.5.5.5.5.5.5.1.1.1.1.1.1.1.1.1.1.1.m1.1.1" xref="S4.F6.pic1.5.5.5.5.5.5.5.5.5.5.5.5.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.cmml"><mi id="S4.F6.pic1.5.5.5.5.5.5.5.5.5.5.5.5.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.2" xref="S4.F6.pic1.5.5.5.5.5.5.5.5.5.5.5.5.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.2.cmml">X</mi><mn id="S4.F6.pic1.5.5.5.5.5.5.5.5.5.5.5.5.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.3" xref="S4.F6.pic1.5.5.5.5.5.5.5.5.5.5.5.5.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.3.cmml">4</mn></msub><annotation-xml encoding="MathML-Content" id="S4.F6.pic1.5.5.5.5.5.5.5.5.5.5.5.5.1.1.1.1.1.1.1.1.1.1.1.m1.1b"><apply id="S4.F6.pic1.5.5.5.5.5.5.5.5.5.5.5.5.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.cmml" xref="S4.F6.pic1.5.5.5.5.5.5.5.5.5.5.5.5.1.1.1.1.1.1.1.1.1.1.1.m1.1.1"><csymbol cd="ambiguous" id="S4.F6.pic1.5.5.5.5.5.5.5.5.5.5.5.5.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.1.cmml" xref="S4.F6.pic1.5.5.5.5.5.5.5.5.5.5.5.5.1.1.1.1.1.1.1.1.1.1.1.m1.1.1">subscript</csymbol><ci id="S4.F6.pic1.5.5.5.5.5.5.5.5.5.5.5.5.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.2.cmml" xref="S4.F6.pic1.5.5.5.5.5.5.5.5.5.5.5.5.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.2">𝑋</ci><cn id="S4.F6.pic1.5.5.5.5.5.5.5.5.5.5.5.5.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.3.cmml" type="integer" xref="S4.F6.pic1.5.5.5.5.5.5.5.5.5.5.5.5.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.3">4</cn></apply></annotation-xml><annotation encoding="application/x-tex" id="S4.F6.pic1.5.5.5.5.5.5.5.5.5.5.5.5.1.1.1.1.1.1.1.1.1.1.1.m1.1c">X_{4}</annotation><annotation encoding="application/x-llamapun" id="S4.F6.pic1.5.5.5.5.5.5.5.5.5.5.5.5.1.1.1.1.1.1.1.1.1.1.1.m1.1d">italic_X start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT</annotation></semantics></math></foreignobject></g><g fill="#FFCCCC" stroke="#FF0000"><path d="M 24.23 -3.46 h 6.92 v 6.92 h -6.92 Z"></path></g><g fill="#000000" stroke="#000000" transform="matrix(1.0 0.0 0.0 1.0 19.36 11.83)"><foreignobject height="10.77" overflow="visible" transform="matrix(1 0 0 -1 0 16.6)" width="16.67"><math alttext="O_{0,1}" class="ltx_Math" display="inline" id="S4.F6.pic1.6.6.6.6.6.6.6.6.6.6.6.6.1.1.1.1.1.1.1.1.1.m1.2"><semantics id="S4.F6.pic1.6.6.6.6.6.6.6.6.6.6.6.6.1.1.1.1.1.1.1.1.1.m1.2a"><msub id="S4.F6.pic1.6.6.6.6.6.6.6.6.6.6.6.6.1.1.1.1.1.1.1.1.1.m1.2.3" xref="S4.F6.pic1.6.6.6.6.6.6.6.6.6.6.6.6.1.1.1.1.1.1.1.1.1.m1.2.3.cmml"><mi id="S4.F6.pic1.6.6.6.6.6.6.6.6.6.6.6.6.1.1.1.1.1.1.1.1.1.m1.2.3.2" mathsize="80%" xref="S4.F6.pic1.6.6.6.6.6.6.6.6.6.6.6.6.1.1.1.1.1.1.1.1.1.m1.2.3.2.cmml">O</mi><mrow id="S4.F6.pic1.6.6.6.6.6.6.6.6.6.6.6.6.1.1.1.1.1.1.1.1.1.m1.2.2.2.4" xref="S4.F6.pic1.6.6.6.6.6.6.6.6.6.6.6.6.1.1.1.1.1.1.1.1.1.m1.2.2.2.3.cmml"><mn id="S4.F6.pic1.6.6.6.6.6.6.6.6.6.6.6.6.1.1.1.1.1.1.1.1.1.m1.1.1.1.1" mathsize="80%" xref="S4.F6.pic1.6.6.6.6.6.6.6.6.6.6.6.6.1.1.1.1.1.1.1.1.1.m1.1.1.1.1.cmml">0</mn><mo id="S4.F6.pic1.6.6.6.6.6.6.6.6.6.6.6.6.1.1.1.1.1.1.1.1.1.m1.2.2.2.4.1" mathsize="80%" xref="S4.F6.pic1.6.6.6.6.6.6.6.6.6.6.6.6.1.1.1.1.1.1.1.1.1.m1.2.2.2.3.cmml">,</mo><mn id="S4.F6.pic1.6.6.6.6.6.6.6.6.6.6.6.6.1.1.1.1.1.1.1.1.1.m1.2.2.2.2" mathsize="80%" xref="S4.F6.pic1.6.6.6.6.6.6.6.6.6.6.6.6.1.1.1.1.1.1.1.1.1.m1.2.2.2.2.cmml">1</mn></mrow></msub><annotation-xml encoding="MathML-Content" id="S4.F6.pic1.6.6.6.6.6.6.6.6.6.6.6.6.1.1.1.1.1.1.1.1.1.m1.2b"><apply id="S4.F6.pic1.6.6.6.6.6.6.6.6.6.6.6.6.1.1.1.1.1.1.1.1.1.m1.2.3.cmml" xref="S4.F6.pic1.6.6.6.6.6.6.6.6.6.6.6.6.1.1.1.1.1.1.1.1.1.m1.2.3"><csymbol cd="ambiguous" id="S4.F6.pic1.6.6.6.6.6.6.6.6.6.6.6.6.1.1.1.1.1.1.1.1.1.m1.2.3.1.cmml" xref="S4.F6.pic1.6.6.6.6.6.6.6.6.6.6.6.6.1.1.1.1.1.1.1.1.1.m1.2.3">subscript</csymbol><ci id="S4.F6.pic1.6.6.6.6.6.6.6.6.6.6.6.6.1.1.1.1.1.1.1.1.1.m1.2.3.2.cmml" xref="S4.F6.pic1.6.6.6.6.6.6.6.6.6.6.6.6.1.1.1.1.1.1.1.1.1.m1.2.3.2">𝑂</ci><list id="S4.F6.pic1.6.6.6.6.6.6.6.6.6.6.6.6.1.1.1.1.1.1.1.1.1.m1.2.2.2.3.cmml" xref="S4.F6.pic1.6.6.6.6.6.6.6.6.6.6.6.6.1.1.1.1.1.1.1.1.1.m1.2.2.2.4"><cn id="S4.F6.pic1.6.6.6.6.6.6.6.6.6.6.6.6.1.1.1.1.1.1.1.1.1.m1.1.1.1.1.cmml" type="integer" xref="S4.F6.pic1.6.6.6.6.6.6.6.6.6.6.6.6.1.1.1.1.1.1.1.1.1.m1.1.1.1.1">0</cn><cn id="S4.F6.pic1.6.6.6.6.6.6.6.6.6.6.6.6.1.1.1.1.1.1.1.1.1.m1.2.2.2.2.cmml" type="integer" xref="S4.F6.pic1.6.6.6.6.6.6.6.6.6.6.6.6.1.1.1.1.1.1.1.1.1.m1.2.2.2.2">1</cn></list></apply></annotation-xml><annotation encoding="application/x-tex" id="S4.F6.pic1.6.6.6.6.6.6.6.6.6.6.6.6.1.1.1.1.1.1.1.1.1.m1.2c">O_{0,1}</annotation><annotation encoding="application/x-llamapun" id="S4.F6.pic1.6.6.6.6.6.6.6.6.6.6.6.6.1.1.1.1.1.1.1.1.1.m1.2d">italic_O start_POSTSUBSCRIPT 0 , 1 end_POSTSUBSCRIPT</annotation></semantics></math></foreignobject></g><path d="M 14.11 0 L 23.96 0" style="fill:none"></path><path d="M 31.43 0 L 43.82 0" style="fill:none"></path><g stroke-dasharray="none" stroke-dashoffset="0.0pt" stroke-linejoin="miter" transform="matrix(1.0 0.0 0.0 1.0 43.82 0)"><path d="M -7.23 3.24 L 0.42 0 L -7.23 -3.24 Z"></path></g><g fill="#FFCCCC" stroke="#FF0000"><path d="M 83.29 -3.46 h 6.92 v 6.92 h -6.92 Z"></path></g><g fill="#000000" stroke="#000000" transform="matrix(1.0 0.0 0.0 1.0 78.41 11.83)"><foreignobject height="10.77" overflow="visible" transform="matrix(1 0 0 -1 0 16.6)" width="16.67"><math alttext="O_{1,2}" class="ltx_Math" display="inline" id="S4.F6.pic1.7.7.7.7.7.7.7.7.7.7.7.7.1.1.1.1.1.1.1.1.1.m1.2"><semantics id="S4.F6.pic1.7.7.7.7.7.7.7.7.7.7.7.7.1.1.1.1.1.1.1.1.1.m1.2a"><msub id="S4.F6.pic1.7.7.7.7.7.7.7.7.7.7.7.7.1.1.1.1.1.1.1.1.1.m1.2.3" xref="S4.F6.pic1.7.7.7.7.7.7.7.7.7.7.7.7.1.1.1.1.1.1.1.1.1.m1.2.3.cmml"><mi id="S4.F6.pic1.7.7.7.7.7.7.7.7.7.7.7.7.1.1.1.1.1.1.1.1.1.m1.2.3.2" mathsize="80%" xref="S4.F6.pic1.7.7.7.7.7.7.7.7.7.7.7.7.1.1.1.1.1.1.1.1.1.m1.2.3.2.cmml">O</mi><mrow id="S4.F6.pic1.7.7.7.7.7.7.7.7.7.7.7.7.1.1.1.1.1.1.1.1.1.m1.2.2.2.4" xref="S4.F6.pic1.7.7.7.7.7.7.7.7.7.7.7.7.1.1.1.1.1.1.1.1.1.m1.2.2.2.3.cmml"><mn id="S4.F6.pic1.7.7.7.7.7.7.7.7.7.7.7.7.1.1.1.1.1.1.1.1.1.m1.1.1.1.1" mathsize="80%" xref="S4.F6.pic1.7.7.7.7.7.7.7.7.7.7.7.7.1.1.1.1.1.1.1.1.1.m1.1.1.1.1.cmml">1</mn><mo id="S4.F6.pic1.7.7.7.7.7.7.7.7.7.7.7.7.1.1.1.1.1.1.1.1.1.m1.2.2.2.4.1" mathsize="80%" xref="S4.F6.pic1.7.7.7.7.7.7.7.7.7.7.7.7.1.1.1.1.1.1.1.1.1.m1.2.2.2.3.cmml">,</mo><mn id="S4.F6.pic1.7.7.7.7.7.7.7.7.7.7.7.7.1.1.1.1.1.1.1.1.1.m1.2.2.2.2" mathsize="80%" xref="S4.F6.pic1.7.7.7.7.7.7.7.7.7.7.7.7.1.1.1.1.1.1.1.1.1.m1.2.2.2.2.cmml">2</mn></mrow></msub><annotation-xml encoding="MathML-Content" id="S4.F6.pic1.7.7.7.7.7.7.7.7.7.7.7.7.1.1.1.1.1.1.1.1.1.m1.2b"><apply id="S4.F6.pic1.7.7.7.7.7.7.7.7.7.7.7.7.1.1.1.1.1.1.1.1.1.m1.2.3.cmml" xref="S4.F6.pic1.7.7.7.7.7.7.7.7.7.7.7.7.1.1.1.1.1.1.1.1.1.m1.2.3"><csymbol cd="ambiguous" id="S4.F6.pic1.7.7.7.7.7.7.7.7.7.7.7.7.1.1.1.1.1.1.1.1.1.m1.2.3.1.cmml" xref="S4.F6.pic1.7.7.7.7.7.7.7.7.7.7.7.7.1.1.1.1.1.1.1.1.1.m1.2.3">subscript</csymbol><ci id="S4.F6.pic1.7.7.7.7.7.7.7.7.7.7.7.7.1.1.1.1.1.1.1.1.1.m1.2.3.2.cmml" xref="S4.F6.pic1.7.7.7.7.7.7.7.7.7.7.7.7.1.1.1.1.1.1.1.1.1.m1.2.3.2">𝑂</ci><list id="S4.F6.pic1.7.7.7.7.7.7.7.7.7.7.7.7.1.1.1.1.1.1.1.1.1.m1.2.2.2.3.cmml" xref="S4.F6.pic1.7.7.7.7.7.7.7.7.7.7.7.7.1.1.1.1.1.1.1.1.1.m1.2.2.2.4"><cn id="S4.F6.pic1.7.7.7.7.7.7.7.7.7.7.7.7.1.1.1.1.1.1.1.1.1.m1.1.1.1.1.cmml" type="integer" xref="S4.F6.pic1.7.7.7.7.7.7.7.7.7.7.7.7.1.1.1.1.1.1.1.1.1.m1.1.1.1.1">1</cn><cn id="S4.F6.pic1.7.7.7.7.7.7.7.7.7.7.7.7.1.1.1.1.1.1.1.1.1.m1.2.2.2.2.cmml" type="integer" xref="S4.F6.pic1.7.7.7.7.7.7.7.7.7.7.7.7.1.1.1.1.1.1.1.1.1.m1.2.2.2.2">2</cn></list></apply></annotation-xml><annotation encoding="application/x-tex" id="S4.F6.pic1.7.7.7.7.7.7.7.7.7.7.7.7.1.1.1.1.1.1.1.1.1.m1.2c">O_{1,2}</annotation><annotation encoding="application/x-llamapun" id="S4.F6.pic1.7.7.7.7.7.7.7.7.7.7.7.7.1.1.1.1.1.1.1.1.1.m1.2d">italic_O start_POSTSUBSCRIPT 1 , 2 end_POSTSUBSCRIPT</annotation></semantics></math></foreignobject></g><path d="M 73.17 0 L 83.01 0" style="fill:none"></path><path d="M 90.48 0 L 102.87 0" style="fill:none"></path><g stroke-dasharray="none" stroke-dashoffset="0.0pt" stroke-linejoin="miter" transform="matrix(1.0 0.0 0.0 1.0 102.87 0)"><path d="M -7.23 3.24 L 0.42 0 L -7.23 -3.24 Z"></path></g><g fill="#FFCCCC" stroke="#FF0000"><path d="M 142.34 -3.46 h 6.92 v 6.92 h -6.92 Z"></path></g><path d="M 132.22 0 L 142.07 0" style="fill:none"></path><path d="M 149.54 0 L 161.93 0" style="fill:none"></path><g stroke-dasharray="none" stroke-dashoffset="0.0pt" stroke-linejoin="miter" transform="matrix(1.0 0.0 0.0 1.0 161.93 0)"><path d="M -7.23 3.24 L 0.42 0 L -7.23 -3.24 Z"></path></g><g fill="#FFCCCC" stroke="#FF0000"><path d="M 201.4 -3.46 h 6.92 v 6.92 h -6.92 Z"></path></g><path d="M 191.28 0 L 201.12 0" style="fill:none"></path><path d="M 208.59 0 L 220.98 0" style="fill:none"></path><g stroke-dasharray="none" stroke-dashoffset="0.0pt" stroke-linejoin="miter" transform="matrix(1.0 0.0 0.0 1.0 220.98 0)"><path d="M -7.23 3.24 L 0.42 0 L -7.23 -3.24 Z"></path></g><g fill="#CCCCFF" stroke="#0000FF"><path d="M -3.46 34.08 h 6.92 v 6.92 h -6.92 Z"></path></g><g fill="#000000" stroke="#000000" transform="matrix(1.0 0.0 0.0 1.0 -5.9 48.16)"><foreignobject height="9.56" overflow="visible" transform="matrix(1 0 0 -1 0 16.6)" width="11.8"><math alttext="G_{0}" class="ltx_Math" display="inline" id="S4.F6.pic1.8.8.8.8.8.8.8.8.8.8.8.8.1.1.1.1.1.1.1.1.1.m1.1"><semantics id="S4.F6.pic1.8.8.8.8.8.8.8.8.8.8.8.8.1.1.1.1.1.1.1.1.1.m1.1a"><msub id="S4.F6.pic1.8.8.8.8.8.8.8.8.8.8.8.8.1.1.1.1.1.1.1.1.1.m1.1.1" xref="S4.F6.pic1.8.8.8.8.8.8.8.8.8.8.8.8.1.1.1.1.1.1.1.1.1.m1.1.1.cmml"><mi id="S4.F6.pic1.8.8.8.8.8.8.8.8.8.8.8.8.1.1.1.1.1.1.1.1.1.m1.1.1.2" mathsize="80%" xref="S4.F6.pic1.8.8.8.8.8.8.8.8.8.8.8.8.1.1.1.1.1.1.1.1.1.m1.1.1.2.cmml">G</mi><mn id="S4.F6.pic1.8.8.8.8.8.8.8.8.8.8.8.8.1.1.1.1.1.1.1.1.1.m1.1.1.3" mathsize="80%" xref="S4.F6.pic1.8.8.8.8.8.8.8.8.8.8.8.8.1.1.1.1.1.1.1.1.1.m1.1.1.3.cmml">0</mn></msub><annotation-xml encoding="MathML-Content" id="S4.F6.pic1.8.8.8.8.8.8.8.8.8.8.8.8.1.1.1.1.1.1.1.1.1.m1.1b"><apply id="S4.F6.pic1.8.8.8.8.8.8.8.8.8.8.8.8.1.1.1.1.1.1.1.1.1.m1.1.1.cmml" xref="S4.F6.pic1.8.8.8.8.8.8.8.8.8.8.8.8.1.1.1.1.1.1.1.1.1.m1.1.1"><csymbol cd="ambiguous" id="S4.F6.pic1.8.8.8.8.8.8.8.8.8.8.8.8.1.1.1.1.1.1.1.1.1.m1.1.1.1.cmml" xref="S4.F6.pic1.8.8.8.8.8.8.8.8.8.8.8.8.1.1.1.1.1.1.1.1.1.m1.1.1">subscript</csymbol><ci id="S4.F6.pic1.8.8.8.8.8.8.8.8.8.8.8.8.1.1.1.1.1.1.1.1.1.m1.1.1.2.cmml" xref="S4.F6.pic1.8.8.8.8.8.8.8.8.8.8.8.8.1.1.1.1.1.1.1.1.1.m1.1.1.2">𝐺</ci><cn id="S4.F6.pic1.8.8.8.8.8.8.8.8.8.8.8.8.1.1.1.1.1.1.1.1.1.m1.1.1.3.cmml" type="integer" xref="S4.F6.pic1.8.8.8.8.8.8.8.8.8.8.8.8.1.1.1.1.1.1.1.1.1.m1.1.1.3">0</cn></apply></annotation-xml><annotation encoding="application/x-tex" id="S4.F6.pic1.8.8.8.8.8.8.8.8.8.8.8.8.1.1.1.1.1.1.1.1.1.m1.1c">G_{0}</annotation><annotation encoding="application/x-llamapun" id="S4.F6.pic1.8.8.8.8.8.8.8.8.8.8.8.8.1.1.1.1.1.1.1.1.1.m1.1d">italic_G start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT</annotation></semantics></math></foreignobject></g><path d="M 0 33.8 L 0 15.24" style="fill:none"></path><g stroke-dasharray="none" stroke-dashoffset="0.0pt" stroke-linejoin="miter" transform="matrix(0.0 -1.0 1.0 0.0 0 15.24)"><path d="M -7.23 3.24 L 0.42 0 L -7.23 -3.24 Z"></path></g><g fill="#CCCCFF" stroke="#0000FF"><path d="M 114.65 34.08 h 6.92 v 6.92 h -6.92 Z"></path></g><g fill="#000000" stroke="#000000" transform="matrix(1.0 0.0 0.0 1.0 112.21 48.16)"><foreignobject height="9.56" overflow="visible" transform="matrix(1 0 0 -1 0 16.6)" width="11.8"><math alttext="G_{2}" class="ltx_Math" display="inline" id="S4.F6.pic1.9.9.9.9.9.9.9.9.9.9.9.9.1.1.1.1.1.1.1.1.1.m1.1"><semantics id="S4.F6.pic1.9.9.9.9.9.9.9.9.9.9.9.9.1.1.1.1.1.1.1.1.1.m1.1a"><msub id="S4.F6.pic1.9.9.9.9.9.9.9.9.9.9.9.9.1.1.1.1.1.1.1.1.1.m1.1.1" xref="S4.F6.pic1.9.9.9.9.9.9.9.9.9.9.9.9.1.1.1.1.1.1.1.1.1.m1.1.1.cmml"><mi id="S4.F6.pic1.9.9.9.9.9.9.9.9.9.9.9.9.1.1.1.1.1.1.1.1.1.m1.1.1.2" mathsize="80%" xref="S4.F6.pic1.9.9.9.9.9.9.9.9.9.9.9.9.1.1.1.1.1.1.1.1.1.m1.1.1.2.cmml">G</mi><mn id="S4.F6.pic1.9.9.9.9.9.9.9.9.9.9.9.9.1.1.1.1.1.1.1.1.1.m1.1.1.3" mathsize="80%" xref="S4.F6.pic1.9.9.9.9.9.9.9.9.9.9.9.9.1.1.1.1.1.1.1.1.1.m1.1.1.3.cmml">2</mn></msub><annotation-xml encoding="MathML-Content" id="S4.F6.pic1.9.9.9.9.9.9.9.9.9.9.9.9.1.1.1.1.1.1.1.1.1.m1.1b"><apply id="S4.F6.pic1.9.9.9.9.9.9.9.9.9.9.9.9.1.1.1.1.1.1.1.1.1.m1.1.1.cmml" xref="S4.F6.pic1.9.9.9.9.9.9.9.9.9.9.9.9.1.1.1.1.1.1.1.1.1.m1.1.1"><csymbol cd="ambiguous" id="S4.F6.pic1.9.9.9.9.9.9.9.9.9.9.9.9.1.1.1.1.1.1.1.1.1.m1.1.1.1.cmml" xref="S4.F6.pic1.9.9.9.9.9.9.9.9.9.9.9.9.1.1.1.1.1.1.1.1.1.m1.1.1">subscript</csymbol><ci id="S4.F6.pic1.9.9.9.9.9.9.9.9.9.9.9.9.1.1.1.1.1.1.1.1.1.m1.1.1.2.cmml" xref="S4.F6.pic1.9.9.9.9.9.9.9.9.9.9.9.9.1.1.1.1.1.1.1.1.1.m1.1.1.2">𝐺</ci><cn id="S4.F6.pic1.9.9.9.9.9.9.9.9.9.9.9.9.1.1.1.1.1.1.1.1.1.m1.1.1.3.cmml" type="integer" xref="S4.F6.pic1.9.9.9.9.9.9.9.9.9.9.9.9.1.1.1.1.1.1.1.1.1.m1.1.1.3">2</cn></apply></annotation-xml><annotation encoding="application/x-tex" id="S4.F6.pic1.9.9.9.9.9.9.9.9.9.9.9.9.1.1.1.1.1.1.1.1.1.m1.1c">G_{2}</annotation><annotation encoding="application/x-llamapun" id="S4.F6.pic1.9.9.9.9.9.9.9.9.9.9.9.9.1.1.1.1.1.1.1.1.1.m1.1d">italic_G start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT</annotation></semantics></math></foreignobject></g><path d="M 118.11 33.8 L 118.11 15.24" style="fill:none"></path><g stroke-dasharray="none" stroke-dashoffset="0.0pt" stroke-linejoin="miter" transform="matrix(0.0 -1.0 1.0 0.0 118.11 15.24)"><path d="M -7.23 3.24 L 0.42 0 L -7.23 -3.24 Z"></path></g><g fill="#CCFFCC" stroke="#00FF00"><path d="M 72.89 -59.06 C 72.89 -51.41 66.7 -45.22 59.06 -45.22 C 51.41 -45.22 45.22 -51.41 45.22 -59.06 C 45.22 -66.7 51.41 -72.89 59.06 -72.89 C 66.7 -72.89 72.89 -66.7 72.89 -59.06 Z M 59.06 -59.06"></path></g><g fill="#000000" stroke="#000000" transform="matrix(1.0 0.0 0.0 1.0 51.72 -62.53)"><foreignobject height="11.95" overflow="visible" transform="matrix(1 0 0 -1 0 16.6)" width="14.68"><math alttext="P_{0}" class="ltx_Math" display="inline" id="S4.F6.pic1.10.10.10.10.10.10.10.10.10.10.10.10.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1"><semantics id="S4.F6.pic1.10.10.10.10.10.10.10.10.10.10.10.10.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1a"><msub id="S4.F6.pic1.10.10.10.10.10.10.10.10.10.10.10.10.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1.1" xref="S4.F6.pic1.10.10.10.10.10.10.10.10.10.10.10.10.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.cmml"><mi id="S4.F6.pic1.10.10.10.10.10.10.10.10.10.10.10.10.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.2" xref="S4.F6.pic1.10.10.10.10.10.10.10.10.10.10.10.10.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.2.cmml">P</mi><mn id="S4.F6.pic1.10.10.10.10.10.10.10.10.10.10.10.10.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.3" xref="S4.F6.pic1.10.10.10.10.10.10.10.10.10.10.10.10.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.3.cmml">0</mn></msub><annotation-xml encoding="MathML-Content" id="S4.F6.pic1.10.10.10.10.10.10.10.10.10.10.10.10.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1b"><apply id="S4.F6.pic1.10.10.10.10.10.10.10.10.10.10.10.10.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.cmml" xref="S4.F6.pic1.10.10.10.10.10.10.10.10.10.10.10.10.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1.1"><csymbol cd="ambiguous" id="S4.F6.pic1.10.10.10.10.10.10.10.10.10.10.10.10.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.1.cmml" xref="S4.F6.pic1.10.10.10.10.10.10.10.10.10.10.10.10.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1.1">subscript</csymbol><ci id="S4.F6.pic1.10.10.10.10.10.10.10.10.10.10.10.10.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.2.cmml" xref="S4.F6.pic1.10.10.10.10.10.10.10.10.10.10.10.10.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.2">𝑃</ci><cn id="S4.F6.pic1.10.10.10.10.10.10.10.10.10.10.10.10.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.3.cmml" type="integer" xref="S4.F6.pic1.10.10.10.10.10.10.10.10.10.10.10.10.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1.1.3">0</cn></apply></annotation-xml><annotation encoding="application/x-tex" id="S4.F6.pic1.10.10.10.10.10.10.10.10.10.10.10.10.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1c">P_{0}</annotation><annotation encoding="application/x-llamapun" id="S4.F6.pic1.10.10.10.10.10.10.10.10.10.10.10.10.1.1.1.1.1.1.1.1.1.1.1.1.1.m1.1d">italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT</annotation></semantics></math></foreignobject></g><g fill="#CCFFCC" stroke="#00FF00"><path d="M 55.6 -28.92 h 6.92 v 6.92 h -6.92 Z"></path></g><path d="M 59.06 -14.11 L 59.06 -21.72" style="fill:none"></path><path d="M 59.06 -29.19 L 59.06 -43.82" style="fill:none"></path><g stroke-dasharray="none" stroke-dashoffset="0.0pt" stroke-linejoin="miter" transform="matrix(0.0 -1.0 1.0 0.0 59.06 -43.82)"><path d="M -7.23 3.24 L 0.42 0 L -7.23 -3.24 Z"></path></g><g fill="#CCFFCC" stroke="#00FF00"><path d="M 83.29 -34.55 h 6.92 v 6.92 h -6.92 Z"></path></g><path d="M 108.09 -9.94 L 90.48 -27.39" style="fill:none"></path><path d="M 83.05 -34.83 L 69.78 -48.23" style="fill:none"></path><g stroke-dasharray="none" stroke-dashoffset="0.0pt" stroke-linejoin="miter" transform="matrix(-0.7037 -0.7105 0.7105 -0.7037 69.78 -48.23)"><path d="M -7.23 3.24 L 0.42 0 L -7.23 -3.24 Z"></path></g><g fill="#CCFFCC" stroke="#00FF00"><path d="M 182.33 -70.39 h 6.92 v 6.92 h -6.92 Z"></path></g><g fill="#000000" stroke="#000000" transform="matrix(1.0 0.0 0.0 1.0 172.26 -56.15)"><foreignobject height="9.84" overflow="visible" transform="matrix(1 0 0 -1 0 16.6)" width="27.06"><span class="ltx_text" id="S4.F6.pic1.11.11.11.1.1" style="font-size:80%;">pallet</span></foreignobject></g><path d="M 162.37 -66.93 L 182.05 -66.93" style="fill:none"></path><path d="M 189.53 -66.93 L 210.52 -66.93" style="fill:none"></path><g stroke-dasharray="none" stroke-dashoffset="0.0pt" stroke-linejoin="miter" transform="matrix(1.0 0.0 0.0 1.0 210.52 -66.93)"><path d="M -7.23 3.24 L 0.42 0 L -7.23 -3.24 Z"></path></g><g fill="#CCCCFF" stroke="#0000FF"><path d="M 222.17 -70.39 h 6.92 v 6.92 h -6.92 Z"></path></g><g fill="#000000" stroke="#000000" transform="matrix(1.0 0.0 0.0 1.0 215.42 -56.15)"><foreignobject height="6.92" overflow="visible" transform="matrix(1 0 0 -1 0 16.6)" width="20.42"><span class="ltx_text" id="S4.F6.pic1.12.12.12.1.1" style="font-size:80%;">gnss</span></foreignobject></g><path d="M 229.36 -66.93 L 249.89 -66.93" style="fill:none"></path><g stroke-dasharray="none" stroke-dashoffset="0.0pt" stroke-linejoin="miter" transform="matrix(1.0 0.0 0.0 1.0 249.89 -66.93)"><path d="M -7.23 3.24 L 0.42 0 L -7.23 -3.24 Z"></path></g><g fill="#FFCCCC" stroke="#FF0000"><path d="M 221.7 -42.83 h 6.92 v 6.92 h -6.92 Z"></path></g><g fill="#000000" stroke="#000000" transform="matrix(1.0 0.0 0.0 1.0 202.04 -28.59)"><foreignobject height="9.84" overflow="visible" transform="matrix(1 0 0 -1 0 16.6)" width="46.15"><span class="ltx_text" id="S4.F6.pic1.13.13.13.1.1" style="font-size:80%;">odometry</span></foreignobject></g><path d="M 201.74 -39.37 L 221.42 -39.37" style="fill:none"></path><path d="M 228.9 -39.37 L 249.89 -39.37" style="fill:none"></path><g stroke-dasharray="none" stroke-dashoffset="0.0pt" stroke-linejoin="miter" transform="matrix(1.0 0.0 0.0 1.0 249.89 -39.37)"><path d="M -7.23 3.24 L 0.42 0 L -7.23 -3.24 Z"></path></g></g></svg> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S4.F6.20.10.1" style="font-size:90%;">Figure 6</span>: </span><span class="ltx_text" id="S4.F6.18.9" style="font-size:90%;">Factor Graph for the joint forklift poses (<math alttext="X_{x}" class="ltx_Math" display="inline" id="S4.F6.10.1.m1.1"><semantics id="S4.F6.10.1.m1.1b"><msub id="S4.F6.10.1.m1.1.1" xref="S4.F6.10.1.m1.1.1.cmml"><mi id="S4.F6.10.1.m1.1.1.2" xref="S4.F6.10.1.m1.1.1.2.cmml">X</mi><mi id="S4.F6.10.1.m1.1.1.3" xref="S4.F6.10.1.m1.1.1.3.cmml">x</mi></msub><annotation-xml encoding="MathML-Content" id="S4.F6.10.1.m1.1c"><apply id="S4.F6.10.1.m1.1.1.cmml" xref="S4.F6.10.1.m1.1.1"><csymbol cd="ambiguous" id="S4.F6.10.1.m1.1.1.1.cmml" xref="S4.F6.10.1.m1.1.1">subscript</csymbol><ci id="S4.F6.10.1.m1.1.1.2.cmml" xref="S4.F6.10.1.m1.1.1.2">𝑋</ci><ci id="S4.F6.10.1.m1.1.1.3.cmml" xref="S4.F6.10.1.m1.1.1.3">𝑥</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S4.F6.10.1.m1.1d">X_{x}</annotation><annotation encoding="application/x-llamapun" id="S4.F6.10.1.m1.1e">italic_X start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT</annotation></semantics></math>) and pallet poses (<math alttext="P_{p}" class="ltx_Math" display="inline" id="S4.F6.11.2.m2.1"><semantics id="S4.F6.11.2.m2.1b"><msub id="S4.F6.11.2.m2.1.1" xref="S4.F6.11.2.m2.1.1.cmml"><mi id="S4.F6.11.2.m2.1.1.2" xref="S4.F6.11.2.m2.1.1.2.cmml">P</mi><mi id="S4.F6.11.2.m2.1.1.3" xref="S4.F6.11.2.m2.1.1.3.cmml">p</mi></msub><annotation-xml encoding="MathML-Content" id="S4.F6.11.2.m2.1c"><apply id="S4.F6.11.2.m2.1.1.cmml" xref="S4.F6.11.2.m2.1.1"><csymbol cd="ambiguous" id="S4.F6.11.2.m2.1.1.1.cmml" xref="S4.F6.11.2.m2.1.1">subscript</csymbol><ci id="S4.F6.11.2.m2.1.1.2.cmml" xref="S4.F6.11.2.m2.1.1.2">𝑃</ci><ci id="S4.F6.11.2.m2.1.1.3.cmml" xref="S4.F6.11.2.m2.1.1.3">𝑝</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S4.F6.11.2.m2.1d">P_{p}</annotation><annotation encoding="application/x-llamapun" id="S4.F6.11.2.m2.1e">italic_P start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT</annotation></semantics></math>) over time (left to right), relative (from one time step to the next) odometry information <math alttext="O_{p1,p2}" class="ltx_Math" display="inline" id="S4.F6.12.3.m3.2"><semantics id="S4.F6.12.3.m3.2b"><msub id="S4.F6.12.3.m3.2.3" xref="S4.F6.12.3.m3.2.3.cmml"><mi id="S4.F6.12.3.m3.2.3.2" xref="S4.F6.12.3.m3.2.3.2.cmml">O</mi><mrow id="S4.F6.12.3.m3.2.2.2.2" xref="S4.F6.12.3.m3.2.2.2.3.cmml"><mrow id="S4.F6.12.3.m3.1.1.1.1.1" xref="S4.F6.12.3.m3.1.1.1.1.1.cmml"><mi id="S4.F6.12.3.m3.1.1.1.1.1.2" xref="S4.F6.12.3.m3.1.1.1.1.1.2.cmml">p</mi><mo id="S4.F6.12.3.m3.1.1.1.1.1.1" xref="S4.F6.12.3.m3.1.1.1.1.1.1.cmml"></mo><mn id="S4.F6.12.3.m3.1.1.1.1.1.3" xref="S4.F6.12.3.m3.1.1.1.1.1.3.cmml">1</mn></mrow><mo id="S4.F6.12.3.m3.2.2.2.2.3" xref="S4.F6.12.3.m3.2.2.2.3.cmml">,</mo><mrow id="S4.F6.12.3.m3.2.2.2.2.2" xref="S4.F6.12.3.m3.2.2.2.2.2.cmml"><mi id="S4.F6.12.3.m3.2.2.2.2.2.2" xref="S4.F6.12.3.m3.2.2.2.2.2.2.cmml">p</mi><mo id="S4.F6.12.3.m3.2.2.2.2.2.1" xref="S4.F6.12.3.m3.2.2.2.2.2.1.cmml"></mo><mn id="S4.F6.12.3.m3.2.2.2.2.2.3" xref="S4.F6.12.3.m3.2.2.2.2.2.3.cmml">2</mn></mrow></mrow></msub><annotation-xml encoding="MathML-Content" id="S4.F6.12.3.m3.2c"><apply id="S4.F6.12.3.m3.2.3.cmml" xref="S4.F6.12.3.m3.2.3"><csymbol cd="ambiguous" id="S4.F6.12.3.m3.2.3.1.cmml" xref="S4.F6.12.3.m3.2.3">subscript</csymbol><ci id="S4.F6.12.3.m3.2.3.2.cmml" xref="S4.F6.12.3.m3.2.3.2">𝑂</ci><list id="S4.F6.12.3.m3.2.2.2.3.cmml" xref="S4.F6.12.3.m3.2.2.2.2"><apply id="S4.F6.12.3.m3.1.1.1.1.1.cmml" xref="S4.F6.12.3.m3.1.1.1.1.1"><times id="S4.F6.12.3.m3.1.1.1.1.1.1.cmml" xref="S4.F6.12.3.m3.1.1.1.1.1.1"></times><ci id="S4.F6.12.3.m3.1.1.1.1.1.2.cmml" xref="S4.F6.12.3.m3.1.1.1.1.1.2">𝑝</ci><cn id="S4.F6.12.3.m3.1.1.1.1.1.3.cmml" type="integer" xref="S4.F6.12.3.m3.1.1.1.1.1.3">1</cn></apply><apply id="S4.F6.12.3.m3.2.2.2.2.2.cmml" xref="S4.F6.12.3.m3.2.2.2.2.2"><times id="S4.F6.12.3.m3.2.2.2.2.2.1.cmml" xref="S4.F6.12.3.m3.2.2.2.2.2.1"></times><ci id="S4.F6.12.3.m3.2.2.2.2.2.2.cmml" xref="S4.F6.12.3.m3.2.2.2.2.2.2">𝑝</ci><cn id="S4.F6.12.3.m3.2.2.2.2.2.3.cmml" type="integer" xref="S4.F6.12.3.m3.2.2.2.2.2.3">2</cn></apply></list></apply></annotation-xml><annotation encoding="application/x-tex" id="S4.F6.12.3.m3.2d">O_{p1,p2}</annotation><annotation encoding="application/x-llamapun" id="S4.F6.12.3.m3.2e">italic_O start_POSTSUBSCRIPT italic_p 1 , italic_p 2 end_POSTSUBSCRIPT</annotation></semantics></math>, and GNSS measurements <math alttext="G_{g}" class="ltx_Math" display="inline" id="S4.F6.13.4.m4.1"><semantics id="S4.F6.13.4.m4.1b"><msub id="S4.F6.13.4.m4.1.1" xref="S4.F6.13.4.m4.1.1.cmml"><mi id="S4.F6.13.4.m4.1.1.2" xref="S4.F6.13.4.m4.1.1.2.cmml">G</mi><mi id="S4.F6.13.4.m4.1.1.3" xref="S4.F6.13.4.m4.1.1.3.cmml">g</mi></msub><annotation-xml encoding="MathML-Content" id="S4.F6.13.4.m4.1c"><apply id="S4.F6.13.4.m4.1.1.cmml" xref="S4.F6.13.4.m4.1.1"><csymbol cd="ambiguous" id="S4.F6.13.4.m4.1.1.1.cmml" xref="S4.F6.13.4.m4.1.1">subscript</csymbol><ci id="S4.F6.13.4.m4.1.1.2.cmml" xref="S4.F6.13.4.m4.1.1.2">𝐺</ci><ci id="S4.F6.13.4.m4.1.1.3.cmml" xref="S4.F6.13.4.m4.1.1.3">𝑔</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S4.F6.13.4.m4.1d">G_{g}</annotation><annotation encoding="application/x-llamapun" id="S4.F6.13.4.m4.1e">italic_G start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT</annotation></semantics></math>. In this example, the pallet <math alttext="P_{0}" class="ltx_Math" display="inline" id="S4.F6.14.5.m5.1"><semantics id="S4.F6.14.5.m5.1b"><msub id="S4.F6.14.5.m5.1.1" xref="S4.F6.14.5.m5.1.1.cmml"><mi id="S4.F6.14.5.m5.1.1.2" xref="S4.F6.14.5.m5.1.1.2.cmml">P</mi><mn id="S4.F6.14.5.m5.1.1.3" xref="S4.F6.14.5.m5.1.1.3.cmml">0</mn></msub><annotation-xml encoding="MathML-Content" id="S4.F6.14.5.m5.1c"><apply id="S4.F6.14.5.m5.1.1.cmml" xref="S4.F6.14.5.m5.1.1"><csymbol cd="ambiguous" id="S4.F6.14.5.m5.1.1.1.cmml" xref="S4.F6.14.5.m5.1.1">subscript</csymbol><ci id="S4.F6.14.5.m5.1.1.2.cmml" xref="S4.F6.14.5.m5.1.1.2">𝑃</ci><cn id="S4.F6.14.5.m5.1.1.3.cmml" type="integer" xref="S4.F6.14.5.m5.1.1.3">0</cn></apply></annotation-xml><annotation encoding="application/x-tex" id="S4.F6.14.5.m5.1d">P_{0}</annotation><annotation encoding="application/x-llamapun" id="S4.F6.14.5.m5.1e">italic_P start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT</annotation></semantics></math> has been detected in timestep <math alttext="1" class="ltx_Math" display="inline" id="S4.F6.15.6.m6.1"><semantics id="S4.F6.15.6.m6.1b"><mn id="S4.F6.15.6.m6.1.1" xref="S4.F6.15.6.m6.1.1.cmml">1</mn><annotation-xml encoding="MathML-Content" id="S4.F6.15.6.m6.1c"><cn id="S4.F6.15.6.m6.1.1.cmml" type="integer" xref="S4.F6.15.6.m6.1.1">1</cn></annotation-xml><annotation encoding="application/x-tex" id="S4.F6.15.6.m6.1d">1</annotation><annotation encoding="application/x-llamapun" id="S4.F6.15.6.m6.1e">1</annotation></semantics></math> and <math alttext="2" class="ltx_Math" display="inline" id="S4.F6.16.7.m7.1"><semantics id="S4.F6.16.7.m7.1b"><mn id="S4.F6.16.7.m7.1.1" xref="S4.F6.16.7.m7.1.1.cmml">2</mn><annotation-xml encoding="MathML-Content" id="S4.F6.16.7.m7.1c"><cn id="S4.F6.16.7.m7.1.1.cmml" type="integer" xref="S4.F6.16.7.m7.1.1">2</cn></annotation-xml><annotation encoding="application/x-tex" id="S4.F6.16.7.m7.1d">2</annotation><annotation encoding="application/x-llamapun" id="S4.F6.16.7.m7.1e">2</annotation></semantics></math>, in timestep <math alttext="0" class="ltx_Math" display="inline" id="S4.F6.17.8.m8.1"><semantics id="S4.F6.17.8.m8.1b"><mn id="S4.F6.17.8.m8.1.1" xref="S4.F6.17.8.m8.1.1.cmml">0</mn><annotation-xml encoding="MathML-Content" id="S4.F6.17.8.m8.1c"><cn id="S4.F6.17.8.m8.1.1.cmml" type="integer" xref="S4.F6.17.8.m8.1.1">0</cn></annotation-xml></semantics></math> and <math alttext="2" class="ltx_Math" display="inline" id="S4.F6.18.9.m9.1"><semantics id="S4.F6.18.9.m9.1b"><mn id="S4.F6.18.9.m9.1.1" xref="S4.F6.18.9.m9.1.1.cmml">2</mn><annotation-xml encoding="MathML-Content" id="S4.F6.18.9.m9.1c"><cn id="S4.F6.18.9.m9.1.1.cmml" type="integer" xref="S4.F6.18.9.m9.1.1">2</cn></annotation-xml><annotation encoding="application/x-tex" id="S4.F6.18.9.m9.1d">2</annotation><annotation encoding="application/x-llamapun" id="S4.F6.18.9.m9.1e">2</annotation></semantics></math> GNSS information was available.</span></figcaption> </figure> </section> <section class="ltx_subsection" id="S4.SS2"> <h3 class="ltx_title ltx_title_subsection"> <span class="ltx_tag ltx_tag_subsection">4.2 </span>Traversabilty Mapping</h3> <figure class="ltx_figure" id="S4.F7"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_landscape" height="249" id="S4.F7.g1" src="extracted/6290360/figures/mapping_overview_01.png" width="598"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S4.F7.2.1.1" style="font-size:90%;">Figure 7</span>: </span><span class="ltx_text" id="S4.F7.3.2" style="font-size:90%;">Mapping stages. Top row: 3D view. Bottom row: Top view. The color shows the traversability from blue (good) to red (bad).</span></figcaption> </figure> <div class="ltx_para" id="S4.SS2.p1"> <p class="ltx_p" id="S4.SS2.p1.1">The targeted area of application, e.g., construction sites, of ADAPT are unstructured environments with potentially uneven terrain. Hence, a specific environment mapping targeting these aspects is required. Therefore, a 2.5D elevation map representation is generated from the 3D point measurements of the Ouster LiDAR. While path planning complexity can be reduced to planning in 2 dimensions, the most relevant geometric information about the environment must still be available from the map. In particular, it must allow for a clear distinction between traversable areas, obstacles, and slopes. This distinction is crucial for forklifts, as they are more susceptible to tipping over when carrying loads. </p> </div> <div class="ltx_para" id="S4.SS2.p2"> <p class="ltx_p" id="S4.SS2.p2.1">Similarly to <span class="ltx_text ltx_font_italic" id="S4.SS2.p2.1.1"> spatial-temporal voxel layers</span> <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib20" title="">20</a>]</cite>, our approach aggregates data into a 3D voxel grid with short-term memory. However, instead of directly deriving a 2D costmap, our method employs a 2.5D elevation map for dynamic obstacle handling and terrain analysis, serving as a long-term memory representation. Therefore, it is implemented as a three-stage process, encompassing the analysis of single scans, 3D voxel map aggregation, and the generation of a 2.5D elevation map. In all three steps, distinguishing between ground points and obstacle points plays a decisive role.</p> </div> <div class="ltx_para" id="S4.SS2.p3"> <p class="ltx_p" id="S4.SS2.p3.1"><span class="ltx_text ltx_font_bold" id="S4.SS2.p3.1.1">Analysis of Single Scans:</span> Single scans are analyzed within the sensor domain, utilizing the unique capabilities and characteristics of the sensor. By focusing on individual scans, this stage minimizes disturbances caused by alignment errors. Parameters such as the height above ground and the angle between the surface normal vector and the vertical axis help determine the probability of a point being an obstacle. For the Ouster LiDAR, a single swipe of the nearly 180° field of view that is used constitutes a scan. The ego-motion during this rotation is compensated by transforming all points into the sensor’s coordinate system at a fixed timestamp.</p> </div> <div class="ltx_para" id="S4.SS2.p4"> <p class="ltx_p" id="S4.SS2.p4.1"><span class="ltx_text ltx_font_bold" id="S4.SS2.p4.1.1">3D Voxel Map Aggregation</span>: The second stage involves short-term aggregation of single-scan point clouds into a 3D voxel map, which can be performed based on time intervals or distance traveled. This process improves point density and addresses gaps caused by the LiDAR’s sampling patterns. Additionally, statistical methods are used to remove outliers. Overhanging structures, which present challenges for elevation maps, are identified by analyzing the free space between the ground and these structures. The resulting output is an update for the elevation map, where each cell in the horizontal plane contains a computed elevation value and obstacle probability derived from the vertical voxel stack.</p> </div> <div class="ltx_para" id="S4.SS2.p5"> <p class="ltx_p" id="S4.SS2.p5.1"><span class="ltx_text ltx_font_bold" id="S4.SS2.p5.1.1">2.5D Elevation Map</span>: The 2.5D elevation map integrates updates from the voxel map to form a long-term representation of the environment. Obstacle probabilities are compared, which may lead to confirmation and fusion of values or discrepancies. In the case of discrepancies, the classification of a cell can change from obstacle to floor, or vice versa. When a state change occurs, the affected cell is completely replaced with the new values. This approach allows the map to adapt to changes such as the appearance, disappearance, or movement of objects. Adaptability is crucial for robots, such as forklifts, that actively manipulate their environment. The final traversability analysis combines obstacle probabilities with slope information derived from the elevation map’s geometry. A tiling scheme ensures that the system can function in unbounded environments.</p> </div> <div class="ltx_para" id="S4.SS2.p6"> <p class="ltx_p" id="S4.SS2.p6.1">The final output of the mapping process is an occupancy map containing critical spatial information, which serves as a 2D input for collision-free path planning. Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.F7" title="Figure 7 ‣ 4.2 Traversabilty Mapping ‣ 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">7</span></a> shows example views of the mapping stages at our test site in the outdoor laboratory, where the evaluations in Section <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S6" title="6 Validation and Evaluation ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">6</span></a> were performed.</p> </div> </section> <section class="ltx_subsection" id="S4.SS3"> <h3 class="ltx_title ltx_title_subsection"> <span class="ltx_tag ltx_tag_subsection">4.3 </span>Pallet Detection and Pose Estimation</h3> <div class="ltx_para" id="S4.SS3.p1"> <p class="ltx_p" id="S4.SS3.p1.1">Detecting pallets and accurately determining their 6D pose is essential to enable ADAPT to interact with them effectively. This is particularly important in construction sites, where, unlike in controlled environments such as warehouses, pallets are typically placed arbitrarily rather than following a fixed grid or placement schedule. </p> </div> <figure class="ltx_figure" id="S4.F8"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_landscape" height="147" id="S4.F8.g1" src="x4.png" width="747"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S4.F8.2.1.1" style="font-size:90%;">Figure 8</span>: </span><span class="ltx_text" id="S4.F8.3.2" style="font-size:90%;">Overview of learning/inference pipeline estimating multiple 2D parts, which are used for 3D pose estimation, symbols in Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.F9" title="Figure 9 ‣ 4.3 Pallet Detection and Pose Estimation ‣ 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">9</span></a>.</span></figcaption> </figure> <div class="ltx_para" id="S4.SS3.p2"> <p class="ltx_p" id="S4.SS3.p2.1">The pallet detection methodology used is described in detail in <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib40" title="">40</a>]</cite>. Given a dense stereo depth image as input, we intend to detect and estimate the 6D pose of multiple pallet instances with known structure and dimensions in a scene. To derive and exploit a learned neural representation, we proceed as follows:</p> </div> <div class="ltx_para" id="S4.SS3.p3"> <p class="ltx_p" id="S4.SS3.p3.1"><span class="ltx_text ltx_font_bold" id="S4.SS3.p3.1.1">Pallet representation:</span> Pallets are represented by a part-constellation model, see Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.F9.sf1" title="In Figure 9 ‣ 4.3 Pallet Detection and Pose Estimation ‣ 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">9(a)</span></a>, where pallet corners and edges not only form a localized part, but at every pixel they also define a spatial vote offset attribute, implying the offset vector to the corresponding object center. Part locations and local vote vectors are learned from synthetic data.</p> </div> <figure class="ltx_figure" id="S4.F9"> <div class="ltx_flex_figure"> <div class="ltx_flex_cell ltx_flex_size_2"> <figure class="ltx_figure ltx_figure_panel" id="S4.F9.sf1"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_landscape" height="339" id="S4.F9.sf1.g1" src="x5.png" width="662"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S4.F9.sf1.2.1.1" style="font-size:90%;">(a)</span> </span><span class="ltx_text" id="S4.F9.sf1.3.2" style="font-size:90%;">Part constellation definition.</span></figcaption> </figure> </div> <div class="ltx_flex_cell ltx_flex_size_2"> <figure class="ltx_figure ltx_figure_panel" id="S4.F9.sf2"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_landscape" height="339" id="S4.F9.sf2.g1" src="x6.png" width="662"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S4.F9.sf2.2.1.1" style="font-size:90%;">(b)</span> </span><span class="ltx_text" id="S4.F9.sf2.3.2" style="font-size:90%;">Definition for manipulation.</span></figcaption> </figure> </div> </div> <figcaption class="ltx_caption"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S4.F9.2.1.1" style="font-size:90%;">Figure 9</span>: </span><span class="ltx_text" id="S4.F9.3.2" style="font-size:90%;">Different pallet representations: For machine learning (a), the pallet is composed of two corner types (circle/rectangle) and two line classes (red/green) voting (orange) for a pallet center. In contrast, for manipulation, the basis of the pallet is located at the center of the approach side, see labels in Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.F8" title="Figure 8 ‣ 4.3 Pallet Detection and Pose Estimation ‣ 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">8</span></a>.</span></figcaption> </figure> <div class="ltx_para" id="S4.SS3.p4"> <p class="ltx_p" id="S4.SS3.p4.1"><span class="ltx_text ltx_font_bold" id="S4.SS3.p4.1.1">Data generation:</span> A synthetic data generation pipeline is used where more than 150 thousand stereo image pairs are generated with diverse pallet configurations, e.g., orientations, items carried, clutter. The data generation step relies on a simulated stereo camera setup, matching the baseline and optics of a ZED2i stereo camera <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib68" title="">68</a>]</cite>. The synthetic stereo image pairs are used in a stereo depth computation step, which results in depth data exhibiting similar data characteristics as depth computed from real stereo pairs. This low sim-to-real gap allows for generating a rich variety of view variations and pallet configurations for learning.</p> </div> <div class="ltx_para" id="S4.SS3.p5"> <p class="ltx_p" id="S4.SS3.p5.1"><span class="ltx_text ltx_font_bold" id="S4.SS3.p5.1.1">Learning:</span> We employ an extensible convolutional encoder-decoder framework, based on <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib69" title="">69</a>]</cite>, which estimates outputs for multiple learning tasks, see Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.F8" title="Figure 8 ‣ 4.3 Pallet Detection and Pose Estimation ‣ 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">8</span></a>. Pallets are represented by a part-based representation, where each part also carries a spatial vote offset attribute, where the offset vector points to the corresponding object center. During training key-point and line segment representations yield multichannel heatmap output representations, where each channel is assigned to respective corner/edge categories.</p> </div> <div class="ltx_para" id="S4.SS3.p6"> <p class="ltx_p" id="S4.SS3.p6.1"><span class="ltx_text ltx_font_bold" id="S4.SS3.p6.1.1">Detection and pose estimation during inference:</span> During inference, we use the stereo depth input of the ZED2i on-board camera to detect part-instances of pallet objects, where inferred parts are used to vote for pallet centers in a probabilistic manner, orange arrows in Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.F9.sf1" title="In Figure 9 ‣ 4.3 Pallet Detection and Pose Estimation ‣ 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">9(a)</span></a>. Careful analysis of extensive key-point-based pose estimation experiments has revealed that detected points located on the approach side are more accurately determined than those farther away from the sensor. To mitigate the effect of spatially uneven distribution of re-projection errors on pose estimation, we set the pallet’s origin to the center of the approach side, as illustrated in Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.F9.sf2" title="In Figure 9 ‣ 4.3 Pallet Detection and Pose Estimation ‣ 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">9(b)</span></a>.</p> </div> <div class="ltx_para" id="S4.SS3.p7"> <p class="ltx_p" id="S4.SS3.p7.1">To obtain the final 6D pose relative to the sensor, we integrate a perspective-n-point (PnP) formulation (see <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib70" title="">70</a>]</cite>), with available depth information, as a joint optimization problem. Depth information is only used on the approach side, as it is visible to the sensor.</p> </div> <div class="ltx_para" id="S4.SS3.p8"> <p class="ltx_p" id="S4.SS3.p8.1">Since pallets can exhibit slight dimensional deviations and corner detections are subject to uncertainties from the model, we applied a final refinement step. Specifically, we adjust the pallet position using stereo depth measurements from the front midpoint. This final correction step helps ensure a more accurate and stable pose estimate in real-world conditions.</p> </div> <div class="ltx_para" id="S4.SS3.p9"> <p class="ltx_p" id="S4.SS3.p9.6"><span class="ltx_text ltx_font_bold" id="S4.SS3.p9.6.1">Pose estimation accuracy:</span> By analyzing the geometry of Euro-pallets and fork dimensions, precise tolerance values for pallet insertion can be established. Consequently, pose estimation errors serve as a key metric for evaluating the effectiveness of the proposed approach in achieving accurate insertion. The ground truth data for error computation was obtained through manual annotation of a point cloud captured by an extrinsically calibrated LiDAR sensor mounted adjacent to the camera. Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.F10" title="Figure 10 ‣ 4.3 Pallet Detection and Pose Estimation ‣ 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">10</span></a> presents the evaluation results based on 170 detections, covering various load types at different distances and orientations. To compare a detection with its corresponding annotation, the estimated 6D pose was transformed into a coordinate system centered at the manually annotated pose, cf. Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.F9.sf2" title="In Figure 9 ‣ 4.3 Pallet Detection and Pose Estimation ‣ 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">9(b)</span></a>, yielding a 6D error vector <math alttext="\mathbf{e}=[e_{x},e_{y},e_{z},e_{\phi},e_{\theta},e_{\psi}]^{\mathrm{T}}" class="ltx_Math" display="inline" id="S4.SS3.p9.1.m1.6"><semantics id="S4.SS3.p9.1.m1.6a"><mrow id="S4.SS3.p9.1.m1.6.6" xref="S4.SS3.p9.1.m1.6.6.cmml"><mi id="S4.SS3.p9.1.m1.6.6.8" xref="S4.SS3.p9.1.m1.6.6.8.cmml">𝐞</mi><mo id="S4.SS3.p9.1.m1.6.6.7" xref="S4.SS3.p9.1.m1.6.6.7.cmml">=</mo><msup id="S4.SS3.p9.1.m1.6.6.6" xref="S4.SS3.p9.1.m1.6.6.6.cmml"><mrow id="S4.SS3.p9.1.m1.6.6.6.6.6" xref="S4.SS3.p9.1.m1.6.6.6.6.7.cmml"><mo id="S4.SS3.p9.1.m1.6.6.6.6.6.7" stretchy="false" xref="S4.SS3.p9.1.m1.6.6.6.6.7.cmml">[</mo><msub id="S4.SS3.p9.1.m1.1.1.1.1.1.1" xref="S4.SS3.p9.1.m1.1.1.1.1.1.1.cmml"><mi id="S4.SS3.p9.1.m1.1.1.1.1.1.1.2" xref="S4.SS3.p9.1.m1.1.1.1.1.1.1.2.cmml">e</mi><mi id="S4.SS3.p9.1.m1.1.1.1.1.1.1.3" xref="S4.SS3.p9.1.m1.1.1.1.1.1.1.3.cmml">x</mi></msub><mo id="S4.SS3.p9.1.m1.6.6.6.6.6.8" xref="S4.SS3.p9.1.m1.6.6.6.6.7.cmml">,</mo><msub id="S4.SS3.p9.1.m1.2.2.2.2.2.2" xref="S4.SS3.p9.1.m1.2.2.2.2.2.2.cmml"><mi id="S4.SS3.p9.1.m1.2.2.2.2.2.2.2" xref="S4.SS3.p9.1.m1.2.2.2.2.2.2.2.cmml">e</mi><mi id="S4.SS3.p9.1.m1.2.2.2.2.2.2.3" xref="S4.SS3.p9.1.m1.2.2.2.2.2.2.3.cmml">y</mi></msub><mo id="S4.SS3.p9.1.m1.6.6.6.6.6.9" xref="S4.SS3.p9.1.m1.6.6.6.6.7.cmml">,</mo><msub id="S4.SS3.p9.1.m1.3.3.3.3.3.3" xref="S4.SS3.p9.1.m1.3.3.3.3.3.3.cmml"><mi id="S4.SS3.p9.1.m1.3.3.3.3.3.3.2" xref="S4.SS3.p9.1.m1.3.3.3.3.3.3.2.cmml">e</mi><mi id="S4.SS3.p9.1.m1.3.3.3.3.3.3.3" xref="S4.SS3.p9.1.m1.3.3.3.3.3.3.3.cmml">z</mi></msub><mo id="S4.SS3.p9.1.m1.6.6.6.6.6.10" xref="S4.SS3.p9.1.m1.6.6.6.6.7.cmml">,</mo><msub id="S4.SS3.p9.1.m1.4.4.4.4.4.4" xref="S4.SS3.p9.1.m1.4.4.4.4.4.4.cmml"><mi id="S4.SS3.p9.1.m1.4.4.4.4.4.4.2" xref="S4.SS3.p9.1.m1.4.4.4.4.4.4.2.cmml">e</mi><mi id="S4.SS3.p9.1.m1.4.4.4.4.4.4.3" xref="S4.SS3.p9.1.m1.4.4.4.4.4.4.3.cmml">ϕ</mi></msub><mo id="S4.SS3.p9.1.m1.6.6.6.6.6.11" xref="S4.SS3.p9.1.m1.6.6.6.6.7.cmml">,</mo><msub id="S4.SS3.p9.1.m1.5.5.5.5.5.5" xref="S4.SS3.p9.1.m1.5.5.5.5.5.5.cmml"><mi id="S4.SS3.p9.1.m1.5.5.5.5.5.5.2" xref="S4.SS3.p9.1.m1.5.5.5.5.5.5.2.cmml">e</mi><mi id="S4.SS3.p9.1.m1.5.5.5.5.5.5.3" xref="S4.SS3.p9.1.m1.5.5.5.5.5.5.3.cmml">θ</mi></msub><mo id="S4.SS3.p9.1.m1.6.6.6.6.6.12" xref="S4.SS3.p9.1.m1.6.6.6.6.7.cmml">,</mo><msub id="S4.SS3.p9.1.m1.6.6.6.6.6.6" xref="S4.SS3.p9.1.m1.6.6.6.6.6.6.cmml"><mi id="S4.SS3.p9.1.m1.6.6.6.6.6.6.2" xref="S4.SS3.p9.1.m1.6.6.6.6.6.6.2.cmml">e</mi><mi id="S4.SS3.p9.1.m1.6.6.6.6.6.6.3" xref="S4.SS3.p9.1.m1.6.6.6.6.6.6.3.cmml">ψ</mi></msub><mo id="S4.SS3.p9.1.m1.6.6.6.6.6.13" stretchy="false" xref="S4.SS3.p9.1.m1.6.6.6.6.7.cmml">]</mo></mrow><mi id="S4.SS3.p9.1.m1.6.6.6.8" mathvariant="normal" xref="S4.SS3.p9.1.m1.6.6.6.8.cmml">T</mi></msup></mrow><annotation-xml encoding="MathML-Content" id="S4.SS3.p9.1.m1.6b"><apply id="S4.SS3.p9.1.m1.6.6.cmml" xref="S4.SS3.p9.1.m1.6.6"><eq id="S4.SS3.p9.1.m1.6.6.7.cmml" xref="S4.SS3.p9.1.m1.6.6.7"></eq><ci id="S4.SS3.p9.1.m1.6.6.8.cmml" xref="S4.SS3.p9.1.m1.6.6.8">𝐞</ci><apply id="S4.SS3.p9.1.m1.6.6.6.cmml" xref="S4.SS3.p9.1.m1.6.6.6"><csymbol cd="ambiguous" id="S4.SS3.p9.1.m1.6.6.6.7.cmml" xref="S4.SS3.p9.1.m1.6.6.6">superscript</csymbol><list id="S4.SS3.p9.1.m1.6.6.6.6.7.cmml" xref="S4.SS3.p9.1.m1.6.6.6.6.6"><apply id="S4.SS3.p9.1.m1.1.1.1.1.1.1.cmml" xref="S4.SS3.p9.1.m1.1.1.1.1.1.1"><csymbol cd="ambiguous" id="S4.SS3.p9.1.m1.1.1.1.1.1.1.1.cmml" xref="S4.SS3.p9.1.m1.1.1.1.1.1.1">subscript</csymbol><ci id="S4.SS3.p9.1.m1.1.1.1.1.1.1.2.cmml" xref="S4.SS3.p9.1.m1.1.1.1.1.1.1.2">𝑒</ci><ci id="S4.SS3.p9.1.m1.1.1.1.1.1.1.3.cmml" xref="S4.SS3.p9.1.m1.1.1.1.1.1.1.3">𝑥</ci></apply><apply id="S4.SS3.p9.1.m1.2.2.2.2.2.2.cmml" xref="S4.SS3.p9.1.m1.2.2.2.2.2.2"><csymbol cd="ambiguous" id="S4.SS3.p9.1.m1.2.2.2.2.2.2.1.cmml" xref="S4.SS3.p9.1.m1.2.2.2.2.2.2">subscript</csymbol><ci id="S4.SS3.p9.1.m1.2.2.2.2.2.2.2.cmml" xref="S4.SS3.p9.1.m1.2.2.2.2.2.2.2">𝑒</ci><ci id="S4.SS3.p9.1.m1.2.2.2.2.2.2.3.cmml" xref="S4.SS3.p9.1.m1.2.2.2.2.2.2.3">𝑦</ci></apply><apply id="S4.SS3.p9.1.m1.3.3.3.3.3.3.cmml" xref="S4.SS3.p9.1.m1.3.3.3.3.3.3"><csymbol cd="ambiguous" id="S4.SS3.p9.1.m1.3.3.3.3.3.3.1.cmml" xref="S4.SS3.p9.1.m1.3.3.3.3.3.3">subscript</csymbol><ci id="S4.SS3.p9.1.m1.3.3.3.3.3.3.2.cmml" xref="S4.SS3.p9.1.m1.3.3.3.3.3.3.2">𝑒</ci><ci id="S4.SS3.p9.1.m1.3.3.3.3.3.3.3.cmml" xref="S4.SS3.p9.1.m1.3.3.3.3.3.3.3">𝑧</ci></apply><apply id="S4.SS3.p9.1.m1.4.4.4.4.4.4.cmml" xref="S4.SS3.p9.1.m1.4.4.4.4.4.4"><csymbol cd="ambiguous" id="S4.SS3.p9.1.m1.4.4.4.4.4.4.1.cmml" xref="S4.SS3.p9.1.m1.4.4.4.4.4.4">subscript</csymbol><ci id="S4.SS3.p9.1.m1.4.4.4.4.4.4.2.cmml" xref="S4.SS3.p9.1.m1.4.4.4.4.4.4.2">𝑒</ci><ci id="S4.SS3.p9.1.m1.4.4.4.4.4.4.3.cmml" xref="S4.SS3.p9.1.m1.4.4.4.4.4.4.3">italic-ϕ</ci></apply><apply id="S4.SS3.p9.1.m1.5.5.5.5.5.5.cmml" xref="S4.SS3.p9.1.m1.5.5.5.5.5.5"><csymbol cd="ambiguous" id="S4.SS3.p9.1.m1.5.5.5.5.5.5.1.cmml" xref="S4.SS3.p9.1.m1.5.5.5.5.5.5">subscript</csymbol><ci id="S4.SS3.p9.1.m1.5.5.5.5.5.5.2.cmml" xref="S4.SS3.p9.1.m1.5.5.5.5.5.5.2">𝑒</ci><ci id="S4.SS3.p9.1.m1.5.5.5.5.5.5.3.cmml" xref="S4.SS3.p9.1.m1.5.5.5.5.5.5.3">𝜃</ci></apply><apply id="S4.SS3.p9.1.m1.6.6.6.6.6.6.cmml" xref="S4.SS3.p9.1.m1.6.6.6.6.6.6"><csymbol cd="ambiguous" id="S4.SS3.p9.1.m1.6.6.6.6.6.6.1.cmml" xref="S4.SS3.p9.1.m1.6.6.6.6.6.6">subscript</csymbol><ci id="S4.SS3.p9.1.m1.6.6.6.6.6.6.2.cmml" xref="S4.SS3.p9.1.m1.6.6.6.6.6.6.2">𝑒</ci><ci id="S4.SS3.p9.1.m1.6.6.6.6.6.6.3.cmml" xref="S4.SS3.p9.1.m1.6.6.6.6.6.6.3">𝜓</ci></apply></list><ci id="S4.SS3.p9.1.m1.6.6.6.8.cmml" xref="S4.SS3.p9.1.m1.6.6.6.8">T</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S4.SS3.p9.1.m1.6c">\mathbf{e}=[e_{x},e_{y},e_{z},e_{\phi},e_{\theta},e_{\psi}]^{\mathrm{T}}</annotation><annotation encoding="application/x-llamapun" id="S4.SS3.p9.1.m1.6d">bold_e = [ italic_e start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT , italic_e start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT , italic_e start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT , italic_e start_POSTSUBSCRIPT italic_ϕ end_POSTSUBSCRIPT , italic_e start_POSTSUBSCRIPT italic_θ end_POSTSUBSCRIPT , italic_e start_POSTSUBSCRIPT italic_ψ end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT</annotation></semantics></math>. The tolerance limits for the relevant degrees of freedom are <math alttext="y_{tol}=\pm 0.05m" class="ltx_Math" display="inline" id="S4.SS3.p9.2.m2.1"><semantics id="S4.SS3.p9.2.m2.1a"><mrow id="S4.SS3.p9.2.m2.1.1" xref="S4.SS3.p9.2.m2.1.1.cmml"><msub id="S4.SS3.p9.2.m2.1.1.2" xref="S4.SS3.p9.2.m2.1.1.2.cmml"><mi id="S4.SS3.p9.2.m2.1.1.2.2" xref="S4.SS3.p9.2.m2.1.1.2.2.cmml">y</mi><mrow id="S4.SS3.p9.2.m2.1.1.2.3" xref="S4.SS3.p9.2.m2.1.1.2.3.cmml"><mi id="S4.SS3.p9.2.m2.1.1.2.3.2" xref="S4.SS3.p9.2.m2.1.1.2.3.2.cmml">t</mi><mo id="S4.SS3.p9.2.m2.1.1.2.3.1" xref="S4.SS3.p9.2.m2.1.1.2.3.1.cmml"></mo><mi id="S4.SS3.p9.2.m2.1.1.2.3.3" xref="S4.SS3.p9.2.m2.1.1.2.3.3.cmml">o</mi><mo id="S4.SS3.p9.2.m2.1.1.2.3.1a" xref="S4.SS3.p9.2.m2.1.1.2.3.1.cmml"></mo><mi id="S4.SS3.p9.2.m2.1.1.2.3.4" xref="S4.SS3.p9.2.m2.1.1.2.3.4.cmml">l</mi></mrow></msub><mo id="S4.SS3.p9.2.m2.1.1.1" xref="S4.SS3.p9.2.m2.1.1.1.cmml">=</mo><mrow id="S4.SS3.p9.2.m2.1.1.3" xref="S4.SS3.p9.2.m2.1.1.3.cmml"><mo id="S4.SS3.p9.2.m2.1.1.3a" xref="S4.SS3.p9.2.m2.1.1.3.cmml">±</mo><mrow id="S4.SS3.p9.2.m2.1.1.3.2" xref="S4.SS3.p9.2.m2.1.1.3.2.cmml"><mn id="S4.SS3.p9.2.m2.1.1.3.2.2" xref="S4.SS3.p9.2.m2.1.1.3.2.2.cmml">0.05</mn><mo id="S4.SS3.p9.2.m2.1.1.3.2.1" xref="S4.SS3.p9.2.m2.1.1.3.2.1.cmml"></mo><mi id="S4.SS3.p9.2.m2.1.1.3.2.3" xref="S4.SS3.p9.2.m2.1.1.3.2.3.cmml">m</mi></mrow></mrow></mrow><annotation-xml encoding="MathML-Content" id="S4.SS3.p9.2.m2.1b"><apply id="S4.SS3.p9.2.m2.1.1.cmml" xref="S4.SS3.p9.2.m2.1.1"><eq id="S4.SS3.p9.2.m2.1.1.1.cmml" xref="S4.SS3.p9.2.m2.1.1.1"></eq><apply id="S4.SS3.p9.2.m2.1.1.2.cmml" xref="S4.SS3.p9.2.m2.1.1.2"><csymbol cd="ambiguous" id="S4.SS3.p9.2.m2.1.1.2.1.cmml" xref="S4.SS3.p9.2.m2.1.1.2">subscript</csymbol><ci id="S4.SS3.p9.2.m2.1.1.2.2.cmml" xref="S4.SS3.p9.2.m2.1.1.2.2">𝑦</ci><apply id="S4.SS3.p9.2.m2.1.1.2.3.cmml" xref="S4.SS3.p9.2.m2.1.1.2.3"><times id="S4.SS3.p9.2.m2.1.1.2.3.1.cmml" xref="S4.SS3.p9.2.m2.1.1.2.3.1"></times><ci id="S4.SS3.p9.2.m2.1.1.2.3.2.cmml" xref="S4.SS3.p9.2.m2.1.1.2.3.2">𝑡</ci><ci id="S4.SS3.p9.2.m2.1.1.2.3.3.cmml" xref="S4.SS3.p9.2.m2.1.1.2.3.3">𝑜</ci><ci id="S4.SS3.p9.2.m2.1.1.2.3.4.cmml" xref="S4.SS3.p9.2.m2.1.1.2.3.4">𝑙</ci></apply></apply><apply id="S4.SS3.p9.2.m2.1.1.3.cmml" xref="S4.SS3.p9.2.m2.1.1.3"><csymbol cd="latexml" id="S4.SS3.p9.2.m2.1.1.3.1.cmml" xref="S4.SS3.p9.2.m2.1.1.3">plus-or-minus</csymbol><apply id="S4.SS3.p9.2.m2.1.1.3.2.cmml" xref="S4.SS3.p9.2.m2.1.1.3.2"><times id="S4.SS3.p9.2.m2.1.1.3.2.1.cmml" xref="S4.SS3.p9.2.m2.1.1.3.2.1"></times><cn id="S4.SS3.p9.2.m2.1.1.3.2.2.cmml" type="float" xref="S4.SS3.p9.2.m2.1.1.3.2.2">0.05</cn><ci id="S4.SS3.p9.2.m2.1.1.3.2.3.cmml" xref="S4.SS3.p9.2.m2.1.1.3.2.3">𝑚</ci></apply></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S4.SS3.p9.2.m2.1c">y_{tol}=\pm 0.05m</annotation><annotation encoding="application/x-llamapun" id="S4.SS3.p9.2.m2.1d">italic_y start_POSTSUBSCRIPT italic_t italic_o italic_l end_POSTSUBSCRIPT = ± 0.05 italic_m</annotation></semantics></math> and <math alttext="z_{tol}=\pm 0.04m" class="ltx_Math" display="inline" id="S4.SS3.p9.3.m3.1"><semantics id="S4.SS3.p9.3.m3.1a"><mrow id="S4.SS3.p9.3.m3.1.1" xref="S4.SS3.p9.3.m3.1.1.cmml"><msub id="S4.SS3.p9.3.m3.1.1.2" xref="S4.SS3.p9.3.m3.1.1.2.cmml"><mi id="S4.SS3.p9.3.m3.1.1.2.2" xref="S4.SS3.p9.3.m3.1.1.2.2.cmml">z</mi><mrow id="S4.SS3.p9.3.m3.1.1.2.3" xref="S4.SS3.p9.3.m3.1.1.2.3.cmml"><mi id="S4.SS3.p9.3.m3.1.1.2.3.2" xref="S4.SS3.p9.3.m3.1.1.2.3.2.cmml">t</mi><mo id="S4.SS3.p9.3.m3.1.1.2.3.1" xref="S4.SS3.p9.3.m3.1.1.2.3.1.cmml"></mo><mi id="S4.SS3.p9.3.m3.1.1.2.3.3" xref="S4.SS3.p9.3.m3.1.1.2.3.3.cmml">o</mi><mo id="S4.SS3.p9.3.m3.1.1.2.3.1a" xref="S4.SS3.p9.3.m3.1.1.2.3.1.cmml"></mo><mi id="S4.SS3.p9.3.m3.1.1.2.3.4" xref="S4.SS3.p9.3.m3.1.1.2.3.4.cmml">l</mi></mrow></msub><mo id="S4.SS3.p9.3.m3.1.1.1" xref="S4.SS3.p9.3.m3.1.1.1.cmml">=</mo><mrow id="S4.SS3.p9.3.m3.1.1.3" xref="S4.SS3.p9.3.m3.1.1.3.cmml"><mo id="S4.SS3.p9.3.m3.1.1.3a" xref="S4.SS3.p9.3.m3.1.1.3.cmml">±</mo><mrow id="S4.SS3.p9.3.m3.1.1.3.2" xref="S4.SS3.p9.3.m3.1.1.3.2.cmml"><mn id="S4.SS3.p9.3.m3.1.1.3.2.2" xref="S4.SS3.p9.3.m3.1.1.3.2.2.cmml">0.04</mn><mo id="S4.SS3.p9.3.m3.1.1.3.2.1" xref="S4.SS3.p9.3.m3.1.1.3.2.1.cmml"></mo><mi id="S4.SS3.p9.3.m3.1.1.3.2.3" xref="S4.SS3.p9.3.m3.1.1.3.2.3.cmml">m</mi></mrow></mrow></mrow><annotation-xml encoding="MathML-Content" id="S4.SS3.p9.3.m3.1b"><apply id="S4.SS3.p9.3.m3.1.1.cmml" xref="S4.SS3.p9.3.m3.1.1"><eq id="S4.SS3.p9.3.m3.1.1.1.cmml" xref="S4.SS3.p9.3.m3.1.1.1"></eq><apply id="S4.SS3.p9.3.m3.1.1.2.cmml" xref="S4.SS3.p9.3.m3.1.1.2"><csymbol cd="ambiguous" id="S4.SS3.p9.3.m3.1.1.2.1.cmml" xref="S4.SS3.p9.3.m3.1.1.2">subscript</csymbol><ci id="S4.SS3.p9.3.m3.1.1.2.2.cmml" xref="S4.SS3.p9.3.m3.1.1.2.2">𝑧</ci><apply id="S4.SS3.p9.3.m3.1.1.2.3.cmml" xref="S4.SS3.p9.3.m3.1.1.2.3"><times id="S4.SS3.p9.3.m3.1.1.2.3.1.cmml" xref="S4.SS3.p9.3.m3.1.1.2.3.1"></times><ci id="S4.SS3.p9.3.m3.1.1.2.3.2.cmml" xref="S4.SS3.p9.3.m3.1.1.2.3.2">𝑡</ci><ci id="S4.SS3.p9.3.m3.1.1.2.3.3.cmml" xref="S4.SS3.p9.3.m3.1.1.2.3.3">𝑜</ci><ci id="S4.SS3.p9.3.m3.1.1.2.3.4.cmml" xref="S4.SS3.p9.3.m3.1.1.2.3.4">𝑙</ci></apply></apply><apply id="S4.SS3.p9.3.m3.1.1.3.cmml" xref="S4.SS3.p9.3.m3.1.1.3"><csymbol cd="latexml" id="S4.SS3.p9.3.m3.1.1.3.1.cmml" xref="S4.SS3.p9.3.m3.1.1.3">plus-or-minus</csymbol><apply id="S4.SS3.p9.3.m3.1.1.3.2.cmml" xref="S4.SS3.p9.3.m3.1.1.3.2"><times id="S4.SS3.p9.3.m3.1.1.3.2.1.cmml" xref="S4.SS3.p9.3.m3.1.1.3.2.1"></times><cn id="S4.SS3.p9.3.m3.1.1.3.2.2.cmml" type="float" xref="S4.SS3.p9.3.m3.1.1.3.2.2">0.04</cn><ci id="S4.SS3.p9.3.m3.1.1.3.2.3.cmml" xref="S4.SS3.p9.3.m3.1.1.3.2.3">𝑚</ci></apply></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S4.SS3.p9.3.m3.1c">z_{tol}=\pm 0.04m</annotation><annotation encoding="application/x-llamapun" id="S4.SS3.p9.3.m3.1d">italic_z start_POSTSUBSCRIPT italic_t italic_o italic_l end_POSTSUBSCRIPT = ± 0.04 italic_m</annotation></semantics></math>, with respect to the pallet coordinate system. The constraint in the x-direction is theoretically determined by the load’s center of mass, however, complete fork insertion is preferable to ensure optimal transport stability. Assuming the pallets remain parallel to the ground, detections with unsuitable roll and pitch angles are filtered out, as the forklift cannot successfully pick them up. Thus, these dimensions are excluded from the evaluation. Errors in the y-direction <math alttext="e_{y}" class="ltx_Math" display="inline" id="S4.SS3.p9.4.m4.1"><semantics id="S4.SS3.p9.4.m4.1a"><msub id="S4.SS3.p9.4.m4.1.1" xref="S4.SS3.p9.4.m4.1.1.cmml"><mi id="S4.SS3.p9.4.m4.1.1.2" xref="S4.SS3.p9.4.m4.1.1.2.cmml">e</mi><mi id="S4.SS3.p9.4.m4.1.1.3" xref="S4.SS3.p9.4.m4.1.1.3.cmml">y</mi></msub><annotation-xml encoding="MathML-Content" id="S4.SS3.p9.4.m4.1b"><apply id="S4.SS3.p9.4.m4.1.1.cmml" xref="S4.SS3.p9.4.m4.1.1"><csymbol cd="ambiguous" id="S4.SS3.p9.4.m4.1.1.1.cmml" xref="S4.SS3.p9.4.m4.1.1">subscript</csymbol><ci id="S4.SS3.p9.4.m4.1.1.2.cmml" xref="S4.SS3.p9.4.m4.1.1.2">𝑒</ci><ci id="S4.SS3.p9.4.m4.1.1.3.cmml" xref="S4.SS3.p9.4.m4.1.1.3">𝑦</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S4.SS3.p9.4.m4.1c">e_{y}</annotation><annotation encoding="application/x-llamapun" id="S4.SS3.p9.4.m4.1d">italic_e start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT</annotation></semantics></math> are affected by deviations in orientation around the pallet’s z-axis, which modify the effective pallet opening by a factor of <math alttext="\cos(e_{\psi})" class="ltx_Math" display="inline" id="S4.SS3.p9.5.m5.2"><semantics id="S4.SS3.p9.5.m5.2a"><mrow id="S4.SS3.p9.5.m5.2.2.1" xref="S4.SS3.p9.5.m5.2.2.2.cmml"><mi id="S4.SS3.p9.5.m5.1.1" xref="S4.SS3.p9.5.m5.1.1.cmml">cos</mi><mo id="S4.SS3.p9.5.m5.2.2.1a" xref="S4.SS3.p9.5.m5.2.2.2.cmml"></mo><mrow id="S4.SS3.p9.5.m5.2.2.1.1" xref="S4.SS3.p9.5.m5.2.2.2.cmml"><mo id="S4.SS3.p9.5.m5.2.2.1.1.2" stretchy="false" xref="S4.SS3.p9.5.m5.2.2.2.cmml">(</mo><msub id="S4.SS3.p9.5.m5.2.2.1.1.1" xref="S4.SS3.p9.5.m5.2.2.1.1.1.cmml"><mi id="S4.SS3.p9.5.m5.2.2.1.1.1.2" xref="S4.SS3.p9.5.m5.2.2.1.1.1.2.cmml">e</mi><mi id="S4.SS3.p9.5.m5.2.2.1.1.1.3" xref="S4.SS3.p9.5.m5.2.2.1.1.1.3.cmml">ψ</mi></msub><mo id="S4.SS3.p9.5.m5.2.2.1.1.3" stretchy="false" xref="S4.SS3.p9.5.m5.2.2.2.cmml">)</mo></mrow></mrow><annotation-xml encoding="MathML-Content" id="S4.SS3.p9.5.m5.2b"><apply id="S4.SS3.p9.5.m5.2.2.2.cmml" xref="S4.SS3.p9.5.m5.2.2.1"><cos id="S4.SS3.p9.5.m5.1.1.cmml" xref="S4.SS3.p9.5.m5.1.1"></cos><apply id="S4.SS3.p9.5.m5.2.2.1.1.1.cmml" xref="S4.SS3.p9.5.m5.2.2.1.1.1"><csymbol cd="ambiguous" id="S4.SS3.p9.5.m5.2.2.1.1.1.1.cmml" xref="S4.SS3.p9.5.m5.2.2.1.1.1">subscript</csymbol><ci id="S4.SS3.p9.5.m5.2.2.1.1.1.2.cmml" xref="S4.SS3.p9.5.m5.2.2.1.1.1.2">𝑒</ci><ci id="S4.SS3.p9.5.m5.2.2.1.1.1.3.cmml" xref="S4.SS3.p9.5.m5.2.2.1.1.1.3">𝜓</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S4.SS3.p9.5.m5.2c">\cos(e_{\psi})</annotation><annotation encoding="application/x-llamapun" id="S4.SS3.p9.5.m5.2d">roman_cos ( italic_e start_POSTSUBSCRIPT italic_ψ end_POSTSUBSCRIPT )</annotation></semantics></math>. To account for this influence, the corrected y-direction error is computed as <math alttext="e_{y}^{\psi}=\frac{e_{y}}{\cos(e_{\psi})}" class="ltx_Math" display="inline" id="S4.SS3.p9.6.m6.2"><semantics id="S4.SS3.p9.6.m6.2a"><mrow id="S4.SS3.p9.6.m6.2.3" xref="S4.SS3.p9.6.m6.2.3.cmml"><msubsup id="S4.SS3.p9.6.m6.2.3.2" xref="S4.SS3.p9.6.m6.2.3.2.cmml"><mi id="S4.SS3.p9.6.m6.2.3.2.2.2" xref="S4.SS3.p9.6.m6.2.3.2.2.2.cmml">e</mi><mi id="S4.SS3.p9.6.m6.2.3.2.2.3" xref="S4.SS3.p9.6.m6.2.3.2.2.3.cmml">y</mi><mi id="S4.SS3.p9.6.m6.2.3.2.3" xref="S4.SS3.p9.6.m6.2.3.2.3.cmml">ψ</mi></msubsup><mo id="S4.SS3.p9.6.m6.2.3.1" xref="S4.SS3.p9.6.m6.2.3.1.cmml">=</mo><mfrac id="S4.SS3.p9.6.m6.2.2" xref="S4.SS3.p9.6.m6.2.2.cmml"><msub id="S4.SS3.p9.6.m6.2.2.4" xref="S4.SS3.p9.6.m6.2.2.4.cmml"><mi id="S4.SS3.p9.6.m6.2.2.4.2" xref="S4.SS3.p9.6.m6.2.2.4.2.cmml">e</mi><mi id="S4.SS3.p9.6.m6.2.2.4.3" xref="S4.SS3.p9.6.m6.2.2.4.3.cmml">y</mi></msub><mrow id="S4.SS3.p9.6.m6.2.2.2.2" xref="S4.SS3.p9.6.m6.2.2.2.3.cmml"><mi id="S4.SS3.p9.6.m6.1.1.1.1" xref="S4.SS3.p9.6.m6.1.1.1.1.cmml">cos</mi><mo id="S4.SS3.p9.6.m6.2.2.2.2a" xref="S4.SS3.p9.6.m6.2.2.2.3.cmml"></mo><mrow id="S4.SS3.p9.6.m6.2.2.2.2.1" xref="S4.SS3.p9.6.m6.2.2.2.3.cmml"><mo id="S4.SS3.p9.6.m6.2.2.2.2.1.2" stretchy="false" xref="S4.SS3.p9.6.m6.2.2.2.3.cmml">(</mo><msub id="S4.SS3.p9.6.m6.2.2.2.2.1.1" xref="S4.SS3.p9.6.m6.2.2.2.2.1.1.cmml"><mi id="S4.SS3.p9.6.m6.2.2.2.2.1.1.2" xref="S4.SS3.p9.6.m6.2.2.2.2.1.1.2.cmml">e</mi><mi id="S4.SS3.p9.6.m6.2.2.2.2.1.1.3" xref="S4.SS3.p9.6.m6.2.2.2.2.1.1.3.cmml">ψ</mi></msub><mo id="S4.SS3.p9.6.m6.2.2.2.2.1.3" stretchy="false" xref="S4.SS3.p9.6.m6.2.2.2.3.cmml">)</mo></mrow></mrow></mfrac></mrow><annotation-xml encoding="MathML-Content" id="S4.SS3.p9.6.m6.2b"><apply id="S4.SS3.p9.6.m6.2.3.cmml" xref="S4.SS3.p9.6.m6.2.3"><eq id="S4.SS3.p9.6.m6.2.3.1.cmml" xref="S4.SS3.p9.6.m6.2.3.1"></eq><apply id="S4.SS3.p9.6.m6.2.3.2.cmml" xref="S4.SS3.p9.6.m6.2.3.2"><csymbol cd="ambiguous" id="S4.SS3.p9.6.m6.2.3.2.1.cmml" xref="S4.SS3.p9.6.m6.2.3.2">superscript</csymbol><apply id="S4.SS3.p9.6.m6.2.3.2.2.cmml" xref="S4.SS3.p9.6.m6.2.3.2"><csymbol cd="ambiguous" id="S4.SS3.p9.6.m6.2.3.2.2.1.cmml" xref="S4.SS3.p9.6.m6.2.3.2">subscript</csymbol><ci id="S4.SS3.p9.6.m6.2.3.2.2.2.cmml" xref="S4.SS3.p9.6.m6.2.3.2.2.2">𝑒</ci><ci id="S4.SS3.p9.6.m6.2.3.2.2.3.cmml" xref="S4.SS3.p9.6.m6.2.3.2.2.3">𝑦</ci></apply><ci id="S4.SS3.p9.6.m6.2.3.2.3.cmml" xref="S4.SS3.p9.6.m6.2.3.2.3">𝜓</ci></apply><apply id="S4.SS3.p9.6.m6.2.2.cmml" xref="S4.SS3.p9.6.m6.2.2"><divide id="S4.SS3.p9.6.m6.2.2.3.cmml" xref="S4.SS3.p9.6.m6.2.2"></divide><apply id="S4.SS3.p9.6.m6.2.2.4.cmml" xref="S4.SS3.p9.6.m6.2.2.4"><csymbol cd="ambiguous" id="S4.SS3.p9.6.m6.2.2.4.1.cmml" xref="S4.SS3.p9.6.m6.2.2.4">subscript</csymbol><ci id="S4.SS3.p9.6.m6.2.2.4.2.cmml" xref="S4.SS3.p9.6.m6.2.2.4.2">𝑒</ci><ci id="S4.SS3.p9.6.m6.2.2.4.3.cmml" xref="S4.SS3.p9.6.m6.2.2.4.3">𝑦</ci></apply><apply id="S4.SS3.p9.6.m6.2.2.2.3.cmml" xref="S4.SS3.p9.6.m6.2.2.2.2"><cos id="S4.SS3.p9.6.m6.1.1.1.1.cmml" xref="S4.SS3.p9.6.m6.1.1.1.1"></cos><apply id="S4.SS3.p9.6.m6.2.2.2.2.1.1.cmml" xref="S4.SS3.p9.6.m6.2.2.2.2.1.1"><csymbol cd="ambiguous" id="S4.SS3.p9.6.m6.2.2.2.2.1.1.1.cmml" xref="S4.SS3.p9.6.m6.2.2.2.2.1.1">subscript</csymbol><ci id="S4.SS3.p9.6.m6.2.2.2.2.1.1.2.cmml" xref="S4.SS3.p9.6.m6.2.2.2.2.1.1.2">𝑒</ci><ci id="S4.SS3.p9.6.m6.2.2.2.2.1.1.3.cmml" xref="S4.SS3.p9.6.m6.2.2.2.2.1.1.3">𝜓</ci></apply></apply></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S4.SS3.p9.6.m6.2c">e_{y}^{\psi}=\frac{e_{y}}{\cos(e_{\psi})}</annotation><annotation encoding="application/x-llamapun" id="S4.SS3.p9.6.m6.2d">italic_e start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_ψ end_POSTSUPERSCRIPT = divide start_ARG italic_e start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT end_ARG start_ARG roman_cos ( italic_e start_POSTSUBSCRIPT italic_ψ end_POSTSUBSCRIPT ) end_ARG</annotation></semantics></math>.</p> </div> <div class="ltx_para" id="S4.SS3.p10"> <p class="ltx_p" id="S4.SS3.p10.4">The results indicate that detection accuracy deteriorates with increasing sensor distance, particularly in <math alttext="e_{x}" class="ltx_Math" display="inline" id="S4.SS3.p10.1.m1.1"><semantics id="S4.SS3.p10.1.m1.1a"><msub id="S4.SS3.p10.1.m1.1.1" xref="S4.SS3.p10.1.m1.1.1.cmml"><mi id="S4.SS3.p10.1.m1.1.1.2" xref="S4.SS3.p10.1.m1.1.1.2.cmml">e</mi><mi id="S4.SS3.p10.1.m1.1.1.3" xref="S4.SS3.p10.1.m1.1.1.3.cmml">x</mi></msub><annotation-xml encoding="MathML-Content" id="S4.SS3.p10.1.m1.1b"><apply id="S4.SS3.p10.1.m1.1.1.cmml" xref="S4.SS3.p10.1.m1.1.1"><csymbol cd="ambiguous" id="S4.SS3.p10.1.m1.1.1.1.cmml" xref="S4.SS3.p10.1.m1.1.1">subscript</csymbol><ci id="S4.SS3.p10.1.m1.1.1.2.cmml" xref="S4.SS3.p10.1.m1.1.1.2">𝑒</ci><ci id="S4.SS3.p10.1.m1.1.1.3.cmml" xref="S4.SS3.p10.1.m1.1.1.3">𝑥</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S4.SS3.p10.1.m1.1c">e_{x}</annotation><annotation encoding="application/x-llamapun" id="S4.SS3.p10.1.m1.1d">italic_e start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT</annotation></semantics></math>, due to the quadratic increase in depth error inherent in stereo vision. Furthermore, when the pallet is rotated around its z-axis, the error distributes between <math alttext="e_{x}" class="ltx_Math" display="inline" id="S4.SS3.p10.2.m2.1"><semantics id="S4.SS3.p10.2.m2.1a"><msub id="S4.SS3.p10.2.m2.1.1" xref="S4.SS3.p10.2.m2.1.1.cmml"><mi id="S4.SS3.p10.2.m2.1.1.2" xref="S4.SS3.p10.2.m2.1.1.2.cmml">e</mi><mi id="S4.SS3.p10.2.m2.1.1.3" xref="S4.SS3.p10.2.m2.1.1.3.cmml">x</mi></msub><annotation-xml encoding="MathML-Content" id="S4.SS3.p10.2.m2.1b"><apply id="S4.SS3.p10.2.m2.1.1.cmml" xref="S4.SS3.p10.2.m2.1.1"><csymbol cd="ambiguous" id="S4.SS3.p10.2.m2.1.1.1.cmml" xref="S4.SS3.p10.2.m2.1.1">subscript</csymbol><ci id="S4.SS3.p10.2.m2.1.1.2.cmml" xref="S4.SS3.p10.2.m2.1.1.2">𝑒</ci><ci id="S4.SS3.p10.2.m2.1.1.3.cmml" xref="S4.SS3.p10.2.m2.1.1.3">𝑥</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S4.SS3.p10.2.m2.1c">e_{x}</annotation><annotation encoding="application/x-llamapun" id="S4.SS3.p10.2.m2.1d">italic_e start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT</annotation></semantics></math> and <math alttext="e_{y}" class="ltx_Math" display="inline" id="S4.SS3.p10.3.m3.1"><semantics id="S4.SS3.p10.3.m3.1a"><msub id="S4.SS3.p10.3.m3.1.1" xref="S4.SS3.p10.3.m3.1.1.cmml"><mi id="S4.SS3.p10.3.m3.1.1.2" xref="S4.SS3.p10.3.m3.1.1.2.cmml">e</mi><mi id="S4.SS3.p10.3.m3.1.1.3" xref="S4.SS3.p10.3.m3.1.1.3.cmml">y</mi></msub><annotation-xml encoding="MathML-Content" id="S4.SS3.p10.3.m3.1b"><apply id="S4.SS3.p10.3.m3.1.1.cmml" xref="S4.SS3.p10.3.m3.1.1"><csymbol cd="ambiguous" id="S4.SS3.p10.3.m3.1.1.1.cmml" xref="S4.SS3.p10.3.m3.1.1">subscript</csymbol><ci id="S4.SS3.p10.3.m3.1.1.2.cmml" xref="S4.SS3.p10.3.m3.1.1.2">𝑒</ci><ci id="S4.SS3.p10.3.m3.1.1.3.cmml" xref="S4.SS3.p10.3.m3.1.1.3">𝑦</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S4.SS3.p10.3.m3.1c">e_{y}</annotation><annotation encoding="application/x-llamapun" id="S4.SS3.p10.3.m3.1d">italic_e start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT</annotation></semantics></math>. Overall, the results suggest that a single detection at angles exceeding <math alttext="15^{\circ}" class="ltx_Math" display="inline" id="S4.SS3.p10.4.m4.1"><semantics id="S4.SS3.p10.4.m4.1a"><msup id="S4.SS3.p10.4.m4.1.1" xref="S4.SS3.p10.4.m4.1.1.cmml"><mn id="S4.SS3.p10.4.m4.1.1.2" xref="S4.SS3.p10.4.m4.1.1.2.cmml">15</mn><mo id="S4.SS3.p10.4.m4.1.1.3" xref="S4.SS3.p10.4.m4.1.1.3.cmml">∘</mo></msup><annotation-xml encoding="MathML-Content" id="S4.SS3.p10.4.m4.1b"><apply id="S4.SS3.p10.4.m4.1.1.cmml" xref="S4.SS3.p10.4.m4.1.1"><csymbol cd="ambiguous" id="S4.SS3.p10.4.m4.1.1.1.cmml" xref="S4.SS3.p10.4.m4.1.1">superscript</csymbol><cn id="S4.SS3.p10.4.m4.1.1.2.cmml" type="integer" xref="S4.SS3.p10.4.m4.1.1.2">15</cn><compose id="S4.SS3.p10.4.m4.1.1.3.cmml" xref="S4.SS3.p10.4.m4.1.1.3"></compose></apply></annotation-xml><annotation encoding="application/x-tex" id="S4.SS3.p10.4.m4.1c">15^{\circ}</annotation><annotation encoding="application/x-llamapun" id="S4.SS3.p10.4.m4.1d">15 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT</annotation></semantics></math> is often insufficient for successful pallet loading. However, as the sensor approaches the pallet, the detection quality improves, maintaining errors within tolerance limits in most cases and enabling a successful interaction.</p> </div> <figure class="ltx_figure" id="S4.F10"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_square" height="652" id="S4.F10.g1" src="x7.png" width="789"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S4.F10.8.4.1" style="font-size:90%;">Figure 10</span>: </span><span class="ltx_text" id="S4.F10.6.3" style="font-size:90%;">Pallet pose estimation errors over the distance to sensor <math alttext="d" class="ltx_Math" display="inline" id="S4.F10.4.1.m1.1"><semantics id="S4.F10.4.1.m1.1b"><mi id="S4.F10.4.1.m1.1.1" xref="S4.F10.4.1.m1.1.1.cmml">d</mi><annotation-xml encoding="MathML-Content" id="S4.F10.4.1.m1.1c"><ci id="S4.F10.4.1.m1.1.1.cmml" xref="S4.F10.4.1.m1.1.1">𝑑</ci></annotation-xml><annotation encoding="application/x-tex" id="S4.F10.4.1.m1.1d">d</annotation><annotation encoding="application/x-llamapun" id="S4.F10.4.1.m1.1e">italic_d</annotation></semantics></math> for various load types. Columns represent different orientations around the pallet’s z-axis. Dashed lines indicate tolerance boundaries for successful fork insertion, with the highlighted <math alttext="0^{\circ}" class="ltx_Math" display="inline" id="S4.F10.5.2.m2.1"><semantics id="S4.F10.5.2.m2.1b"><msup id="S4.F10.5.2.m2.1.1" xref="S4.F10.5.2.m2.1.1.cmml"><mn id="S4.F10.5.2.m2.1.1.2" xref="S4.F10.5.2.m2.1.1.2.cmml">0</mn><mo id="S4.F10.5.2.m2.1.1.3" xref="S4.F10.5.2.m2.1.1.3.cmml">∘</mo></msup><annotation-xml encoding="MathML-Content" id="S4.F10.5.2.m2.1c"><apply id="S4.F10.5.2.m2.1.1.cmml" xref="S4.F10.5.2.m2.1.1"><csymbol cd="ambiguous" id="S4.F10.5.2.m2.1.1.1.cmml" xref="S4.F10.5.2.m2.1.1">superscript</csymbol><cn id="S4.F10.5.2.m2.1.1.2.cmml" type="integer" xref="S4.F10.5.2.m2.1.1.2">0</cn><compose id="S4.F10.5.2.m2.1.1.3.cmml" xref="S4.F10.5.2.m2.1.1.3"></compose></apply></annotation-xml><annotation encoding="application/x-tex" id="S4.F10.5.2.m2.1d">0^{\circ}</annotation><annotation encoding="application/x-llamapun" id="S4.F10.5.2.m2.1e">0 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT</annotation></semantics></math>-<math alttext="15^{\circ}" class="ltx_Math" display="inline" id="S4.F10.6.3.m3.1"><semantics id="S4.F10.6.3.m3.1b"><msup id="S4.F10.6.3.m3.1.1" xref="S4.F10.6.3.m3.1.1.cmml"><mn id="S4.F10.6.3.m3.1.1.2" xref="S4.F10.6.3.m3.1.1.2.cmml">15</mn><mo id="S4.F10.6.3.m3.1.1.3" xref="S4.F10.6.3.m3.1.1.3.cmml">∘</mo></msup><annotation-xml encoding="MathML-Content" id="S4.F10.6.3.m3.1c"><apply id="S4.F10.6.3.m3.1.1.cmml" xref="S4.F10.6.3.m3.1.1"><csymbol cd="ambiguous" id="S4.F10.6.3.m3.1.1.1.cmml" xref="S4.F10.6.3.m3.1.1">superscript</csymbol><cn id="S4.F10.6.3.m3.1.1.2.cmml" type="integer" xref="S4.F10.6.3.m3.1.1.2">15</cn><compose id="S4.F10.6.3.m3.1.1.3.cmml" xref="S4.F10.6.3.m3.1.1.3"></compose></apply></annotation-xml><annotation encoding="application/x-tex" id="S4.F10.6.3.m3.1d">15^{\circ}</annotation><annotation encoding="application/x-llamapun" id="S4.F10.6.3.m3.1e">15 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT</annotation></semantics></math> range being critical for insertion.</span></figcaption> </figure> </section> <section class="ltx_subsection" id="S4.SS4"> <h3 class="ltx_title ltx_title_subsection"> <span class="ltx_tag ltx_tag_subsection">4.4 </span>Loading Edge Detection</h3> <div class="ltx_para" id="S4.SS4.p1"> <p class="ltx_p" id="S4.SS4.p1.1">To accurately position pallets on the truck, the system performs a LiDAR point cloud-based detection of the loading platform, once per load cycle. Given the transformation of the LiDAR sensor relative to a globally planar coordinate frame and a set of 3D points aggregated from LiDAR point clouds over a period of time, the loading platform detector follows a multi-step procedure:</p> </div> <div class="ltx_para" id="S4.SS4.p2"> <p class="ltx_p" id="S4.SS4.p2.1"><span class="ltx_text ltx_font_bold" id="S4.SS4.p2.1.1">Outlier Removal:</span> Outliers are removed by discarding points that lack a sufficient number of neighbors within a specified radius.</p> </div> <div class="ltx_para" id="S4.SS4.p3"> <p class="ltx_p" id="S4.SS4.p3.1"><span class="ltx_text ltx_font_bold" id="S4.SS4.p3.1.1">Height Filtering:</span> The point cloud is refined to include only points within 0.2 and 2.5 meters above the ground.</p> </div> <div class="ltx_para" id="S4.SS4.p4"> <p class="ltx_p" id="S4.SS4.p4.1"><span class="ltx_text ltx_font_bold" id="S4.SS4.p4.1.1">Edge Candidate Points Identification:</span> Points are classified as edge candidate points if their neighborhood contains two distinct sets of points with orthogonal normals. One normal direction must align closely with the vertical (up) vector, meaning that the other direction must be parallel to the ground plane.</p> </div> <div class="ltx_para" id="S4.SS4.p5"> <p class="ltx_p" id="S4.SS4.p5.1"><span class="ltx_text ltx_font_bold" id="S4.SS4.p5.1.1">Edge Line Detection:</span> A RANSAC (Random Sample Consensus) approach is used to find a line that has strong support in terms of the number of candidate edge points.</p> </div> <div class="ltx_para" id="S4.SS4.p6"> <p class="ltx_p" id="S4.SS4.p6.1"><span class="ltx_text ltx_font_bold" id="S4.SS4.p6.1.1">Loading Edge End Detection</span>: The vertical front-face of the loading platform is detected. The loading edge and the front surface together define a reference frame.</p> </div> <div class="ltx_para" id="S4.SS4.p7"> <p class="ltx_p" id="S4.SS4.p7.1"><span class="ltx_text ltx_font_bold" id="S4.SS4.p7.1.1">Pallet Slot Definition:</span> A configurable loading pattern defines target slot placements, depicted in Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.F11" title="Figure 11 ‣ 4.4 Loading Edge Detection ‣ 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">11</span></a>.</p> </div> <figure class="ltx_figure" id="S4.F11"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_square" height="376" id="S4.F11.g1" src="extracted/6290360/figures/loading_edge_and_slots.png" width="449"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S4.F11.2.1.1" style="font-size:90%;">Figure 11</span>: </span><span class="ltx_text" id="S4.F11.3.2" style="font-size:90%;">A LiDAR point cloud (colored by reflectance) captures the scene, including the forklift forks (bottom right). The lift is positioned at an estimated loading height to optimize the platform’s visibility. The resulting detected loading edge reference frame (RGB frame) and the target slots (red boxes) defined within this frame are depicted as overlay.</span></figcaption> </figure> <div class="ltx_para" id="S4.SS4.p8"> <p class="ltx_p" id="S4.SS4.p8.1">This process ensures reliable detection of the loading platform, even under challenging conditions, which works regardless of the tilt of the truck or partial loading because it focuses solely on the edge. Additionally, an image segmentation method for part detection was tested <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib71" title="">71</a>]</cite>, but turned out to be more prone to clutter on the platform than this geometry-specific deterministic edge detection.</p> </div> </section> <section class="ltx_subsection" id="S4.SS5"> <h3 class="ltx_title ltx_title_subsection"> <span class="ltx_tag ltx_tag_subsection">4.5 </span>Obstacle Detection</h3> <figure class="ltx_figure" id="S4.F12"> <div class="ltx_flex_figure"> <div class="ltx_flex_cell ltx_flex_size_3"> <figure class="ltx_figure ltx_figure_panel" id="S4.F12.sf1"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_square" height="467" id="S4.F12.sf1.g1" src="x8.png" width="498"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S4.F12.sf1.2.1.1" style="font-size:90%;">(a)</span> </span><span class="ltx_text" id="S4.F12.sf1.3.2" style="font-size:90%;">Side-view: collision objects (red) within the sensor field of view (grey) are only detected within a certain height range and distance (cyan). Therefore, the tree’s crown is not considered an obstacle.</span></figcaption> </figure> </div> <div class="ltx_flex_cell ltx_flex_size_3"> <figure class="ltx_figure ltx_figure_panel" id="S4.F12.sf2"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_landscape" height="458" id="S4.F12.sf2.g1" src="x9.png" width="581"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S4.F12.sf2.2.1.1" style="font-size:90%;">(b)</span> </span><span class="ltx_text" id="S4.F12.sf2.3.2" style="font-size:90%;">Birds-eye view: potential obstacles (green) are tracked to assess movement but are only considered as future collision (red) if they intersect with the path volume (cyan)</span></figcaption> </figure> </div> <div class="ltx_flex_cell ltx_flex_size_3"> <figure class="ltx_figure ltx_figure_panel" id="S4.F12.sf3"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_landscape" height="285" id="S4.F12.sf3.g1" src="extracted/6290360/drawings/obstacle_detection_graphic/odas_view.png" width="598"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S4.F12.sf3.2.1.1" style="font-size:90%;">(c)</span> </span><span class="ltx_text" id="S4.F12.sf3.3.2" style="font-size:90%;">Left stereo camera image with obstacles overlayed. Not all obstacles detected by LiDAR are within the camera’s field of view.</span></figcaption> </figure> </div> </div> <figcaption class="ltx_caption"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S4.F12.2.1.1" style="font-size:90%;">Figure 12</span>: </span><span class="ltx_text" id="S4.F12.3.2" style="font-size:90%;">Depiction of the obstacle detection system’s geometric relations and output. Definitive collision objects (red) that trigger emergency braking overlap with the expected path volume (cyan) and tracked potential obstacles are outside (green).</span></figcaption> </figure> <div class="ltx_para" id="S4.SS5.p1"> <p class="ltx_p" id="S4.SS5.p1.1">For safe operation, the forklift must detect obstacles quickly to avoid collisions with both static obstacles (trees, walls, etc.) and moving obstacles (excavators, pedestrians, etc.) which may approach the currently planned drive path. The implemented approach is a fast-reacting method in the sensor frame complementary to and independent of the mapping approach presented in Section <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.SS2" title="4.2 Traversabilty Mapping ‣ 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">4.2</span></a>. It is applied only in the forward driving direction, where the risk of colliding with moving obstacles is higher, whereas movements in fork direction, as discussed in Section <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S3.SS3.SSS2" title="3.3.2 Exteroception ‣ 3.3 Sensing ‣ 3 System Design ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">3.3.2</span></a>, are slower and follow much shorter paths. Based on the selected safety concept, when an obstacle is detected, the forklift is brought to a safe state (standstill) to prevent collisions, rather than re-planning its path to navigate around the obstacle. Once an emergency stop is triggered, the forklift remains stationary until it receives operator input to resume the task.</p> </div> <div class="ltx_para" id="S4.SS5.p2"> <p class="ltx_p" id="S4.SS5.p2.1">For the assessment of the risk of collision with moving obstacles, we utilize a multi-object detection and tracking system, originally based on the works <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib72" title="">72</a>]</cite> and <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib73" title="">73</a>]</cite>, which further became the basis for an endurance-tested tramway braking assistance system in commercial use<span class="ltx_note ltx_role_footnote" id="footnote5"><sup class="ltx_note_mark">5</sup><span class="ltx_note_outer"><span class="ltx_note_content"><sup class="ltx_note_mark">5</sup><span class="ltx_tag ltx_tag_note">5</span>https://www.alstom.com/solutions/rolling-stock/citadis-light-rail-designed-reflect-your-citys-unique-identity (accessed 2024-12-11)</span></span></span>. It operates in a tracking-by-detection paradigm. It can detect arbitrary objects, track them over time, and assess if a collision will occur based on the predicted trajectories of the objects and the projected path of the forklift. The detection step is based on generic 3D clustering, hence it does not depend on predefined object classes such as person or vehicle.</p> </div> <div class="ltx_para" id="S4.SS5.p3"> <p class="ltx_p" id="S4.SS5.p3.1">To detect obstacles, the system analyzes point clouds from the Ouster LiDAR mounted on the front part of the forklift. Both LiDAR and a custom stereo camera setup, see Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S2.F3" title="Figure 3 ‣ 2.4 Motion Planning and Control ‣ 2 Related Work ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">3</span></a>c, have been successfully used, but the wider field of view of the LiDAR system makes it the safer choice for obstacle detection, see Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.F12" title="Figure 12 ‣ 4.5 Obstacle Detection ‣ 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">12</span></a>. Points above an assumed ground plane, cf. Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.F12.sf1" title="In Figure 12 ‣ 4.5 Obstacle Detection ‣ 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">12(a)</span></a>, are analyzed for potential obstacles by grouping them into separate distinct objects using Density-Based Spatial Clustering of Applications with Noise (DBSCAN) <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib74" title="">74</a>]</cite>. The clusters represent potential obstacles (indicated as red and green boxes in Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.F12" title="Figure 12 ‣ 4.5 Obstacle Detection ‣ 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">12</span></a>) but only if they overlap with the expected vehicle’s path and are considered potential collision objects (red) that trigger an emergency brake. The volume of the monitored path, cyan in Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.F12" title="Figure 12 ‣ 4.5 Obstacle Detection ‣ 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">12</span></a>, is defined by extruding the vehicle footprint (plus an additional clearance buffer) along a simplified vehicle path. Obstacle bookkeeping is implemented in a manner similar to pallet bookkeeping, as described in Section <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.SS1" title="4.1 Joint Localization and Pallet Mapping ‣ 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">4.1</span></a>. However, it is enhanced with a Kalman filter based on a constant velocity model to accommodate movement. Then each object track is checked for a possible collision, which can cause a collision warning based on the predicted movement of the object, the velocity of the forklift, the characteristics of the forklift deceleration, and a defined minimum safety distance.</p> </div> </section> </section> <section class="ltx_section" id="S5"> <h2 class="ltx_title ltx_title_section"> <span class="ltx_tag ltx_tag_section">5 </span>Planning and Control</h2> <div class="ltx_para" id="S5.p1"> <p class="ltx_p" id="S5.p1.1">ADAPT performs two primary types of actions to carry out its tasks effectively: (1) collision-free <span class="ltx_text ltx_font_italic" id="S5.p1.1.1">Navigation</span>, where the forklift moves from its current position to a target location within a predefined operational area, either while carrying a pallet or traveling unloaded, and (2) precise <span class="ltx_text ltx_font_italic" id="S5.p1.1.2">Manipulation</span>, which involves the accurate pickup and placement of pallets in specified locations (slots), such as on a truck or within a designated area on the ground (multiple slots on a truck are shown in Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.F11" title="Figure 11 ‣ 4.4 Loading Edge Detection ‣ 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">11</span></a>).</p> </div> <div class="ltx_para" id="S5.p2"> <p class="ltx_p" id="S5.p2.1">This section explains how these actions are coordinated throughout the operational workflow and the measures implemented to ensure their accurate and reliable execution.</p> </div> <section class="ltx_subsection" id="S5.SS1"> <h3 class="ltx_title ltx_title_subsection"> <span class="ltx_tag ltx_tag_subsection">5.1 </span>Task planning and Execution</h3> <div class="ltx_para" id="S5.SS1.p1"> <p class="ltx_p" id="S5.SS1.p1.1">Task (re-)planning and execution are crucial for the efficient operation of autonomous machines, particularly in dynamic, unstructured environments, enabling them to adapt to changing conditions. In the proposed automated system, task planning and execution are achieved using a behavior tree-based approach. Behavior trees provide a flexible, modular framework for modeling decision-making processes and task execution in a hierarchical, reactive manner <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib75" title="">75</a>]</cite>. A behavior tree consists of action nodes (which perform tasks), condition nodes (which evaluate specific states), and composite nodes (which control the flow of execution, such as sequences and fallbacks). This structure allows for scalable and adaptable behavior design, making it particularly suited for managing complex tasks like navigation and object manipulation. The integrated behavior tree logic is based on the BehaviorTree.CPP library <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib76" title="">76</a>]</cite>, which offers a performant set of tools for behavior tree construction and execution. To enable smooth communication with the robot’s ROS 2 based architecture, the ROS 2 wrappers from the Nav2 framework <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib77" title="">77</a>]</cite> are utilized. A simplified version of the behavior tree that describes the operation of ADAPT is shown in Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.F13" title="Figure 13 ‣ 5.1 Task planning and Execution ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">13</span></a>. The flow of execution can be summarized as follows:</p> <ol class="ltx_enumerate" id="S5.I1"> <li class="ltx_item" id="S5.I1.i1" style="list-style-type:none;"> <span class="ltx_tag ltx_tag_item">1.</span> <div class="ltx_para" id="S5.I1.i1.p1"> <p class="ltx_p" id="S5.I1.i1.p1.1">The sequence begins with ADAPT searching for pallets using the <span class="ltx_text ltx_font_italic" id="S5.I1.i1.p1.1.1">FindPallets</span> action.</p> </div> </li> <li class="ltx_item" id="S5.I1.i2" style="list-style-type:none;"> <span class="ltx_tag ltx_tag_item">2.</span> <div class="ltx_para" id="S5.I1.i2.p1"> <p class="ltx_p" id="S5.I1.i2.p1.1">Once pallets are identified, the <span class="ltx_text ltx_font_italic" id="S5.I1.i2.p1.1.1">SelectPallet</span> action determines which pallet to target based on predefined criteria.</p> </div> </li> <li class="ltx_item" id="S5.I1.i3" style="list-style-type:none;"> <span class="ltx_tag ltx_tag_item">3.</span> <div class="ltx_para" id="S5.I1.i3.p1"> <p class="ltx_p" id="S5.I1.i3.p1.1">The <span class="ltx_text ltx_font_italic" id="S5.I1.i3.p1.1.1">ApproachPallet</span> action guides ADAPT to navigate toward the selected pallet. </p> </div> </li> <li class="ltx_item" id="S5.I1.i4" style="list-style-type:none;"> <span class="ltx_tag ltx_tag_item">4.</span> <div class="ltx_para" id="S5.I1.i4.p1"> <p class="ltx_p" id="S5.I1.i4.p1.1">Once positioned correctly, the <span class="ltx_text ltx_font_italic" id="S5.I1.i4.p1.1.1">LoadPallet</span> action ensures the pallet is securely lifted onto ADAPT. </p> </div> </li> <li class="ltx_item" id="S5.I1.i5" style="list-style-type:none;"> <span class="ltx_tag ltx_tag_item">5.</span> <div class="ltx_para" id="S5.I1.i5.p1"> <p class="ltx_p" id="S5.I1.i5.p1.1">ADAPT executes the <span class="ltx_text ltx_font_italic" id="S5.I1.i5.p1.1.1">ApproachSlot</span> action to navigate to the designated slot or unloading area.</p> </div> </li> <li class="ltx_item" id="S5.I1.i6" style="list-style-type:none;"> <span class="ltx_tag ltx_tag_item">6.</span> <div class="ltx_para" id="S5.I1.i6.p1"> <p class="ltx_p" id="S5.I1.i6.p1.1">At the slot, the <span class="ltx_text ltx_font_italic" id="S5.I1.i6.p1.1.1">UnloadPallet</span> action places the pallet in its target location.</p> </div> </li> <li class="ltx_item" id="S5.I1.i7" style="list-style-type:none;"> <span class="ltx_tag ltx_tag_item">7.</span> <div class="ltx_para" id="S5.I1.i7.p1"> <p class="ltx_p" id="S5.I1.i7.p1.1">After completing the unloading task, the behavior tree loops back using the <span class="ltx_text ltx_font_italic" id="S5.I1.i7.p1.1.1">Repeat</span> element and is ready for the next pallet. After loading all pallets, the <span class="ltx_text ltx_font_italic" id="S5.I1.i7.p1.1.2">ReturnHome</span> action navigates ADAPT to its home position. </p> </div> </li> </ol> </div> <figure class="ltx_figure" id="S5.F13"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_landscape" height="406" id="S5.F13.g1" src="x10.png" width="830"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S5.F13.2.1.1" style="font-size:90%;">Figure 13</span>: </span><span class="ltx_text" id="S5.F13.3.2" style="font-size:90%;">Simplified behavior tree for the proposed system, consisting of the root node (gray), action nodes (cyan), sequences (red) and a decorator node (orange).</span></figcaption> </figure> <div class="ltx_para" id="S5.SS1.p2"> <p class="ltx_p" id="S5.SS1.p2.1">The full behavior tree is significantly more complex, featuring 26 custom sub-trees and over 30 unique action and composite nodes. It integrates both reactive and anticipatory behaviors. For example, a reactive behavior occurs after a failed pallet pick-up attempt, due to <em class="ltx_emph ltx_font_italic" id="S5.SS1.p2.1.1">e.g.</em>, inaccuracies in the estimated pose, triggering a recovery action and another pick-up attempt.</p> </div> <div class="ltx_para" id="S5.SS1.p3"> <p class="ltx_p" id="S5.SS1.p3.1">To initiate the operation, <em class="ltx_emph ltx_font_italic" id="S5.SS1.p3.1.1">i.e.</em> the execution of the behavior tree, ADAPT receives a command by the forklift supervisor to transport either a specified number of pallets or all available pallets from a designated loading zone to an unloading zone. The current system iteration features a tablet-based HMI for monitoring and controlling the vehicle’s operation. The framework also supports testing of novel interaction modalities, like gesture control, freeing the hands of an operator, see <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib78" title="">78</a>]</cite> for details.</p> </div> </section> <section class="ltx_subsection" id="S5.SS2"> <h3 class="ltx_title ltx_title_subsection"> <span class="ltx_tag ltx_tag_subsection">5.2 </span>System Models</h3> <div class="ltx_para" id="S5.SS2.p1"> <p class="ltx_p" id="S5.SS2.p1.1">Accurate modeling of the vehicle’s kinematics and hydraulic actuators allows precise motion control. This is essential for efficient operation in complex environments, allowing for reliable navigation and pallet manipulation.</p> </div> <section class="ltx_subsubsection" id="S5.SS2.SSS1"> <h4 class="ltx_title ltx_title_subsubsection"> <span class="ltx_tag ltx_tag_subsubsection">5.2.1 </span>Vehicle Base Kinematics</h4> <figure class="ltx_figure" id="S5.F14"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_square" height="629" id="S5.F14.g1" src="x11.png" width="664"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S5.F14.14.7.1" style="font-size:90%;">Figure 14</span>: </span><span class="ltx_text" id="S5.F14.12.6" style="font-size:90%;">Articulated forklift kinematics with the front part <math alttext="{\mathbf{q}_{F}}=[x_{F},y_{F},\theta_{F}]^{\mathrm{T}}" class="ltx_Math" display="inline" id="S5.F14.7.1.m1.3"><semantics id="S5.F14.7.1.m1.3b"><mrow id="S5.F14.7.1.m1.3.3" xref="S5.F14.7.1.m1.3.3.cmml"><msub id="S5.F14.7.1.m1.3.3.5" xref="S5.F14.7.1.m1.3.3.5.cmml"><mi id="S5.F14.7.1.m1.3.3.5.2" xref="S5.F14.7.1.m1.3.3.5.2.cmml">𝐪</mi><mi id="S5.F14.7.1.m1.3.3.5.3" xref="S5.F14.7.1.m1.3.3.5.3.cmml">F</mi></msub><mo id="S5.F14.7.1.m1.3.3.4" xref="S5.F14.7.1.m1.3.3.4.cmml">=</mo><msup id="S5.F14.7.1.m1.3.3.3" xref="S5.F14.7.1.m1.3.3.3.cmml"><mrow id="S5.F14.7.1.m1.3.3.3.3.3" xref="S5.F14.7.1.m1.3.3.3.3.4.cmml"><mo id="S5.F14.7.1.m1.3.3.3.3.3.4" stretchy="false" xref="S5.F14.7.1.m1.3.3.3.3.4.cmml">[</mo><msub id="S5.F14.7.1.m1.1.1.1.1.1.1" xref="S5.F14.7.1.m1.1.1.1.1.1.1.cmml"><mi id="S5.F14.7.1.m1.1.1.1.1.1.1.2" xref="S5.F14.7.1.m1.1.1.1.1.1.1.2.cmml">x</mi><mi id="S5.F14.7.1.m1.1.1.1.1.1.1.3" xref="S5.F14.7.1.m1.1.1.1.1.1.1.3.cmml">F</mi></msub><mo id="S5.F14.7.1.m1.3.3.3.3.3.5" xref="S5.F14.7.1.m1.3.3.3.3.4.cmml">,</mo><msub id="S5.F14.7.1.m1.2.2.2.2.2.2" xref="S5.F14.7.1.m1.2.2.2.2.2.2.cmml"><mi id="S5.F14.7.1.m1.2.2.2.2.2.2.2" xref="S5.F14.7.1.m1.2.2.2.2.2.2.2.cmml">y</mi><mi id="S5.F14.7.1.m1.2.2.2.2.2.2.3" xref="S5.F14.7.1.m1.2.2.2.2.2.2.3.cmml">F</mi></msub><mo id="S5.F14.7.1.m1.3.3.3.3.3.6" xref="S5.F14.7.1.m1.3.3.3.3.4.cmml">,</mo><msub id="S5.F14.7.1.m1.3.3.3.3.3.3" xref="S5.F14.7.1.m1.3.3.3.3.3.3.cmml"><mi id="S5.F14.7.1.m1.3.3.3.3.3.3.2" xref="S5.F14.7.1.m1.3.3.3.3.3.3.2.cmml">θ</mi><mi id="S5.F14.7.1.m1.3.3.3.3.3.3.3" xref="S5.F14.7.1.m1.3.3.3.3.3.3.3.cmml">F</mi></msub><mo id="S5.F14.7.1.m1.3.3.3.3.3.7" stretchy="false" xref="S5.F14.7.1.m1.3.3.3.3.4.cmml">]</mo></mrow><mi id="S5.F14.7.1.m1.3.3.3.5" mathvariant="normal" xref="S5.F14.7.1.m1.3.3.3.5.cmml">T</mi></msup></mrow><annotation-xml encoding="MathML-Content" id="S5.F14.7.1.m1.3c"><apply id="S5.F14.7.1.m1.3.3.cmml" xref="S5.F14.7.1.m1.3.3"><eq id="S5.F14.7.1.m1.3.3.4.cmml" xref="S5.F14.7.1.m1.3.3.4"></eq><apply id="S5.F14.7.1.m1.3.3.5.cmml" xref="S5.F14.7.1.m1.3.3.5"><csymbol cd="ambiguous" id="S5.F14.7.1.m1.3.3.5.1.cmml" xref="S5.F14.7.1.m1.3.3.5">subscript</csymbol><ci id="S5.F14.7.1.m1.3.3.5.2.cmml" xref="S5.F14.7.1.m1.3.3.5.2">𝐪</ci><ci id="S5.F14.7.1.m1.3.3.5.3.cmml" xref="S5.F14.7.1.m1.3.3.5.3">𝐹</ci></apply><apply id="S5.F14.7.1.m1.3.3.3.cmml" xref="S5.F14.7.1.m1.3.3.3"><csymbol cd="ambiguous" id="S5.F14.7.1.m1.3.3.3.4.cmml" xref="S5.F14.7.1.m1.3.3.3">superscript</csymbol><list id="S5.F14.7.1.m1.3.3.3.3.4.cmml" xref="S5.F14.7.1.m1.3.3.3.3.3"><apply id="S5.F14.7.1.m1.1.1.1.1.1.1.cmml" xref="S5.F14.7.1.m1.1.1.1.1.1.1"><csymbol cd="ambiguous" id="S5.F14.7.1.m1.1.1.1.1.1.1.1.cmml" xref="S5.F14.7.1.m1.1.1.1.1.1.1">subscript</csymbol><ci id="S5.F14.7.1.m1.1.1.1.1.1.1.2.cmml" xref="S5.F14.7.1.m1.1.1.1.1.1.1.2">𝑥</ci><ci id="S5.F14.7.1.m1.1.1.1.1.1.1.3.cmml" xref="S5.F14.7.1.m1.1.1.1.1.1.1.3">𝐹</ci></apply><apply id="S5.F14.7.1.m1.2.2.2.2.2.2.cmml" xref="S5.F14.7.1.m1.2.2.2.2.2.2"><csymbol cd="ambiguous" id="S5.F14.7.1.m1.2.2.2.2.2.2.1.cmml" xref="S5.F14.7.1.m1.2.2.2.2.2.2">subscript</csymbol><ci id="S5.F14.7.1.m1.2.2.2.2.2.2.2.cmml" xref="S5.F14.7.1.m1.2.2.2.2.2.2.2">𝑦</ci><ci id="S5.F14.7.1.m1.2.2.2.2.2.2.3.cmml" xref="S5.F14.7.1.m1.2.2.2.2.2.2.3">𝐹</ci></apply><apply id="S5.F14.7.1.m1.3.3.3.3.3.3.cmml" xref="S5.F14.7.1.m1.3.3.3.3.3.3"><csymbol cd="ambiguous" id="S5.F14.7.1.m1.3.3.3.3.3.3.1.cmml" xref="S5.F14.7.1.m1.3.3.3.3.3.3">subscript</csymbol><ci id="S5.F14.7.1.m1.3.3.3.3.3.3.2.cmml" xref="S5.F14.7.1.m1.3.3.3.3.3.3.2">𝜃</ci><ci id="S5.F14.7.1.m1.3.3.3.3.3.3.3.cmml" xref="S5.F14.7.1.m1.3.3.3.3.3.3.3">𝐹</ci></apply></list><ci id="S5.F14.7.1.m1.3.3.3.5.cmml" xref="S5.F14.7.1.m1.3.3.3.5">T</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.F14.7.1.m1.3d">{\mathbf{q}_{F}}=[x_{F},y_{F},\theta_{F}]^{\mathrm{T}}</annotation><annotation encoding="application/x-llamapun" id="S5.F14.7.1.m1.3e">bold_q start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT = [ italic_x start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT , italic_θ start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT</annotation></semantics></math>, where <math alttext="x_{F}" class="ltx_Math" display="inline" id="S5.F14.8.2.m2.1"><semantics id="S5.F14.8.2.m2.1b"><msub id="S5.F14.8.2.m2.1.1" xref="S5.F14.8.2.m2.1.1.cmml"><mi id="S5.F14.8.2.m2.1.1.2" xref="S5.F14.8.2.m2.1.1.2.cmml">x</mi><mi id="S5.F14.8.2.m2.1.1.3" xref="S5.F14.8.2.m2.1.1.3.cmml">F</mi></msub><annotation-xml encoding="MathML-Content" id="S5.F14.8.2.m2.1c"><apply id="S5.F14.8.2.m2.1.1.cmml" xref="S5.F14.8.2.m2.1.1"><csymbol cd="ambiguous" id="S5.F14.8.2.m2.1.1.1.cmml" xref="S5.F14.8.2.m2.1.1">subscript</csymbol><ci id="S5.F14.8.2.m2.1.1.2.cmml" xref="S5.F14.8.2.m2.1.1.2">𝑥</ci><ci id="S5.F14.8.2.m2.1.1.3.cmml" xref="S5.F14.8.2.m2.1.1.3">𝐹</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.F14.8.2.m2.1d">x_{F}</annotation><annotation encoding="application/x-llamapun" id="S5.F14.8.2.m2.1e">italic_x start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT</annotation></semantics></math> and <math alttext="y_{F}" class="ltx_Math" display="inline" id="S5.F14.9.3.m3.1"><semantics id="S5.F14.9.3.m3.1b"><msub id="S5.F14.9.3.m3.1.1" xref="S5.F14.9.3.m3.1.1.cmml"><mi id="S5.F14.9.3.m3.1.1.2" xref="S5.F14.9.3.m3.1.1.2.cmml">y</mi><mi id="S5.F14.9.3.m3.1.1.3" xref="S5.F14.9.3.m3.1.1.3.cmml">F</mi></msub><annotation-xml encoding="MathML-Content" id="S5.F14.9.3.m3.1c"><apply id="S5.F14.9.3.m3.1.1.cmml" xref="S5.F14.9.3.m3.1.1"><csymbol cd="ambiguous" id="S5.F14.9.3.m3.1.1.1.cmml" xref="S5.F14.9.3.m3.1.1">subscript</csymbol><ci id="S5.F14.9.3.m3.1.1.2.cmml" xref="S5.F14.9.3.m3.1.1.2">𝑦</ci><ci id="S5.F14.9.3.m3.1.1.3.cmml" xref="S5.F14.9.3.m3.1.1.3">𝐹</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.F14.9.3.m3.1d">y_{F}</annotation><annotation encoding="application/x-llamapun" id="S5.F14.9.3.m3.1e">italic_y start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT</annotation></semantics></math> represent the position in the 2D plane, and <math alttext="\theta_{F}" class="ltx_Math" display="inline" id="S5.F14.10.4.m4.1"><semantics id="S5.F14.10.4.m4.1b"><msub id="S5.F14.10.4.m4.1.1" xref="S5.F14.10.4.m4.1.1.cmml"><mi id="S5.F14.10.4.m4.1.1.2" xref="S5.F14.10.4.m4.1.1.2.cmml">θ</mi><mi id="S5.F14.10.4.m4.1.1.3" xref="S5.F14.10.4.m4.1.1.3.cmml">F</mi></msub><annotation-xml encoding="MathML-Content" id="S5.F14.10.4.m4.1c"><apply id="S5.F14.10.4.m4.1.1.cmml" xref="S5.F14.10.4.m4.1.1"><csymbol cd="ambiguous" id="S5.F14.10.4.m4.1.1.1.cmml" xref="S5.F14.10.4.m4.1.1">subscript</csymbol><ci id="S5.F14.10.4.m4.1.1.2.cmml" xref="S5.F14.10.4.m4.1.1.2">𝜃</ci><ci id="S5.F14.10.4.m4.1.1.3.cmml" xref="S5.F14.10.4.m4.1.1.3">𝐹</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.F14.10.4.m4.1d">\theta_{F}</annotation><annotation encoding="application/x-llamapun" id="S5.F14.10.4.m4.1e">italic_θ start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT</annotation></semantics></math> its orientation. The rear part is characterized by its own position and orientation <math alttext="{\mathbf{q}_{R}}=[x_{R},y_{R},\theta_{R}]^{\mathrm{T}}" class="ltx_Math" display="inline" id="S5.F14.11.5.m5.3"><semantics id="S5.F14.11.5.m5.3b"><mrow id="S5.F14.11.5.m5.3.3" xref="S5.F14.11.5.m5.3.3.cmml"><msub id="S5.F14.11.5.m5.3.3.5" xref="S5.F14.11.5.m5.3.3.5.cmml"><mi id="S5.F14.11.5.m5.3.3.5.2" xref="S5.F14.11.5.m5.3.3.5.2.cmml">𝐪</mi><mi id="S5.F14.11.5.m5.3.3.5.3" xref="S5.F14.11.5.m5.3.3.5.3.cmml">R</mi></msub><mo id="S5.F14.11.5.m5.3.3.4" xref="S5.F14.11.5.m5.3.3.4.cmml">=</mo><msup id="S5.F14.11.5.m5.3.3.3" xref="S5.F14.11.5.m5.3.3.3.cmml"><mrow id="S5.F14.11.5.m5.3.3.3.3.3" xref="S5.F14.11.5.m5.3.3.3.3.4.cmml"><mo id="S5.F14.11.5.m5.3.3.3.3.3.4" stretchy="false" xref="S5.F14.11.5.m5.3.3.3.3.4.cmml">[</mo><msub id="S5.F14.11.5.m5.1.1.1.1.1.1" xref="S5.F14.11.5.m5.1.1.1.1.1.1.cmml"><mi id="S5.F14.11.5.m5.1.1.1.1.1.1.2" xref="S5.F14.11.5.m5.1.1.1.1.1.1.2.cmml">x</mi><mi id="S5.F14.11.5.m5.1.1.1.1.1.1.3" xref="S5.F14.11.5.m5.1.1.1.1.1.1.3.cmml">R</mi></msub><mo id="S5.F14.11.5.m5.3.3.3.3.3.5" xref="S5.F14.11.5.m5.3.3.3.3.4.cmml">,</mo><msub id="S5.F14.11.5.m5.2.2.2.2.2.2" xref="S5.F14.11.5.m5.2.2.2.2.2.2.cmml"><mi id="S5.F14.11.5.m5.2.2.2.2.2.2.2" xref="S5.F14.11.5.m5.2.2.2.2.2.2.2.cmml">y</mi><mi id="S5.F14.11.5.m5.2.2.2.2.2.2.3" xref="S5.F14.11.5.m5.2.2.2.2.2.2.3.cmml">R</mi></msub><mo id="S5.F14.11.5.m5.3.3.3.3.3.6" xref="S5.F14.11.5.m5.3.3.3.3.4.cmml">,</mo><msub id="S5.F14.11.5.m5.3.3.3.3.3.3" xref="S5.F14.11.5.m5.3.3.3.3.3.3.cmml"><mi id="S5.F14.11.5.m5.3.3.3.3.3.3.2" xref="S5.F14.11.5.m5.3.3.3.3.3.3.2.cmml">θ</mi><mi id="S5.F14.11.5.m5.3.3.3.3.3.3.3" xref="S5.F14.11.5.m5.3.3.3.3.3.3.3.cmml">R</mi></msub><mo id="S5.F14.11.5.m5.3.3.3.3.3.7" stretchy="false" xref="S5.F14.11.5.m5.3.3.3.3.4.cmml">]</mo></mrow><mi id="S5.F14.11.5.m5.3.3.3.5" mathvariant="normal" xref="S5.F14.11.5.m5.3.3.3.5.cmml">T</mi></msup></mrow><annotation-xml encoding="MathML-Content" id="S5.F14.11.5.m5.3c"><apply id="S5.F14.11.5.m5.3.3.cmml" xref="S5.F14.11.5.m5.3.3"><eq id="S5.F14.11.5.m5.3.3.4.cmml" xref="S5.F14.11.5.m5.3.3.4"></eq><apply id="S5.F14.11.5.m5.3.3.5.cmml" xref="S5.F14.11.5.m5.3.3.5"><csymbol cd="ambiguous" id="S5.F14.11.5.m5.3.3.5.1.cmml" xref="S5.F14.11.5.m5.3.3.5">subscript</csymbol><ci id="S5.F14.11.5.m5.3.3.5.2.cmml" xref="S5.F14.11.5.m5.3.3.5.2">𝐪</ci><ci id="S5.F14.11.5.m5.3.3.5.3.cmml" xref="S5.F14.11.5.m5.3.3.5.3">𝑅</ci></apply><apply id="S5.F14.11.5.m5.3.3.3.cmml" xref="S5.F14.11.5.m5.3.3.3"><csymbol cd="ambiguous" id="S5.F14.11.5.m5.3.3.3.4.cmml" xref="S5.F14.11.5.m5.3.3.3">superscript</csymbol><list id="S5.F14.11.5.m5.3.3.3.3.4.cmml" xref="S5.F14.11.5.m5.3.3.3.3.3"><apply id="S5.F14.11.5.m5.1.1.1.1.1.1.cmml" xref="S5.F14.11.5.m5.1.1.1.1.1.1"><csymbol cd="ambiguous" id="S5.F14.11.5.m5.1.1.1.1.1.1.1.cmml" xref="S5.F14.11.5.m5.1.1.1.1.1.1">subscript</csymbol><ci id="S5.F14.11.5.m5.1.1.1.1.1.1.2.cmml" xref="S5.F14.11.5.m5.1.1.1.1.1.1.2">𝑥</ci><ci id="S5.F14.11.5.m5.1.1.1.1.1.1.3.cmml" xref="S5.F14.11.5.m5.1.1.1.1.1.1.3">𝑅</ci></apply><apply id="S5.F14.11.5.m5.2.2.2.2.2.2.cmml" xref="S5.F14.11.5.m5.2.2.2.2.2.2"><csymbol cd="ambiguous" id="S5.F14.11.5.m5.2.2.2.2.2.2.1.cmml" xref="S5.F14.11.5.m5.2.2.2.2.2.2">subscript</csymbol><ci id="S5.F14.11.5.m5.2.2.2.2.2.2.2.cmml" xref="S5.F14.11.5.m5.2.2.2.2.2.2.2">𝑦</ci><ci id="S5.F14.11.5.m5.2.2.2.2.2.2.3.cmml" xref="S5.F14.11.5.m5.2.2.2.2.2.2.3">𝑅</ci></apply><apply id="S5.F14.11.5.m5.3.3.3.3.3.3.cmml" xref="S5.F14.11.5.m5.3.3.3.3.3.3"><csymbol cd="ambiguous" id="S5.F14.11.5.m5.3.3.3.3.3.3.1.cmml" xref="S5.F14.11.5.m5.3.3.3.3.3.3">subscript</csymbol><ci id="S5.F14.11.5.m5.3.3.3.3.3.3.2.cmml" xref="S5.F14.11.5.m5.3.3.3.3.3.3.2">𝜃</ci><ci id="S5.F14.11.5.m5.3.3.3.3.3.3.3.cmml" xref="S5.F14.11.5.m5.3.3.3.3.3.3.3">𝑅</ci></apply></list><ci id="S5.F14.11.5.m5.3.3.3.5.cmml" xref="S5.F14.11.5.m5.3.3.3.5">T</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.F14.11.5.m5.3d">{\mathbf{q}_{R}}=[x_{R},y_{R},\theta_{R}]^{\mathrm{T}}</annotation><annotation encoding="application/x-llamapun" id="S5.F14.11.5.m5.3e">bold_q start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT = [ italic_x start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT , italic_θ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT</annotation></semantics></math>. The angle of the articulated steering joint is denoted by <math alttext="\gamma" class="ltx_Math" display="inline" id="S5.F14.12.6.m6.1"><semantics id="S5.F14.12.6.m6.1b"><mi id="S5.F14.12.6.m6.1.1" xref="S5.F14.12.6.m6.1.1.cmml">γ</mi><annotation-xml encoding="MathML-Content" id="S5.F14.12.6.m6.1c"><ci id="S5.F14.12.6.m6.1.1.cmml" xref="S5.F14.12.6.m6.1.1">𝛾</ci></annotation-xml><annotation encoding="application/x-tex" id="S5.F14.12.6.m6.1d">\gamma</annotation><annotation encoding="application/x-llamapun" id="S5.F14.12.6.m6.1e">italic_γ</annotation></semantics></math>.</span></figcaption> </figure> <div class="ltx_para" id="S5.SS2.SSS1.p1"> <p class="ltx_p" id="S5.SS2.SSS1.p1.9">The two parts of the vehicle chassis are connected by an articulated joint as described in Section <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S3.SS2" title="3.2 Actuation ‣ 3 System Design ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">3.2</span></a>. This allows modeling the movement on the 2D plane using articulated vehicle kinematics, as shown in Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.F14" title="Figure 14 ‣ 5.2.1 Vehicle Base Kinematics ‣ 5.2 System Models ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">14</span></a>, as</p> <table class="ltx_equation ltx_eqn_table" id="S5.E1"> <tbody><tr class="ltx_equation ltx_eqn_row ltx_align_baseline"> <td class="ltx_eqn_cell ltx_eqn_left_padleft"></td> <td class="ltx_eqn_cell ltx_align_left"><math alttext="\begin{bmatrix}\dot{x}_{F}\\ \dot{y}_{F}\\ \dot{\theta}_{F}\\ \dot{\gamma}\end{bmatrix}=\begin{bmatrix}\cos{(\theta_{F})}&0\\ \sin{(\theta_{F})}&0\\ \frac{\sin{(\gamma})}{l_{F}\cos{(\gamma)}+l_{R}}&\frac{l_{R}}{l_{F}\cos{(% \gamma)}+l_{R}}\\ 0&1\end{bmatrix}\begin{bmatrix}v\\ \dot{\gamma}\end{bmatrix}\ ," class="ltx_Math" display="block" id="S5.E1.m1.4"><semantics id="S5.E1.m1.4a"><mrow id="S5.E1.m1.4.4.1" xref="S5.E1.m1.4.4.1.1.cmml"><mrow id="S5.E1.m1.4.4.1.1" xref="S5.E1.m1.4.4.1.1.cmml"><mrow id="S5.E1.m1.1.1.3" xref="S5.E1.m1.1.1.2.cmml"><mo id="S5.E1.m1.1.1.3.1" xref="S5.E1.m1.1.1.2.1.cmml">[</mo><mtable displaystyle="true" id="S5.E1.m1.1.1.1.1" rowspacing="0pt" xref="S5.E1.m1.1.1.1.1.cmml"><mtr id="S5.E1.m1.1.1.1.1a" xref="S5.E1.m1.1.1.1.1.cmml"><mtd id="S5.E1.m1.1.1.1.1b" xref="S5.E1.m1.1.1.1.1.cmml"><msub id="S5.E1.m1.1.1.1.1.1.1.1" xref="S5.E1.m1.1.1.1.1.1.1.1.cmml"><mover accent="true" id="S5.E1.m1.1.1.1.1.1.1.1.2" xref="S5.E1.m1.1.1.1.1.1.1.1.2.cmml"><mi id="S5.E1.m1.1.1.1.1.1.1.1.2.2" xref="S5.E1.m1.1.1.1.1.1.1.1.2.2.cmml">x</mi><mo id="S5.E1.m1.1.1.1.1.1.1.1.2.1" xref="S5.E1.m1.1.1.1.1.1.1.1.2.1.cmml">˙</mo></mover><mi id="S5.E1.m1.1.1.1.1.1.1.1.3" xref="S5.E1.m1.1.1.1.1.1.1.1.3.cmml">F</mi></msub></mtd></mtr><mtr id="S5.E1.m1.1.1.1.1c" xref="S5.E1.m1.1.1.1.1.cmml"><mtd id="S5.E1.m1.1.1.1.1d" xref="S5.E1.m1.1.1.1.1.cmml"><msub id="S5.E1.m1.1.1.1.1.2.1.1" xref="S5.E1.m1.1.1.1.1.2.1.1.cmml"><mover accent="true" id="S5.E1.m1.1.1.1.1.2.1.1.2" xref="S5.E1.m1.1.1.1.1.2.1.1.2.cmml"><mi id="S5.E1.m1.1.1.1.1.2.1.1.2.2" xref="S5.E1.m1.1.1.1.1.2.1.1.2.2.cmml">y</mi><mo id="S5.E1.m1.1.1.1.1.2.1.1.2.1" xref="S5.E1.m1.1.1.1.1.2.1.1.2.1.cmml">˙</mo></mover><mi id="S5.E1.m1.1.1.1.1.2.1.1.3" xref="S5.E1.m1.1.1.1.1.2.1.1.3.cmml">F</mi></msub></mtd></mtr><mtr id="S5.E1.m1.1.1.1.1e" xref="S5.E1.m1.1.1.1.1.cmml"><mtd id="S5.E1.m1.1.1.1.1f" xref="S5.E1.m1.1.1.1.1.cmml"><msub id="S5.E1.m1.1.1.1.1.3.1.1" xref="S5.E1.m1.1.1.1.1.3.1.1.cmml"><mover accent="true" id="S5.E1.m1.1.1.1.1.3.1.1.2" xref="S5.E1.m1.1.1.1.1.3.1.1.2.cmml"><mi id="S5.E1.m1.1.1.1.1.3.1.1.2.2" xref="S5.E1.m1.1.1.1.1.3.1.1.2.2.cmml">θ</mi><mo id="S5.E1.m1.1.1.1.1.3.1.1.2.1" xref="S5.E1.m1.1.1.1.1.3.1.1.2.1.cmml">˙</mo></mover><mi id="S5.E1.m1.1.1.1.1.3.1.1.3" xref="S5.E1.m1.1.1.1.1.3.1.1.3.cmml">F</mi></msub></mtd></mtr><mtr id="S5.E1.m1.1.1.1.1g" xref="S5.E1.m1.1.1.1.1.cmml"><mtd id="S5.E1.m1.1.1.1.1h" xref="S5.E1.m1.1.1.1.1.cmml"><mover accent="true" id="S5.E1.m1.1.1.1.1.4.1.1" xref="S5.E1.m1.1.1.1.1.4.1.1.cmml"><mi id="S5.E1.m1.1.1.1.1.4.1.1.2" xref="S5.E1.m1.1.1.1.1.4.1.1.2.cmml">γ</mi><mo id="S5.E1.m1.1.1.1.1.4.1.1.1" xref="S5.E1.m1.1.1.1.1.4.1.1.1.cmml">˙</mo></mover></mtd></mtr></mtable><mo id="S5.E1.m1.1.1.3.2" xref="S5.E1.m1.1.1.2.1.cmml">]</mo></mrow><mo id="S5.E1.m1.4.4.1.1.1" xref="S5.E1.m1.4.4.1.1.1.cmml">=</mo><mrow id="S5.E1.m1.4.4.1.1.2" xref="S5.E1.m1.4.4.1.1.2.cmml"><mrow id="S5.E1.m1.2.2.3" xref="S5.E1.m1.2.2.2.cmml"><mo id="S5.E1.m1.2.2.3.1" xref="S5.E1.m1.2.2.2.1.cmml">[</mo><mtable columnspacing="5pt" displaystyle="true" id="S5.E1.m1.2.2.1.1" rowspacing="0pt" xref="S5.E1.m1.2.2.1.1.cmml"><mtr id="S5.E1.m1.2.2.1.1a" xref="S5.E1.m1.2.2.1.1.cmml"><mtd id="S5.E1.m1.2.2.1.1b" xref="S5.E1.m1.2.2.1.1.cmml"><mrow id="S5.E1.m1.2.2.1.1.2.2.2.2.2" xref="S5.E1.m1.2.2.1.1.2.2.2.2.3.cmml"><mi id="S5.E1.m1.2.2.1.1.1.1.1.1.1" xref="S5.E1.m1.2.2.1.1.1.1.1.1.1.cmml">cos</mi><mo id="S5.E1.m1.2.2.1.1.2.2.2.2.2a" xref="S5.E1.m1.2.2.1.1.2.2.2.2.3.cmml"></mo><mrow id="S5.E1.m1.2.2.1.1.2.2.2.2.2.1" xref="S5.E1.m1.2.2.1.1.2.2.2.2.3.cmml"><mo id="S5.E1.m1.2.2.1.1.2.2.2.2.2.1.2" stretchy="false" xref="S5.E1.m1.2.2.1.1.2.2.2.2.3.cmml">(</mo><msub id="S5.E1.m1.2.2.1.1.2.2.2.2.2.1.1" xref="S5.E1.m1.2.2.1.1.2.2.2.2.2.1.1.cmml"><mi id="S5.E1.m1.2.2.1.1.2.2.2.2.2.1.1.2" xref="S5.E1.m1.2.2.1.1.2.2.2.2.2.1.1.2.cmml">θ</mi><mi id="S5.E1.m1.2.2.1.1.2.2.2.2.2.1.1.3" xref="S5.E1.m1.2.2.1.1.2.2.2.2.2.1.1.3.cmml">F</mi></msub><mo id="S5.E1.m1.2.2.1.1.2.2.2.2.2.1.3" stretchy="false" xref="S5.E1.m1.2.2.1.1.2.2.2.2.3.cmml">)</mo></mrow></mrow></mtd><mtd id="S5.E1.m1.2.2.1.1c" xref="S5.E1.m1.2.2.1.1.cmml"><mn id="S5.E1.m1.2.2.1.1.2.2.3.1" xref="S5.E1.m1.2.2.1.1.2.2.3.1.cmml">0</mn></mtd></mtr><mtr id="S5.E1.m1.2.2.1.1d" xref="S5.E1.m1.2.2.1.1.cmml"><mtd id="S5.E1.m1.2.2.1.1e" xref="S5.E1.m1.2.2.1.1.cmml"><mrow id="S5.E1.m1.2.2.1.1.4.4.2.2.2" xref="S5.E1.m1.2.2.1.1.4.4.2.2.3.cmml"><mi id="S5.E1.m1.2.2.1.1.3.3.1.1.1" xref="S5.E1.m1.2.2.1.1.3.3.1.1.1.cmml">sin</mi><mo id="S5.E1.m1.2.2.1.1.4.4.2.2.2a" xref="S5.E1.m1.2.2.1.1.4.4.2.2.3.cmml"></mo><mrow id="S5.E1.m1.2.2.1.1.4.4.2.2.2.1" xref="S5.E1.m1.2.2.1.1.4.4.2.2.3.cmml"><mo id="S5.E1.m1.2.2.1.1.4.4.2.2.2.1.2" stretchy="false" xref="S5.E1.m1.2.2.1.1.4.4.2.2.3.cmml">(</mo><msub id="S5.E1.m1.2.2.1.1.4.4.2.2.2.1.1" xref="S5.E1.m1.2.2.1.1.4.4.2.2.2.1.1.cmml"><mi id="S5.E1.m1.2.2.1.1.4.4.2.2.2.1.1.2" xref="S5.E1.m1.2.2.1.1.4.4.2.2.2.1.1.2.cmml">θ</mi><mi id="S5.E1.m1.2.2.1.1.4.4.2.2.2.1.1.3" xref="S5.E1.m1.2.2.1.1.4.4.2.2.2.1.1.3.cmml">F</mi></msub><mo id="S5.E1.m1.2.2.1.1.4.4.2.2.2.1.3" stretchy="false" xref="S5.E1.m1.2.2.1.1.4.4.2.2.3.cmml">)</mo></mrow></mrow></mtd><mtd id="S5.E1.m1.2.2.1.1f" xref="S5.E1.m1.2.2.1.1.cmml"><mn id="S5.E1.m1.2.2.1.1.4.4.3.1" xref="S5.E1.m1.2.2.1.1.4.4.3.1.cmml">0</mn></mtd></mtr><mtr id="S5.E1.m1.2.2.1.1g" xref="S5.E1.m1.2.2.1.1.cmml"><mtd id="S5.E1.m1.2.2.1.1h" xref="S5.E1.m1.2.2.1.1.cmml"><mstyle displaystyle="false" id="S5.E1.m1.2.2.1.1.8.8.4.4" xref="S5.E1.m1.2.2.1.1.8.8.4.4.cmml"><mfrac id="S5.E1.m1.2.2.1.1.8.8.4.4a" xref="S5.E1.m1.2.2.1.1.8.8.4.4.cmml"><mrow id="S5.E1.m1.2.2.1.1.6.6.2.2.2.2.4" xref="S5.E1.m1.2.2.1.1.6.6.2.2.2.2.3.cmml"><mi id="S5.E1.m1.2.2.1.1.5.5.1.1.1.1.1" xref="S5.E1.m1.2.2.1.1.5.5.1.1.1.1.1.cmml">sin</mi><mo id="S5.E1.m1.2.2.1.1.6.6.2.2.2.2.4a" xref="S5.E1.m1.2.2.1.1.6.6.2.2.2.2.3.cmml"></mo><mrow id="S5.E1.m1.2.2.1.1.6.6.2.2.2.2.4.1" xref="S5.E1.m1.2.2.1.1.6.6.2.2.2.2.3.cmml"><mo id="S5.E1.m1.2.2.1.1.6.6.2.2.2.2.4.1.1" stretchy="false" xref="S5.E1.m1.2.2.1.1.6.6.2.2.2.2.3.cmml">(</mo><mi id="S5.E1.m1.2.2.1.1.6.6.2.2.2.2.2" xref="S5.E1.m1.2.2.1.1.6.6.2.2.2.2.2.cmml">γ</mi><mo id="S5.E1.m1.2.2.1.1.6.6.2.2.2.2.4.1.2" stretchy="false" xref="S5.E1.m1.2.2.1.1.6.6.2.2.2.2.3.cmml">)</mo></mrow></mrow><mrow id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.cmml"><mrow id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.cmml"><msub id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.2" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.2.cmml"><mi id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.2.2" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.2.2.cmml">l</mi><mi id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.2.3" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.2.3.cmml">F</mi></msub><mo id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.1" lspace="0.167em" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.1.cmml"></mo><mrow id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.3.2" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.3.1.cmml"><mi id="S5.E1.m1.2.2.1.1.7.7.3.3.3.3.1" xref="S5.E1.m1.2.2.1.1.7.7.3.3.3.3.1.cmml">cos</mi><mo id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.3.2a" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.3.1.cmml"></mo><mrow id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.3.2.1" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.3.1.cmml"><mo id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.3.2.1.1" stretchy="false" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.3.1.cmml">(</mo><mi id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.2" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.2.cmml">γ</mi><mo id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.3.2.1.2" stretchy="false" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.3.1.cmml">)</mo></mrow></mrow></mrow><mo id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.3" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.3.cmml">+</mo><msub id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.5" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.5.cmml"><mi id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.5.2" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.5.2.cmml">l</mi><mi id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.5.3" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.5.3.cmml">R</mi></msub></mrow></mfrac></mstyle></mtd><mtd id="S5.E1.m1.2.2.1.1i" xref="S5.E1.m1.2.2.1.1.cmml"><mstyle displaystyle="false" id="S5.E1.m1.2.2.1.1.10.10.6.2" xref="S5.E1.m1.2.2.1.1.10.10.6.2.cmml"><mfrac id="S5.E1.m1.2.2.1.1.10.10.6.2a" xref="S5.E1.m1.2.2.1.1.10.10.6.2.cmml"><msub id="S5.E1.m1.2.2.1.1.10.10.6.2.4" xref="S5.E1.m1.2.2.1.1.10.10.6.2.4.cmml"><mi id="S5.E1.m1.2.2.1.1.10.10.6.2.4.2" xref="S5.E1.m1.2.2.1.1.10.10.6.2.4.2.cmml">l</mi><mi id="S5.E1.m1.2.2.1.1.10.10.6.2.4.3" xref="S5.E1.m1.2.2.1.1.10.10.6.2.4.3.cmml">R</mi></msub><mrow id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.cmml"><mrow id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.cmml"><msub id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.2" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.2.cmml"><mi id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.2.2" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.2.2.cmml">l</mi><mi id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.2.3" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.2.3.cmml">F</mi></msub><mo id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.1" lspace="0.167em" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.1.cmml"></mo><mrow id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.3.2" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.3.1.cmml"><mi id="S5.E1.m1.2.2.1.1.9.9.5.1.1.1.1" xref="S5.E1.m1.2.2.1.1.9.9.5.1.1.1.1.cmml">cos</mi><mo id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.3.2a" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.3.1.cmml"></mo><mrow id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.3.2.1" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.3.1.cmml"><mo id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.3.2.1.1" stretchy="false" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.3.1.cmml">(</mo><mi id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.2" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.2.cmml">γ</mi><mo id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.3.2.1.2" stretchy="false" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.3.1.cmml">)</mo></mrow></mrow></mrow><mo id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.3" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.3.cmml">+</mo><msub id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.5" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.5.cmml"><mi id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.5.2" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.5.2.cmml">l</mi><mi id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.5.3" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.5.3.cmml">R</mi></msub></mrow></mfrac></mstyle></mtd></mtr><mtr id="S5.E1.m1.2.2.1.1j" xref="S5.E1.m1.2.2.1.1.cmml"><mtd id="S5.E1.m1.2.2.1.1k" xref="S5.E1.m1.2.2.1.1.cmml"><mn id="S5.E1.m1.2.2.1.1.11.1.1" xref="S5.E1.m1.2.2.1.1.11.1.1.cmml">0</mn></mtd><mtd id="S5.E1.m1.2.2.1.1l" xref="S5.E1.m1.2.2.1.1.cmml"><mn id="S5.E1.m1.2.2.1.1.11.2.1" xref="S5.E1.m1.2.2.1.1.11.2.1.cmml">1</mn></mtd></mtr></mtable><mo id="S5.E1.m1.2.2.3.2" xref="S5.E1.m1.2.2.2.1.cmml">]</mo></mrow><mo id="S5.E1.m1.4.4.1.1.2.1" xref="S5.E1.m1.4.4.1.1.2.1.cmml"></mo><mrow id="S5.E1.m1.3.3.3" xref="S5.E1.m1.3.3.2.cmml"><mo id="S5.E1.m1.3.3.3.1" xref="S5.E1.m1.3.3.2.1.cmml">[</mo><mtable displaystyle="true" id="S5.E1.m1.3.3.1.1" rowspacing="0pt" xref="S5.E1.m1.3.3.1.1.cmml"><mtr id="S5.E1.m1.3.3.1.1a" xref="S5.E1.m1.3.3.1.1.cmml"><mtd id="S5.E1.m1.3.3.1.1b" xref="S5.E1.m1.3.3.1.1.cmml"><mi id="S5.E1.m1.3.3.1.1.1.1.1" xref="S5.E1.m1.3.3.1.1.1.1.1.cmml">v</mi></mtd></mtr><mtr id="S5.E1.m1.3.3.1.1c" xref="S5.E1.m1.3.3.1.1.cmml"><mtd id="S5.E1.m1.3.3.1.1d" xref="S5.E1.m1.3.3.1.1.cmml"><mover accent="true" id="S5.E1.m1.3.3.1.1.2.1.1" xref="S5.E1.m1.3.3.1.1.2.1.1.cmml"><mi id="S5.E1.m1.3.3.1.1.2.1.1.2" xref="S5.E1.m1.3.3.1.1.2.1.1.2.cmml">γ</mi><mo id="S5.E1.m1.3.3.1.1.2.1.1.1" xref="S5.E1.m1.3.3.1.1.2.1.1.1.cmml">˙</mo></mover></mtd></mtr></mtable><mo id="S5.E1.m1.3.3.3.2" xref="S5.E1.m1.3.3.2.1.cmml">]</mo></mrow></mrow></mrow><mo id="S5.E1.m1.4.4.1.2" xref="S5.E1.m1.4.4.1.1.cmml">,</mo></mrow><annotation-xml encoding="MathML-Content" id="S5.E1.m1.4b"><apply id="S5.E1.m1.4.4.1.1.cmml" xref="S5.E1.m1.4.4.1"><eq id="S5.E1.m1.4.4.1.1.1.cmml" xref="S5.E1.m1.4.4.1.1.1"></eq><apply id="S5.E1.m1.1.1.2.cmml" xref="S5.E1.m1.1.1.3"><csymbol cd="latexml" id="S5.E1.m1.1.1.2.1.cmml" xref="S5.E1.m1.1.1.3.1">matrix</csymbol><matrix id="S5.E1.m1.1.1.1.1.cmml" xref="S5.E1.m1.1.1.1.1"><matrixrow id="S5.E1.m1.1.1.1.1a.cmml" xref="S5.E1.m1.1.1.1.1"><apply id="S5.E1.m1.1.1.1.1.1.1.1.cmml" xref="S5.E1.m1.1.1.1.1.1.1.1"><csymbol cd="ambiguous" id="S5.E1.m1.1.1.1.1.1.1.1.1.cmml" xref="S5.E1.m1.1.1.1.1.1.1.1">subscript</csymbol><apply id="S5.E1.m1.1.1.1.1.1.1.1.2.cmml" xref="S5.E1.m1.1.1.1.1.1.1.1.2"><ci id="S5.E1.m1.1.1.1.1.1.1.1.2.1.cmml" xref="S5.E1.m1.1.1.1.1.1.1.1.2.1">˙</ci><ci id="S5.E1.m1.1.1.1.1.1.1.1.2.2.cmml" xref="S5.E1.m1.1.1.1.1.1.1.1.2.2">𝑥</ci></apply><ci id="S5.E1.m1.1.1.1.1.1.1.1.3.cmml" xref="S5.E1.m1.1.1.1.1.1.1.1.3">𝐹</ci></apply></matrixrow><matrixrow id="S5.E1.m1.1.1.1.1b.cmml" xref="S5.E1.m1.1.1.1.1"><apply id="S5.E1.m1.1.1.1.1.2.1.1.cmml" xref="S5.E1.m1.1.1.1.1.2.1.1"><csymbol cd="ambiguous" id="S5.E1.m1.1.1.1.1.2.1.1.1.cmml" xref="S5.E1.m1.1.1.1.1.2.1.1">subscript</csymbol><apply id="S5.E1.m1.1.1.1.1.2.1.1.2.cmml" xref="S5.E1.m1.1.1.1.1.2.1.1.2"><ci id="S5.E1.m1.1.1.1.1.2.1.1.2.1.cmml" xref="S5.E1.m1.1.1.1.1.2.1.1.2.1">˙</ci><ci id="S5.E1.m1.1.1.1.1.2.1.1.2.2.cmml" xref="S5.E1.m1.1.1.1.1.2.1.1.2.2">𝑦</ci></apply><ci id="S5.E1.m1.1.1.1.1.2.1.1.3.cmml" xref="S5.E1.m1.1.1.1.1.2.1.1.3">𝐹</ci></apply></matrixrow><matrixrow id="S5.E1.m1.1.1.1.1c.cmml" xref="S5.E1.m1.1.1.1.1"><apply id="S5.E1.m1.1.1.1.1.3.1.1.cmml" xref="S5.E1.m1.1.1.1.1.3.1.1"><csymbol cd="ambiguous" id="S5.E1.m1.1.1.1.1.3.1.1.1.cmml" xref="S5.E1.m1.1.1.1.1.3.1.1">subscript</csymbol><apply id="S5.E1.m1.1.1.1.1.3.1.1.2.cmml" xref="S5.E1.m1.1.1.1.1.3.1.1.2"><ci id="S5.E1.m1.1.1.1.1.3.1.1.2.1.cmml" xref="S5.E1.m1.1.1.1.1.3.1.1.2.1">˙</ci><ci id="S5.E1.m1.1.1.1.1.3.1.1.2.2.cmml" xref="S5.E1.m1.1.1.1.1.3.1.1.2.2">𝜃</ci></apply><ci id="S5.E1.m1.1.1.1.1.3.1.1.3.cmml" xref="S5.E1.m1.1.1.1.1.3.1.1.3">𝐹</ci></apply></matrixrow><matrixrow id="S5.E1.m1.1.1.1.1d.cmml" xref="S5.E1.m1.1.1.1.1"><apply id="S5.E1.m1.1.1.1.1.4.1.1.cmml" xref="S5.E1.m1.1.1.1.1.4.1.1"><ci id="S5.E1.m1.1.1.1.1.4.1.1.1.cmml" xref="S5.E1.m1.1.1.1.1.4.1.1.1">˙</ci><ci id="S5.E1.m1.1.1.1.1.4.1.1.2.cmml" xref="S5.E1.m1.1.1.1.1.4.1.1.2">𝛾</ci></apply></matrixrow></matrix></apply><apply id="S5.E1.m1.4.4.1.1.2.cmml" xref="S5.E1.m1.4.4.1.1.2"><times id="S5.E1.m1.4.4.1.1.2.1.cmml" xref="S5.E1.m1.4.4.1.1.2.1"></times><apply id="S5.E1.m1.2.2.2.cmml" xref="S5.E1.m1.2.2.3"><csymbol cd="latexml" id="S5.E1.m1.2.2.2.1.cmml" xref="S5.E1.m1.2.2.3.1">matrix</csymbol><matrix id="S5.E1.m1.2.2.1.1.cmml" xref="S5.E1.m1.2.2.1.1"><matrixrow id="S5.E1.m1.2.2.1.1a.cmml" xref="S5.E1.m1.2.2.1.1"><apply id="S5.E1.m1.2.2.1.1.2.2.2.2.3.cmml" xref="S5.E1.m1.2.2.1.1.2.2.2.2.2"><cos id="S5.E1.m1.2.2.1.1.1.1.1.1.1.cmml" xref="S5.E1.m1.2.2.1.1.1.1.1.1.1"></cos><apply id="S5.E1.m1.2.2.1.1.2.2.2.2.2.1.1.cmml" xref="S5.E1.m1.2.2.1.1.2.2.2.2.2.1.1"><csymbol cd="ambiguous" id="S5.E1.m1.2.2.1.1.2.2.2.2.2.1.1.1.cmml" xref="S5.E1.m1.2.2.1.1.2.2.2.2.2.1.1">subscript</csymbol><ci id="S5.E1.m1.2.2.1.1.2.2.2.2.2.1.1.2.cmml" xref="S5.E1.m1.2.2.1.1.2.2.2.2.2.1.1.2">𝜃</ci><ci id="S5.E1.m1.2.2.1.1.2.2.2.2.2.1.1.3.cmml" xref="S5.E1.m1.2.2.1.1.2.2.2.2.2.1.1.3">𝐹</ci></apply></apply><cn id="S5.E1.m1.2.2.1.1.2.2.3.1.cmml" type="integer" xref="S5.E1.m1.2.2.1.1.2.2.3.1">0</cn></matrixrow><matrixrow id="S5.E1.m1.2.2.1.1b.cmml" xref="S5.E1.m1.2.2.1.1"><apply id="S5.E1.m1.2.2.1.1.4.4.2.2.3.cmml" xref="S5.E1.m1.2.2.1.1.4.4.2.2.2"><sin id="S5.E1.m1.2.2.1.1.3.3.1.1.1.cmml" xref="S5.E1.m1.2.2.1.1.3.3.1.1.1"></sin><apply id="S5.E1.m1.2.2.1.1.4.4.2.2.2.1.1.cmml" xref="S5.E1.m1.2.2.1.1.4.4.2.2.2.1.1"><csymbol cd="ambiguous" id="S5.E1.m1.2.2.1.1.4.4.2.2.2.1.1.1.cmml" xref="S5.E1.m1.2.2.1.1.4.4.2.2.2.1.1">subscript</csymbol><ci id="S5.E1.m1.2.2.1.1.4.4.2.2.2.1.1.2.cmml" xref="S5.E1.m1.2.2.1.1.4.4.2.2.2.1.1.2">𝜃</ci><ci id="S5.E1.m1.2.2.1.1.4.4.2.2.2.1.1.3.cmml" xref="S5.E1.m1.2.2.1.1.4.4.2.2.2.1.1.3">𝐹</ci></apply></apply><cn id="S5.E1.m1.2.2.1.1.4.4.3.1.cmml" type="integer" xref="S5.E1.m1.2.2.1.1.4.4.3.1">0</cn></matrixrow><matrixrow id="S5.E1.m1.2.2.1.1c.cmml" xref="S5.E1.m1.2.2.1.1"><apply id="S5.E1.m1.2.2.1.1.8.8.4.4.cmml" xref="S5.E1.m1.2.2.1.1.8.8.4.4"><divide id="S5.E1.m1.2.2.1.1.8.8.4.4.5.cmml" xref="S5.E1.m1.2.2.1.1.8.8.4.4"></divide><apply id="S5.E1.m1.2.2.1.1.6.6.2.2.2.2.3.cmml" xref="S5.E1.m1.2.2.1.1.6.6.2.2.2.2.4"><sin id="S5.E1.m1.2.2.1.1.5.5.1.1.1.1.1.cmml" xref="S5.E1.m1.2.2.1.1.5.5.1.1.1.1.1"></sin><ci id="S5.E1.m1.2.2.1.1.6.6.2.2.2.2.2.cmml" xref="S5.E1.m1.2.2.1.1.6.6.2.2.2.2.2">𝛾</ci></apply><apply id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.cmml" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4"><plus id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.3.cmml" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.3"></plus><apply id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.cmml" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4"><times id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.1.cmml" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.1"></times><apply id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.2.cmml" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.2"><csymbol cd="ambiguous" id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.2.1.cmml" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.2">subscript</csymbol><ci id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.2.2.cmml" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.2.2">𝑙</ci><ci id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.2.3.cmml" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.2.3">𝐹</ci></apply><apply id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.3.1.cmml" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.4.3.2"><cos id="S5.E1.m1.2.2.1.1.7.7.3.3.3.3.1.cmml" xref="S5.E1.m1.2.2.1.1.7.7.3.3.3.3.1"></cos><ci id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.2.cmml" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.2">𝛾</ci></apply></apply><apply id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.5.cmml" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.5"><csymbol cd="ambiguous" id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.5.1.cmml" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.5">subscript</csymbol><ci id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.5.2.cmml" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.5.2">𝑙</ci><ci id="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.5.3.cmml" xref="S5.E1.m1.2.2.1.1.8.8.4.4.4.4.5.3">𝑅</ci></apply></apply></apply><apply id="S5.E1.m1.2.2.1.1.10.10.6.2.cmml" xref="S5.E1.m1.2.2.1.1.10.10.6.2"><divide id="S5.E1.m1.2.2.1.1.10.10.6.2.3.cmml" xref="S5.E1.m1.2.2.1.1.10.10.6.2"></divide><apply id="S5.E1.m1.2.2.1.1.10.10.6.2.4.cmml" xref="S5.E1.m1.2.2.1.1.10.10.6.2.4"><csymbol cd="ambiguous" id="S5.E1.m1.2.2.1.1.10.10.6.2.4.1.cmml" xref="S5.E1.m1.2.2.1.1.10.10.6.2.4">subscript</csymbol><ci id="S5.E1.m1.2.2.1.1.10.10.6.2.4.2.cmml" xref="S5.E1.m1.2.2.1.1.10.10.6.2.4.2">𝑙</ci><ci id="S5.E1.m1.2.2.1.1.10.10.6.2.4.3.cmml" xref="S5.E1.m1.2.2.1.1.10.10.6.2.4.3">𝑅</ci></apply><apply id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.cmml" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2"><plus id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.3.cmml" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.3"></plus><apply id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.cmml" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4"><times id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.1.cmml" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.1"></times><apply id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.2.cmml" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.2"><csymbol cd="ambiguous" id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.2.1.cmml" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.2">subscript</csymbol><ci id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.2.2.cmml" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.2.2">𝑙</ci><ci id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.2.3.cmml" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.2.3">𝐹</ci></apply><apply id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.3.1.cmml" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.4.3.2"><cos id="S5.E1.m1.2.2.1.1.9.9.5.1.1.1.1.cmml" xref="S5.E1.m1.2.2.1.1.9.9.5.1.1.1.1"></cos><ci id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.2.cmml" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.2">𝛾</ci></apply></apply><apply id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.5.cmml" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.5"><csymbol cd="ambiguous" id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.5.1.cmml" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.5">subscript</csymbol><ci id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.5.2.cmml" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.5.2">𝑙</ci><ci id="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.5.3.cmml" xref="S5.E1.m1.2.2.1.1.10.10.6.2.2.2.5.3">𝑅</ci></apply></apply></apply></matrixrow><matrixrow id="S5.E1.m1.2.2.1.1d.cmml" xref="S5.E1.m1.2.2.1.1"><cn id="S5.E1.m1.2.2.1.1.11.1.1.cmml" type="integer" xref="S5.E1.m1.2.2.1.1.11.1.1">0</cn><cn id="S5.E1.m1.2.2.1.1.11.2.1.cmml" type="integer" xref="S5.E1.m1.2.2.1.1.11.2.1">1</cn></matrixrow></matrix></apply><apply id="S5.E1.m1.3.3.2.cmml" xref="S5.E1.m1.3.3.3"><csymbol cd="latexml" id="S5.E1.m1.3.3.2.1.cmml" xref="S5.E1.m1.3.3.3.1">matrix</csymbol><matrix id="S5.E1.m1.3.3.1.1.cmml" xref="S5.E1.m1.3.3.1.1"><matrixrow id="S5.E1.m1.3.3.1.1a.cmml" xref="S5.E1.m1.3.3.1.1"><ci id="S5.E1.m1.3.3.1.1.1.1.1.cmml" xref="S5.E1.m1.3.3.1.1.1.1.1">𝑣</ci></matrixrow><matrixrow id="S5.E1.m1.3.3.1.1b.cmml" xref="S5.E1.m1.3.3.1.1"><apply id="S5.E1.m1.3.3.1.1.2.1.1.cmml" xref="S5.E1.m1.3.3.1.1.2.1.1"><ci id="S5.E1.m1.3.3.1.1.2.1.1.1.cmml" xref="S5.E1.m1.3.3.1.1.2.1.1.1">˙</ci><ci id="S5.E1.m1.3.3.1.1.2.1.1.2.cmml" xref="S5.E1.m1.3.3.1.1.2.1.1.2">𝛾</ci></apply></matrixrow></matrix></apply></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.E1.m1.4c">\begin{bmatrix}\dot{x}_{F}\\ \dot{y}_{F}\\ \dot{\theta}_{F}\\ \dot{\gamma}\end{bmatrix}=\begin{bmatrix}\cos{(\theta_{F})}&0\\ \sin{(\theta_{F})}&0\\ \frac{\sin{(\gamma})}{l_{F}\cos{(\gamma)}+l_{R}}&\frac{l_{R}}{l_{F}\cos{(% \gamma)}+l_{R}}\\ 0&1\end{bmatrix}\begin{bmatrix}v\\ \dot{\gamma}\end{bmatrix}\ ,</annotation><annotation encoding="application/x-llamapun" id="S5.E1.m1.4d">[ start_ARG start_ROW start_CELL over˙ start_ARG italic_x end_ARG start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL over˙ start_ARG italic_y end_ARG start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL over˙ start_ARG italic_θ end_ARG start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL over˙ start_ARG italic_γ end_ARG end_CELL end_ROW end_ARG ] = [ start_ARG start_ROW start_CELL roman_cos ( italic_θ start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT ) end_CELL start_CELL 0 end_CELL end_ROW start_ROW start_CELL roman_sin ( italic_θ start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT ) end_CELL start_CELL 0 end_CELL end_ROW start_ROW start_CELL divide start_ARG roman_sin ( italic_γ ) end_ARG start_ARG italic_l start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT roman_cos ( italic_γ ) + italic_l start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT end_ARG end_CELL start_CELL divide start_ARG italic_l start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT end_ARG start_ARG italic_l start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT roman_cos ( italic_γ ) + italic_l start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT end_ARG end_CELL end_ROW start_ROW start_CELL 0 end_CELL start_CELL 1 end_CELL end_ROW end_ARG ] [ start_ARG start_ROW start_CELL italic_v end_CELL end_ROW start_ROW start_CELL over˙ start_ARG italic_γ end_ARG end_CELL end_ROW end_ARG ] ,</annotation></semantics></math></td> <td class="ltx_eqn_cell ltx_eqn_left_padright"></td> <td class="ltx_eqn_cell ltx_eqn_eqno ltx_align_middle ltx_align_right" rowspan="1"><span class="ltx_tag ltx_tag_equation ltx_align_right">(1)</span></td> </tr></tbody> </table> <p class="ltx_p" id="S5.SS2.SSS1.p1.8">where the Cartesian coordinates of the front axle are defined as <math alttext="[x_{F},y_{F}]" class="ltx_Math" display="inline" id="S5.SS2.SSS1.p1.1.m1.2"><semantics id="S5.SS2.SSS1.p1.1.m1.2a"><mrow id="S5.SS2.SSS1.p1.1.m1.2.2.2" xref="S5.SS2.SSS1.p1.1.m1.2.2.3.cmml"><mo id="S5.SS2.SSS1.p1.1.m1.2.2.2.3" stretchy="false" xref="S5.SS2.SSS1.p1.1.m1.2.2.3.cmml">[</mo><msub id="S5.SS2.SSS1.p1.1.m1.1.1.1.1" xref="S5.SS2.SSS1.p1.1.m1.1.1.1.1.cmml"><mi id="S5.SS2.SSS1.p1.1.m1.1.1.1.1.2" xref="S5.SS2.SSS1.p1.1.m1.1.1.1.1.2.cmml">x</mi><mi id="S5.SS2.SSS1.p1.1.m1.1.1.1.1.3" xref="S5.SS2.SSS1.p1.1.m1.1.1.1.1.3.cmml">F</mi></msub><mo id="S5.SS2.SSS1.p1.1.m1.2.2.2.4" xref="S5.SS2.SSS1.p1.1.m1.2.2.3.cmml">,</mo><msub id="S5.SS2.SSS1.p1.1.m1.2.2.2.2" xref="S5.SS2.SSS1.p1.1.m1.2.2.2.2.cmml"><mi id="S5.SS2.SSS1.p1.1.m1.2.2.2.2.2" xref="S5.SS2.SSS1.p1.1.m1.2.2.2.2.2.cmml">y</mi><mi id="S5.SS2.SSS1.p1.1.m1.2.2.2.2.3" xref="S5.SS2.SSS1.p1.1.m1.2.2.2.2.3.cmml">F</mi></msub><mo id="S5.SS2.SSS1.p1.1.m1.2.2.2.5" stretchy="false" xref="S5.SS2.SSS1.p1.1.m1.2.2.3.cmml">]</mo></mrow><annotation-xml encoding="MathML-Content" id="S5.SS2.SSS1.p1.1.m1.2b"><interval closure="closed" id="S5.SS2.SSS1.p1.1.m1.2.2.3.cmml" xref="S5.SS2.SSS1.p1.1.m1.2.2.2"><apply id="S5.SS2.SSS1.p1.1.m1.1.1.1.1.cmml" xref="S5.SS2.SSS1.p1.1.m1.1.1.1.1"><csymbol cd="ambiguous" id="S5.SS2.SSS1.p1.1.m1.1.1.1.1.1.cmml" xref="S5.SS2.SSS1.p1.1.m1.1.1.1.1">subscript</csymbol><ci id="S5.SS2.SSS1.p1.1.m1.1.1.1.1.2.cmml" xref="S5.SS2.SSS1.p1.1.m1.1.1.1.1.2">𝑥</ci><ci id="S5.SS2.SSS1.p1.1.m1.1.1.1.1.3.cmml" xref="S5.SS2.SSS1.p1.1.m1.1.1.1.1.3">𝐹</ci></apply><apply id="S5.SS2.SSS1.p1.1.m1.2.2.2.2.cmml" xref="S5.SS2.SSS1.p1.1.m1.2.2.2.2"><csymbol cd="ambiguous" id="S5.SS2.SSS1.p1.1.m1.2.2.2.2.1.cmml" xref="S5.SS2.SSS1.p1.1.m1.2.2.2.2">subscript</csymbol><ci id="S5.SS2.SSS1.p1.1.m1.2.2.2.2.2.cmml" xref="S5.SS2.SSS1.p1.1.m1.2.2.2.2.2">𝑦</ci><ci id="S5.SS2.SSS1.p1.1.m1.2.2.2.2.3.cmml" xref="S5.SS2.SSS1.p1.1.m1.2.2.2.2.3">𝐹</ci></apply></interval></annotation-xml><annotation encoding="application/x-tex" id="S5.SS2.SSS1.p1.1.m1.2c">[x_{F},y_{F}]</annotation><annotation encoding="application/x-llamapun" id="S5.SS2.SSS1.p1.1.m1.2d">[ italic_x start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT ]</annotation></semantics></math>, with its orientation represented by the angle <math alttext="\theta_{F}" class="ltx_Math" display="inline" id="S5.SS2.SSS1.p1.2.m2.1"><semantics id="S5.SS2.SSS1.p1.2.m2.1a"><msub id="S5.SS2.SSS1.p1.2.m2.1.1" xref="S5.SS2.SSS1.p1.2.m2.1.1.cmml"><mi id="S5.SS2.SSS1.p1.2.m2.1.1.2" xref="S5.SS2.SSS1.p1.2.m2.1.1.2.cmml">θ</mi><mi id="S5.SS2.SSS1.p1.2.m2.1.1.3" xref="S5.SS2.SSS1.p1.2.m2.1.1.3.cmml">F</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS2.SSS1.p1.2.m2.1b"><apply id="S5.SS2.SSS1.p1.2.m2.1.1.cmml" xref="S5.SS2.SSS1.p1.2.m2.1.1"><csymbol cd="ambiguous" id="S5.SS2.SSS1.p1.2.m2.1.1.1.cmml" xref="S5.SS2.SSS1.p1.2.m2.1.1">subscript</csymbol><ci id="S5.SS2.SSS1.p1.2.m2.1.1.2.cmml" xref="S5.SS2.SSS1.p1.2.m2.1.1.2">𝜃</ci><ci id="S5.SS2.SSS1.p1.2.m2.1.1.3.cmml" xref="S5.SS2.SSS1.p1.2.m2.1.1.3">𝐹</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS2.SSS1.p1.2.m2.1c">\theta_{F}</annotation><annotation encoding="application/x-llamapun" id="S5.SS2.SSS1.p1.2.m2.1d">italic_θ start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT</annotation></semantics></math>. The rear part <math alttext="{\mathbf{q}_{R}}=[x_{R},y_{R},\theta_{R}]^{\mathrm{T}}" class="ltx_Math" display="inline" id="S5.SS2.SSS1.p1.3.m3.3"><semantics id="S5.SS2.SSS1.p1.3.m3.3a"><mrow id="S5.SS2.SSS1.p1.3.m3.3.3" xref="S5.SS2.SSS1.p1.3.m3.3.3.cmml"><msub id="S5.SS2.SSS1.p1.3.m3.3.3.5" xref="S5.SS2.SSS1.p1.3.m3.3.3.5.cmml"><mi id="S5.SS2.SSS1.p1.3.m3.3.3.5.2" xref="S5.SS2.SSS1.p1.3.m3.3.3.5.2.cmml">𝐪</mi><mi id="S5.SS2.SSS1.p1.3.m3.3.3.5.3" xref="S5.SS2.SSS1.p1.3.m3.3.3.5.3.cmml">R</mi></msub><mo id="S5.SS2.SSS1.p1.3.m3.3.3.4" xref="S5.SS2.SSS1.p1.3.m3.3.3.4.cmml">=</mo><msup id="S5.SS2.SSS1.p1.3.m3.3.3.3" xref="S5.SS2.SSS1.p1.3.m3.3.3.3.cmml"><mrow id="S5.SS2.SSS1.p1.3.m3.3.3.3.3.3" xref="S5.SS2.SSS1.p1.3.m3.3.3.3.3.4.cmml"><mo id="S5.SS2.SSS1.p1.3.m3.3.3.3.3.3.4" stretchy="false" xref="S5.SS2.SSS1.p1.3.m3.3.3.3.3.4.cmml">[</mo><msub id="S5.SS2.SSS1.p1.3.m3.1.1.1.1.1.1" xref="S5.SS2.SSS1.p1.3.m3.1.1.1.1.1.1.cmml"><mi id="S5.SS2.SSS1.p1.3.m3.1.1.1.1.1.1.2" xref="S5.SS2.SSS1.p1.3.m3.1.1.1.1.1.1.2.cmml">x</mi><mi id="S5.SS2.SSS1.p1.3.m3.1.1.1.1.1.1.3" xref="S5.SS2.SSS1.p1.3.m3.1.1.1.1.1.1.3.cmml">R</mi></msub><mo id="S5.SS2.SSS1.p1.3.m3.3.3.3.3.3.5" xref="S5.SS2.SSS1.p1.3.m3.3.3.3.3.4.cmml">,</mo><msub id="S5.SS2.SSS1.p1.3.m3.2.2.2.2.2.2" xref="S5.SS2.SSS1.p1.3.m3.2.2.2.2.2.2.cmml"><mi id="S5.SS2.SSS1.p1.3.m3.2.2.2.2.2.2.2" xref="S5.SS2.SSS1.p1.3.m3.2.2.2.2.2.2.2.cmml">y</mi><mi id="S5.SS2.SSS1.p1.3.m3.2.2.2.2.2.2.3" xref="S5.SS2.SSS1.p1.3.m3.2.2.2.2.2.2.3.cmml">R</mi></msub><mo id="S5.SS2.SSS1.p1.3.m3.3.3.3.3.3.6" xref="S5.SS2.SSS1.p1.3.m3.3.3.3.3.4.cmml">,</mo><msub id="S5.SS2.SSS1.p1.3.m3.3.3.3.3.3.3" xref="S5.SS2.SSS1.p1.3.m3.3.3.3.3.3.3.cmml"><mi id="S5.SS2.SSS1.p1.3.m3.3.3.3.3.3.3.2" xref="S5.SS2.SSS1.p1.3.m3.3.3.3.3.3.3.2.cmml">θ</mi><mi id="S5.SS2.SSS1.p1.3.m3.3.3.3.3.3.3.3" xref="S5.SS2.SSS1.p1.3.m3.3.3.3.3.3.3.3.cmml">R</mi></msub><mo id="S5.SS2.SSS1.p1.3.m3.3.3.3.3.3.7" stretchy="false" xref="S5.SS2.SSS1.p1.3.m3.3.3.3.3.4.cmml">]</mo></mrow><mi id="S5.SS2.SSS1.p1.3.m3.3.3.3.5" mathvariant="normal" xref="S5.SS2.SSS1.p1.3.m3.3.3.3.5.cmml">T</mi></msup></mrow><annotation-xml encoding="MathML-Content" id="S5.SS2.SSS1.p1.3.m3.3b"><apply id="S5.SS2.SSS1.p1.3.m3.3.3.cmml" xref="S5.SS2.SSS1.p1.3.m3.3.3"><eq id="S5.SS2.SSS1.p1.3.m3.3.3.4.cmml" xref="S5.SS2.SSS1.p1.3.m3.3.3.4"></eq><apply id="S5.SS2.SSS1.p1.3.m3.3.3.5.cmml" xref="S5.SS2.SSS1.p1.3.m3.3.3.5"><csymbol cd="ambiguous" id="S5.SS2.SSS1.p1.3.m3.3.3.5.1.cmml" xref="S5.SS2.SSS1.p1.3.m3.3.3.5">subscript</csymbol><ci id="S5.SS2.SSS1.p1.3.m3.3.3.5.2.cmml" xref="S5.SS2.SSS1.p1.3.m3.3.3.5.2">𝐪</ci><ci id="S5.SS2.SSS1.p1.3.m3.3.3.5.3.cmml" xref="S5.SS2.SSS1.p1.3.m3.3.3.5.3">𝑅</ci></apply><apply id="S5.SS2.SSS1.p1.3.m3.3.3.3.cmml" xref="S5.SS2.SSS1.p1.3.m3.3.3.3"><csymbol cd="ambiguous" id="S5.SS2.SSS1.p1.3.m3.3.3.3.4.cmml" xref="S5.SS2.SSS1.p1.3.m3.3.3.3">superscript</csymbol><list id="S5.SS2.SSS1.p1.3.m3.3.3.3.3.4.cmml" xref="S5.SS2.SSS1.p1.3.m3.3.3.3.3.3"><apply id="S5.SS2.SSS1.p1.3.m3.1.1.1.1.1.1.cmml" xref="S5.SS2.SSS1.p1.3.m3.1.1.1.1.1.1"><csymbol cd="ambiguous" id="S5.SS2.SSS1.p1.3.m3.1.1.1.1.1.1.1.cmml" xref="S5.SS2.SSS1.p1.3.m3.1.1.1.1.1.1">subscript</csymbol><ci id="S5.SS2.SSS1.p1.3.m3.1.1.1.1.1.1.2.cmml" xref="S5.SS2.SSS1.p1.3.m3.1.1.1.1.1.1.2">𝑥</ci><ci id="S5.SS2.SSS1.p1.3.m3.1.1.1.1.1.1.3.cmml" xref="S5.SS2.SSS1.p1.3.m3.1.1.1.1.1.1.3">𝑅</ci></apply><apply id="S5.SS2.SSS1.p1.3.m3.2.2.2.2.2.2.cmml" xref="S5.SS2.SSS1.p1.3.m3.2.2.2.2.2.2"><csymbol cd="ambiguous" id="S5.SS2.SSS1.p1.3.m3.2.2.2.2.2.2.1.cmml" xref="S5.SS2.SSS1.p1.3.m3.2.2.2.2.2.2">subscript</csymbol><ci id="S5.SS2.SSS1.p1.3.m3.2.2.2.2.2.2.2.cmml" xref="S5.SS2.SSS1.p1.3.m3.2.2.2.2.2.2.2">𝑦</ci><ci id="S5.SS2.SSS1.p1.3.m3.2.2.2.2.2.2.3.cmml" xref="S5.SS2.SSS1.p1.3.m3.2.2.2.2.2.2.3">𝑅</ci></apply><apply id="S5.SS2.SSS1.p1.3.m3.3.3.3.3.3.3.cmml" xref="S5.SS2.SSS1.p1.3.m3.3.3.3.3.3.3"><csymbol cd="ambiguous" id="S5.SS2.SSS1.p1.3.m3.3.3.3.3.3.3.1.cmml" xref="S5.SS2.SSS1.p1.3.m3.3.3.3.3.3.3">subscript</csymbol><ci id="S5.SS2.SSS1.p1.3.m3.3.3.3.3.3.3.2.cmml" xref="S5.SS2.SSS1.p1.3.m3.3.3.3.3.3.3.2">𝜃</ci><ci id="S5.SS2.SSS1.p1.3.m3.3.3.3.3.3.3.3.cmml" xref="S5.SS2.SSS1.p1.3.m3.3.3.3.3.3.3.3">𝑅</ci></apply></list><ci id="S5.SS2.SSS1.p1.3.m3.3.3.3.5.cmml" xref="S5.SS2.SSS1.p1.3.m3.3.3.3.5">T</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS2.SSS1.p1.3.m3.3c">{\mathbf{q}_{R}}=[x_{R},y_{R},\theta_{R}]^{\mathrm{T}}</annotation><annotation encoding="application/x-llamapun" id="S5.SS2.SSS1.p1.3.m3.3d">bold_q start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT = [ italic_x start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT , italic_θ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT</annotation></semantics></math> is connected to the front part at the articulation point, with its orientation defined by <math alttext="\theta_{R}=\pi+\theta_{F}-\gamma" class="ltx_Math" display="inline" id="S5.SS2.SSS1.p1.4.m4.1"><semantics id="S5.SS2.SSS1.p1.4.m4.1a"><mrow id="S5.SS2.SSS1.p1.4.m4.1.1" xref="S5.SS2.SSS1.p1.4.m4.1.1.cmml"><msub id="S5.SS2.SSS1.p1.4.m4.1.1.2" xref="S5.SS2.SSS1.p1.4.m4.1.1.2.cmml"><mi id="S5.SS2.SSS1.p1.4.m4.1.1.2.2" xref="S5.SS2.SSS1.p1.4.m4.1.1.2.2.cmml">θ</mi><mi id="S5.SS2.SSS1.p1.4.m4.1.1.2.3" xref="S5.SS2.SSS1.p1.4.m4.1.1.2.3.cmml">R</mi></msub><mo id="S5.SS2.SSS1.p1.4.m4.1.1.1" xref="S5.SS2.SSS1.p1.4.m4.1.1.1.cmml">=</mo><mrow id="S5.SS2.SSS1.p1.4.m4.1.1.3" xref="S5.SS2.SSS1.p1.4.m4.1.1.3.cmml"><mrow id="S5.SS2.SSS1.p1.4.m4.1.1.3.2" xref="S5.SS2.SSS1.p1.4.m4.1.1.3.2.cmml"><mi id="S5.SS2.SSS1.p1.4.m4.1.1.3.2.2" xref="S5.SS2.SSS1.p1.4.m4.1.1.3.2.2.cmml">π</mi><mo id="S5.SS2.SSS1.p1.4.m4.1.1.3.2.1" xref="S5.SS2.SSS1.p1.4.m4.1.1.3.2.1.cmml">+</mo><msub id="S5.SS2.SSS1.p1.4.m4.1.1.3.2.3" xref="S5.SS2.SSS1.p1.4.m4.1.1.3.2.3.cmml"><mi id="S5.SS2.SSS1.p1.4.m4.1.1.3.2.3.2" xref="S5.SS2.SSS1.p1.4.m4.1.1.3.2.3.2.cmml">θ</mi><mi id="S5.SS2.SSS1.p1.4.m4.1.1.3.2.3.3" xref="S5.SS2.SSS1.p1.4.m4.1.1.3.2.3.3.cmml">F</mi></msub></mrow><mo id="S5.SS2.SSS1.p1.4.m4.1.1.3.1" xref="S5.SS2.SSS1.p1.4.m4.1.1.3.1.cmml">−</mo><mi id="S5.SS2.SSS1.p1.4.m4.1.1.3.3" xref="S5.SS2.SSS1.p1.4.m4.1.1.3.3.cmml">γ</mi></mrow></mrow><annotation-xml encoding="MathML-Content" id="S5.SS2.SSS1.p1.4.m4.1b"><apply id="S5.SS2.SSS1.p1.4.m4.1.1.cmml" xref="S5.SS2.SSS1.p1.4.m4.1.1"><eq id="S5.SS2.SSS1.p1.4.m4.1.1.1.cmml" xref="S5.SS2.SSS1.p1.4.m4.1.1.1"></eq><apply id="S5.SS2.SSS1.p1.4.m4.1.1.2.cmml" xref="S5.SS2.SSS1.p1.4.m4.1.1.2"><csymbol cd="ambiguous" id="S5.SS2.SSS1.p1.4.m4.1.1.2.1.cmml" xref="S5.SS2.SSS1.p1.4.m4.1.1.2">subscript</csymbol><ci id="S5.SS2.SSS1.p1.4.m4.1.1.2.2.cmml" xref="S5.SS2.SSS1.p1.4.m4.1.1.2.2">𝜃</ci><ci id="S5.SS2.SSS1.p1.4.m4.1.1.2.3.cmml" xref="S5.SS2.SSS1.p1.4.m4.1.1.2.3">𝑅</ci></apply><apply id="S5.SS2.SSS1.p1.4.m4.1.1.3.cmml" xref="S5.SS2.SSS1.p1.4.m4.1.1.3"><minus id="S5.SS2.SSS1.p1.4.m4.1.1.3.1.cmml" xref="S5.SS2.SSS1.p1.4.m4.1.1.3.1"></minus><apply id="S5.SS2.SSS1.p1.4.m4.1.1.3.2.cmml" xref="S5.SS2.SSS1.p1.4.m4.1.1.3.2"><plus id="S5.SS2.SSS1.p1.4.m4.1.1.3.2.1.cmml" xref="S5.SS2.SSS1.p1.4.m4.1.1.3.2.1"></plus><ci id="S5.SS2.SSS1.p1.4.m4.1.1.3.2.2.cmml" xref="S5.SS2.SSS1.p1.4.m4.1.1.3.2.2">𝜋</ci><apply id="S5.SS2.SSS1.p1.4.m4.1.1.3.2.3.cmml" xref="S5.SS2.SSS1.p1.4.m4.1.1.3.2.3"><csymbol cd="ambiguous" id="S5.SS2.SSS1.p1.4.m4.1.1.3.2.3.1.cmml" xref="S5.SS2.SSS1.p1.4.m4.1.1.3.2.3">subscript</csymbol><ci id="S5.SS2.SSS1.p1.4.m4.1.1.3.2.3.2.cmml" xref="S5.SS2.SSS1.p1.4.m4.1.1.3.2.3.2">𝜃</ci><ci id="S5.SS2.SSS1.p1.4.m4.1.1.3.2.3.3.cmml" xref="S5.SS2.SSS1.p1.4.m4.1.1.3.2.3.3">𝐹</ci></apply></apply><ci id="S5.SS2.SSS1.p1.4.m4.1.1.3.3.cmml" xref="S5.SS2.SSS1.p1.4.m4.1.1.3.3">𝛾</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS2.SSS1.p1.4.m4.1c">\theta_{R}=\pi+\theta_{F}-\gamma</annotation><annotation encoding="application/x-llamapun" id="S5.SS2.SSS1.p1.4.m4.1d">italic_θ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT = italic_π + italic_θ start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT - italic_γ</annotation></semantics></math>. The kinematics are characterized by the system inputs <math alttext="v" class="ltx_Math" display="inline" id="S5.SS2.SSS1.p1.5.m5.1"><semantics id="S5.SS2.SSS1.p1.5.m5.1a"><mi id="S5.SS2.SSS1.p1.5.m5.1.1" xref="S5.SS2.SSS1.p1.5.m5.1.1.cmml">v</mi><annotation-xml encoding="MathML-Content" id="S5.SS2.SSS1.p1.5.m5.1b"><ci id="S5.SS2.SSS1.p1.5.m5.1.1.cmml" xref="S5.SS2.SSS1.p1.5.m5.1.1">𝑣</ci></annotation-xml><annotation encoding="application/x-tex" id="S5.SS2.SSS1.p1.5.m5.1c">v</annotation><annotation encoding="application/x-llamapun" id="S5.SS2.SSS1.p1.5.m5.1d">italic_v</annotation></semantics></math> and <math alttext="\dot{\gamma}" class="ltx_Math" display="inline" id="S5.SS2.SSS1.p1.6.m6.1"><semantics id="S5.SS2.SSS1.p1.6.m6.1a"><mover accent="true" id="S5.SS2.SSS1.p1.6.m6.1.1" xref="S5.SS2.SSS1.p1.6.m6.1.1.cmml"><mi id="S5.SS2.SSS1.p1.6.m6.1.1.2" xref="S5.SS2.SSS1.p1.6.m6.1.1.2.cmml">γ</mi><mo id="S5.SS2.SSS1.p1.6.m6.1.1.1" xref="S5.SS2.SSS1.p1.6.m6.1.1.1.cmml">˙</mo></mover><annotation-xml encoding="MathML-Content" id="S5.SS2.SSS1.p1.6.m6.1b"><apply id="S5.SS2.SSS1.p1.6.m6.1.1.cmml" xref="S5.SS2.SSS1.p1.6.m6.1.1"><ci id="S5.SS2.SSS1.p1.6.m6.1.1.1.cmml" xref="S5.SS2.SSS1.p1.6.m6.1.1.1">˙</ci><ci id="S5.SS2.SSS1.p1.6.m6.1.1.2.cmml" xref="S5.SS2.SSS1.p1.6.m6.1.1.2">𝛾</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS2.SSS1.p1.6.m6.1c">\dot{\gamma}</annotation><annotation encoding="application/x-llamapun" id="S5.SS2.SSS1.p1.6.m6.1d">over˙ start_ARG italic_γ end_ARG</annotation></semantics></math> which are the velocity at the front axle and the steering rate, respectively. The parameters <math alttext="l_{F}" class="ltx_Math" display="inline" id="S5.SS2.SSS1.p1.7.m7.1"><semantics id="S5.SS2.SSS1.p1.7.m7.1a"><msub id="S5.SS2.SSS1.p1.7.m7.1.1" xref="S5.SS2.SSS1.p1.7.m7.1.1.cmml"><mi id="S5.SS2.SSS1.p1.7.m7.1.1.2" xref="S5.SS2.SSS1.p1.7.m7.1.1.2.cmml">l</mi><mi id="S5.SS2.SSS1.p1.7.m7.1.1.3" xref="S5.SS2.SSS1.p1.7.m7.1.1.3.cmml">F</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS2.SSS1.p1.7.m7.1b"><apply id="S5.SS2.SSS1.p1.7.m7.1.1.cmml" xref="S5.SS2.SSS1.p1.7.m7.1.1"><csymbol cd="ambiguous" id="S5.SS2.SSS1.p1.7.m7.1.1.1.cmml" xref="S5.SS2.SSS1.p1.7.m7.1.1">subscript</csymbol><ci id="S5.SS2.SSS1.p1.7.m7.1.1.2.cmml" xref="S5.SS2.SSS1.p1.7.m7.1.1.2">𝑙</ci><ci id="S5.SS2.SSS1.p1.7.m7.1.1.3.cmml" xref="S5.SS2.SSS1.p1.7.m7.1.1.3">𝐹</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS2.SSS1.p1.7.m7.1c">l_{F}</annotation><annotation encoding="application/x-llamapun" id="S5.SS2.SSS1.p1.7.m7.1d">italic_l start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT</annotation></semantics></math> and <math alttext="l_{R}" class="ltx_Math" display="inline" id="S5.SS2.SSS1.p1.8.m8.1"><semantics id="S5.SS2.SSS1.p1.8.m8.1a"><msub id="S5.SS2.SSS1.p1.8.m8.1.1" xref="S5.SS2.SSS1.p1.8.m8.1.1.cmml"><mi id="S5.SS2.SSS1.p1.8.m8.1.1.2" xref="S5.SS2.SSS1.p1.8.m8.1.1.2.cmml">l</mi><mi id="S5.SS2.SSS1.p1.8.m8.1.1.3" xref="S5.SS2.SSS1.p1.8.m8.1.1.3.cmml">R</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS2.SSS1.p1.8.m8.1b"><apply id="S5.SS2.SSS1.p1.8.m8.1.1.cmml" xref="S5.SS2.SSS1.p1.8.m8.1.1"><csymbol cd="ambiguous" id="S5.SS2.SSS1.p1.8.m8.1.1.1.cmml" xref="S5.SS2.SSS1.p1.8.m8.1.1">subscript</csymbol><ci id="S5.SS2.SSS1.p1.8.m8.1.1.2.cmml" xref="S5.SS2.SSS1.p1.8.m8.1.1.2">𝑙</ci><ci id="S5.SS2.SSS1.p1.8.m8.1.1.3.cmml" xref="S5.SS2.SSS1.p1.8.m8.1.1.3">𝑅</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS2.SSS1.p1.8.m8.1c">l_{R}</annotation><annotation encoding="application/x-llamapun" id="S5.SS2.SSS1.p1.8.m8.1d">italic_l start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT</annotation></semantics></math> are the center-to-axle distances from the front as well as the rear axle to the articulation point.</p> </div> <div class="ltx_para" id="S5.SS2.SSS1.p2"> <p class="ltx_p" id="S5.SS2.SSS1.p2.1">These kinematic equations, which model the motion of the vehicle in the 2D plane, are essential for path planning and vehicle base motion control. Extending this model to account for motion in 3D for steep terrain is an ongoing area of research and a focus of future work.</p> </div> </section> <section class="ltx_subsubsection" id="S5.SS2.SSS2"> <h4 class="ltx_title ltx_title_subsubsection"> <span class="ltx_tag ltx_tag_subsubsection">5.2.2 </span>Hydraulic Modeling</h4> <figure class="ltx_figure" id="S5.F15"> <div class="ltx_flex_figure"> <div class="ltx_flex_cell ltx_flex_size_4"> <figure class="ltx_figure ltx_figure_panel ltx_align_center" id="S5.F15.sf1"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_landscape" height="566" id="S5.F15.sf1.g1" src="x12.png" width="831"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S5.F15.sf1.2.1.1" style="font-size:90%;">(a)</span> </span><span class="ltx_text" id="S5.F15.sf1.3.2" style="font-size:90%;">Drive</span></figcaption> </figure> </div> <div class="ltx_flex_cell ltx_flex_size_4"> <figure class="ltx_figure ltx_figure_panel ltx_align_center" id="S5.F15.sf2"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_landscape" height="566" id="S5.F15.sf2.g1" src="x13.png" width="831"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S5.F15.sf2.2.1.1" style="font-size:90%;">(b)</span> </span><span class="ltx_text" id="S5.F15.sf2.3.2" style="font-size:90%;">Steer</span></figcaption> </figure> </div> <div class="ltx_flex_cell ltx_flex_size_4"> <figure class="ltx_figure ltx_figure_panel ltx_align_center" id="S5.F15.sf3"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_landscape" height="566" id="S5.F15.sf3.g1" src="x14.png" width="831"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S5.F15.sf3.2.1.1" style="font-size:90%;">(c)</span> </span><span class="ltx_text" id="S5.F15.sf3.3.2" style="font-size:90%;">Lift</span></figcaption> </figure> </div> <div class="ltx_flex_cell ltx_flex_size_4"> <figure class="ltx_figure ltx_figure_panel ltx_align_center" id="S5.F15.sf4"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_landscape" height="566" id="S5.F15.sf4.g1" src="x15.png" width="831"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S5.F15.sf4.2.1.1" style="font-size:90%;">(d)</span> </span><span class="ltx_text" id="S5.F15.sf4.3.2" style="font-size:90%;">Shift</span></figcaption> </figure> </div> </div> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S5.F15.8.4.1" style="font-size:90%;">Figure 15</span>: </span><span class="ltx_text" id="S5.F15.6.3" style="font-size:90%;">Results for modeling the hydraulic drive as well as the hydraulic cylinders showing the measured system output <math alttext="y_{i}" class="ltx_Math" display="inline" id="S5.F15.4.1.m1.1"><semantics id="S5.F15.4.1.m1.1b"><msub id="S5.F15.4.1.m1.1.1" xref="S5.F15.4.1.m1.1.1.cmml"><mi id="S5.F15.4.1.m1.1.1.2" xref="S5.F15.4.1.m1.1.1.2.cmml">y</mi><mi id="S5.F15.4.1.m1.1.1.3" xref="S5.F15.4.1.m1.1.1.3.cmml">i</mi></msub><annotation-xml encoding="MathML-Content" id="S5.F15.4.1.m1.1c"><apply id="S5.F15.4.1.m1.1.1.cmml" xref="S5.F15.4.1.m1.1.1"><csymbol cd="ambiguous" id="S5.F15.4.1.m1.1.1.1.cmml" xref="S5.F15.4.1.m1.1.1">subscript</csymbol><ci id="S5.F15.4.1.m1.1.1.2.cmml" xref="S5.F15.4.1.m1.1.1.2">𝑦</ci><ci id="S5.F15.4.1.m1.1.1.3.cmml" xref="S5.F15.4.1.m1.1.1.3">𝑖</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.F15.4.1.m1.1d">y_{i}</annotation><annotation encoding="application/x-llamapun" id="S5.F15.4.1.m1.1e">italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT</annotation></semantics></math> compared to the estimated system output <math alttext="\hat{y_{i}}" class="ltx_Math" display="inline" id="S5.F15.5.2.m2.1"><semantics id="S5.F15.5.2.m2.1b"><mover accent="true" id="S5.F15.5.2.m2.1.1" xref="S5.F15.5.2.m2.1.1.cmml"><msub id="S5.F15.5.2.m2.1.1.2" xref="S5.F15.5.2.m2.1.1.2.cmml"><mi id="S5.F15.5.2.m2.1.1.2.2" xref="S5.F15.5.2.m2.1.1.2.2.cmml">y</mi><mi id="S5.F15.5.2.m2.1.1.2.3" xref="S5.F15.5.2.m2.1.1.2.3.cmml">i</mi></msub><mo id="S5.F15.5.2.m2.1.1.1" xref="S5.F15.5.2.m2.1.1.1.cmml">^</mo></mover><annotation-xml encoding="MathML-Content" id="S5.F15.5.2.m2.1c"><apply id="S5.F15.5.2.m2.1.1.cmml" xref="S5.F15.5.2.m2.1.1"><ci id="S5.F15.5.2.m2.1.1.1.cmml" xref="S5.F15.5.2.m2.1.1.1">^</ci><apply id="S5.F15.5.2.m2.1.1.2.cmml" xref="S5.F15.5.2.m2.1.1.2"><csymbol cd="ambiguous" id="S5.F15.5.2.m2.1.1.2.1.cmml" xref="S5.F15.5.2.m2.1.1.2">subscript</csymbol><ci id="S5.F15.5.2.m2.1.1.2.2.cmml" xref="S5.F15.5.2.m2.1.1.2.2">𝑦</ci><ci id="S5.F15.5.2.m2.1.1.2.3.cmml" xref="S5.F15.5.2.m2.1.1.2.3">𝑖</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.F15.5.2.m2.1d">\hat{y_{i}}</annotation><annotation encoding="application/x-llamapun" id="S5.F15.5.2.m2.1e">over^ start_ARG italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG</annotation></semantics></math>, calculated from the actuation command with <math alttext="i\in\{v,\gamma,l,s\}" class="ltx_Math" display="inline" id="S5.F15.6.3.m3.4"><semantics id="S5.F15.6.3.m3.4b"><mrow id="S5.F15.6.3.m3.4.5" xref="S5.F15.6.3.m3.4.5.cmml"><mi id="S5.F15.6.3.m3.4.5.2" xref="S5.F15.6.3.m3.4.5.2.cmml">i</mi><mo id="S5.F15.6.3.m3.4.5.1" xref="S5.F15.6.3.m3.4.5.1.cmml">∈</mo><mrow id="S5.F15.6.3.m3.4.5.3.2" xref="S5.F15.6.3.m3.4.5.3.1.cmml"><mo id="S5.F15.6.3.m3.4.5.3.2.1" stretchy="false" xref="S5.F15.6.3.m3.4.5.3.1.cmml">{</mo><mi id="S5.F15.6.3.m3.1.1" xref="S5.F15.6.3.m3.1.1.cmml">v</mi><mo id="S5.F15.6.3.m3.4.5.3.2.2" xref="S5.F15.6.3.m3.4.5.3.1.cmml">,</mo><mi id="S5.F15.6.3.m3.2.2" xref="S5.F15.6.3.m3.2.2.cmml">γ</mi><mo id="S5.F15.6.3.m3.4.5.3.2.3" xref="S5.F15.6.3.m3.4.5.3.1.cmml">,</mo><mi id="S5.F15.6.3.m3.3.3" xref="S5.F15.6.3.m3.3.3.cmml">l</mi><mo id="S5.F15.6.3.m3.4.5.3.2.4" xref="S5.F15.6.3.m3.4.5.3.1.cmml">,</mo><mi id="S5.F15.6.3.m3.4.4" xref="S5.F15.6.3.m3.4.4.cmml">s</mi><mo id="S5.F15.6.3.m3.4.5.3.2.5" stretchy="false" xref="S5.F15.6.3.m3.4.5.3.1.cmml">}</mo></mrow></mrow><annotation-xml encoding="MathML-Content" id="S5.F15.6.3.m3.4c"><apply id="S5.F15.6.3.m3.4.5.cmml" xref="S5.F15.6.3.m3.4.5"><in id="S5.F15.6.3.m3.4.5.1.cmml" xref="S5.F15.6.3.m3.4.5.1"></in><ci id="S5.F15.6.3.m3.4.5.2.cmml" xref="S5.F15.6.3.m3.4.5.2">𝑖</ci><set id="S5.F15.6.3.m3.4.5.3.1.cmml" xref="S5.F15.6.3.m3.4.5.3.2"><ci id="S5.F15.6.3.m3.1.1.cmml" xref="S5.F15.6.3.m3.1.1">𝑣</ci><ci id="S5.F15.6.3.m3.2.2.cmml" xref="S5.F15.6.3.m3.2.2">𝛾</ci><ci id="S5.F15.6.3.m3.3.3.cmml" xref="S5.F15.6.3.m3.3.3">𝑙</ci><ci id="S5.F15.6.3.m3.4.4.cmml" xref="S5.F15.6.3.m3.4.4">𝑠</ci></set></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.F15.6.3.m3.4d">i\in\{v,\gamma,l,s\}</annotation><annotation encoding="application/x-llamapun" id="S5.F15.6.3.m3.4e">italic_i ∈ { italic_v , italic_γ , italic_l , italic_s }</annotation></semantics></math>. (a)-(b) show data from a path following scenario, where as (c)-(d) show a pallet pickup maneuver.</span></figcaption> </figure> <div class="ltx_para" id="S5.SS2.SSS2.p1"> <p class="ltx_p" id="S5.SS2.SSS2.p1.2">The flow rate of the hydraulic fluid in the hydrostatic four-wheel drive system is determined by the duty cycle of a PWM signal <math alttext="u_{v}" class="ltx_Math" display="inline" id="S5.SS2.SSS2.p1.1.m1.1"><semantics id="S5.SS2.SSS2.p1.1.m1.1a"><msub id="S5.SS2.SSS2.p1.1.m1.1.1" xref="S5.SS2.SSS2.p1.1.m1.1.1.cmml"><mi id="S5.SS2.SSS2.p1.1.m1.1.1.2" xref="S5.SS2.SSS2.p1.1.m1.1.1.2.cmml">u</mi><mi id="S5.SS2.SSS2.p1.1.m1.1.1.3" xref="S5.SS2.SSS2.p1.1.m1.1.1.3.cmml">v</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS2.SSS2.p1.1.m1.1b"><apply id="S5.SS2.SSS2.p1.1.m1.1.1.cmml" xref="S5.SS2.SSS2.p1.1.m1.1.1"><csymbol cd="ambiguous" id="S5.SS2.SSS2.p1.1.m1.1.1.1.cmml" xref="S5.SS2.SSS2.p1.1.m1.1.1">subscript</csymbol><ci id="S5.SS2.SSS2.p1.1.m1.1.1.2.cmml" xref="S5.SS2.SSS2.p1.1.m1.1.1.2">𝑢</ci><ci id="S5.SS2.SSS2.p1.1.m1.1.1.3.cmml" xref="S5.SS2.SSS2.p1.1.m1.1.1.3">𝑣</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS2.SSS2.p1.1.m1.1c">u_{v}</annotation><annotation encoding="application/x-llamapun" id="S5.SS2.SSS2.p1.1.m1.1d">italic_u start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT</annotation></semantics></math>, which has a nearly linear relation to the wheel velocity <math alttext="y_{v}" class="ltx_Math" display="inline" id="S5.SS2.SSS2.p1.2.m2.1"><semantics id="S5.SS2.SSS2.p1.2.m2.1a"><msub id="S5.SS2.SSS2.p1.2.m2.1.1" xref="S5.SS2.SSS2.p1.2.m2.1.1.cmml"><mi id="S5.SS2.SSS2.p1.2.m2.1.1.2" xref="S5.SS2.SSS2.p1.2.m2.1.1.2.cmml">y</mi><mi id="S5.SS2.SSS2.p1.2.m2.1.1.3" xref="S5.SS2.SSS2.p1.2.m2.1.1.3.cmml">v</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS2.SSS2.p1.2.m2.1b"><apply id="S5.SS2.SSS2.p1.2.m2.1.1.cmml" xref="S5.SS2.SSS2.p1.2.m2.1.1"><csymbol cd="ambiguous" id="S5.SS2.SSS2.p1.2.m2.1.1.1.cmml" xref="S5.SS2.SSS2.p1.2.m2.1.1">subscript</csymbol><ci id="S5.SS2.SSS2.p1.2.m2.1.1.2.cmml" xref="S5.SS2.SSS2.p1.2.m2.1.1.2">𝑦</ci><ci id="S5.SS2.SSS2.p1.2.m2.1.1.3.cmml" xref="S5.SS2.SSS2.p1.2.m2.1.1.3">𝑣</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS2.SSS2.p1.2.m2.1c">y_{v}</annotation><annotation encoding="application/x-llamapun" id="S5.SS2.SSS2.p1.2.m2.1d">italic_y start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT</annotation></semantics></math>. This is modeled by</p> <table class="ltx_equation ltx_eqn_table" id="S5.E2"> <tbody><tr class="ltx_equation ltx_eqn_row ltx_align_baseline"> <td class="ltx_eqn_cell ltx_eqn_left_padleft"></td> <td class="ltx_eqn_cell ltx_align_left"><math alttext="\hat{y}_{v}(t)=K_{1}\cdot u_{v}(t)+K_{0}\ ," class="ltx_Math" display="block" id="S5.E2.m1.3"><semantics id="S5.E2.m1.3a"><mrow id="S5.E2.m1.3.3.1" xref="S5.E2.m1.3.3.1.1.cmml"><mrow id="S5.E2.m1.3.3.1.1" xref="S5.E2.m1.3.3.1.1.cmml"><mrow id="S5.E2.m1.3.3.1.1.2" xref="S5.E2.m1.3.3.1.1.2.cmml"><msub id="S5.E2.m1.3.3.1.1.2.2" xref="S5.E2.m1.3.3.1.1.2.2.cmml"><mover accent="true" id="S5.E2.m1.3.3.1.1.2.2.2" xref="S5.E2.m1.3.3.1.1.2.2.2.cmml"><mi id="S5.E2.m1.3.3.1.1.2.2.2.2" xref="S5.E2.m1.3.3.1.1.2.2.2.2.cmml">y</mi><mo id="S5.E2.m1.3.3.1.1.2.2.2.1" xref="S5.E2.m1.3.3.1.1.2.2.2.1.cmml">^</mo></mover><mi id="S5.E2.m1.3.3.1.1.2.2.3" xref="S5.E2.m1.3.3.1.1.2.2.3.cmml">v</mi></msub><mo id="S5.E2.m1.3.3.1.1.2.1" xref="S5.E2.m1.3.3.1.1.2.1.cmml"></mo><mrow id="S5.E2.m1.3.3.1.1.2.3.2" xref="S5.E2.m1.3.3.1.1.2.cmml"><mo id="S5.E2.m1.3.3.1.1.2.3.2.1" stretchy="false" xref="S5.E2.m1.3.3.1.1.2.cmml">(</mo><mi id="S5.E2.m1.1.1" xref="S5.E2.m1.1.1.cmml">t</mi><mo id="S5.E2.m1.3.3.1.1.2.3.2.2" stretchy="false" xref="S5.E2.m1.3.3.1.1.2.cmml">)</mo></mrow></mrow><mo id="S5.E2.m1.3.3.1.1.1" xref="S5.E2.m1.3.3.1.1.1.cmml">=</mo><mrow id="S5.E2.m1.3.3.1.1.3" xref="S5.E2.m1.3.3.1.1.3.cmml"><mrow id="S5.E2.m1.3.3.1.1.3.2" xref="S5.E2.m1.3.3.1.1.3.2.cmml"><mrow id="S5.E2.m1.3.3.1.1.3.2.2" xref="S5.E2.m1.3.3.1.1.3.2.2.cmml"><msub id="S5.E2.m1.3.3.1.1.3.2.2.2" xref="S5.E2.m1.3.3.1.1.3.2.2.2.cmml"><mi id="S5.E2.m1.3.3.1.1.3.2.2.2.2" xref="S5.E2.m1.3.3.1.1.3.2.2.2.2.cmml">K</mi><mn id="S5.E2.m1.3.3.1.1.3.2.2.2.3" xref="S5.E2.m1.3.3.1.1.3.2.2.2.3.cmml">1</mn></msub><mo id="S5.E2.m1.3.3.1.1.3.2.2.1" lspace="0.222em" rspace="0.222em" xref="S5.E2.m1.3.3.1.1.3.2.2.1.cmml">⋅</mo><msub id="S5.E2.m1.3.3.1.1.3.2.2.3" xref="S5.E2.m1.3.3.1.1.3.2.2.3.cmml"><mi id="S5.E2.m1.3.3.1.1.3.2.2.3.2" xref="S5.E2.m1.3.3.1.1.3.2.2.3.2.cmml">u</mi><mi id="S5.E2.m1.3.3.1.1.3.2.2.3.3" xref="S5.E2.m1.3.3.1.1.3.2.2.3.3.cmml">v</mi></msub></mrow><mo id="S5.E2.m1.3.3.1.1.3.2.1" xref="S5.E2.m1.3.3.1.1.3.2.1.cmml"></mo><mrow id="S5.E2.m1.3.3.1.1.3.2.3.2" xref="S5.E2.m1.3.3.1.1.3.2.cmml"><mo id="S5.E2.m1.3.3.1.1.3.2.3.2.1" stretchy="false" xref="S5.E2.m1.3.3.1.1.3.2.cmml">(</mo><mi id="S5.E2.m1.2.2" xref="S5.E2.m1.2.2.cmml">t</mi><mo id="S5.E2.m1.3.3.1.1.3.2.3.2.2" stretchy="false" xref="S5.E2.m1.3.3.1.1.3.2.cmml">)</mo></mrow></mrow><mo id="S5.E2.m1.3.3.1.1.3.1" xref="S5.E2.m1.3.3.1.1.3.1.cmml">+</mo><msub id="S5.E2.m1.3.3.1.1.3.3" xref="S5.E2.m1.3.3.1.1.3.3.cmml"><mi id="S5.E2.m1.3.3.1.1.3.3.2" xref="S5.E2.m1.3.3.1.1.3.3.2.cmml">K</mi><mn id="S5.E2.m1.3.3.1.1.3.3.3" xref="S5.E2.m1.3.3.1.1.3.3.3.cmml">0</mn></msub></mrow></mrow><mo id="S5.E2.m1.3.3.1.2" xref="S5.E2.m1.3.3.1.1.cmml">,</mo></mrow><annotation-xml encoding="MathML-Content" id="S5.E2.m1.3b"><apply id="S5.E2.m1.3.3.1.1.cmml" xref="S5.E2.m1.3.3.1"><eq id="S5.E2.m1.3.3.1.1.1.cmml" xref="S5.E2.m1.3.3.1.1.1"></eq><apply id="S5.E2.m1.3.3.1.1.2.cmml" xref="S5.E2.m1.3.3.1.1.2"><times id="S5.E2.m1.3.3.1.1.2.1.cmml" xref="S5.E2.m1.3.3.1.1.2.1"></times><apply id="S5.E2.m1.3.3.1.1.2.2.cmml" xref="S5.E2.m1.3.3.1.1.2.2"><csymbol cd="ambiguous" id="S5.E2.m1.3.3.1.1.2.2.1.cmml" xref="S5.E2.m1.3.3.1.1.2.2">subscript</csymbol><apply id="S5.E2.m1.3.3.1.1.2.2.2.cmml" xref="S5.E2.m1.3.3.1.1.2.2.2"><ci id="S5.E2.m1.3.3.1.1.2.2.2.1.cmml" xref="S5.E2.m1.3.3.1.1.2.2.2.1">^</ci><ci id="S5.E2.m1.3.3.1.1.2.2.2.2.cmml" xref="S5.E2.m1.3.3.1.1.2.2.2.2">𝑦</ci></apply><ci id="S5.E2.m1.3.3.1.1.2.2.3.cmml" xref="S5.E2.m1.3.3.1.1.2.2.3">𝑣</ci></apply><ci id="S5.E2.m1.1.1.cmml" xref="S5.E2.m1.1.1">𝑡</ci></apply><apply id="S5.E2.m1.3.3.1.1.3.cmml" xref="S5.E2.m1.3.3.1.1.3"><plus id="S5.E2.m1.3.3.1.1.3.1.cmml" xref="S5.E2.m1.3.3.1.1.3.1"></plus><apply id="S5.E2.m1.3.3.1.1.3.2.cmml" xref="S5.E2.m1.3.3.1.1.3.2"><times id="S5.E2.m1.3.3.1.1.3.2.1.cmml" xref="S5.E2.m1.3.3.1.1.3.2.1"></times><apply id="S5.E2.m1.3.3.1.1.3.2.2.cmml" xref="S5.E2.m1.3.3.1.1.3.2.2"><ci id="S5.E2.m1.3.3.1.1.3.2.2.1.cmml" xref="S5.E2.m1.3.3.1.1.3.2.2.1">⋅</ci><apply id="S5.E2.m1.3.3.1.1.3.2.2.2.cmml" xref="S5.E2.m1.3.3.1.1.3.2.2.2"><csymbol cd="ambiguous" id="S5.E2.m1.3.3.1.1.3.2.2.2.1.cmml" xref="S5.E2.m1.3.3.1.1.3.2.2.2">subscript</csymbol><ci id="S5.E2.m1.3.3.1.1.3.2.2.2.2.cmml" xref="S5.E2.m1.3.3.1.1.3.2.2.2.2">𝐾</ci><cn id="S5.E2.m1.3.3.1.1.3.2.2.2.3.cmml" type="integer" xref="S5.E2.m1.3.3.1.1.3.2.2.2.3">1</cn></apply><apply id="S5.E2.m1.3.3.1.1.3.2.2.3.cmml" xref="S5.E2.m1.3.3.1.1.3.2.2.3"><csymbol cd="ambiguous" id="S5.E2.m1.3.3.1.1.3.2.2.3.1.cmml" xref="S5.E2.m1.3.3.1.1.3.2.2.3">subscript</csymbol><ci id="S5.E2.m1.3.3.1.1.3.2.2.3.2.cmml" xref="S5.E2.m1.3.3.1.1.3.2.2.3.2">𝑢</ci><ci id="S5.E2.m1.3.3.1.1.3.2.2.3.3.cmml" xref="S5.E2.m1.3.3.1.1.3.2.2.3.3">𝑣</ci></apply></apply><ci id="S5.E2.m1.2.2.cmml" xref="S5.E2.m1.2.2">𝑡</ci></apply><apply id="S5.E2.m1.3.3.1.1.3.3.cmml" xref="S5.E2.m1.3.3.1.1.3.3"><csymbol cd="ambiguous" id="S5.E2.m1.3.3.1.1.3.3.1.cmml" xref="S5.E2.m1.3.3.1.1.3.3">subscript</csymbol><ci id="S5.E2.m1.3.3.1.1.3.3.2.cmml" xref="S5.E2.m1.3.3.1.1.3.3.2">𝐾</ci><cn id="S5.E2.m1.3.3.1.1.3.3.3.cmml" type="integer" xref="S5.E2.m1.3.3.1.1.3.3.3">0</cn></apply></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.E2.m1.3c">\hat{y}_{v}(t)=K_{1}\cdot u_{v}(t)+K_{0}\ ,</annotation><annotation encoding="application/x-llamapun" id="S5.E2.m1.3d">over^ start_ARG italic_y end_ARG start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT ( italic_t ) = italic_K start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ⋅ italic_u start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT ( italic_t ) + italic_K start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ,</annotation></semantics></math></td> <td class="ltx_eqn_cell ltx_eqn_left_padright"></td> <td class="ltx_eqn_cell ltx_eqn_eqno ltx_align_middle ltx_align_right" rowspan="1"><span class="ltx_tag ltx_tag_equation ltx_align_right">(2)</span></td> </tr></tbody> </table> <p class="ltx_p" id="S5.SS2.SSS2.p1.7">with the estimated velocity <math alttext="\hat{y}_{v}" class="ltx_Math" display="inline" id="S5.SS2.SSS2.p1.3.m1.1"><semantics id="S5.SS2.SSS2.p1.3.m1.1a"><msub id="S5.SS2.SSS2.p1.3.m1.1.1" xref="S5.SS2.SSS2.p1.3.m1.1.1.cmml"><mover accent="true" id="S5.SS2.SSS2.p1.3.m1.1.1.2" xref="S5.SS2.SSS2.p1.3.m1.1.1.2.cmml"><mi id="S5.SS2.SSS2.p1.3.m1.1.1.2.2" xref="S5.SS2.SSS2.p1.3.m1.1.1.2.2.cmml">y</mi><mo id="S5.SS2.SSS2.p1.3.m1.1.1.2.1" xref="S5.SS2.SSS2.p1.3.m1.1.1.2.1.cmml">^</mo></mover><mi id="S5.SS2.SSS2.p1.3.m1.1.1.3" xref="S5.SS2.SSS2.p1.3.m1.1.1.3.cmml">v</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS2.SSS2.p1.3.m1.1b"><apply id="S5.SS2.SSS2.p1.3.m1.1.1.cmml" xref="S5.SS2.SSS2.p1.3.m1.1.1"><csymbol cd="ambiguous" id="S5.SS2.SSS2.p1.3.m1.1.1.1.cmml" xref="S5.SS2.SSS2.p1.3.m1.1.1">subscript</csymbol><apply id="S5.SS2.SSS2.p1.3.m1.1.1.2.cmml" xref="S5.SS2.SSS2.p1.3.m1.1.1.2"><ci id="S5.SS2.SSS2.p1.3.m1.1.1.2.1.cmml" xref="S5.SS2.SSS2.p1.3.m1.1.1.2.1">^</ci><ci id="S5.SS2.SSS2.p1.3.m1.1.1.2.2.cmml" xref="S5.SS2.SSS2.p1.3.m1.1.1.2.2">𝑦</ci></apply><ci id="S5.SS2.SSS2.p1.3.m1.1.1.3.cmml" xref="S5.SS2.SSS2.p1.3.m1.1.1.3">𝑣</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS2.SSS2.p1.3.m1.1c">\hat{y}_{v}</annotation><annotation encoding="application/x-llamapun" id="S5.SS2.SSS2.p1.3.m1.1d">over^ start_ARG italic_y end_ARG start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT</annotation></semantics></math>. The parameterization of the constants <math alttext="K_{0}" class="ltx_Math" display="inline" id="S5.SS2.SSS2.p1.4.m2.1"><semantics id="S5.SS2.SSS2.p1.4.m2.1a"><msub id="S5.SS2.SSS2.p1.4.m2.1.1" xref="S5.SS2.SSS2.p1.4.m2.1.1.cmml"><mi id="S5.SS2.SSS2.p1.4.m2.1.1.2" xref="S5.SS2.SSS2.p1.4.m2.1.1.2.cmml">K</mi><mn id="S5.SS2.SSS2.p1.4.m2.1.1.3" xref="S5.SS2.SSS2.p1.4.m2.1.1.3.cmml">0</mn></msub><annotation-xml encoding="MathML-Content" id="S5.SS2.SSS2.p1.4.m2.1b"><apply id="S5.SS2.SSS2.p1.4.m2.1.1.cmml" xref="S5.SS2.SSS2.p1.4.m2.1.1"><csymbol cd="ambiguous" id="S5.SS2.SSS2.p1.4.m2.1.1.1.cmml" xref="S5.SS2.SSS2.p1.4.m2.1.1">subscript</csymbol><ci id="S5.SS2.SSS2.p1.4.m2.1.1.2.cmml" xref="S5.SS2.SSS2.p1.4.m2.1.1.2">𝐾</ci><cn id="S5.SS2.SSS2.p1.4.m2.1.1.3.cmml" type="integer" xref="S5.SS2.SSS2.p1.4.m2.1.1.3">0</cn></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS2.SSS2.p1.4.m2.1c">K_{0}</annotation><annotation encoding="application/x-llamapun" id="S5.SS2.SSS2.p1.4.m2.1d">italic_K start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT</annotation></semantics></math> and <math alttext="K_{1}" class="ltx_Math" display="inline" id="S5.SS2.SSS2.p1.5.m3.1"><semantics id="S5.SS2.SSS2.p1.5.m3.1a"><msub id="S5.SS2.SSS2.p1.5.m3.1.1" xref="S5.SS2.SSS2.p1.5.m3.1.1.cmml"><mi id="S5.SS2.SSS2.p1.5.m3.1.1.2" xref="S5.SS2.SSS2.p1.5.m3.1.1.2.cmml">K</mi><mn id="S5.SS2.SSS2.p1.5.m3.1.1.3" xref="S5.SS2.SSS2.p1.5.m3.1.1.3.cmml">1</mn></msub><annotation-xml encoding="MathML-Content" id="S5.SS2.SSS2.p1.5.m3.1b"><apply id="S5.SS2.SSS2.p1.5.m3.1.1.cmml" xref="S5.SS2.SSS2.p1.5.m3.1.1"><csymbol cd="ambiguous" id="S5.SS2.SSS2.p1.5.m3.1.1.1.cmml" xref="S5.SS2.SSS2.p1.5.m3.1.1">subscript</csymbol><ci id="S5.SS2.SSS2.p1.5.m3.1.1.2.cmml" xref="S5.SS2.SSS2.p1.5.m3.1.1.2">𝐾</ci><cn id="S5.SS2.SSS2.p1.5.m3.1.1.3.cmml" type="integer" xref="S5.SS2.SSS2.p1.5.m3.1.1.3">1</cn></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS2.SSS2.p1.5.m3.1c">K_{1}</annotation><annotation encoding="application/x-llamapun" id="S5.SS2.SSS2.p1.5.m3.1d">italic_K start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT</annotation></semantics></math> was empirically determined by identification runs. Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.F15.sf1" title="In Figure 15 ‣ 5.2.2 Hydraulic Modeling ‣ 5.2 System Models ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">15(a)</span></a> shows the estimated velocity <math alttext="\hat{y}_{v}" class="ltx_Math" display="inline" id="S5.SS2.SSS2.p1.6.m4.1"><semantics id="S5.SS2.SSS2.p1.6.m4.1a"><msub id="S5.SS2.SSS2.p1.6.m4.1.1" xref="S5.SS2.SSS2.p1.6.m4.1.1.cmml"><mover accent="true" id="S5.SS2.SSS2.p1.6.m4.1.1.2" xref="S5.SS2.SSS2.p1.6.m4.1.1.2.cmml"><mi id="S5.SS2.SSS2.p1.6.m4.1.1.2.2" xref="S5.SS2.SSS2.p1.6.m4.1.1.2.2.cmml">y</mi><mo id="S5.SS2.SSS2.p1.6.m4.1.1.2.1" xref="S5.SS2.SSS2.p1.6.m4.1.1.2.1.cmml">^</mo></mover><mi id="S5.SS2.SSS2.p1.6.m4.1.1.3" xref="S5.SS2.SSS2.p1.6.m4.1.1.3.cmml">v</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS2.SSS2.p1.6.m4.1b"><apply id="S5.SS2.SSS2.p1.6.m4.1.1.cmml" xref="S5.SS2.SSS2.p1.6.m4.1.1"><csymbol cd="ambiguous" id="S5.SS2.SSS2.p1.6.m4.1.1.1.cmml" xref="S5.SS2.SSS2.p1.6.m4.1.1">subscript</csymbol><apply id="S5.SS2.SSS2.p1.6.m4.1.1.2.cmml" xref="S5.SS2.SSS2.p1.6.m4.1.1.2"><ci id="S5.SS2.SSS2.p1.6.m4.1.1.2.1.cmml" xref="S5.SS2.SSS2.p1.6.m4.1.1.2.1">^</ci><ci id="S5.SS2.SSS2.p1.6.m4.1.1.2.2.cmml" xref="S5.SS2.SSS2.p1.6.m4.1.1.2.2">𝑦</ci></apply><ci id="S5.SS2.SSS2.p1.6.m4.1.1.3.cmml" xref="S5.SS2.SSS2.p1.6.m4.1.1.3">𝑣</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS2.SSS2.p1.6.m4.1c">\hat{y}_{v}</annotation><annotation encoding="application/x-llamapun" id="S5.SS2.SSS2.p1.6.m4.1d">over^ start_ARG italic_y end_ARG start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT</annotation></semantics></math> compared to the measurement <math alttext="y_{v}" class="ltx_Math" display="inline" id="S5.SS2.SSS2.p1.7.m5.1"><semantics id="S5.SS2.SSS2.p1.7.m5.1a"><msub id="S5.SS2.SSS2.p1.7.m5.1.1" xref="S5.SS2.SSS2.p1.7.m5.1.1.cmml"><mi id="S5.SS2.SSS2.p1.7.m5.1.1.2" xref="S5.SS2.SSS2.p1.7.m5.1.1.2.cmml">y</mi><mi id="S5.SS2.SSS2.p1.7.m5.1.1.3" xref="S5.SS2.SSS2.p1.7.m5.1.1.3.cmml">v</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS2.SSS2.p1.7.m5.1b"><apply id="S5.SS2.SSS2.p1.7.m5.1.1.cmml" xref="S5.SS2.SSS2.p1.7.m5.1.1"><csymbol cd="ambiguous" id="S5.SS2.SSS2.p1.7.m5.1.1.1.cmml" xref="S5.SS2.SSS2.p1.7.m5.1.1">subscript</csymbol><ci id="S5.SS2.SSS2.p1.7.m5.1.1.2.cmml" xref="S5.SS2.SSS2.p1.7.m5.1.1.2">𝑦</ci><ci id="S5.SS2.SSS2.p1.7.m5.1.1.3.cmml" xref="S5.SS2.SSS2.p1.7.m5.1.1.3">𝑣</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS2.SSS2.p1.7.m5.1c">y_{v}</annotation><annotation encoding="application/x-llamapun" id="S5.SS2.SSS2.p1.7.m5.1d">italic_y start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT</annotation></semantics></math>.</p> </div> <div class="ltx_para" id="S5.SS2.SSS2.p2"> <p class="ltx_p" id="S5.SS2.SSS2.p2.6">The remaining degrees of freedom, namely steering(<math alttext="\gamma" class="ltx_Math" display="inline" id="S5.SS2.SSS2.p2.1.m1.1"><semantics id="S5.SS2.SSS2.p2.1.m1.1a"><mi id="S5.SS2.SSS2.p2.1.m1.1.1" xref="S5.SS2.SSS2.p2.1.m1.1.1.cmml">γ</mi><annotation-xml encoding="MathML-Content" id="S5.SS2.SSS2.p2.1.m1.1b"><ci id="S5.SS2.SSS2.p2.1.m1.1.1.cmml" xref="S5.SS2.SSS2.p2.1.m1.1.1">𝛾</ci></annotation-xml><annotation encoding="application/x-tex" id="S5.SS2.SSS2.p2.1.m1.1c">\gamma</annotation><annotation encoding="application/x-llamapun" id="S5.SS2.SSS2.p2.1.m1.1d">italic_γ</annotation></semantics></math>), tilting(<math alttext="\beta" class="ltx_Math" display="inline" id="S5.SS2.SSS2.p2.2.m2.1"><semantics id="S5.SS2.SSS2.p2.2.m2.1a"><mi id="S5.SS2.SSS2.p2.2.m2.1.1" xref="S5.SS2.SSS2.p2.2.m2.1.1.cmml">β</mi><annotation-xml encoding="MathML-Content" id="S5.SS2.SSS2.p2.2.m2.1b"><ci id="S5.SS2.SSS2.p2.2.m2.1.1.cmml" xref="S5.SS2.SSS2.p2.2.m2.1.1">𝛽</ci></annotation-xml><annotation encoding="application/x-tex" id="S5.SS2.SSS2.p2.2.m2.1c">\beta</annotation><annotation encoding="application/x-llamapun" id="S5.SS2.SSS2.p2.2.m2.1d">italic_β</annotation></semantics></math>), lifting(<math alttext="l" class="ltx_Math" display="inline" id="S5.SS2.SSS2.p2.3.m3.1"><semantics id="S5.SS2.SSS2.p2.3.m3.1a"><mi id="S5.SS2.SSS2.p2.3.m3.1.1" xref="S5.SS2.SSS2.p2.3.m3.1.1.cmml">l</mi><annotation-xml encoding="MathML-Content" id="S5.SS2.SSS2.p2.3.m3.1b"><ci id="S5.SS2.SSS2.p2.3.m3.1.1.cmml" xref="S5.SS2.SSS2.p2.3.m3.1.1">𝑙</ci></annotation-xml><annotation encoding="application/x-tex" id="S5.SS2.SSS2.p2.3.m3.1c">l</annotation><annotation encoding="application/x-llamapun" id="S5.SS2.SSS2.p2.3.m3.1d">italic_l</annotation></semantics></math>), and shifting(<math alttext="s" class="ltx_Math" display="inline" id="S5.SS2.SSS2.p2.4.m4.1"><semantics id="S5.SS2.SSS2.p2.4.m4.1a"><mi id="S5.SS2.SSS2.p2.4.m4.1.1" xref="S5.SS2.SSS2.p2.4.m4.1.1.cmml">s</mi><annotation-xml encoding="MathML-Content" id="S5.SS2.SSS2.p2.4.m4.1b"><ci id="S5.SS2.SSS2.p2.4.m4.1.1.cmml" xref="S5.SS2.SSS2.p2.4.m4.1.1">𝑠</ci></annotation-xml><annotation encoding="application/x-tex" id="S5.SS2.SSS2.p2.4.m4.1c">s</annotation><annotation encoding="application/x-llamapun" id="S5.SS2.SSS2.p2.4.m4.1d">italic_s</annotation></semantics></math>), are actuated by hydraulic cylinders. The angular velocity of the steering joint <math alttext="\hat{y}_{\gamma}" class="ltx_Math" display="inline" id="S5.SS2.SSS2.p2.5.m5.1"><semantics id="S5.SS2.SSS2.p2.5.m5.1a"><msub id="S5.SS2.SSS2.p2.5.m5.1.1" xref="S5.SS2.SSS2.p2.5.m5.1.1.cmml"><mover accent="true" id="S5.SS2.SSS2.p2.5.m5.1.1.2" xref="S5.SS2.SSS2.p2.5.m5.1.1.2.cmml"><mi id="S5.SS2.SSS2.p2.5.m5.1.1.2.2" xref="S5.SS2.SSS2.p2.5.m5.1.1.2.2.cmml">y</mi><mo id="S5.SS2.SSS2.p2.5.m5.1.1.2.1" xref="S5.SS2.SSS2.p2.5.m5.1.1.2.1.cmml">^</mo></mover><mi id="S5.SS2.SSS2.p2.5.m5.1.1.3" xref="S5.SS2.SSS2.p2.5.m5.1.1.3.cmml">γ</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS2.SSS2.p2.5.m5.1b"><apply id="S5.SS2.SSS2.p2.5.m5.1.1.cmml" xref="S5.SS2.SSS2.p2.5.m5.1.1"><csymbol cd="ambiguous" id="S5.SS2.SSS2.p2.5.m5.1.1.1.cmml" xref="S5.SS2.SSS2.p2.5.m5.1.1">subscript</csymbol><apply id="S5.SS2.SSS2.p2.5.m5.1.1.2.cmml" xref="S5.SS2.SSS2.p2.5.m5.1.1.2"><ci id="S5.SS2.SSS2.p2.5.m5.1.1.2.1.cmml" xref="S5.SS2.SSS2.p2.5.m5.1.1.2.1">^</ci><ci id="S5.SS2.SSS2.p2.5.m5.1.1.2.2.cmml" xref="S5.SS2.SSS2.p2.5.m5.1.1.2.2">𝑦</ci></apply><ci id="S5.SS2.SSS2.p2.5.m5.1.1.3.cmml" xref="S5.SS2.SSS2.p2.5.m5.1.1.3">𝛾</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS2.SSS2.p2.5.m5.1c">\hat{y}_{\gamma}</annotation><annotation encoding="application/x-llamapun" id="S5.SS2.SSS2.p2.5.m5.1d">over^ start_ARG italic_y end_ARG start_POSTSUBSCRIPT italic_γ end_POSTSUBSCRIPT</annotation></semantics></math> can be modeled as a linear function of the desired valve spool position of the steering cylinder <math alttext="u_{\gamma}" class="ltx_Math" display="inline" id="S5.SS2.SSS2.p2.6.m6.1"><semantics id="S5.SS2.SSS2.p2.6.m6.1a"><msub id="S5.SS2.SSS2.p2.6.m6.1.1" xref="S5.SS2.SSS2.p2.6.m6.1.1.cmml"><mi id="S5.SS2.SSS2.p2.6.m6.1.1.2" xref="S5.SS2.SSS2.p2.6.m6.1.1.2.cmml">u</mi><mi id="S5.SS2.SSS2.p2.6.m6.1.1.3" xref="S5.SS2.SSS2.p2.6.m6.1.1.3.cmml">γ</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS2.SSS2.p2.6.m6.1b"><apply id="S5.SS2.SSS2.p2.6.m6.1.1.cmml" xref="S5.SS2.SSS2.p2.6.m6.1.1"><csymbol cd="ambiguous" id="S5.SS2.SSS2.p2.6.m6.1.1.1.cmml" xref="S5.SS2.SSS2.p2.6.m6.1.1">subscript</csymbol><ci id="S5.SS2.SSS2.p2.6.m6.1.1.2.cmml" xref="S5.SS2.SSS2.p2.6.m6.1.1.2">𝑢</ci><ci id="S5.SS2.SSS2.p2.6.m6.1.1.3.cmml" xref="S5.SS2.SSS2.p2.6.m6.1.1.3">𝛾</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS2.SSS2.p2.6.m6.1c">u_{\gamma}</annotation><annotation encoding="application/x-llamapun" id="S5.SS2.SSS2.p2.6.m6.1d">italic_u start_POSTSUBSCRIPT italic_γ end_POSTSUBSCRIPT</annotation></semantics></math>, similar to (<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.E2" title="In 5.2.2 Hydraulic Modeling ‣ 5.2 System Models ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">2</span></a>). The other cylinders are modeled as first-order lag elements</p> <table class="ltx_equation ltx_eqn_table" id="S5.E3"> <tbody><tr class="ltx_equation ltx_eqn_row ltx_align_baseline"> <td class="ltx_eqn_cell ltx_eqn_left_padleft"></td> <td class="ltx_eqn_cell ltx_align_left"><math alttext="\tau_{\zeta}\cdot\dot{\hat{y}}_{\zeta}(t)+\hat{y}_{\zeta}(t)=K_{\zeta}\cdot u_% {\zeta}(t)\ ," class="ltx_Math" display="block" id="S5.E3.m1.4"><semantics id="S5.E3.m1.4a"><mrow id="S5.E3.m1.4.4.1" xref="S5.E3.m1.4.4.1.1.cmml"><mrow id="S5.E3.m1.4.4.1.1" xref="S5.E3.m1.4.4.1.1.cmml"><mrow id="S5.E3.m1.4.4.1.1.2" xref="S5.E3.m1.4.4.1.1.2.cmml"><mrow id="S5.E3.m1.4.4.1.1.2.2" xref="S5.E3.m1.4.4.1.1.2.2.cmml"><mrow id="S5.E3.m1.4.4.1.1.2.2.2" xref="S5.E3.m1.4.4.1.1.2.2.2.cmml"><msub id="S5.E3.m1.4.4.1.1.2.2.2.2" xref="S5.E3.m1.4.4.1.1.2.2.2.2.cmml"><mi id="S5.E3.m1.4.4.1.1.2.2.2.2.2" xref="S5.E3.m1.4.4.1.1.2.2.2.2.2.cmml">τ</mi><mi id="S5.E3.m1.4.4.1.1.2.2.2.2.3" xref="S5.E3.m1.4.4.1.1.2.2.2.2.3.cmml">ζ</mi></msub><mo id="S5.E3.m1.4.4.1.1.2.2.2.1" lspace="0.222em" rspace="0.222em" xref="S5.E3.m1.4.4.1.1.2.2.2.1.cmml">⋅</mo><msub id="S5.E3.m1.4.4.1.1.2.2.2.3" xref="S5.E3.m1.4.4.1.1.2.2.2.3.cmml"><mover accent="true" id="S5.E3.m1.4.4.1.1.2.2.2.3.2" xref="S5.E3.m1.4.4.1.1.2.2.2.3.2.cmml"><mover accent="true" id="S5.E3.m1.4.4.1.1.2.2.2.3.2.2" xref="S5.E3.m1.4.4.1.1.2.2.2.3.2.2.cmml"><mi id="S5.E3.m1.4.4.1.1.2.2.2.3.2.2.2" xref="S5.E3.m1.4.4.1.1.2.2.2.3.2.2.2.cmml">y</mi><mo id="S5.E3.m1.4.4.1.1.2.2.2.3.2.2.1" xref="S5.E3.m1.4.4.1.1.2.2.2.3.2.2.1.cmml">^</mo></mover><mo id="S5.E3.m1.4.4.1.1.2.2.2.3.2.1" xref="S5.E3.m1.4.4.1.1.2.2.2.3.2.1.cmml">˙</mo></mover><mi id="S5.E3.m1.4.4.1.1.2.2.2.3.3" xref="S5.E3.m1.4.4.1.1.2.2.2.3.3.cmml">ζ</mi></msub></mrow><mo id="S5.E3.m1.4.4.1.1.2.2.1" xref="S5.E3.m1.4.4.1.1.2.2.1.cmml"></mo><mrow id="S5.E3.m1.4.4.1.1.2.2.3.2" xref="S5.E3.m1.4.4.1.1.2.2.cmml"><mo id="S5.E3.m1.4.4.1.1.2.2.3.2.1" stretchy="false" xref="S5.E3.m1.4.4.1.1.2.2.cmml">(</mo><mi id="S5.E3.m1.1.1" xref="S5.E3.m1.1.1.cmml">t</mi><mo id="S5.E3.m1.4.4.1.1.2.2.3.2.2" stretchy="false" xref="S5.E3.m1.4.4.1.1.2.2.cmml">)</mo></mrow></mrow><mo id="S5.E3.m1.4.4.1.1.2.1" xref="S5.E3.m1.4.4.1.1.2.1.cmml">+</mo><mrow id="S5.E3.m1.4.4.1.1.2.3" xref="S5.E3.m1.4.4.1.1.2.3.cmml"><msub id="S5.E3.m1.4.4.1.1.2.3.2" xref="S5.E3.m1.4.4.1.1.2.3.2.cmml"><mover accent="true" id="S5.E3.m1.4.4.1.1.2.3.2.2" xref="S5.E3.m1.4.4.1.1.2.3.2.2.cmml"><mi id="S5.E3.m1.4.4.1.1.2.3.2.2.2" xref="S5.E3.m1.4.4.1.1.2.3.2.2.2.cmml">y</mi><mo id="S5.E3.m1.4.4.1.1.2.3.2.2.1" xref="S5.E3.m1.4.4.1.1.2.3.2.2.1.cmml">^</mo></mover><mi id="S5.E3.m1.4.4.1.1.2.3.2.3" xref="S5.E3.m1.4.4.1.1.2.3.2.3.cmml">ζ</mi></msub><mo id="S5.E3.m1.4.4.1.1.2.3.1" xref="S5.E3.m1.4.4.1.1.2.3.1.cmml"></mo><mrow id="S5.E3.m1.4.4.1.1.2.3.3.2" xref="S5.E3.m1.4.4.1.1.2.3.cmml"><mo id="S5.E3.m1.4.4.1.1.2.3.3.2.1" stretchy="false" xref="S5.E3.m1.4.4.1.1.2.3.cmml">(</mo><mi id="S5.E3.m1.2.2" xref="S5.E3.m1.2.2.cmml">t</mi><mo id="S5.E3.m1.4.4.1.1.2.3.3.2.2" stretchy="false" xref="S5.E3.m1.4.4.1.1.2.3.cmml">)</mo></mrow></mrow></mrow><mo id="S5.E3.m1.4.4.1.1.1" xref="S5.E3.m1.4.4.1.1.1.cmml">=</mo><mrow id="S5.E3.m1.4.4.1.1.3" xref="S5.E3.m1.4.4.1.1.3.cmml"><mrow id="S5.E3.m1.4.4.1.1.3.2" xref="S5.E3.m1.4.4.1.1.3.2.cmml"><msub id="S5.E3.m1.4.4.1.1.3.2.2" xref="S5.E3.m1.4.4.1.1.3.2.2.cmml"><mi id="S5.E3.m1.4.4.1.1.3.2.2.2" xref="S5.E3.m1.4.4.1.1.3.2.2.2.cmml">K</mi><mi id="S5.E3.m1.4.4.1.1.3.2.2.3" xref="S5.E3.m1.4.4.1.1.3.2.2.3.cmml">ζ</mi></msub><mo id="S5.E3.m1.4.4.1.1.3.2.1" lspace="0.222em" rspace="0.222em" xref="S5.E3.m1.4.4.1.1.3.2.1.cmml">⋅</mo><msub id="S5.E3.m1.4.4.1.1.3.2.3" xref="S5.E3.m1.4.4.1.1.3.2.3.cmml"><mi id="S5.E3.m1.4.4.1.1.3.2.3.2" xref="S5.E3.m1.4.4.1.1.3.2.3.2.cmml">u</mi><mi id="S5.E3.m1.4.4.1.1.3.2.3.3" xref="S5.E3.m1.4.4.1.1.3.2.3.3.cmml">ζ</mi></msub></mrow><mo id="S5.E3.m1.4.4.1.1.3.1" xref="S5.E3.m1.4.4.1.1.3.1.cmml"></mo><mrow id="S5.E3.m1.4.4.1.1.3.3.2" xref="S5.E3.m1.4.4.1.1.3.cmml"><mo id="S5.E3.m1.4.4.1.1.3.3.2.1" stretchy="false" xref="S5.E3.m1.4.4.1.1.3.cmml">(</mo><mi id="S5.E3.m1.3.3" xref="S5.E3.m1.3.3.cmml">t</mi><mo id="S5.E3.m1.4.4.1.1.3.3.2.2" rspace="0.500em" stretchy="false" xref="S5.E3.m1.4.4.1.1.3.cmml">)</mo></mrow></mrow></mrow><mo id="S5.E3.m1.4.4.1.2" xref="S5.E3.m1.4.4.1.1.cmml">,</mo></mrow><annotation-xml encoding="MathML-Content" id="S5.E3.m1.4b"><apply id="S5.E3.m1.4.4.1.1.cmml" xref="S5.E3.m1.4.4.1"><eq id="S5.E3.m1.4.4.1.1.1.cmml" xref="S5.E3.m1.4.4.1.1.1"></eq><apply id="S5.E3.m1.4.4.1.1.2.cmml" xref="S5.E3.m1.4.4.1.1.2"><plus id="S5.E3.m1.4.4.1.1.2.1.cmml" xref="S5.E3.m1.4.4.1.1.2.1"></plus><apply id="S5.E3.m1.4.4.1.1.2.2.cmml" xref="S5.E3.m1.4.4.1.1.2.2"><times id="S5.E3.m1.4.4.1.1.2.2.1.cmml" xref="S5.E3.m1.4.4.1.1.2.2.1"></times><apply id="S5.E3.m1.4.4.1.1.2.2.2.cmml" xref="S5.E3.m1.4.4.1.1.2.2.2"><ci id="S5.E3.m1.4.4.1.1.2.2.2.1.cmml" xref="S5.E3.m1.4.4.1.1.2.2.2.1">⋅</ci><apply id="S5.E3.m1.4.4.1.1.2.2.2.2.cmml" xref="S5.E3.m1.4.4.1.1.2.2.2.2"><csymbol cd="ambiguous" id="S5.E3.m1.4.4.1.1.2.2.2.2.1.cmml" xref="S5.E3.m1.4.4.1.1.2.2.2.2">subscript</csymbol><ci id="S5.E3.m1.4.4.1.1.2.2.2.2.2.cmml" xref="S5.E3.m1.4.4.1.1.2.2.2.2.2">𝜏</ci><ci id="S5.E3.m1.4.4.1.1.2.2.2.2.3.cmml" xref="S5.E3.m1.4.4.1.1.2.2.2.2.3">𝜁</ci></apply><apply id="S5.E3.m1.4.4.1.1.2.2.2.3.cmml" xref="S5.E3.m1.4.4.1.1.2.2.2.3"><csymbol cd="ambiguous" id="S5.E3.m1.4.4.1.1.2.2.2.3.1.cmml" xref="S5.E3.m1.4.4.1.1.2.2.2.3">subscript</csymbol><apply id="S5.E3.m1.4.4.1.1.2.2.2.3.2.cmml" xref="S5.E3.m1.4.4.1.1.2.2.2.3.2"><ci id="S5.E3.m1.4.4.1.1.2.2.2.3.2.1.cmml" xref="S5.E3.m1.4.4.1.1.2.2.2.3.2.1">˙</ci><apply id="S5.E3.m1.4.4.1.1.2.2.2.3.2.2.cmml" xref="S5.E3.m1.4.4.1.1.2.2.2.3.2.2"><ci id="S5.E3.m1.4.4.1.1.2.2.2.3.2.2.1.cmml" xref="S5.E3.m1.4.4.1.1.2.2.2.3.2.2.1">^</ci><ci id="S5.E3.m1.4.4.1.1.2.2.2.3.2.2.2.cmml" xref="S5.E3.m1.4.4.1.1.2.2.2.3.2.2.2">𝑦</ci></apply></apply><ci id="S5.E3.m1.4.4.1.1.2.2.2.3.3.cmml" xref="S5.E3.m1.4.4.1.1.2.2.2.3.3">𝜁</ci></apply></apply><ci id="S5.E3.m1.1.1.cmml" xref="S5.E3.m1.1.1">𝑡</ci></apply><apply id="S5.E3.m1.4.4.1.1.2.3.cmml" xref="S5.E3.m1.4.4.1.1.2.3"><times id="S5.E3.m1.4.4.1.1.2.3.1.cmml" xref="S5.E3.m1.4.4.1.1.2.3.1"></times><apply id="S5.E3.m1.4.4.1.1.2.3.2.cmml" xref="S5.E3.m1.4.4.1.1.2.3.2"><csymbol cd="ambiguous" id="S5.E3.m1.4.4.1.1.2.3.2.1.cmml" xref="S5.E3.m1.4.4.1.1.2.3.2">subscript</csymbol><apply id="S5.E3.m1.4.4.1.1.2.3.2.2.cmml" xref="S5.E3.m1.4.4.1.1.2.3.2.2"><ci id="S5.E3.m1.4.4.1.1.2.3.2.2.1.cmml" xref="S5.E3.m1.4.4.1.1.2.3.2.2.1">^</ci><ci id="S5.E3.m1.4.4.1.1.2.3.2.2.2.cmml" xref="S5.E3.m1.4.4.1.1.2.3.2.2.2">𝑦</ci></apply><ci id="S5.E3.m1.4.4.1.1.2.3.2.3.cmml" xref="S5.E3.m1.4.4.1.1.2.3.2.3">𝜁</ci></apply><ci id="S5.E3.m1.2.2.cmml" xref="S5.E3.m1.2.2">𝑡</ci></apply></apply><apply id="S5.E3.m1.4.4.1.1.3.cmml" xref="S5.E3.m1.4.4.1.1.3"><times id="S5.E3.m1.4.4.1.1.3.1.cmml" xref="S5.E3.m1.4.4.1.1.3.1"></times><apply id="S5.E3.m1.4.4.1.1.3.2.cmml" xref="S5.E3.m1.4.4.1.1.3.2"><ci id="S5.E3.m1.4.4.1.1.3.2.1.cmml" xref="S5.E3.m1.4.4.1.1.3.2.1">⋅</ci><apply id="S5.E3.m1.4.4.1.1.3.2.2.cmml" xref="S5.E3.m1.4.4.1.1.3.2.2"><csymbol cd="ambiguous" id="S5.E3.m1.4.4.1.1.3.2.2.1.cmml" xref="S5.E3.m1.4.4.1.1.3.2.2">subscript</csymbol><ci id="S5.E3.m1.4.4.1.1.3.2.2.2.cmml" xref="S5.E3.m1.4.4.1.1.3.2.2.2">𝐾</ci><ci id="S5.E3.m1.4.4.1.1.3.2.2.3.cmml" xref="S5.E3.m1.4.4.1.1.3.2.2.3">𝜁</ci></apply><apply id="S5.E3.m1.4.4.1.1.3.2.3.cmml" xref="S5.E3.m1.4.4.1.1.3.2.3"><csymbol cd="ambiguous" id="S5.E3.m1.4.4.1.1.3.2.3.1.cmml" xref="S5.E3.m1.4.4.1.1.3.2.3">subscript</csymbol><ci id="S5.E3.m1.4.4.1.1.3.2.3.2.cmml" xref="S5.E3.m1.4.4.1.1.3.2.3.2">𝑢</ci><ci id="S5.E3.m1.4.4.1.1.3.2.3.3.cmml" xref="S5.E3.m1.4.4.1.1.3.2.3.3">𝜁</ci></apply></apply><ci id="S5.E3.m1.3.3.cmml" xref="S5.E3.m1.3.3">𝑡</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.E3.m1.4c">\tau_{\zeta}\cdot\dot{\hat{y}}_{\zeta}(t)+\hat{y}_{\zeta}(t)=K_{\zeta}\cdot u_% {\zeta}(t)\ ,</annotation><annotation encoding="application/x-llamapun" id="S5.E3.m1.4d">italic_τ start_POSTSUBSCRIPT italic_ζ end_POSTSUBSCRIPT ⋅ over˙ start_ARG over^ start_ARG italic_y end_ARG end_ARG start_POSTSUBSCRIPT italic_ζ end_POSTSUBSCRIPT ( italic_t ) + over^ start_ARG italic_y end_ARG start_POSTSUBSCRIPT italic_ζ end_POSTSUBSCRIPT ( italic_t ) = italic_K start_POSTSUBSCRIPT italic_ζ end_POSTSUBSCRIPT ⋅ italic_u start_POSTSUBSCRIPT italic_ζ end_POSTSUBSCRIPT ( italic_t ) ,</annotation></semantics></math></td> <td class="ltx_eqn_cell ltx_eqn_left_padright"></td> <td class="ltx_eqn_cell ltx_eqn_eqno ltx_align_middle ltx_align_right" rowspan="1"><span class="ltx_tag ltx_tag_equation ltx_align_right">(3)</span></td> </tr></tbody> </table> <p class="ltx_p" id="S5.SS2.SSS2.p2.13">where the input <math alttext="u_{\zeta}" class="ltx_Math" display="inline" id="S5.SS2.SSS2.p2.7.m1.1"><semantics id="S5.SS2.SSS2.p2.7.m1.1a"><msub id="S5.SS2.SSS2.p2.7.m1.1.1" xref="S5.SS2.SSS2.p2.7.m1.1.1.cmml"><mi id="S5.SS2.SSS2.p2.7.m1.1.1.2" xref="S5.SS2.SSS2.p2.7.m1.1.1.2.cmml">u</mi><mi id="S5.SS2.SSS2.p2.7.m1.1.1.3" xref="S5.SS2.SSS2.p2.7.m1.1.1.3.cmml">ζ</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS2.SSS2.p2.7.m1.1b"><apply id="S5.SS2.SSS2.p2.7.m1.1.1.cmml" xref="S5.SS2.SSS2.p2.7.m1.1.1"><csymbol cd="ambiguous" id="S5.SS2.SSS2.p2.7.m1.1.1.1.cmml" xref="S5.SS2.SSS2.p2.7.m1.1.1">subscript</csymbol><ci id="S5.SS2.SSS2.p2.7.m1.1.1.2.cmml" xref="S5.SS2.SSS2.p2.7.m1.1.1.2">𝑢</ci><ci id="S5.SS2.SSS2.p2.7.m1.1.1.3.cmml" xref="S5.SS2.SSS2.p2.7.m1.1.1.3">𝜁</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS2.SSS2.p2.7.m1.1c">u_{\zeta}</annotation><annotation encoding="application/x-llamapun" id="S5.SS2.SSS2.p2.7.m1.1d">italic_u start_POSTSUBSCRIPT italic_ζ end_POSTSUBSCRIPT</annotation></semantics></math> represents the desired valve spool position for the corresponding actuated cylinder and <math alttext="\hat{y}_{\zeta}" class="ltx_Math" display="inline" id="S5.SS2.SSS2.p2.8.m2.1"><semantics id="S5.SS2.SSS2.p2.8.m2.1a"><msub id="S5.SS2.SSS2.p2.8.m2.1.1" xref="S5.SS2.SSS2.p2.8.m2.1.1.cmml"><mover accent="true" id="S5.SS2.SSS2.p2.8.m2.1.1.2" xref="S5.SS2.SSS2.p2.8.m2.1.1.2.cmml"><mi id="S5.SS2.SSS2.p2.8.m2.1.1.2.2" xref="S5.SS2.SSS2.p2.8.m2.1.1.2.2.cmml">y</mi><mo id="S5.SS2.SSS2.p2.8.m2.1.1.2.1" xref="S5.SS2.SSS2.p2.8.m2.1.1.2.1.cmml">^</mo></mover><mi id="S5.SS2.SSS2.p2.8.m2.1.1.3" xref="S5.SS2.SSS2.p2.8.m2.1.1.3.cmml">ζ</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS2.SSS2.p2.8.m2.1b"><apply id="S5.SS2.SSS2.p2.8.m2.1.1.cmml" xref="S5.SS2.SSS2.p2.8.m2.1.1"><csymbol cd="ambiguous" id="S5.SS2.SSS2.p2.8.m2.1.1.1.cmml" xref="S5.SS2.SSS2.p2.8.m2.1.1">subscript</csymbol><apply id="S5.SS2.SSS2.p2.8.m2.1.1.2.cmml" xref="S5.SS2.SSS2.p2.8.m2.1.1.2"><ci id="S5.SS2.SSS2.p2.8.m2.1.1.2.1.cmml" xref="S5.SS2.SSS2.p2.8.m2.1.1.2.1">^</ci><ci id="S5.SS2.SSS2.p2.8.m2.1.1.2.2.cmml" xref="S5.SS2.SSS2.p2.8.m2.1.1.2.2">𝑦</ci></apply><ci id="S5.SS2.SSS2.p2.8.m2.1.1.3.cmml" xref="S5.SS2.SSS2.p2.8.m2.1.1.3">𝜁</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS2.SSS2.p2.8.m2.1c">\hat{y}_{\zeta}</annotation><annotation encoding="application/x-llamapun" id="S5.SS2.SSS2.p2.8.m2.1d">over^ start_ARG italic_y end_ARG start_POSTSUBSCRIPT italic_ζ end_POSTSUBSCRIPT</annotation></semantics></math> denotes the estimated output of the system, <math alttext="K_{\zeta}" class="ltx_Math" display="inline" id="S5.SS2.SSS2.p2.9.m3.1"><semantics id="S5.SS2.SSS2.p2.9.m3.1a"><msub id="S5.SS2.SSS2.p2.9.m3.1.1" xref="S5.SS2.SSS2.p2.9.m3.1.1.cmml"><mi id="S5.SS2.SSS2.p2.9.m3.1.1.2" xref="S5.SS2.SSS2.p2.9.m3.1.1.2.cmml">K</mi><mi id="S5.SS2.SSS2.p2.9.m3.1.1.3" xref="S5.SS2.SSS2.p2.9.m3.1.1.3.cmml">ζ</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS2.SSS2.p2.9.m3.1b"><apply id="S5.SS2.SSS2.p2.9.m3.1.1.cmml" xref="S5.SS2.SSS2.p2.9.m3.1.1"><csymbol cd="ambiguous" id="S5.SS2.SSS2.p2.9.m3.1.1.1.cmml" xref="S5.SS2.SSS2.p2.9.m3.1.1">subscript</csymbol><ci id="S5.SS2.SSS2.p2.9.m3.1.1.2.cmml" xref="S5.SS2.SSS2.p2.9.m3.1.1.2">𝐾</ci><ci id="S5.SS2.SSS2.p2.9.m3.1.1.3.cmml" xref="S5.SS2.SSS2.p2.9.m3.1.1.3">𝜁</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS2.SSS2.p2.9.m3.1c">K_{\zeta}</annotation><annotation encoding="application/x-llamapun" id="S5.SS2.SSS2.p2.9.m3.1d">italic_K start_POSTSUBSCRIPT italic_ζ end_POSTSUBSCRIPT</annotation></semantics></math> a model constant and <math alttext="\tau_{\zeta}" class="ltx_Math" display="inline" id="S5.SS2.SSS2.p2.10.m4.1"><semantics id="S5.SS2.SSS2.p2.10.m4.1a"><msub id="S5.SS2.SSS2.p2.10.m4.1.1" xref="S5.SS2.SSS2.p2.10.m4.1.1.cmml"><mi id="S5.SS2.SSS2.p2.10.m4.1.1.2" xref="S5.SS2.SSS2.p2.10.m4.1.1.2.cmml">τ</mi><mi id="S5.SS2.SSS2.p2.10.m4.1.1.3" xref="S5.SS2.SSS2.p2.10.m4.1.1.3.cmml">ζ</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS2.SSS2.p2.10.m4.1b"><apply id="S5.SS2.SSS2.p2.10.m4.1.1.cmml" xref="S5.SS2.SSS2.p2.10.m4.1.1"><csymbol cd="ambiguous" id="S5.SS2.SSS2.p2.10.m4.1.1.1.cmml" xref="S5.SS2.SSS2.p2.10.m4.1.1">subscript</csymbol><ci id="S5.SS2.SSS2.p2.10.m4.1.1.2.cmml" xref="S5.SS2.SSS2.p2.10.m4.1.1.2">𝜏</ci><ci id="S5.SS2.SSS2.p2.10.m4.1.1.3.cmml" xref="S5.SS2.SSS2.p2.10.m4.1.1.3">𝜁</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS2.SSS2.p2.10.m4.1c">\tau_{\zeta}</annotation><annotation encoding="application/x-llamapun" id="S5.SS2.SSS2.p2.10.m4.1d">italic_τ start_POSTSUBSCRIPT italic_ζ end_POSTSUBSCRIPT</annotation></semantics></math> a time constant for the model of <math alttext="\zeta\in\{\beta,l,s\}" class="ltx_Math" display="inline" id="S5.SS2.SSS2.p2.11.m5.3"><semantics id="S5.SS2.SSS2.p2.11.m5.3a"><mrow id="S5.SS2.SSS2.p2.11.m5.3.4" xref="S5.SS2.SSS2.p2.11.m5.3.4.cmml"><mi id="S5.SS2.SSS2.p2.11.m5.3.4.2" xref="S5.SS2.SSS2.p2.11.m5.3.4.2.cmml">ζ</mi><mo id="S5.SS2.SSS2.p2.11.m5.3.4.1" xref="S5.SS2.SSS2.p2.11.m5.3.4.1.cmml">∈</mo><mrow id="S5.SS2.SSS2.p2.11.m5.3.4.3.2" xref="S5.SS2.SSS2.p2.11.m5.3.4.3.1.cmml"><mo id="S5.SS2.SSS2.p2.11.m5.3.4.3.2.1" stretchy="false" xref="S5.SS2.SSS2.p2.11.m5.3.4.3.1.cmml">{</mo><mi id="S5.SS2.SSS2.p2.11.m5.1.1" xref="S5.SS2.SSS2.p2.11.m5.1.1.cmml">β</mi><mo id="S5.SS2.SSS2.p2.11.m5.3.4.3.2.2" xref="S5.SS2.SSS2.p2.11.m5.3.4.3.1.cmml">,</mo><mi id="S5.SS2.SSS2.p2.11.m5.2.2" xref="S5.SS2.SSS2.p2.11.m5.2.2.cmml">l</mi><mo id="S5.SS2.SSS2.p2.11.m5.3.4.3.2.3" xref="S5.SS2.SSS2.p2.11.m5.3.4.3.1.cmml">,</mo><mi id="S5.SS2.SSS2.p2.11.m5.3.3" xref="S5.SS2.SSS2.p2.11.m5.3.3.cmml">s</mi><mo id="S5.SS2.SSS2.p2.11.m5.3.4.3.2.4" stretchy="false" xref="S5.SS2.SSS2.p2.11.m5.3.4.3.1.cmml">}</mo></mrow></mrow><annotation-xml encoding="MathML-Content" id="S5.SS2.SSS2.p2.11.m5.3b"><apply id="S5.SS2.SSS2.p2.11.m5.3.4.cmml" xref="S5.SS2.SSS2.p2.11.m5.3.4"><in id="S5.SS2.SSS2.p2.11.m5.3.4.1.cmml" xref="S5.SS2.SSS2.p2.11.m5.3.4.1"></in><ci id="S5.SS2.SSS2.p2.11.m5.3.4.2.cmml" xref="S5.SS2.SSS2.p2.11.m5.3.4.2">𝜁</ci><set id="S5.SS2.SSS2.p2.11.m5.3.4.3.1.cmml" xref="S5.SS2.SSS2.p2.11.m5.3.4.3.2"><ci id="S5.SS2.SSS2.p2.11.m5.1.1.cmml" xref="S5.SS2.SSS2.p2.11.m5.1.1">𝛽</ci><ci id="S5.SS2.SSS2.p2.11.m5.2.2.cmml" xref="S5.SS2.SSS2.p2.11.m5.2.2">𝑙</ci><ci id="S5.SS2.SSS2.p2.11.m5.3.3.cmml" xref="S5.SS2.SSS2.p2.11.m5.3.3">𝑠</ci></set></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS2.SSS2.p2.11.m5.3c">\zeta\in\{\beta,l,s\}</annotation><annotation encoding="application/x-llamapun" id="S5.SS2.SSS2.p2.11.m5.3d">italic_ζ ∈ { italic_β , italic_l , italic_s }</annotation></semantics></math> tilting, lifting and shifting, respectively. The results of the parameter identification experiments are shown in Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.F15" title="Figure 15 ‣ 5.2.2 Hydraulic Modeling ‣ 5.2 System Models ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">15</span></a>, applied to a path following (Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.F15.sf2" title="In Figure 15 ‣ 5.2.2 Hydraulic Modeling ‣ 5.2 System Models ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">15(b)</span></a>) as well as a pallet pickup scenario (Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.F15.sf3" title="In Figure 15 ‣ 5.2.2 Hydraulic Modeling ‣ 5.2 System Models ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">15(c)</span></a>-<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.F15.sf4" title="In Figure 15 ‣ 5.2.2 Hydraulic Modeling ‣ 5.2 System Models ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">15(d)</span></a>). The estimated cylinder motion, denoted as <math alttext="\hat{y}_{\zeta}" class="ltx_Math" display="inline" id="S5.SS2.SSS2.p2.12.m6.1"><semantics id="S5.SS2.SSS2.p2.12.m6.1a"><msub id="S5.SS2.SSS2.p2.12.m6.1.1" xref="S5.SS2.SSS2.p2.12.m6.1.1.cmml"><mover accent="true" id="S5.SS2.SSS2.p2.12.m6.1.1.2" xref="S5.SS2.SSS2.p2.12.m6.1.1.2.cmml"><mi id="S5.SS2.SSS2.p2.12.m6.1.1.2.2" xref="S5.SS2.SSS2.p2.12.m6.1.1.2.2.cmml">y</mi><mo id="S5.SS2.SSS2.p2.12.m6.1.1.2.1" xref="S5.SS2.SSS2.p2.12.m6.1.1.2.1.cmml">^</mo></mover><mi id="S5.SS2.SSS2.p2.12.m6.1.1.3" xref="S5.SS2.SSS2.p2.12.m6.1.1.3.cmml">ζ</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS2.SSS2.p2.12.m6.1b"><apply id="S5.SS2.SSS2.p2.12.m6.1.1.cmml" xref="S5.SS2.SSS2.p2.12.m6.1.1"><csymbol cd="ambiguous" id="S5.SS2.SSS2.p2.12.m6.1.1.1.cmml" xref="S5.SS2.SSS2.p2.12.m6.1.1">subscript</csymbol><apply id="S5.SS2.SSS2.p2.12.m6.1.1.2.cmml" xref="S5.SS2.SSS2.p2.12.m6.1.1.2"><ci id="S5.SS2.SSS2.p2.12.m6.1.1.2.1.cmml" xref="S5.SS2.SSS2.p2.12.m6.1.1.2.1">^</ci><ci id="S5.SS2.SSS2.p2.12.m6.1.1.2.2.cmml" xref="S5.SS2.SSS2.p2.12.m6.1.1.2.2">𝑦</ci></apply><ci id="S5.SS2.SSS2.p2.12.m6.1.1.3.cmml" xref="S5.SS2.SSS2.p2.12.m6.1.1.3">𝜁</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS2.SSS2.p2.12.m6.1c">\hat{y}_{\zeta}</annotation><annotation encoding="application/x-llamapun" id="S5.SS2.SSS2.p2.12.m6.1d">over^ start_ARG italic_y end_ARG start_POSTSUBSCRIPT italic_ζ end_POSTSUBSCRIPT</annotation></semantics></math>, aligns closely with the measured variable <math alttext="y_{\zeta}" class="ltx_Math" display="inline" id="S5.SS2.SSS2.p2.13.m7.1"><semantics id="S5.SS2.SSS2.p2.13.m7.1a"><msub id="S5.SS2.SSS2.p2.13.m7.1.1" xref="S5.SS2.SSS2.p2.13.m7.1.1.cmml"><mi id="S5.SS2.SSS2.p2.13.m7.1.1.2" xref="S5.SS2.SSS2.p2.13.m7.1.1.2.cmml">y</mi><mi id="S5.SS2.SSS2.p2.13.m7.1.1.3" xref="S5.SS2.SSS2.p2.13.m7.1.1.3.cmml">ζ</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS2.SSS2.p2.13.m7.1b"><apply id="S5.SS2.SSS2.p2.13.m7.1.1.cmml" xref="S5.SS2.SSS2.p2.13.m7.1.1"><csymbol cd="ambiguous" id="S5.SS2.SSS2.p2.13.m7.1.1.1.cmml" xref="S5.SS2.SSS2.p2.13.m7.1.1">subscript</csymbol><ci id="S5.SS2.SSS2.p2.13.m7.1.1.2.cmml" xref="S5.SS2.SSS2.p2.13.m7.1.1.2">𝑦</ci><ci id="S5.SS2.SSS2.p2.13.m7.1.1.3.cmml" xref="S5.SS2.SSS2.p2.13.m7.1.1.3">𝜁</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS2.SSS2.p2.13.m7.1c">y_{\zeta}</annotation><annotation encoding="application/x-llamapun" id="S5.SS2.SSS2.p2.13.m7.1d">italic_y start_POSTSUBSCRIPT italic_ζ end_POSTSUBSCRIPT</annotation></semantics></math>. However, when multiple cylinders are actuated simultaneously, the model’s accuracy decreases due to altered pressure distribution and flow division, as well as pump limitations, leading to non-linear behavior. This reduction in accuracy is not significant in operation, as it can be compensated for by the feedback control system, discussed in the next section.</p> </div> </section> </section> <section class="ltx_subsection" id="S5.SS3"> <h3 class="ltx_title ltx_title_subsection"> <span class="ltx_tag ltx_tag_subsection">5.3 </span>Motion Planning and Control</h3> <div class="ltx_para" id="S5.SS3.p1"> <p class="ltx_p" id="S5.SS3.p1.1">The operation of ADAPT is divided into two primary action types: (1) <span class="ltx_text ltx_font_italic" id="S5.SS3.p1.1.1">Navigation</span> between poses, comprising path planning and following, and (2) <span class="ltx_text ltx_font_italic" id="S5.SS3.p1.1.2">Manipulation</span> for loading or unloading of pallets. These primary actions share common vehicle functions, namely vehicle base and fork positioning control. These functions are implemented as two separate cascaded control structures, as illustrated in Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.F16" title="Figure 16 ‣ 5.3.1 Cascaded control ‣ 5.3 Motion Planning and Control ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">16</span></a>. The main components of these control loops are the pose tracking control (PTC) and fork tip transformation (FTT) which track the external reference. The inner control loop consists of a feed-forward control (FF) based on the hydraulic models from Section <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.SS2.SSS2" title="5.2.2 Hydraulic Modeling ‣ 5.2 System Models ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">5.2.2</span></a> as well as basic PI(D) control and saturation blocks for hydraulic valve and cylinder control. This section delves into the details of the primary action types and explains how vehicle functions are implemented.</p> </div> <section class="ltx_subsubsection" id="S5.SS3.SSS1"> <h4 class="ltx_title ltx_title_subsubsection"> <span class="ltx_tag ltx_tag_subsubsection">5.3.1 </span>Cascaded control</h4> <figure class="ltx_figure" id="S5.F16"> <div class="ltx_flex_figure"> <div class="ltx_flex_cell ltx_flex_size_1"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_figure_panel ltx_img_landscape" height="290" id="S5.F16.g1" src="x16.png" width="830"/></div> <div class="ltx_flex_break"></div> <div class="ltx_flex_cell ltx_flex_size_1"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_figure_panel ltx_img_landscape" height="301" id="S5.F16.g2" src="x17.png" width="830"/></div> </div> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S5.F16.2.1.1" style="font-size:90%;">Figure 16</span>: </span><span class="ltx_text" id="S5.F16.3.2" style="font-size:90%;">Cascaded control architectures for the vehicle base (a) and fork actuation (b), forming the foundation for pose-to-pose navigation and pallet manipulation. Main components, enclosed in red boxes, are the pose tracking control (PTC) and fork tip transformation (FTT) and run on the IPC, while those in cyan boxes operate on the real-time PLC. For navigation, FTT is not needed.</span></figcaption> </figure> <div class="ltx_para" id="S5.SS3.SSS1.p1"> <p class="ltx_p" id="S5.SS3.SSS1.p1.3"><span class="ltx_text ltx_font_bold" id="S5.SS3.SSS1.p1.3.1">Vehicle base control:</span> The algorithm to control the movement of the vehicle base is based on the kinematics of the articulated vehicle described in Section <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.SS2.SSS1" title="5.2.1 Vehicle Base Kinematics ‣ 5.2 System Models ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">5.2.1</span></a>. It is inspired by the work presented in <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib59" title="">59</a>]</cite>, which introduces a path-following strategy for articulated drum rollers that navigate straight paths through construction sites. The core concept involves tracking a virtual reference vehicle with coordinates <math alttext="{\mathbf{q}^{d}}=[x^{d},y^{d},\theta^{d}]^{\mathrm{T}}" class="ltx_Math" display="inline" id="S5.SS3.SSS1.p1.1.m1.3"><semantics id="S5.SS3.SSS1.p1.1.m1.3a"><mrow id="S5.SS3.SSS1.p1.1.m1.3.3" xref="S5.SS3.SSS1.p1.1.m1.3.3.cmml"><msup id="S5.SS3.SSS1.p1.1.m1.3.3.5" xref="S5.SS3.SSS1.p1.1.m1.3.3.5.cmml"><mi id="S5.SS3.SSS1.p1.1.m1.3.3.5.2" xref="S5.SS3.SSS1.p1.1.m1.3.3.5.2.cmml">𝐪</mi><mi id="S5.SS3.SSS1.p1.1.m1.3.3.5.3" xref="S5.SS3.SSS1.p1.1.m1.3.3.5.3.cmml">d</mi></msup><mo id="S5.SS3.SSS1.p1.1.m1.3.3.4" xref="S5.SS3.SSS1.p1.1.m1.3.3.4.cmml">=</mo><msup id="S5.SS3.SSS1.p1.1.m1.3.3.3" xref="S5.SS3.SSS1.p1.1.m1.3.3.3.cmml"><mrow id="S5.SS3.SSS1.p1.1.m1.3.3.3.3.3" xref="S5.SS3.SSS1.p1.1.m1.3.3.3.3.4.cmml"><mo id="S5.SS3.SSS1.p1.1.m1.3.3.3.3.3.4" stretchy="false" xref="S5.SS3.SSS1.p1.1.m1.3.3.3.3.4.cmml">[</mo><msup id="S5.SS3.SSS1.p1.1.m1.1.1.1.1.1.1" xref="S5.SS3.SSS1.p1.1.m1.1.1.1.1.1.1.cmml"><mi id="S5.SS3.SSS1.p1.1.m1.1.1.1.1.1.1.2" xref="S5.SS3.SSS1.p1.1.m1.1.1.1.1.1.1.2.cmml">x</mi><mi id="S5.SS3.SSS1.p1.1.m1.1.1.1.1.1.1.3" xref="S5.SS3.SSS1.p1.1.m1.1.1.1.1.1.1.3.cmml">d</mi></msup><mo id="S5.SS3.SSS1.p1.1.m1.3.3.3.3.3.5" xref="S5.SS3.SSS1.p1.1.m1.3.3.3.3.4.cmml">,</mo><msup id="S5.SS3.SSS1.p1.1.m1.2.2.2.2.2.2" xref="S5.SS3.SSS1.p1.1.m1.2.2.2.2.2.2.cmml"><mi id="S5.SS3.SSS1.p1.1.m1.2.2.2.2.2.2.2" xref="S5.SS3.SSS1.p1.1.m1.2.2.2.2.2.2.2.cmml">y</mi><mi id="S5.SS3.SSS1.p1.1.m1.2.2.2.2.2.2.3" xref="S5.SS3.SSS1.p1.1.m1.2.2.2.2.2.2.3.cmml">d</mi></msup><mo id="S5.SS3.SSS1.p1.1.m1.3.3.3.3.3.6" xref="S5.SS3.SSS1.p1.1.m1.3.3.3.3.4.cmml">,</mo><msup id="S5.SS3.SSS1.p1.1.m1.3.3.3.3.3.3" xref="S5.SS3.SSS1.p1.1.m1.3.3.3.3.3.3.cmml"><mi id="S5.SS3.SSS1.p1.1.m1.3.3.3.3.3.3.2" xref="S5.SS3.SSS1.p1.1.m1.3.3.3.3.3.3.2.cmml">θ</mi><mi id="S5.SS3.SSS1.p1.1.m1.3.3.3.3.3.3.3" xref="S5.SS3.SSS1.p1.1.m1.3.3.3.3.3.3.3.cmml">d</mi></msup><mo id="S5.SS3.SSS1.p1.1.m1.3.3.3.3.3.7" stretchy="false" xref="S5.SS3.SSS1.p1.1.m1.3.3.3.3.4.cmml">]</mo></mrow><mi id="S5.SS3.SSS1.p1.1.m1.3.3.3.5" mathvariant="normal" xref="S5.SS3.SSS1.p1.1.m1.3.3.3.5.cmml">T</mi></msup></mrow><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS1.p1.1.m1.3b"><apply id="S5.SS3.SSS1.p1.1.m1.3.3.cmml" xref="S5.SS3.SSS1.p1.1.m1.3.3"><eq id="S5.SS3.SSS1.p1.1.m1.3.3.4.cmml" xref="S5.SS3.SSS1.p1.1.m1.3.3.4"></eq><apply id="S5.SS3.SSS1.p1.1.m1.3.3.5.cmml" xref="S5.SS3.SSS1.p1.1.m1.3.3.5"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p1.1.m1.3.3.5.1.cmml" xref="S5.SS3.SSS1.p1.1.m1.3.3.5">superscript</csymbol><ci id="S5.SS3.SSS1.p1.1.m1.3.3.5.2.cmml" xref="S5.SS3.SSS1.p1.1.m1.3.3.5.2">𝐪</ci><ci id="S5.SS3.SSS1.p1.1.m1.3.3.5.3.cmml" xref="S5.SS3.SSS1.p1.1.m1.3.3.5.3">𝑑</ci></apply><apply id="S5.SS3.SSS1.p1.1.m1.3.3.3.cmml" xref="S5.SS3.SSS1.p1.1.m1.3.3.3"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p1.1.m1.3.3.3.4.cmml" xref="S5.SS3.SSS1.p1.1.m1.3.3.3">superscript</csymbol><list id="S5.SS3.SSS1.p1.1.m1.3.3.3.3.4.cmml" xref="S5.SS3.SSS1.p1.1.m1.3.3.3.3.3"><apply id="S5.SS3.SSS1.p1.1.m1.1.1.1.1.1.1.cmml" xref="S5.SS3.SSS1.p1.1.m1.1.1.1.1.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p1.1.m1.1.1.1.1.1.1.1.cmml" xref="S5.SS3.SSS1.p1.1.m1.1.1.1.1.1.1">superscript</csymbol><ci id="S5.SS3.SSS1.p1.1.m1.1.1.1.1.1.1.2.cmml" xref="S5.SS3.SSS1.p1.1.m1.1.1.1.1.1.1.2">𝑥</ci><ci id="S5.SS3.SSS1.p1.1.m1.1.1.1.1.1.1.3.cmml" xref="S5.SS3.SSS1.p1.1.m1.1.1.1.1.1.1.3">𝑑</ci></apply><apply id="S5.SS3.SSS1.p1.1.m1.2.2.2.2.2.2.cmml" xref="S5.SS3.SSS1.p1.1.m1.2.2.2.2.2.2"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p1.1.m1.2.2.2.2.2.2.1.cmml" xref="S5.SS3.SSS1.p1.1.m1.2.2.2.2.2.2">superscript</csymbol><ci id="S5.SS3.SSS1.p1.1.m1.2.2.2.2.2.2.2.cmml" xref="S5.SS3.SSS1.p1.1.m1.2.2.2.2.2.2.2">𝑦</ci><ci id="S5.SS3.SSS1.p1.1.m1.2.2.2.2.2.2.3.cmml" xref="S5.SS3.SSS1.p1.1.m1.2.2.2.2.2.2.3">𝑑</ci></apply><apply id="S5.SS3.SSS1.p1.1.m1.3.3.3.3.3.3.cmml" xref="S5.SS3.SSS1.p1.1.m1.3.3.3.3.3.3"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p1.1.m1.3.3.3.3.3.3.1.cmml" xref="S5.SS3.SSS1.p1.1.m1.3.3.3.3.3.3">superscript</csymbol><ci id="S5.SS3.SSS1.p1.1.m1.3.3.3.3.3.3.2.cmml" xref="S5.SS3.SSS1.p1.1.m1.3.3.3.3.3.3.2">𝜃</ci><ci id="S5.SS3.SSS1.p1.1.m1.3.3.3.3.3.3.3.cmml" xref="S5.SS3.SSS1.p1.1.m1.3.3.3.3.3.3.3">𝑑</ci></apply></list><ci id="S5.SS3.SSS1.p1.1.m1.3.3.3.5.cmml" xref="S5.SS3.SSS1.p1.1.m1.3.3.3.5">T</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS1.p1.1.m1.3c">{\mathbf{q}^{d}}=[x^{d},y^{d},\theta^{d}]^{\mathrm{T}}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS1.p1.1.m1.3d">bold_q start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = [ italic_x start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_y start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_θ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT</annotation></semantics></math>, which serve as input of the Pose Tracking Control (PTC) component in Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.F16" title="Figure 16 ‣ 5.3.1 Cascaded control ‣ 5.3 Motion Planning and Control ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">16</span></a>a. The reference pose <math alttext="{\mathbf{q}^{d}}" class="ltx_Math" display="inline" id="S5.SS3.SSS1.p1.2.m2.1"><semantics id="S5.SS3.SSS1.p1.2.m2.1a"><msup id="S5.SS3.SSS1.p1.2.m2.1.1" xref="S5.SS3.SSS1.p1.2.m2.1.1.cmml"><mi id="S5.SS3.SSS1.p1.2.m2.1.1.2" xref="S5.SS3.SSS1.p1.2.m2.1.1.2.cmml">𝐪</mi><mi id="S5.SS3.SSS1.p1.2.m2.1.1.3" xref="S5.SS3.SSS1.p1.2.m2.1.1.3.cmml">d</mi></msup><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS1.p1.2.m2.1b"><apply id="S5.SS3.SSS1.p1.2.m2.1.1.cmml" xref="S5.SS3.SSS1.p1.2.m2.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p1.2.m2.1.1.1.cmml" xref="S5.SS3.SSS1.p1.2.m2.1.1">superscript</csymbol><ci id="S5.SS3.SSS1.p1.2.m2.1.1.2.cmml" xref="S5.SS3.SSS1.p1.2.m2.1.1.2">𝐪</ci><ci id="S5.SS3.SSS1.p1.2.m2.1.1.3.cmml" xref="S5.SS3.SSS1.p1.2.m2.1.1.3">𝑑</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS1.p1.2.m2.1c">{\mathbf{q}^{d}}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS1.p1.2.m2.1d">bold_q start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT</annotation></semantics></math> can either represent a pose on a precomputed path or a pallet being approached. The exact methods for determining <math alttext="{\mathbf{q}^{d}}" class="ltx_Math" display="inline" id="S5.SS3.SSS1.p1.3.m3.1"><semantics id="S5.SS3.SSS1.p1.3.m3.1a"><msup id="S5.SS3.SSS1.p1.3.m3.1.1" xref="S5.SS3.SSS1.p1.3.m3.1.1.cmml"><mi id="S5.SS3.SSS1.p1.3.m3.1.1.2" xref="S5.SS3.SSS1.p1.3.m3.1.1.2.cmml">𝐪</mi><mi id="S5.SS3.SSS1.p1.3.m3.1.1.3" xref="S5.SS3.SSS1.p1.3.m3.1.1.3.cmml">d</mi></msup><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS1.p1.3.m3.1b"><apply id="S5.SS3.SSS1.p1.3.m3.1.1.cmml" xref="S5.SS3.SSS1.p1.3.m3.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p1.3.m3.1.1.1.cmml" xref="S5.SS3.SSS1.p1.3.m3.1.1">superscript</csymbol><ci id="S5.SS3.SSS1.p1.3.m3.1.1.2.cmml" xref="S5.SS3.SSS1.p1.3.m3.1.1.2">𝐪</ci><ci id="S5.SS3.SSS1.p1.3.m3.1.1.3.cmml" xref="S5.SS3.SSS1.p1.3.m3.1.1.3">𝑑</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS1.p1.3.m3.1c">{\mathbf{q}^{d}}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS1.p1.3.m3.1d">bold_q start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT</annotation></semantics></math> will be explained in the following sections.</p> </div> <div class="ltx_para" id="S5.SS3.SSS1.p2"> <p class="ltx_p" id="S5.SS3.SSS1.p2.13">The tracking is implemented by minimizing the state of the error system</p> <table class="ltx_equation ltx_eqn_table" id="S5.E4"> <tbody><tr class="ltx_equation ltx_eqn_row ltx_align_baseline"> <td class="ltx_eqn_cell ltx_eqn_left_padleft"></td> <td class="ltx_eqn_cell ltx_align_left"><math alttext="\begin{bmatrix}e_{x}\\ e_{y}\\ e_{\theta}\end{bmatrix}=\begin{bmatrix}\cos{(\theta^{d})}&\sin{(\theta^{d})}&0% \\ -\sin{(\theta^{d})}&\cos{(\theta^{d})}&0\\ 0&0&1\end{bmatrix}\begin{bmatrix}x_{F/R}-x^{d}\\ y_{F/R}-y^{d}\\ \theta_{F/R}-\theta^{d}\end{bmatrix}\ ," class="ltx_Math" display="block" id="S5.E4.m1.4"><semantics id="S5.E4.m1.4a"><mrow id="S5.E4.m1.4.4.1" xref="S5.E4.m1.4.4.1.1.cmml"><mrow id="S5.E4.m1.4.4.1.1" xref="S5.E4.m1.4.4.1.1.cmml"><mrow id="S5.E4.m1.1.1.3" xref="S5.E4.m1.1.1.2.cmml"><mo id="S5.E4.m1.1.1.3.1" xref="S5.E4.m1.1.1.2.1.cmml">[</mo><mtable displaystyle="true" id="S5.E4.m1.1.1.1.1" rowspacing="0pt" xref="S5.E4.m1.1.1.1.1.cmml"><mtr id="S5.E4.m1.1.1.1.1a" xref="S5.E4.m1.1.1.1.1.cmml"><mtd id="S5.E4.m1.1.1.1.1b" xref="S5.E4.m1.1.1.1.1.cmml"><msub id="S5.E4.m1.1.1.1.1.1.1.1" xref="S5.E4.m1.1.1.1.1.1.1.1.cmml"><mi id="S5.E4.m1.1.1.1.1.1.1.1.2" xref="S5.E4.m1.1.1.1.1.1.1.1.2.cmml">e</mi><mi id="S5.E4.m1.1.1.1.1.1.1.1.3" xref="S5.E4.m1.1.1.1.1.1.1.1.3.cmml">x</mi></msub></mtd></mtr><mtr id="S5.E4.m1.1.1.1.1c" xref="S5.E4.m1.1.1.1.1.cmml"><mtd id="S5.E4.m1.1.1.1.1d" xref="S5.E4.m1.1.1.1.1.cmml"><msub id="S5.E4.m1.1.1.1.1.2.1.1" xref="S5.E4.m1.1.1.1.1.2.1.1.cmml"><mi id="S5.E4.m1.1.1.1.1.2.1.1.2" xref="S5.E4.m1.1.1.1.1.2.1.1.2.cmml">e</mi><mi id="S5.E4.m1.1.1.1.1.2.1.1.3" xref="S5.E4.m1.1.1.1.1.2.1.1.3.cmml">y</mi></msub></mtd></mtr><mtr id="S5.E4.m1.1.1.1.1e" xref="S5.E4.m1.1.1.1.1.cmml"><mtd id="S5.E4.m1.1.1.1.1f" xref="S5.E4.m1.1.1.1.1.cmml"><msub id="S5.E4.m1.1.1.1.1.3.1.1" xref="S5.E4.m1.1.1.1.1.3.1.1.cmml"><mi id="S5.E4.m1.1.1.1.1.3.1.1.2" xref="S5.E4.m1.1.1.1.1.3.1.1.2.cmml">e</mi><mi id="S5.E4.m1.1.1.1.1.3.1.1.3" xref="S5.E4.m1.1.1.1.1.3.1.1.3.cmml">θ</mi></msub></mtd></mtr></mtable><mo id="S5.E4.m1.1.1.3.2" xref="S5.E4.m1.1.1.2.1.cmml">]</mo></mrow><mo id="S5.E4.m1.4.4.1.1.1" xref="S5.E4.m1.4.4.1.1.1.cmml">=</mo><mrow id="S5.E4.m1.4.4.1.1.2" xref="S5.E4.m1.4.4.1.1.2.cmml"><mrow id="S5.E4.m1.2.2.3" xref="S5.E4.m1.2.2.2.cmml"><mo id="S5.E4.m1.2.2.3.1" xref="S5.E4.m1.2.2.2.1.cmml">[</mo><mtable columnspacing="5pt" displaystyle="true" id="S5.E4.m1.2.2.1.1" rowspacing="0pt" xref="S5.E4.m1.2.2.1.1.cmml"><mtr id="S5.E4.m1.2.2.1.1a" xref="S5.E4.m1.2.2.1.1.cmml"><mtd id="S5.E4.m1.2.2.1.1b" xref="S5.E4.m1.2.2.1.1.cmml"><mrow id="S5.E4.m1.2.2.1.1.2.2.2.2.2" xref="S5.E4.m1.2.2.1.1.2.2.2.2.3.cmml"><mi id="S5.E4.m1.2.2.1.1.1.1.1.1.1" xref="S5.E4.m1.2.2.1.1.1.1.1.1.1.cmml">cos</mi><mo id="S5.E4.m1.2.2.1.1.2.2.2.2.2a" xref="S5.E4.m1.2.2.1.1.2.2.2.2.3.cmml"></mo><mrow id="S5.E4.m1.2.2.1.1.2.2.2.2.2.1" xref="S5.E4.m1.2.2.1.1.2.2.2.2.3.cmml"><mo id="S5.E4.m1.2.2.1.1.2.2.2.2.2.1.2" stretchy="false" xref="S5.E4.m1.2.2.1.1.2.2.2.2.3.cmml">(</mo><msup id="S5.E4.m1.2.2.1.1.2.2.2.2.2.1.1" xref="S5.E4.m1.2.2.1.1.2.2.2.2.2.1.1.cmml"><mi id="S5.E4.m1.2.2.1.1.2.2.2.2.2.1.1.2" xref="S5.E4.m1.2.2.1.1.2.2.2.2.2.1.1.2.cmml">θ</mi><mi id="S5.E4.m1.2.2.1.1.2.2.2.2.2.1.1.3" xref="S5.E4.m1.2.2.1.1.2.2.2.2.2.1.1.3.cmml">d</mi></msup><mo id="S5.E4.m1.2.2.1.1.2.2.2.2.2.1.3" stretchy="false" xref="S5.E4.m1.2.2.1.1.2.2.2.2.3.cmml">)</mo></mrow></mrow></mtd><mtd id="S5.E4.m1.2.2.1.1c" xref="S5.E4.m1.2.2.1.1.cmml"><mrow id="S5.E4.m1.2.2.1.1.4.4.4.2.2" xref="S5.E4.m1.2.2.1.1.4.4.4.2.3.cmml"><mi id="S5.E4.m1.2.2.1.1.3.3.3.1.1" xref="S5.E4.m1.2.2.1.1.3.3.3.1.1.cmml">sin</mi><mo id="S5.E4.m1.2.2.1.1.4.4.4.2.2a" xref="S5.E4.m1.2.2.1.1.4.4.4.2.3.cmml"></mo><mrow id="S5.E4.m1.2.2.1.1.4.4.4.2.2.1" xref="S5.E4.m1.2.2.1.1.4.4.4.2.3.cmml"><mo id="S5.E4.m1.2.2.1.1.4.4.4.2.2.1.2" stretchy="false" xref="S5.E4.m1.2.2.1.1.4.4.4.2.3.cmml">(</mo><msup id="S5.E4.m1.2.2.1.1.4.4.4.2.2.1.1" xref="S5.E4.m1.2.2.1.1.4.4.4.2.2.1.1.cmml"><mi id="S5.E4.m1.2.2.1.1.4.4.4.2.2.1.1.2" xref="S5.E4.m1.2.2.1.1.4.4.4.2.2.1.1.2.cmml">θ</mi><mi id="S5.E4.m1.2.2.1.1.4.4.4.2.2.1.1.3" xref="S5.E4.m1.2.2.1.1.4.4.4.2.2.1.1.3.cmml">d</mi></msup><mo id="S5.E4.m1.2.2.1.1.4.4.4.2.2.1.3" stretchy="false" xref="S5.E4.m1.2.2.1.1.4.4.4.2.3.cmml">)</mo></mrow></mrow></mtd><mtd id="S5.E4.m1.2.2.1.1d" xref="S5.E4.m1.2.2.1.1.cmml"><mn id="S5.E4.m1.2.2.1.1.4.4.5.1" xref="S5.E4.m1.2.2.1.1.4.4.5.1.cmml">0</mn></mtd></mtr><mtr id="S5.E4.m1.2.2.1.1e" xref="S5.E4.m1.2.2.1.1.cmml"><mtd id="S5.E4.m1.2.2.1.1f" xref="S5.E4.m1.2.2.1.1.cmml"><mrow id="S5.E4.m1.2.2.1.1.6.6.2.2" xref="S5.E4.m1.2.2.1.1.6.6.2.2.cmml"><mo id="S5.E4.m1.2.2.1.1.6.6.2.2a" rspace="0.167em" xref="S5.E4.m1.2.2.1.1.6.6.2.2.cmml">−</mo><mrow id="S5.E4.m1.2.2.1.1.6.6.2.2.2.1" xref="S5.E4.m1.2.2.1.1.6.6.2.2.2.2.cmml"><mi id="S5.E4.m1.2.2.1.1.5.5.1.1.1" xref="S5.E4.m1.2.2.1.1.5.5.1.1.1.cmml">sin</mi><mo id="S5.E4.m1.2.2.1.1.6.6.2.2.2.1a" xref="S5.E4.m1.2.2.1.1.6.6.2.2.2.2.cmml"></mo><mrow id="S5.E4.m1.2.2.1.1.6.6.2.2.2.1.1" xref="S5.E4.m1.2.2.1.1.6.6.2.2.2.2.cmml"><mo id="S5.E4.m1.2.2.1.1.6.6.2.2.2.1.1.2" stretchy="false" xref="S5.E4.m1.2.2.1.1.6.6.2.2.2.2.cmml">(</mo><msup id="S5.E4.m1.2.2.1.1.6.6.2.2.2.1.1.1" xref="S5.E4.m1.2.2.1.1.6.6.2.2.2.1.1.1.cmml"><mi id="S5.E4.m1.2.2.1.1.6.6.2.2.2.1.1.1.2" xref="S5.E4.m1.2.2.1.1.6.6.2.2.2.1.1.1.2.cmml">θ</mi><mi id="S5.E4.m1.2.2.1.1.6.6.2.2.2.1.1.1.3" xref="S5.E4.m1.2.2.1.1.6.6.2.2.2.1.1.1.3.cmml">d</mi></msup><mo id="S5.E4.m1.2.2.1.1.6.6.2.2.2.1.1.3" stretchy="false" xref="S5.E4.m1.2.2.1.1.6.6.2.2.2.2.cmml">)</mo></mrow></mrow></mrow></mtd><mtd id="S5.E4.m1.2.2.1.1g" xref="S5.E4.m1.2.2.1.1.cmml"><mrow id="S5.E4.m1.2.2.1.1.8.8.4.2.2" xref="S5.E4.m1.2.2.1.1.8.8.4.2.3.cmml"><mi id="S5.E4.m1.2.2.1.1.7.7.3.1.1" xref="S5.E4.m1.2.2.1.1.7.7.3.1.1.cmml">cos</mi><mo id="S5.E4.m1.2.2.1.1.8.8.4.2.2a" xref="S5.E4.m1.2.2.1.1.8.8.4.2.3.cmml"></mo><mrow id="S5.E4.m1.2.2.1.1.8.8.4.2.2.1" xref="S5.E4.m1.2.2.1.1.8.8.4.2.3.cmml"><mo id="S5.E4.m1.2.2.1.1.8.8.4.2.2.1.2" stretchy="false" xref="S5.E4.m1.2.2.1.1.8.8.4.2.3.cmml">(</mo><msup id="S5.E4.m1.2.2.1.1.8.8.4.2.2.1.1" xref="S5.E4.m1.2.2.1.1.8.8.4.2.2.1.1.cmml"><mi id="S5.E4.m1.2.2.1.1.8.8.4.2.2.1.1.2" xref="S5.E4.m1.2.2.1.1.8.8.4.2.2.1.1.2.cmml">θ</mi><mi id="S5.E4.m1.2.2.1.1.8.8.4.2.2.1.1.3" xref="S5.E4.m1.2.2.1.1.8.8.4.2.2.1.1.3.cmml">d</mi></msup><mo id="S5.E4.m1.2.2.1.1.8.8.4.2.2.1.3" stretchy="false" xref="S5.E4.m1.2.2.1.1.8.8.4.2.3.cmml">)</mo></mrow></mrow></mtd><mtd id="S5.E4.m1.2.2.1.1h" xref="S5.E4.m1.2.2.1.1.cmml"><mn id="S5.E4.m1.2.2.1.1.8.8.5.1" xref="S5.E4.m1.2.2.1.1.8.8.5.1.cmml">0</mn></mtd></mtr><mtr id="S5.E4.m1.2.2.1.1i" xref="S5.E4.m1.2.2.1.1.cmml"><mtd id="S5.E4.m1.2.2.1.1j" xref="S5.E4.m1.2.2.1.1.cmml"><mn id="S5.E4.m1.2.2.1.1.9.1.1" xref="S5.E4.m1.2.2.1.1.9.1.1.cmml">0</mn></mtd><mtd id="S5.E4.m1.2.2.1.1k" xref="S5.E4.m1.2.2.1.1.cmml"><mn id="S5.E4.m1.2.2.1.1.9.2.1" xref="S5.E4.m1.2.2.1.1.9.2.1.cmml">0</mn></mtd><mtd id="S5.E4.m1.2.2.1.1l" xref="S5.E4.m1.2.2.1.1.cmml"><mn id="S5.E4.m1.2.2.1.1.9.3.1" xref="S5.E4.m1.2.2.1.1.9.3.1.cmml">1</mn></mtd></mtr></mtable><mo id="S5.E4.m1.2.2.3.2" xref="S5.E4.m1.2.2.2.1.cmml">]</mo></mrow><mo id="S5.E4.m1.4.4.1.1.2.1" xref="S5.E4.m1.4.4.1.1.2.1.cmml"></mo><mrow id="S5.E4.m1.3.3.3" xref="S5.E4.m1.3.3.2.cmml"><mo id="S5.E4.m1.3.3.3.1" xref="S5.E4.m1.3.3.2.1.cmml">[</mo><mtable displaystyle="true" id="S5.E4.m1.3.3.1.1" rowspacing="0pt" xref="S5.E4.m1.3.3.1.1.cmml"><mtr id="S5.E4.m1.3.3.1.1a" xref="S5.E4.m1.3.3.1.1.cmml"><mtd id="S5.E4.m1.3.3.1.1b" xref="S5.E4.m1.3.3.1.1.cmml"><mrow id="S5.E4.m1.3.3.1.1.1.1.1" xref="S5.E4.m1.3.3.1.1.1.1.1.cmml"><msub id="S5.E4.m1.3.3.1.1.1.1.1.2" xref="S5.E4.m1.3.3.1.1.1.1.1.2.cmml"><mi id="S5.E4.m1.3.3.1.1.1.1.1.2.2" xref="S5.E4.m1.3.3.1.1.1.1.1.2.2.cmml">x</mi><mrow id="S5.E4.m1.3.3.1.1.1.1.1.2.3" xref="S5.E4.m1.3.3.1.1.1.1.1.2.3.cmml"><mi id="S5.E4.m1.3.3.1.1.1.1.1.2.3.2" xref="S5.E4.m1.3.3.1.1.1.1.1.2.3.2.cmml">F</mi><mo id="S5.E4.m1.3.3.1.1.1.1.1.2.3.1" xref="S5.E4.m1.3.3.1.1.1.1.1.2.3.1.cmml">/</mo><mi id="S5.E4.m1.3.3.1.1.1.1.1.2.3.3" xref="S5.E4.m1.3.3.1.1.1.1.1.2.3.3.cmml">R</mi></mrow></msub><mo id="S5.E4.m1.3.3.1.1.1.1.1.1" xref="S5.E4.m1.3.3.1.1.1.1.1.1.cmml">−</mo><msup id="S5.E4.m1.3.3.1.1.1.1.1.3" xref="S5.E4.m1.3.3.1.1.1.1.1.3.cmml"><mi id="S5.E4.m1.3.3.1.1.1.1.1.3.2" xref="S5.E4.m1.3.3.1.1.1.1.1.3.2.cmml">x</mi><mi id="S5.E4.m1.3.3.1.1.1.1.1.3.3" xref="S5.E4.m1.3.3.1.1.1.1.1.3.3.cmml">d</mi></msup></mrow></mtd></mtr><mtr id="S5.E4.m1.3.3.1.1c" xref="S5.E4.m1.3.3.1.1.cmml"><mtd id="S5.E4.m1.3.3.1.1d" xref="S5.E4.m1.3.3.1.1.cmml"><mrow id="S5.E4.m1.3.3.1.1.2.1.1" xref="S5.E4.m1.3.3.1.1.2.1.1.cmml"><msub id="S5.E4.m1.3.3.1.1.2.1.1.2" xref="S5.E4.m1.3.3.1.1.2.1.1.2.cmml"><mi id="S5.E4.m1.3.3.1.1.2.1.1.2.2" xref="S5.E4.m1.3.3.1.1.2.1.1.2.2.cmml">y</mi><mrow id="S5.E4.m1.3.3.1.1.2.1.1.2.3" xref="S5.E4.m1.3.3.1.1.2.1.1.2.3.cmml"><mi id="S5.E4.m1.3.3.1.1.2.1.1.2.3.2" xref="S5.E4.m1.3.3.1.1.2.1.1.2.3.2.cmml">F</mi><mo id="S5.E4.m1.3.3.1.1.2.1.1.2.3.1" xref="S5.E4.m1.3.3.1.1.2.1.1.2.3.1.cmml">/</mo><mi id="S5.E4.m1.3.3.1.1.2.1.1.2.3.3" xref="S5.E4.m1.3.3.1.1.2.1.1.2.3.3.cmml">R</mi></mrow></msub><mo id="S5.E4.m1.3.3.1.1.2.1.1.1" xref="S5.E4.m1.3.3.1.1.2.1.1.1.cmml">−</mo><msup id="S5.E4.m1.3.3.1.1.2.1.1.3" xref="S5.E4.m1.3.3.1.1.2.1.1.3.cmml"><mi id="S5.E4.m1.3.3.1.1.2.1.1.3.2" xref="S5.E4.m1.3.3.1.1.2.1.1.3.2.cmml">y</mi><mi id="S5.E4.m1.3.3.1.1.2.1.1.3.3" xref="S5.E4.m1.3.3.1.1.2.1.1.3.3.cmml">d</mi></msup></mrow></mtd></mtr><mtr id="S5.E4.m1.3.3.1.1e" xref="S5.E4.m1.3.3.1.1.cmml"><mtd id="S5.E4.m1.3.3.1.1f" xref="S5.E4.m1.3.3.1.1.cmml"><mrow id="S5.E4.m1.3.3.1.1.3.1.1" xref="S5.E4.m1.3.3.1.1.3.1.1.cmml"><msub id="S5.E4.m1.3.3.1.1.3.1.1.2" xref="S5.E4.m1.3.3.1.1.3.1.1.2.cmml"><mi id="S5.E4.m1.3.3.1.1.3.1.1.2.2" xref="S5.E4.m1.3.3.1.1.3.1.1.2.2.cmml">θ</mi><mrow id="S5.E4.m1.3.3.1.1.3.1.1.2.3" xref="S5.E4.m1.3.3.1.1.3.1.1.2.3.cmml"><mi id="S5.E4.m1.3.3.1.1.3.1.1.2.3.2" xref="S5.E4.m1.3.3.1.1.3.1.1.2.3.2.cmml">F</mi><mo id="S5.E4.m1.3.3.1.1.3.1.1.2.3.1" xref="S5.E4.m1.3.3.1.1.3.1.1.2.3.1.cmml">/</mo><mi id="S5.E4.m1.3.3.1.1.3.1.1.2.3.3" xref="S5.E4.m1.3.3.1.1.3.1.1.2.3.3.cmml">R</mi></mrow></msub><mo id="S5.E4.m1.3.3.1.1.3.1.1.1" xref="S5.E4.m1.3.3.1.1.3.1.1.1.cmml">−</mo><msup id="S5.E4.m1.3.3.1.1.3.1.1.3" xref="S5.E4.m1.3.3.1.1.3.1.1.3.cmml"><mi id="S5.E4.m1.3.3.1.1.3.1.1.3.2" xref="S5.E4.m1.3.3.1.1.3.1.1.3.2.cmml">θ</mi><mi id="S5.E4.m1.3.3.1.1.3.1.1.3.3" xref="S5.E4.m1.3.3.1.1.3.1.1.3.3.cmml">d</mi></msup></mrow></mtd></mtr></mtable><mo id="S5.E4.m1.3.3.3.2" xref="S5.E4.m1.3.3.2.1.cmml">]</mo></mrow></mrow></mrow><mo id="S5.E4.m1.4.4.1.2" xref="S5.E4.m1.4.4.1.1.cmml">,</mo></mrow><annotation-xml encoding="MathML-Content" id="S5.E4.m1.4b"><apply id="S5.E4.m1.4.4.1.1.cmml" xref="S5.E4.m1.4.4.1"><eq id="S5.E4.m1.4.4.1.1.1.cmml" xref="S5.E4.m1.4.4.1.1.1"></eq><apply id="S5.E4.m1.1.1.2.cmml" xref="S5.E4.m1.1.1.3"><csymbol cd="latexml" id="S5.E4.m1.1.1.2.1.cmml" xref="S5.E4.m1.1.1.3.1">matrix</csymbol><matrix id="S5.E4.m1.1.1.1.1.cmml" xref="S5.E4.m1.1.1.1.1"><matrixrow id="S5.E4.m1.1.1.1.1a.cmml" xref="S5.E4.m1.1.1.1.1"><apply id="S5.E4.m1.1.1.1.1.1.1.1.cmml" xref="S5.E4.m1.1.1.1.1.1.1.1"><csymbol cd="ambiguous" id="S5.E4.m1.1.1.1.1.1.1.1.1.cmml" xref="S5.E4.m1.1.1.1.1.1.1.1">subscript</csymbol><ci id="S5.E4.m1.1.1.1.1.1.1.1.2.cmml" xref="S5.E4.m1.1.1.1.1.1.1.1.2">𝑒</ci><ci id="S5.E4.m1.1.1.1.1.1.1.1.3.cmml" xref="S5.E4.m1.1.1.1.1.1.1.1.3">𝑥</ci></apply></matrixrow><matrixrow id="S5.E4.m1.1.1.1.1b.cmml" xref="S5.E4.m1.1.1.1.1"><apply id="S5.E4.m1.1.1.1.1.2.1.1.cmml" xref="S5.E4.m1.1.1.1.1.2.1.1"><csymbol cd="ambiguous" id="S5.E4.m1.1.1.1.1.2.1.1.1.cmml" xref="S5.E4.m1.1.1.1.1.2.1.1">subscript</csymbol><ci id="S5.E4.m1.1.1.1.1.2.1.1.2.cmml" xref="S5.E4.m1.1.1.1.1.2.1.1.2">𝑒</ci><ci id="S5.E4.m1.1.1.1.1.2.1.1.3.cmml" xref="S5.E4.m1.1.1.1.1.2.1.1.3">𝑦</ci></apply></matrixrow><matrixrow id="S5.E4.m1.1.1.1.1c.cmml" xref="S5.E4.m1.1.1.1.1"><apply id="S5.E4.m1.1.1.1.1.3.1.1.cmml" xref="S5.E4.m1.1.1.1.1.3.1.1"><csymbol cd="ambiguous" id="S5.E4.m1.1.1.1.1.3.1.1.1.cmml" xref="S5.E4.m1.1.1.1.1.3.1.1">subscript</csymbol><ci id="S5.E4.m1.1.1.1.1.3.1.1.2.cmml" xref="S5.E4.m1.1.1.1.1.3.1.1.2">𝑒</ci><ci id="S5.E4.m1.1.1.1.1.3.1.1.3.cmml" xref="S5.E4.m1.1.1.1.1.3.1.1.3">𝜃</ci></apply></matrixrow></matrix></apply><apply id="S5.E4.m1.4.4.1.1.2.cmml" xref="S5.E4.m1.4.4.1.1.2"><times id="S5.E4.m1.4.4.1.1.2.1.cmml" xref="S5.E4.m1.4.4.1.1.2.1"></times><apply id="S5.E4.m1.2.2.2.cmml" xref="S5.E4.m1.2.2.3"><csymbol cd="latexml" id="S5.E4.m1.2.2.2.1.cmml" xref="S5.E4.m1.2.2.3.1">matrix</csymbol><matrix id="S5.E4.m1.2.2.1.1.cmml" xref="S5.E4.m1.2.2.1.1"><matrixrow id="S5.E4.m1.2.2.1.1a.cmml" xref="S5.E4.m1.2.2.1.1"><apply id="S5.E4.m1.2.2.1.1.2.2.2.2.3.cmml" xref="S5.E4.m1.2.2.1.1.2.2.2.2.2"><cos id="S5.E4.m1.2.2.1.1.1.1.1.1.1.cmml" xref="S5.E4.m1.2.2.1.1.1.1.1.1.1"></cos><apply id="S5.E4.m1.2.2.1.1.2.2.2.2.2.1.1.cmml" xref="S5.E4.m1.2.2.1.1.2.2.2.2.2.1.1"><csymbol cd="ambiguous" id="S5.E4.m1.2.2.1.1.2.2.2.2.2.1.1.1.cmml" xref="S5.E4.m1.2.2.1.1.2.2.2.2.2.1.1">superscript</csymbol><ci id="S5.E4.m1.2.2.1.1.2.2.2.2.2.1.1.2.cmml" xref="S5.E4.m1.2.2.1.1.2.2.2.2.2.1.1.2">𝜃</ci><ci id="S5.E4.m1.2.2.1.1.2.2.2.2.2.1.1.3.cmml" xref="S5.E4.m1.2.2.1.1.2.2.2.2.2.1.1.3">𝑑</ci></apply></apply><apply id="S5.E4.m1.2.2.1.1.4.4.4.2.3.cmml" xref="S5.E4.m1.2.2.1.1.4.4.4.2.2"><sin id="S5.E4.m1.2.2.1.1.3.3.3.1.1.cmml" xref="S5.E4.m1.2.2.1.1.3.3.3.1.1"></sin><apply id="S5.E4.m1.2.2.1.1.4.4.4.2.2.1.1.cmml" xref="S5.E4.m1.2.2.1.1.4.4.4.2.2.1.1"><csymbol cd="ambiguous" id="S5.E4.m1.2.2.1.1.4.4.4.2.2.1.1.1.cmml" xref="S5.E4.m1.2.2.1.1.4.4.4.2.2.1.1">superscript</csymbol><ci id="S5.E4.m1.2.2.1.1.4.4.4.2.2.1.1.2.cmml" xref="S5.E4.m1.2.2.1.1.4.4.4.2.2.1.1.2">𝜃</ci><ci id="S5.E4.m1.2.2.1.1.4.4.4.2.2.1.1.3.cmml" xref="S5.E4.m1.2.2.1.1.4.4.4.2.2.1.1.3">𝑑</ci></apply></apply><cn id="S5.E4.m1.2.2.1.1.4.4.5.1.cmml" type="integer" xref="S5.E4.m1.2.2.1.1.4.4.5.1">0</cn></matrixrow><matrixrow id="S5.E4.m1.2.2.1.1b.cmml" xref="S5.E4.m1.2.2.1.1"><apply id="S5.E4.m1.2.2.1.1.6.6.2.2.cmml" xref="S5.E4.m1.2.2.1.1.6.6.2.2"><minus id="S5.E4.m1.2.2.1.1.6.6.2.2.3.cmml" xref="S5.E4.m1.2.2.1.1.6.6.2.2"></minus><apply id="S5.E4.m1.2.2.1.1.6.6.2.2.2.2.cmml" xref="S5.E4.m1.2.2.1.1.6.6.2.2.2.1"><sin id="S5.E4.m1.2.2.1.1.5.5.1.1.1.cmml" xref="S5.E4.m1.2.2.1.1.5.5.1.1.1"></sin><apply id="S5.E4.m1.2.2.1.1.6.6.2.2.2.1.1.1.cmml" xref="S5.E4.m1.2.2.1.1.6.6.2.2.2.1.1.1"><csymbol cd="ambiguous" id="S5.E4.m1.2.2.1.1.6.6.2.2.2.1.1.1.1.cmml" xref="S5.E4.m1.2.2.1.1.6.6.2.2.2.1.1.1">superscript</csymbol><ci id="S5.E4.m1.2.2.1.1.6.6.2.2.2.1.1.1.2.cmml" xref="S5.E4.m1.2.2.1.1.6.6.2.2.2.1.1.1.2">𝜃</ci><ci id="S5.E4.m1.2.2.1.1.6.6.2.2.2.1.1.1.3.cmml" xref="S5.E4.m1.2.2.1.1.6.6.2.2.2.1.1.1.3">𝑑</ci></apply></apply></apply><apply id="S5.E4.m1.2.2.1.1.8.8.4.2.3.cmml" xref="S5.E4.m1.2.2.1.1.8.8.4.2.2"><cos id="S5.E4.m1.2.2.1.1.7.7.3.1.1.cmml" xref="S5.E4.m1.2.2.1.1.7.7.3.1.1"></cos><apply id="S5.E4.m1.2.2.1.1.8.8.4.2.2.1.1.cmml" xref="S5.E4.m1.2.2.1.1.8.8.4.2.2.1.1"><csymbol cd="ambiguous" id="S5.E4.m1.2.2.1.1.8.8.4.2.2.1.1.1.cmml" xref="S5.E4.m1.2.2.1.1.8.8.4.2.2.1.1">superscript</csymbol><ci id="S5.E4.m1.2.2.1.1.8.8.4.2.2.1.1.2.cmml" xref="S5.E4.m1.2.2.1.1.8.8.4.2.2.1.1.2">𝜃</ci><ci id="S5.E4.m1.2.2.1.1.8.8.4.2.2.1.1.3.cmml" xref="S5.E4.m1.2.2.1.1.8.8.4.2.2.1.1.3">𝑑</ci></apply></apply><cn id="S5.E4.m1.2.2.1.1.8.8.5.1.cmml" type="integer" xref="S5.E4.m1.2.2.1.1.8.8.5.1">0</cn></matrixrow><matrixrow id="S5.E4.m1.2.2.1.1c.cmml" xref="S5.E4.m1.2.2.1.1"><cn id="S5.E4.m1.2.2.1.1.9.1.1.cmml" type="integer" xref="S5.E4.m1.2.2.1.1.9.1.1">0</cn><cn id="S5.E4.m1.2.2.1.1.9.2.1.cmml" type="integer" xref="S5.E4.m1.2.2.1.1.9.2.1">0</cn><cn id="S5.E4.m1.2.2.1.1.9.3.1.cmml" type="integer" xref="S5.E4.m1.2.2.1.1.9.3.1">1</cn></matrixrow></matrix></apply><apply id="S5.E4.m1.3.3.2.cmml" xref="S5.E4.m1.3.3.3"><csymbol cd="latexml" id="S5.E4.m1.3.3.2.1.cmml" xref="S5.E4.m1.3.3.3.1">matrix</csymbol><matrix id="S5.E4.m1.3.3.1.1.cmml" xref="S5.E4.m1.3.3.1.1"><matrixrow id="S5.E4.m1.3.3.1.1a.cmml" xref="S5.E4.m1.3.3.1.1"><apply id="S5.E4.m1.3.3.1.1.1.1.1.cmml" xref="S5.E4.m1.3.3.1.1.1.1.1"><minus id="S5.E4.m1.3.3.1.1.1.1.1.1.cmml" xref="S5.E4.m1.3.3.1.1.1.1.1.1"></minus><apply id="S5.E4.m1.3.3.1.1.1.1.1.2.cmml" xref="S5.E4.m1.3.3.1.1.1.1.1.2"><csymbol cd="ambiguous" id="S5.E4.m1.3.3.1.1.1.1.1.2.1.cmml" xref="S5.E4.m1.3.3.1.1.1.1.1.2">subscript</csymbol><ci id="S5.E4.m1.3.3.1.1.1.1.1.2.2.cmml" xref="S5.E4.m1.3.3.1.1.1.1.1.2.2">𝑥</ci><apply id="S5.E4.m1.3.3.1.1.1.1.1.2.3.cmml" xref="S5.E4.m1.3.3.1.1.1.1.1.2.3"><divide id="S5.E4.m1.3.3.1.1.1.1.1.2.3.1.cmml" xref="S5.E4.m1.3.3.1.1.1.1.1.2.3.1"></divide><ci id="S5.E4.m1.3.3.1.1.1.1.1.2.3.2.cmml" xref="S5.E4.m1.3.3.1.1.1.1.1.2.3.2">𝐹</ci><ci id="S5.E4.m1.3.3.1.1.1.1.1.2.3.3.cmml" xref="S5.E4.m1.3.3.1.1.1.1.1.2.3.3">𝑅</ci></apply></apply><apply id="S5.E4.m1.3.3.1.1.1.1.1.3.cmml" xref="S5.E4.m1.3.3.1.1.1.1.1.3"><csymbol cd="ambiguous" id="S5.E4.m1.3.3.1.1.1.1.1.3.1.cmml" xref="S5.E4.m1.3.3.1.1.1.1.1.3">superscript</csymbol><ci id="S5.E4.m1.3.3.1.1.1.1.1.3.2.cmml" xref="S5.E4.m1.3.3.1.1.1.1.1.3.2">𝑥</ci><ci id="S5.E4.m1.3.3.1.1.1.1.1.3.3.cmml" xref="S5.E4.m1.3.3.1.1.1.1.1.3.3">𝑑</ci></apply></apply></matrixrow><matrixrow id="S5.E4.m1.3.3.1.1b.cmml" xref="S5.E4.m1.3.3.1.1"><apply id="S5.E4.m1.3.3.1.1.2.1.1.cmml" xref="S5.E4.m1.3.3.1.1.2.1.1"><minus id="S5.E4.m1.3.3.1.1.2.1.1.1.cmml" xref="S5.E4.m1.3.3.1.1.2.1.1.1"></minus><apply id="S5.E4.m1.3.3.1.1.2.1.1.2.cmml" xref="S5.E4.m1.3.3.1.1.2.1.1.2"><csymbol cd="ambiguous" id="S5.E4.m1.3.3.1.1.2.1.1.2.1.cmml" xref="S5.E4.m1.3.3.1.1.2.1.1.2">subscript</csymbol><ci id="S5.E4.m1.3.3.1.1.2.1.1.2.2.cmml" xref="S5.E4.m1.3.3.1.1.2.1.1.2.2">𝑦</ci><apply id="S5.E4.m1.3.3.1.1.2.1.1.2.3.cmml" xref="S5.E4.m1.3.3.1.1.2.1.1.2.3"><divide id="S5.E4.m1.3.3.1.1.2.1.1.2.3.1.cmml" xref="S5.E4.m1.3.3.1.1.2.1.1.2.3.1"></divide><ci id="S5.E4.m1.3.3.1.1.2.1.1.2.3.2.cmml" xref="S5.E4.m1.3.3.1.1.2.1.1.2.3.2">𝐹</ci><ci id="S5.E4.m1.3.3.1.1.2.1.1.2.3.3.cmml" xref="S5.E4.m1.3.3.1.1.2.1.1.2.3.3">𝑅</ci></apply></apply><apply id="S5.E4.m1.3.3.1.1.2.1.1.3.cmml" xref="S5.E4.m1.3.3.1.1.2.1.1.3"><csymbol cd="ambiguous" id="S5.E4.m1.3.3.1.1.2.1.1.3.1.cmml" xref="S5.E4.m1.3.3.1.1.2.1.1.3">superscript</csymbol><ci id="S5.E4.m1.3.3.1.1.2.1.1.3.2.cmml" xref="S5.E4.m1.3.3.1.1.2.1.1.3.2">𝑦</ci><ci id="S5.E4.m1.3.3.1.1.2.1.1.3.3.cmml" xref="S5.E4.m1.3.3.1.1.2.1.1.3.3">𝑑</ci></apply></apply></matrixrow><matrixrow id="S5.E4.m1.3.3.1.1c.cmml" xref="S5.E4.m1.3.3.1.1"><apply id="S5.E4.m1.3.3.1.1.3.1.1.cmml" xref="S5.E4.m1.3.3.1.1.3.1.1"><minus id="S5.E4.m1.3.3.1.1.3.1.1.1.cmml" xref="S5.E4.m1.3.3.1.1.3.1.1.1"></minus><apply id="S5.E4.m1.3.3.1.1.3.1.1.2.cmml" xref="S5.E4.m1.3.3.1.1.3.1.1.2"><csymbol cd="ambiguous" id="S5.E4.m1.3.3.1.1.3.1.1.2.1.cmml" xref="S5.E4.m1.3.3.1.1.3.1.1.2">subscript</csymbol><ci id="S5.E4.m1.3.3.1.1.3.1.1.2.2.cmml" xref="S5.E4.m1.3.3.1.1.3.1.1.2.2">𝜃</ci><apply id="S5.E4.m1.3.3.1.1.3.1.1.2.3.cmml" xref="S5.E4.m1.3.3.1.1.3.1.1.2.3"><divide id="S5.E4.m1.3.3.1.1.3.1.1.2.3.1.cmml" xref="S5.E4.m1.3.3.1.1.3.1.1.2.3.1"></divide><ci id="S5.E4.m1.3.3.1.1.3.1.1.2.3.2.cmml" xref="S5.E4.m1.3.3.1.1.3.1.1.2.3.2">𝐹</ci><ci id="S5.E4.m1.3.3.1.1.3.1.1.2.3.3.cmml" xref="S5.E4.m1.3.3.1.1.3.1.1.2.3.3">𝑅</ci></apply></apply><apply id="S5.E4.m1.3.3.1.1.3.1.1.3.cmml" xref="S5.E4.m1.3.3.1.1.3.1.1.3"><csymbol cd="ambiguous" id="S5.E4.m1.3.3.1.1.3.1.1.3.1.cmml" xref="S5.E4.m1.3.3.1.1.3.1.1.3">superscript</csymbol><ci id="S5.E4.m1.3.3.1.1.3.1.1.3.2.cmml" xref="S5.E4.m1.3.3.1.1.3.1.1.3.2">𝜃</ci><ci id="S5.E4.m1.3.3.1.1.3.1.1.3.3.cmml" xref="S5.E4.m1.3.3.1.1.3.1.1.3.3">𝑑</ci></apply></apply></matrixrow></matrix></apply></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.E4.m1.4c">\begin{bmatrix}e_{x}\\ e_{y}\\ e_{\theta}\end{bmatrix}=\begin{bmatrix}\cos{(\theta^{d})}&\sin{(\theta^{d})}&0% \\ -\sin{(\theta^{d})}&\cos{(\theta^{d})}&0\\ 0&0&1\end{bmatrix}\begin{bmatrix}x_{F/R}-x^{d}\\ y_{F/R}-y^{d}\\ \theta_{F/R}-\theta^{d}\end{bmatrix}\ ,</annotation><annotation encoding="application/x-llamapun" id="S5.E4.m1.4d">[ start_ARG start_ROW start_CELL italic_e start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL italic_e start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL italic_e start_POSTSUBSCRIPT italic_θ end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ] = [ start_ARG start_ROW start_CELL roman_cos ( italic_θ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) end_CELL start_CELL roman_sin ( italic_θ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) end_CELL start_CELL 0 end_CELL end_ROW start_ROW start_CELL - roman_sin ( italic_θ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) end_CELL start_CELL roman_cos ( italic_θ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) end_CELL start_CELL 0 end_CELL end_ROW start_ROW start_CELL 0 end_CELL start_CELL 0 end_CELL start_CELL 1 end_CELL end_ROW end_ARG ] [ start_ARG start_ROW start_CELL italic_x start_POSTSUBSCRIPT italic_F / italic_R end_POSTSUBSCRIPT - italic_x start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL italic_y start_POSTSUBSCRIPT italic_F / italic_R end_POSTSUBSCRIPT - italic_y start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL italic_θ start_POSTSUBSCRIPT italic_F / italic_R end_POSTSUBSCRIPT - italic_θ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_CELL end_ROW end_ARG ] ,</annotation></semantics></math></td> <td class="ltx_eqn_cell ltx_eqn_left_padright"></td> <td class="ltx_eqn_cell ltx_eqn_eqno ltx_align_middle ltx_align_right" rowspan="1"><span class="ltx_tag ltx_tag_equation ltx_align_right">(4)</span></td> </tr></tbody> </table> <p class="ltx_p" id="S5.SS3.SSS1.p2.7">which is calculated by transforming the Cartesian coordinates of the reference vehicle into the vehicle’s body-fixed origin <math alttext="{\mathbf{q}_{F/R}}=[x_{F/R},y_{F/R},\theta_{F/R}]^{\mathrm{T}}" class="ltx_Math" display="inline" id="S5.SS3.SSS1.p2.1.m1.3"><semantics id="S5.SS3.SSS1.p2.1.m1.3a"><mrow id="S5.SS3.SSS1.p2.1.m1.3.3" xref="S5.SS3.SSS1.p2.1.m1.3.3.cmml"><msub id="S5.SS3.SSS1.p2.1.m1.3.3.5" xref="S5.SS3.SSS1.p2.1.m1.3.3.5.cmml"><mi id="S5.SS3.SSS1.p2.1.m1.3.3.5.2" xref="S5.SS3.SSS1.p2.1.m1.3.3.5.2.cmml">𝐪</mi><mrow id="S5.SS3.SSS1.p2.1.m1.3.3.5.3" xref="S5.SS3.SSS1.p2.1.m1.3.3.5.3.cmml"><mi id="S5.SS3.SSS1.p2.1.m1.3.3.5.3.2" xref="S5.SS3.SSS1.p2.1.m1.3.3.5.3.2.cmml">F</mi><mo id="S5.SS3.SSS1.p2.1.m1.3.3.5.3.1" xref="S5.SS3.SSS1.p2.1.m1.3.3.5.3.1.cmml">/</mo><mi id="S5.SS3.SSS1.p2.1.m1.3.3.5.3.3" xref="S5.SS3.SSS1.p2.1.m1.3.3.5.3.3.cmml">R</mi></mrow></msub><mo id="S5.SS3.SSS1.p2.1.m1.3.3.4" xref="S5.SS3.SSS1.p2.1.m1.3.3.4.cmml">=</mo><msup id="S5.SS3.SSS1.p2.1.m1.3.3.3" xref="S5.SS3.SSS1.p2.1.m1.3.3.3.cmml"><mrow id="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3" xref="S5.SS3.SSS1.p2.1.m1.3.3.3.3.4.cmml"><mo id="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.4" stretchy="false" xref="S5.SS3.SSS1.p2.1.m1.3.3.3.3.4.cmml">[</mo><msub id="S5.SS3.SSS1.p2.1.m1.1.1.1.1.1.1" xref="S5.SS3.SSS1.p2.1.m1.1.1.1.1.1.1.cmml"><mi id="S5.SS3.SSS1.p2.1.m1.1.1.1.1.1.1.2" xref="S5.SS3.SSS1.p2.1.m1.1.1.1.1.1.1.2.cmml">x</mi><mrow id="S5.SS3.SSS1.p2.1.m1.1.1.1.1.1.1.3" xref="S5.SS3.SSS1.p2.1.m1.1.1.1.1.1.1.3.cmml"><mi id="S5.SS3.SSS1.p2.1.m1.1.1.1.1.1.1.3.2" xref="S5.SS3.SSS1.p2.1.m1.1.1.1.1.1.1.3.2.cmml">F</mi><mo id="S5.SS3.SSS1.p2.1.m1.1.1.1.1.1.1.3.1" xref="S5.SS3.SSS1.p2.1.m1.1.1.1.1.1.1.3.1.cmml">/</mo><mi id="S5.SS3.SSS1.p2.1.m1.1.1.1.1.1.1.3.3" xref="S5.SS3.SSS1.p2.1.m1.1.1.1.1.1.1.3.3.cmml">R</mi></mrow></msub><mo id="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.5" xref="S5.SS3.SSS1.p2.1.m1.3.3.3.3.4.cmml">,</mo><msub id="S5.SS3.SSS1.p2.1.m1.2.2.2.2.2.2" xref="S5.SS3.SSS1.p2.1.m1.2.2.2.2.2.2.cmml"><mi id="S5.SS3.SSS1.p2.1.m1.2.2.2.2.2.2.2" xref="S5.SS3.SSS1.p2.1.m1.2.2.2.2.2.2.2.cmml">y</mi><mrow id="S5.SS3.SSS1.p2.1.m1.2.2.2.2.2.2.3" xref="S5.SS3.SSS1.p2.1.m1.2.2.2.2.2.2.3.cmml"><mi id="S5.SS3.SSS1.p2.1.m1.2.2.2.2.2.2.3.2" xref="S5.SS3.SSS1.p2.1.m1.2.2.2.2.2.2.3.2.cmml">F</mi><mo id="S5.SS3.SSS1.p2.1.m1.2.2.2.2.2.2.3.1" xref="S5.SS3.SSS1.p2.1.m1.2.2.2.2.2.2.3.1.cmml">/</mo><mi id="S5.SS3.SSS1.p2.1.m1.2.2.2.2.2.2.3.3" xref="S5.SS3.SSS1.p2.1.m1.2.2.2.2.2.2.3.3.cmml">R</mi></mrow></msub><mo id="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.6" xref="S5.SS3.SSS1.p2.1.m1.3.3.3.3.4.cmml">,</mo><msub id="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.3" xref="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.3.cmml"><mi id="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.3.2" xref="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.3.2.cmml">θ</mi><mrow id="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.3.3" xref="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.3.3.cmml"><mi id="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.3.3.2" xref="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.3.3.2.cmml">F</mi><mo id="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.3.3.1" xref="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.3.3.1.cmml">/</mo><mi id="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.3.3.3" xref="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.3.3.3.cmml">R</mi></mrow></msub><mo id="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.7" stretchy="false" xref="S5.SS3.SSS1.p2.1.m1.3.3.3.3.4.cmml">]</mo></mrow><mi id="S5.SS3.SSS1.p2.1.m1.3.3.3.5" mathvariant="normal" xref="S5.SS3.SSS1.p2.1.m1.3.3.3.5.cmml">T</mi></msup></mrow><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS1.p2.1.m1.3b"><apply id="S5.SS3.SSS1.p2.1.m1.3.3.cmml" xref="S5.SS3.SSS1.p2.1.m1.3.3"><eq id="S5.SS3.SSS1.p2.1.m1.3.3.4.cmml" xref="S5.SS3.SSS1.p2.1.m1.3.3.4"></eq><apply id="S5.SS3.SSS1.p2.1.m1.3.3.5.cmml" xref="S5.SS3.SSS1.p2.1.m1.3.3.5"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p2.1.m1.3.3.5.1.cmml" xref="S5.SS3.SSS1.p2.1.m1.3.3.5">subscript</csymbol><ci id="S5.SS3.SSS1.p2.1.m1.3.3.5.2.cmml" xref="S5.SS3.SSS1.p2.1.m1.3.3.5.2">𝐪</ci><apply id="S5.SS3.SSS1.p2.1.m1.3.3.5.3.cmml" xref="S5.SS3.SSS1.p2.1.m1.3.3.5.3"><divide id="S5.SS3.SSS1.p2.1.m1.3.3.5.3.1.cmml" xref="S5.SS3.SSS1.p2.1.m1.3.3.5.3.1"></divide><ci id="S5.SS3.SSS1.p2.1.m1.3.3.5.3.2.cmml" xref="S5.SS3.SSS1.p2.1.m1.3.3.5.3.2">𝐹</ci><ci id="S5.SS3.SSS1.p2.1.m1.3.3.5.3.3.cmml" xref="S5.SS3.SSS1.p2.1.m1.3.3.5.3.3">𝑅</ci></apply></apply><apply id="S5.SS3.SSS1.p2.1.m1.3.3.3.cmml" xref="S5.SS3.SSS1.p2.1.m1.3.3.3"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p2.1.m1.3.3.3.4.cmml" xref="S5.SS3.SSS1.p2.1.m1.3.3.3">superscript</csymbol><list id="S5.SS3.SSS1.p2.1.m1.3.3.3.3.4.cmml" xref="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3"><apply id="S5.SS3.SSS1.p2.1.m1.1.1.1.1.1.1.cmml" xref="S5.SS3.SSS1.p2.1.m1.1.1.1.1.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p2.1.m1.1.1.1.1.1.1.1.cmml" xref="S5.SS3.SSS1.p2.1.m1.1.1.1.1.1.1">subscript</csymbol><ci id="S5.SS3.SSS1.p2.1.m1.1.1.1.1.1.1.2.cmml" xref="S5.SS3.SSS1.p2.1.m1.1.1.1.1.1.1.2">𝑥</ci><apply id="S5.SS3.SSS1.p2.1.m1.1.1.1.1.1.1.3.cmml" xref="S5.SS3.SSS1.p2.1.m1.1.1.1.1.1.1.3"><divide id="S5.SS3.SSS1.p2.1.m1.1.1.1.1.1.1.3.1.cmml" xref="S5.SS3.SSS1.p2.1.m1.1.1.1.1.1.1.3.1"></divide><ci id="S5.SS3.SSS1.p2.1.m1.1.1.1.1.1.1.3.2.cmml" xref="S5.SS3.SSS1.p2.1.m1.1.1.1.1.1.1.3.2">𝐹</ci><ci id="S5.SS3.SSS1.p2.1.m1.1.1.1.1.1.1.3.3.cmml" xref="S5.SS3.SSS1.p2.1.m1.1.1.1.1.1.1.3.3">𝑅</ci></apply></apply><apply id="S5.SS3.SSS1.p2.1.m1.2.2.2.2.2.2.cmml" xref="S5.SS3.SSS1.p2.1.m1.2.2.2.2.2.2"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p2.1.m1.2.2.2.2.2.2.1.cmml" xref="S5.SS3.SSS1.p2.1.m1.2.2.2.2.2.2">subscript</csymbol><ci id="S5.SS3.SSS1.p2.1.m1.2.2.2.2.2.2.2.cmml" xref="S5.SS3.SSS1.p2.1.m1.2.2.2.2.2.2.2">𝑦</ci><apply id="S5.SS3.SSS1.p2.1.m1.2.2.2.2.2.2.3.cmml" xref="S5.SS3.SSS1.p2.1.m1.2.2.2.2.2.2.3"><divide id="S5.SS3.SSS1.p2.1.m1.2.2.2.2.2.2.3.1.cmml" xref="S5.SS3.SSS1.p2.1.m1.2.2.2.2.2.2.3.1"></divide><ci id="S5.SS3.SSS1.p2.1.m1.2.2.2.2.2.2.3.2.cmml" xref="S5.SS3.SSS1.p2.1.m1.2.2.2.2.2.2.3.2">𝐹</ci><ci id="S5.SS3.SSS1.p2.1.m1.2.2.2.2.2.2.3.3.cmml" xref="S5.SS3.SSS1.p2.1.m1.2.2.2.2.2.2.3.3">𝑅</ci></apply></apply><apply id="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.3.cmml" xref="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.3"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.3.1.cmml" xref="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.3">subscript</csymbol><ci id="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.3.2.cmml" xref="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.3.2">𝜃</ci><apply id="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.3.3.cmml" xref="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.3.3"><divide id="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.3.3.1.cmml" xref="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.3.3.1"></divide><ci id="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.3.3.2.cmml" xref="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.3.3.2">𝐹</ci><ci id="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.3.3.3.cmml" xref="S5.SS3.SSS1.p2.1.m1.3.3.3.3.3.3.3.3">𝑅</ci></apply></apply></list><ci id="S5.SS3.SSS1.p2.1.m1.3.3.3.5.cmml" xref="S5.SS3.SSS1.p2.1.m1.3.3.3.5">T</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS1.p2.1.m1.3c">{\mathbf{q}_{F/R}}=[x_{F/R},y_{F/R},\theta_{F/R}]^{\mathrm{T}}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS1.p2.1.m1.3d">bold_q start_POSTSUBSCRIPT italic_F / italic_R end_POSTSUBSCRIPT = [ italic_x start_POSTSUBSCRIPT italic_F / italic_R end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_F / italic_R end_POSTSUBSCRIPT , italic_θ start_POSTSUBSCRIPT italic_F / italic_R end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT</annotation></semantics></math>. This can either be the center of the front (F) or the rear (R) axle. The state comprises the relative errors in longitudinal direction <math alttext="e_{x}" class="ltx_Math" display="inline" id="S5.SS3.SSS1.p2.2.m2.1"><semantics id="S5.SS3.SSS1.p2.2.m2.1a"><msub id="S5.SS3.SSS1.p2.2.m2.1.1" xref="S5.SS3.SSS1.p2.2.m2.1.1.cmml"><mi id="S5.SS3.SSS1.p2.2.m2.1.1.2" xref="S5.SS3.SSS1.p2.2.m2.1.1.2.cmml">e</mi><mi id="S5.SS3.SSS1.p2.2.m2.1.1.3" xref="S5.SS3.SSS1.p2.2.m2.1.1.3.cmml">x</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS1.p2.2.m2.1b"><apply id="S5.SS3.SSS1.p2.2.m2.1.1.cmml" xref="S5.SS3.SSS1.p2.2.m2.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p2.2.m2.1.1.1.cmml" xref="S5.SS3.SSS1.p2.2.m2.1.1">subscript</csymbol><ci id="S5.SS3.SSS1.p2.2.m2.1.1.2.cmml" xref="S5.SS3.SSS1.p2.2.m2.1.1.2">𝑒</ci><ci id="S5.SS3.SSS1.p2.2.m2.1.1.3.cmml" xref="S5.SS3.SSS1.p2.2.m2.1.1.3">𝑥</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS1.p2.2.m2.1c">e_{x}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS1.p2.2.m2.1d">italic_e start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT</annotation></semantics></math>, lateral direction <math alttext="e_{y}" class="ltx_Math" display="inline" id="S5.SS3.SSS1.p2.3.m3.1"><semantics id="S5.SS3.SSS1.p2.3.m3.1a"><msub id="S5.SS3.SSS1.p2.3.m3.1.1" xref="S5.SS3.SSS1.p2.3.m3.1.1.cmml"><mi id="S5.SS3.SSS1.p2.3.m3.1.1.2" xref="S5.SS3.SSS1.p2.3.m3.1.1.2.cmml">e</mi><mi id="S5.SS3.SSS1.p2.3.m3.1.1.3" xref="S5.SS3.SSS1.p2.3.m3.1.1.3.cmml">y</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS1.p2.3.m3.1b"><apply id="S5.SS3.SSS1.p2.3.m3.1.1.cmml" xref="S5.SS3.SSS1.p2.3.m3.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p2.3.m3.1.1.1.cmml" xref="S5.SS3.SSS1.p2.3.m3.1.1">subscript</csymbol><ci id="S5.SS3.SSS1.p2.3.m3.1.1.2.cmml" xref="S5.SS3.SSS1.p2.3.m3.1.1.2">𝑒</ci><ci id="S5.SS3.SSS1.p2.3.m3.1.1.3.cmml" xref="S5.SS3.SSS1.p2.3.m3.1.1.3">𝑦</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS1.p2.3.m3.1c">e_{y}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS1.p2.3.m3.1d">italic_e start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT</annotation></semantics></math> and of the heading <math alttext="e_{\theta}" class="ltx_Math" display="inline" id="S5.SS3.SSS1.p2.4.m4.1"><semantics id="S5.SS3.SSS1.p2.4.m4.1a"><msub id="S5.SS3.SSS1.p2.4.m4.1.1" xref="S5.SS3.SSS1.p2.4.m4.1.1.cmml"><mi id="S5.SS3.SSS1.p2.4.m4.1.1.2" xref="S5.SS3.SSS1.p2.4.m4.1.1.2.cmml">e</mi><mi id="S5.SS3.SSS1.p2.4.m4.1.1.3" xref="S5.SS3.SSS1.p2.4.m4.1.1.3.cmml">θ</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS1.p2.4.m4.1b"><apply id="S5.SS3.SSS1.p2.4.m4.1.1.cmml" xref="S5.SS3.SSS1.p2.4.m4.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p2.4.m4.1.1.1.cmml" xref="S5.SS3.SSS1.p2.4.m4.1.1">subscript</csymbol><ci id="S5.SS3.SSS1.p2.4.m4.1.1.2.cmml" xref="S5.SS3.SSS1.p2.4.m4.1.1.2">𝑒</ci><ci id="S5.SS3.SSS1.p2.4.m4.1.1.3.cmml" xref="S5.SS3.SSS1.p2.4.m4.1.1.3">𝜃</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS1.p2.4.m4.1c">e_{\theta}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS1.p2.4.m4.1d">italic_e start_POSTSUBSCRIPT italic_θ end_POSTSUBSCRIPT</annotation></semantics></math>. The approach neglects <math alttext="e_{x}" class="ltx_Math" display="inline" id="S5.SS3.SSS1.p2.5.m5.1"><semantics id="S5.SS3.SSS1.p2.5.m5.1a"><msub id="S5.SS3.SSS1.p2.5.m5.1.1" xref="S5.SS3.SSS1.p2.5.m5.1.1.cmml"><mi id="S5.SS3.SSS1.p2.5.m5.1.1.2" xref="S5.SS3.SSS1.p2.5.m5.1.1.2.cmml">e</mi><mi id="S5.SS3.SSS1.p2.5.m5.1.1.3" xref="S5.SS3.SSS1.p2.5.m5.1.1.3.cmml">x</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS1.p2.5.m5.1b"><apply id="S5.SS3.SSS1.p2.5.m5.1.1.cmml" xref="S5.SS3.SSS1.p2.5.m5.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p2.5.m5.1.1.1.cmml" xref="S5.SS3.SSS1.p2.5.m5.1.1">subscript</csymbol><ci id="S5.SS3.SSS1.p2.5.m5.1.1.2.cmml" xref="S5.SS3.SSS1.p2.5.m5.1.1.2">𝑒</ci><ci id="S5.SS3.SSS1.p2.5.m5.1.1.3.cmml" xref="S5.SS3.SSS1.p2.5.m5.1.1.3">𝑥</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS1.p2.5.m5.1c">e_{x}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS1.p2.5.m5.1d">italic_e start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT</annotation></semantics></math> and instead focuses on minimizing <math alttext="e_{y}" class="ltx_Math" display="inline" id="S5.SS3.SSS1.p2.6.m6.1"><semantics id="S5.SS3.SSS1.p2.6.m6.1a"><msub id="S5.SS3.SSS1.p2.6.m6.1.1" xref="S5.SS3.SSS1.p2.6.m6.1.1.cmml"><mi id="S5.SS3.SSS1.p2.6.m6.1.1.2" xref="S5.SS3.SSS1.p2.6.m6.1.1.2.cmml">e</mi><mi id="S5.SS3.SSS1.p2.6.m6.1.1.3" xref="S5.SS3.SSS1.p2.6.m6.1.1.3.cmml">y</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS1.p2.6.m6.1b"><apply id="S5.SS3.SSS1.p2.6.m6.1.1.cmml" xref="S5.SS3.SSS1.p2.6.m6.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p2.6.m6.1.1.1.cmml" xref="S5.SS3.SSS1.p2.6.m6.1.1">subscript</csymbol><ci id="S5.SS3.SSS1.p2.6.m6.1.1.2.cmml" xref="S5.SS3.SSS1.p2.6.m6.1.1.2">𝑒</ci><ci id="S5.SS3.SSS1.p2.6.m6.1.1.3.cmml" xref="S5.SS3.SSS1.p2.6.m6.1.1.3">𝑦</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS1.p2.6.m6.1c">e_{y}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS1.p2.6.m6.1d">italic_e start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT</annotation></semantics></math> and <math alttext="e_{\theta}" class="ltx_Math" display="inline" id="S5.SS3.SSS1.p2.7.m7.1"><semantics id="S5.SS3.SSS1.p2.7.m7.1a"><msub id="S5.SS3.SSS1.p2.7.m7.1.1" xref="S5.SS3.SSS1.p2.7.m7.1.1.cmml"><mi id="S5.SS3.SSS1.p2.7.m7.1.1.2" xref="S5.SS3.SSS1.p2.7.m7.1.1.2.cmml">e</mi><mi id="S5.SS3.SSS1.p2.7.m7.1.1.3" xref="S5.SS3.SSS1.p2.7.m7.1.1.3.cmml">θ</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS1.p2.7.m7.1b"><apply id="S5.SS3.SSS1.p2.7.m7.1.1.cmml" xref="S5.SS3.SSS1.p2.7.m7.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p2.7.m7.1.1.1.cmml" xref="S5.SS3.SSS1.p2.7.m7.1.1">subscript</csymbol><ci id="S5.SS3.SSS1.p2.7.m7.1.1.2.cmml" xref="S5.SS3.SSS1.p2.7.m7.1.1.2">𝑒</ci><ci id="S5.SS3.SSS1.p2.7.m7.1.1.3.cmml" xref="S5.SS3.SSS1.p2.7.m7.1.1.3">𝜃</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS1.p2.7.m7.1c">e_{\theta}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS1.p2.7.m7.1d">italic_e start_POSTSUBSCRIPT italic_θ end_POSTSUBSCRIPT</annotation></semantics></math> which results in the control law for the steering rate</p> <table class="ltx_equation ltx_eqn_table" id="S5.E5"> <tbody><tr class="ltx_equation ltx_eqn_row ltx_align_baseline"> <td class="ltx_eqn_cell ltx_eqn_left_padleft"></td> <td class="ltx_eqn_cell ltx_align_left"><math alttext="\dot{\gamma}^{d}=-\frac{K_{1}v(l_{F}+l_{R})}{l_{R}}e_{y}-\frac{K_{2}(l_{F}+l_{% R})}{l_{R}}e_{\theta}-\frac{v}{l_{R}}\gamma\ ," class="ltx_Math" display="block" id="S5.E5.m1.3"><semantics id="S5.E5.m1.3a"><mrow id="S5.E5.m1.3.3.1" xref="S5.E5.m1.3.3.1.1.cmml"><mrow id="S5.E5.m1.3.3.1.1" xref="S5.E5.m1.3.3.1.1.cmml"><msup id="S5.E5.m1.3.3.1.1.2" xref="S5.E5.m1.3.3.1.1.2.cmml"><mover accent="true" id="S5.E5.m1.3.3.1.1.2.2" xref="S5.E5.m1.3.3.1.1.2.2.cmml"><mi id="S5.E5.m1.3.3.1.1.2.2.2" xref="S5.E5.m1.3.3.1.1.2.2.2.cmml">γ</mi><mo id="S5.E5.m1.3.3.1.1.2.2.1" xref="S5.E5.m1.3.3.1.1.2.2.1.cmml">˙</mo></mover><mi id="S5.E5.m1.3.3.1.1.2.3" xref="S5.E5.m1.3.3.1.1.2.3.cmml">d</mi></msup><mo id="S5.E5.m1.3.3.1.1.1" xref="S5.E5.m1.3.3.1.1.1.cmml">=</mo><mrow id="S5.E5.m1.3.3.1.1.3" xref="S5.E5.m1.3.3.1.1.3.cmml"><mrow id="S5.E5.m1.3.3.1.1.3.2" xref="S5.E5.m1.3.3.1.1.3.2.cmml"><mo id="S5.E5.m1.3.3.1.1.3.2a" xref="S5.E5.m1.3.3.1.1.3.2.cmml">−</mo><mrow id="S5.E5.m1.3.3.1.1.3.2.2" xref="S5.E5.m1.3.3.1.1.3.2.2.cmml"><mfrac id="S5.E5.m1.1.1" xref="S5.E5.m1.1.1.cmml"><mrow id="S5.E5.m1.1.1.1" xref="S5.E5.m1.1.1.1.cmml"><msub id="S5.E5.m1.1.1.1.3" xref="S5.E5.m1.1.1.1.3.cmml"><mi id="S5.E5.m1.1.1.1.3.2" xref="S5.E5.m1.1.1.1.3.2.cmml">K</mi><mn id="S5.E5.m1.1.1.1.3.3" xref="S5.E5.m1.1.1.1.3.3.cmml">1</mn></msub><mo id="S5.E5.m1.1.1.1.2" xref="S5.E5.m1.1.1.1.2.cmml"></mo><mi id="S5.E5.m1.1.1.1.4" xref="S5.E5.m1.1.1.1.4.cmml">v</mi><mo id="S5.E5.m1.1.1.1.2a" xref="S5.E5.m1.1.1.1.2.cmml"></mo><mrow id="S5.E5.m1.1.1.1.1.1" xref="S5.E5.m1.1.1.1.1.1.1.cmml"><mo id="S5.E5.m1.1.1.1.1.1.2" stretchy="false" xref="S5.E5.m1.1.1.1.1.1.1.cmml">(</mo><mrow id="S5.E5.m1.1.1.1.1.1.1" xref="S5.E5.m1.1.1.1.1.1.1.cmml"><msub id="S5.E5.m1.1.1.1.1.1.1.2" xref="S5.E5.m1.1.1.1.1.1.1.2.cmml"><mi id="S5.E5.m1.1.1.1.1.1.1.2.2" xref="S5.E5.m1.1.1.1.1.1.1.2.2.cmml">l</mi><mi id="S5.E5.m1.1.1.1.1.1.1.2.3" xref="S5.E5.m1.1.1.1.1.1.1.2.3.cmml">F</mi></msub><mo id="S5.E5.m1.1.1.1.1.1.1.1" xref="S5.E5.m1.1.1.1.1.1.1.1.cmml">+</mo><msub id="S5.E5.m1.1.1.1.1.1.1.3" xref="S5.E5.m1.1.1.1.1.1.1.3.cmml"><mi id="S5.E5.m1.1.1.1.1.1.1.3.2" xref="S5.E5.m1.1.1.1.1.1.1.3.2.cmml">l</mi><mi id="S5.E5.m1.1.1.1.1.1.1.3.3" xref="S5.E5.m1.1.1.1.1.1.1.3.3.cmml">R</mi></msub></mrow><mo id="S5.E5.m1.1.1.1.1.1.3" stretchy="false" xref="S5.E5.m1.1.1.1.1.1.1.cmml">)</mo></mrow></mrow><msub id="S5.E5.m1.1.1.3" xref="S5.E5.m1.1.1.3.cmml"><mi id="S5.E5.m1.1.1.3.2" xref="S5.E5.m1.1.1.3.2.cmml">l</mi><mi id="S5.E5.m1.1.1.3.3" xref="S5.E5.m1.1.1.3.3.cmml">R</mi></msub></mfrac><mo id="S5.E5.m1.3.3.1.1.3.2.2.1" xref="S5.E5.m1.3.3.1.1.3.2.2.1.cmml"></mo><msub id="S5.E5.m1.3.3.1.1.3.2.2.2" xref="S5.E5.m1.3.3.1.1.3.2.2.2.cmml"><mi id="S5.E5.m1.3.3.1.1.3.2.2.2.2" xref="S5.E5.m1.3.3.1.1.3.2.2.2.2.cmml">e</mi><mi id="S5.E5.m1.3.3.1.1.3.2.2.2.3" xref="S5.E5.m1.3.3.1.1.3.2.2.2.3.cmml">y</mi></msub></mrow></mrow><mo id="S5.E5.m1.3.3.1.1.3.1" xref="S5.E5.m1.3.3.1.1.3.1.cmml">−</mo><mrow id="S5.E5.m1.3.3.1.1.3.3" xref="S5.E5.m1.3.3.1.1.3.3.cmml"><mfrac id="S5.E5.m1.2.2" xref="S5.E5.m1.2.2.cmml"><mrow id="S5.E5.m1.2.2.1" xref="S5.E5.m1.2.2.1.cmml"><msub id="S5.E5.m1.2.2.1.3" xref="S5.E5.m1.2.2.1.3.cmml"><mi id="S5.E5.m1.2.2.1.3.2" xref="S5.E5.m1.2.2.1.3.2.cmml">K</mi><mn id="S5.E5.m1.2.2.1.3.3" xref="S5.E5.m1.2.2.1.3.3.cmml">2</mn></msub><mo id="S5.E5.m1.2.2.1.2" xref="S5.E5.m1.2.2.1.2.cmml"></mo><mrow id="S5.E5.m1.2.2.1.1.1" xref="S5.E5.m1.2.2.1.1.1.1.cmml"><mo id="S5.E5.m1.2.2.1.1.1.2" stretchy="false" xref="S5.E5.m1.2.2.1.1.1.1.cmml">(</mo><mrow id="S5.E5.m1.2.2.1.1.1.1" xref="S5.E5.m1.2.2.1.1.1.1.cmml"><msub id="S5.E5.m1.2.2.1.1.1.1.2" xref="S5.E5.m1.2.2.1.1.1.1.2.cmml"><mi id="S5.E5.m1.2.2.1.1.1.1.2.2" xref="S5.E5.m1.2.2.1.1.1.1.2.2.cmml">l</mi><mi id="S5.E5.m1.2.2.1.1.1.1.2.3" xref="S5.E5.m1.2.2.1.1.1.1.2.3.cmml">F</mi></msub><mo id="S5.E5.m1.2.2.1.1.1.1.1" xref="S5.E5.m1.2.2.1.1.1.1.1.cmml">+</mo><msub id="S5.E5.m1.2.2.1.1.1.1.3" xref="S5.E5.m1.2.2.1.1.1.1.3.cmml"><mi id="S5.E5.m1.2.2.1.1.1.1.3.2" xref="S5.E5.m1.2.2.1.1.1.1.3.2.cmml">l</mi><mi id="S5.E5.m1.2.2.1.1.1.1.3.3" xref="S5.E5.m1.2.2.1.1.1.1.3.3.cmml">R</mi></msub></mrow><mo id="S5.E5.m1.2.2.1.1.1.3" stretchy="false" xref="S5.E5.m1.2.2.1.1.1.1.cmml">)</mo></mrow></mrow><msub id="S5.E5.m1.2.2.3" xref="S5.E5.m1.2.2.3.cmml"><mi id="S5.E5.m1.2.2.3.2" xref="S5.E5.m1.2.2.3.2.cmml">l</mi><mi id="S5.E5.m1.2.2.3.3" xref="S5.E5.m1.2.2.3.3.cmml">R</mi></msub></mfrac><mo id="S5.E5.m1.3.3.1.1.3.3.1" xref="S5.E5.m1.3.3.1.1.3.3.1.cmml"></mo><msub id="S5.E5.m1.3.3.1.1.3.3.2" xref="S5.E5.m1.3.3.1.1.3.3.2.cmml"><mi id="S5.E5.m1.3.3.1.1.3.3.2.2" xref="S5.E5.m1.3.3.1.1.3.3.2.2.cmml">e</mi><mi id="S5.E5.m1.3.3.1.1.3.3.2.3" xref="S5.E5.m1.3.3.1.1.3.3.2.3.cmml">θ</mi></msub></mrow><mo id="S5.E5.m1.3.3.1.1.3.1a" xref="S5.E5.m1.3.3.1.1.3.1.cmml">−</mo><mrow id="S5.E5.m1.3.3.1.1.3.4" xref="S5.E5.m1.3.3.1.1.3.4.cmml"><mfrac id="S5.E5.m1.3.3.1.1.3.4.2" xref="S5.E5.m1.3.3.1.1.3.4.2.cmml"><mi id="S5.E5.m1.3.3.1.1.3.4.2.2" xref="S5.E5.m1.3.3.1.1.3.4.2.2.cmml">v</mi><msub id="S5.E5.m1.3.3.1.1.3.4.2.3" xref="S5.E5.m1.3.3.1.1.3.4.2.3.cmml"><mi id="S5.E5.m1.3.3.1.1.3.4.2.3.2" xref="S5.E5.m1.3.3.1.1.3.4.2.3.2.cmml">l</mi><mi id="S5.E5.m1.3.3.1.1.3.4.2.3.3" xref="S5.E5.m1.3.3.1.1.3.4.2.3.3.cmml">R</mi></msub></mfrac><mo id="S5.E5.m1.3.3.1.1.3.4.1" xref="S5.E5.m1.3.3.1.1.3.4.1.cmml"></mo><mi id="S5.E5.m1.3.3.1.1.3.4.3" xref="S5.E5.m1.3.3.1.1.3.4.3.cmml">γ</mi></mrow></mrow></mrow><mo id="S5.E5.m1.3.3.1.2" lspace="0.500em" xref="S5.E5.m1.3.3.1.1.cmml">,</mo></mrow><annotation-xml encoding="MathML-Content" id="S5.E5.m1.3b"><apply id="S5.E5.m1.3.3.1.1.cmml" xref="S5.E5.m1.3.3.1"><eq id="S5.E5.m1.3.3.1.1.1.cmml" xref="S5.E5.m1.3.3.1.1.1"></eq><apply id="S5.E5.m1.3.3.1.1.2.cmml" xref="S5.E5.m1.3.3.1.1.2"><csymbol cd="ambiguous" id="S5.E5.m1.3.3.1.1.2.1.cmml" xref="S5.E5.m1.3.3.1.1.2">superscript</csymbol><apply id="S5.E5.m1.3.3.1.1.2.2.cmml" xref="S5.E5.m1.3.3.1.1.2.2"><ci id="S5.E5.m1.3.3.1.1.2.2.1.cmml" xref="S5.E5.m1.3.3.1.1.2.2.1">˙</ci><ci id="S5.E5.m1.3.3.1.1.2.2.2.cmml" xref="S5.E5.m1.3.3.1.1.2.2.2">𝛾</ci></apply><ci id="S5.E5.m1.3.3.1.1.2.3.cmml" xref="S5.E5.m1.3.3.1.1.2.3">𝑑</ci></apply><apply id="S5.E5.m1.3.3.1.1.3.cmml" xref="S5.E5.m1.3.3.1.1.3"><minus id="S5.E5.m1.3.3.1.1.3.1.cmml" xref="S5.E5.m1.3.3.1.1.3.1"></minus><apply id="S5.E5.m1.3.3.1.1.3.2.cmml" xref="S5.E5.m1.3.3.1.1.3.2"><minus id="S5.E5.m1.3.3.1.1.3.2.1.cmml" xref="S5.E5.m1.3.3.1.1.3.2"></minus><apply id="S5.E5.m1.3.3.1.1.3.2.2.cmml" xref="S5.E5.m1.3.3.1.1.3.2.2"><times id="S5.E5.m1.3.3.1.1.3.2.2.1.cmml" xref="S5.E5.m1.3.3.1.1.3.2.2.1"></times><apply id="S5.E5.m1.1.1.cmml" xref="S5.E5.m1.1.1"><divide id="S5.E5.m1.1.1.2.cmml" xref="S5.E5.m1.1.1"></divide><apply id="S5.E5.m1.1.1.1.cmml" xref="S5.E5.m1.1.1.1"><times id="S5.E5.m1.1.1.1.2.cmml" xref="S5.E5.m1.1.1.1.2"></times><apply id="S5.E5.m1.1.1.1.3.cmml" xref="S5.E5.m1.1.1.1.3"><csymbol cd="ambiguous" id="S5.E5.m1.1.1.1.3.1.cmml" xref="S5.E5.m1.1.1.1.3">subscript</csymbol><ci id="S5.E5.m1.1.1.1.3.2.cmml" xref="S5.E5.m1.1.1.1.3.2">𝐾</ci><cn id="S5.E5.m1.1.1.1.3.3.cmml" type="integer" xref="S5.E5.m1.1.1.1.3.3">1</cn></apply><ci id="S5.E5.m1.1.1.1.4.cmml" xref="S5.E5.m1.1.1.1.4">𝑣</ci><apply id="S5.E5.m1.1.1.1.1.1.1.cmml" xref="S5.E5.m1.1.1.1.1.1"><plus id="S5.E5.m1.1.1.1.1.1.1.1.cmml" xref="S5.E5.m1.1.1.1.1.1.1.1"></plus><apply id="S5.E5.m1.1.1.1.1.1.1.2.cmml" xref="S5.E5.m1.1.1.1.1.1.1.2"><csymbol cd="ambiguous" id="S5.E5.m1.1.1.1.1.1.1.2.1.cmml" xref="S5.E5.m1.1.1.1.1.1.1.2">subscript</csymbol><ci id="S5.E5.m1.1.1.1.1.1.1.2.2.cmml" xref="S5.E5.m1.1.1.1.1.1.1.2.2">𝑙</ci><ci id="S5.E5.m1.1.1.1.1.1.1.2.3.cmml" xref="S5.E5.m1.1.1.1.1.1.1.2.3">𝐹</ci></apply><apply id="S5.E5.m1.1.1.1.1.1.1.3.cmml" xref="S5.E5.m1.1.1.1.1.1.1.3"><csymbol cd="ambiguous" id="S5.E5.m1.1.1.1.1.1.1.3.1.cmml" xref="S5.E5.m1.1.1.1.1.1.1.3">subscript</csymbol><ci id="S5.E5.m1.1.1.1.1.1.1.3.2.cmml" xref="S5.E5.m1.1.1.1.1.1.1.3.2">𝑙</ci><ci id="S5.E5.m1.1.1.1.1.1.1.3.3.cmml" xref="S5.E5.m1.1.1.1.1.1.1.3.3">𝑅</ci></apply></apply></apply><apply id="S5.E5.m1.1.1.3.cmml" xref="S5.E5.m1.1.1.3"><csymbol cd="ambiguous" id="S5.E5.m1.1.1.3.1.cmml" xref="S5.E5.m1.1.1.3">subscript</csymbol><ci id="S5.E5.m1.1.1.3.2.cmml" xref="S5.E5.m1.1.1.3.2">𝑙</ci><ci id="S5.E5.m1.1.1.3.3.cmml" xref="S5.E5.m1.1.1.3.3">𝑅</ci></apply></apply><apply id="S5.E5.m1.3.3.1.1.3.2.2.2.cmml" xref="S5.E5.m1.3.3.1.1.3.2.2.2"><csymbol cd="ambiguous" id="S5.E5.m1.3.3.1.1.3.2.2.2.1.cmml" xref="S5.E5.m1.3.3.1.1.3.2.2.2">subscript</csymbol><ci id="S5.E5.m1.3.3.1.1.3.2.2.2.2.cmml" xref="S5.E5.m1.3.3.1.1.3.2.2.2.2">𝑒</ci><ci id="S5.E5.m1.3.3.1.1.3.2.2.2.3.cmml" xref="S5.E5.m1.3.3.1.1.3.2.2.2.3">𝑦</ci></apply></apply></apply><apply id="S5.E5.m1.3.3.1.1.3.3.cmml" xref="S5.E5.m1.3.3.1.1.3.3"><times id="S5.E5.m1.3.3.1.1.3.3.1.cmml" xref="S5.E5.m1.3.3.1.1.3.3.1"></times><apply id="S5.E5.m1.2.2.cmml" xref="S5.E5.m1.2.2"><divide id="S5.E5.m1.2.2.2.cmml" xref="S5.E5.m1.2.2"></divide><apply id="S5.E5.m1.2.2.1.cmml" xref="S5.E5.m1.2.2.1"><times id="S5.E5.m1.2.2.1.2.cmml" xref="S5.E5.m1.2.2.1.2"></times><apply id="S5.E5.m1.2.2.1.3.cmml" xref="S5.E5.m1.2.2.1.3"><csymbol cd="ambiguous" id="S5.E5.m1.2.2.1.3.1.cmml" xref="S5.E5.m1.2.2.1.3">subscript</csymbol><ci id="S5.E5.m1.2.2.1.3.2.cmml" xref="S5.E5.m1.2.2.1.3.2">𝐾</ci><cn id="S5.E5.m1.2.2.1.3.3.cmml" type="integer" xref="S5.E5.m1.2.2.1.3.3">2</cn></apply><apply id="S5.E5.m1.2.2.1.1.1.1.cmml" xref="S5.E5.m1.2.2.1.1.1"><plus id="S5.E5.m1.2.2.1.1.1.1.1.cmml" xref="S5.E5.m1.2.2.1.1.1.1.1"></plus><apply id="S5.E5.m1.2.2.1.1.1.1.2.cmml" xref="S5.E5.m1.2.2.1.1.1.1.2"><csymbol cd="ambiguous" id="S5.E5.m1.2.2.1.1.1.1.2.1.cmml" xref="S5.E5.m1.2.2.1.1.1.1.2">subscript</csymbol><ci id="S5.E5.m1.2.2.1.1.1.1.2.2.cmml" xref="S5.E5.m1.2.2.1.1.1.1.2.2">𝑙</ci><ci id="S5.E5.m1.2.2.1.1.1.1.2.3.cmml" xref="S5.E5.m1.2.2.1.1.1.1.2.3">𝐹</ci></apply><apply id="S5.E5.m1.2.2.1.1.1.1.3.cmml" xref="S5.E5.m1.2.2.1.1.1.1.3"><csymbol cd="ambiguous" id="S5.E5.m1.2.2.1.1.1.1.3.1.cmml" xref="S5.E5.m1.2.2.1.1.1.1.3">subscript</csymbol><ci id="S5.E5.m1.2.2.1.1.1.1.3.2.cmml" xref="S5.E5.m1.2.2.1.1.1.1.3.2">𝑙</ci><ci id="S5.E5.m1.2.2.1.1.1.1.3.3.cmml" xref="S5.E5.m1.2.2.1.1.1.1.3.3">𝑅</ci></apply></apply></apply><apply id="S5.E5.m1.2.2.3.cmml" xref="S5.E5.m1.2.2.3"><csymbol cd="ambiguous" id="S5.E5.m1.2.2.3.1.cmml" xref="S5.E5.m1.2.2.3">subscript</csymbol><ci id="S5.E5.m1.2.2.3.2.cmml" xref="S5.E5.m1.2.2.3.2">𝑙</ci><ci id="S5.E5.m1.2.2.3.3.cmml" xref="S5.E5.m1.2.2.3.3">𝑅</ci></apply></apply><apply id="S5.E5.m1.3.3.1.1.3.3.2.cmml" xref="S5.E5.m1.3.3.1.1.3.3.2"><csymbol cd="ambiguous" id="S5.E5.m1.3.3.1.1.3.3.2.1.cmml" xref="S5.E5.m1.3.3.1.1.3.3.2">subscript</csymbol><ci id="S5.E5.m1.3.3.1.1.3.3.2.2.cmml" xref="S5.E5.m1.3.3.1.1.3.3.2.2">𝑒</ci><ci id="S5.E5.m1.3.3.1.1.3.3.2.3.cmml" xref="S5.E5.m1.3.3.1.1.3.3.2.3">𝜃</ci></apply></apply><apply id="S5.E5.m1.3.3.1.1.3.4.cmml" xref="S5.E5.m1.3.3.1.1.3.4"><times id="S5.E5.m1.3.3.1.1.3.4.1.cmml" xref="S5.E5.m1.3.3.1.1.3.4.1"></times><apply id="S5.E5.m1.3.3.1.1.3.4.2.cmml" xref="S5.E5.m1.3.3.1.1.3.4.2"><divide id="S5.E5.m1.3.3.1.1.3.4.2.1.cmml" xref="S5.E5.m1.3.3.1.1.3.4.2"></divide><ci id="S5.E5.m1.3.3.1.1.3.4.2.2.cmml" xref="S5.E5.m1.3.3.1.1.3.4.2.2">𝑣</ci><apply id="S5.E5.m1.3.3.1.1.3.4.2.3.cmml" xref="S5.E5.m1.3.3.1.1.3.4.2.3"><csymbol cd="ambiguous" id="S5.E5.m1.3.3.1.1.3.4.2.3.1.cmml" xref="S5.E5.m1.3.3.1.1.3.4.2.3">subscript</csymbol><ci id="S5.E5.m1.3.3.1.1.3.4.2.3.2.cmml" xref="S5.E5.m1.3.3.1.1.3.4.2.3.2">𝑙</ci><ci id="S5.E5.m1.3.3.1.1.3.4.2.3.3.cmml" xref="S5.E5.m1.3.3.1.1.3.4.2.3.3">𝑅</ci></apply></apply><ci id="S5.E5.m1.3.3.1.1.3.4.3.cmml" xref="S5.E5.m1.3.3.1.1.3.4.3">𝛾</ci></apply></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.E5.m1.3c">\dot{\gamma}^{d}=-\frac{K_{1}v(l_{F}+l_{R})}{l_{R}}e_{y}-\frac{K_{2}(l_{F}+l_{% R})}{l_{R}}e_{\theta}-\frac{v}{l_{R}}\gamma\ ,</annotation><annotation encoding="application/x-llamapun" id="S5.E5.m1.3d">over˙ start_ARG italic_γ end_ARG start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = - divide start_ARG italic_K start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_v ( italic_l start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT + italic_l start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ) end_ARG start_ARG italic_l start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT end_ARG italic_e start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT - divide start_ARG italic_K start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_l start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT + italic_l start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ) end_ARG start_ARG italic_l start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT end_ARG italic_e start_POSTSUBSCRIPT italic_θ end_POSTSUBSCRIPT - divide start_ARG italic_v end_ARG start_ARG italic_l start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT end_ARG italic_γ ,</annotation></semantics></math></td> <td class="ltx_eqn_cell ltx_eqn_left_padright"></td> <td class="ltx_eqn_cell ltx_eqn_eqno ltx_align_middle ltx_align_right" rowspan="1"><span class="ltx_tag ltx_tag_equation ltx_align_right">(5)</span></td> </tr></tbody> </table> <p class="ltx_p" id="S5.SS3.SSS1.p2.9">derived using Lyapunov theory, as detailed in <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib59" title="">59</a>]</cite>. <math alttext="K_{1}" class="ltx_Math" display="inline" id="S5.SS3.SSS1.p2.8.m1.1"><semantics id="S5.SS3.SSS1.p2.8.m1.1a"><msub id="S5.SS3.SSS1.p2.8.m1.1.1" xref="S5.SS3.SSS1.p2.8.m1.1.1.cmml"><mi id="S5.SS3.SSS1.p2.8.m1.1.1.2" xref="S5.SS3.SSS1.p2.8.m1.1.1.2.cmml">K</mi><mn id="S5.SS3.SSS1.p2.8.m1.1.1.3" xref="S5.SS3.SSS1.p2.8.m1.1.1.3.cmml">1</mn></msub><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS1.p2.8.m1.1b"><apply id="S5.SS3.SSS1.p2.8.m1.1.1.cmml" xref="S5.SS3.SSS1.p2.8.m1.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p2.8.m1.1.1.1.cmml" xref="S5.SS3.SSS1.p2.8.m1.1.1">subscript</csymbol><ci id="S5.SS3.SSS1.p2.8.m1.1.1.2.cmml" xref="S5.SS3.SSS1.p2.8.m1.1.1.2">𝐾</ci><cn id="S5.SS3.SSS1.p2.8.m1.1.1.3.cmml" type="integer" xref="S5.SS3.SSS1.p2.8.m1.1.1.3">1</cn></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS1.p2.8.m1.1c">K_{1}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS1.p2.8.m1.1d">italic_K start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT</annotation></semantics></math> and <math alttext="K_{2}" class="ltx_Math" display="inline" id="S5.SS3.SSS1.p2.9.m2.1"><semantics id="S5.SS3.SSS1.p2.9.m2.1a"><msub id="S5.SS3.SSS1.p2.9.m2.1.1" xref="S5.SS3.SSS1.p2.9.m2.1.1.cmml"><mi id="S5.SS3.SSS1.p2.9.m2.1.1.2" xref="S5.SS3.SSS1.p2.9.m2.1.1.2.cmml">K</mi><mn id="S5.SS3.SSS1.p2.9.m2.1.1.3" xref="S5.SS3.SSS1.p2.9.m2.1.1.3.cmml">2</mn></msub><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS1.p2.9.m2.1b"><apply id="S5.SS3.SSS1.p2.9.m2.1.1.cmml" xref="S5.SS3.SSS1.p2.9.m2.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p2.9.m2.1.1.1.cmml" xref="S5.SS3.SSS1.p2.9.m2.1.1">subscript</csymbol><ci id="S5.SS3.SSS1.p2.9.m2.1.1.2.cmml" xref="S5.SS3.SSS1.p2.9.m2.1.1.2">𝐾</ci><cn id="S5.SS3.SSS1.p2.9.m2.1.1.3.cmml" type="integer" xref="S5.SS3.SSS1.p2.9.m2.1.1.3">2</cn></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS1.p2.9.m2.1c">K_{2}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS1.p2.9.m2.1d">italic_K start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT</annotation></semantics></math> are control gains and determine the influence of the respective lateral and heading errors on the desired steering rate. The second input to the kinematic system is the desired forward velocity</p> <table class="ltx_equation ltx_eqn_table" id="S5.E6"> <tbody><tr class="ltx_equation ltx_eqn_row ltx_align_baseline"> <td class="ltx_eqn_cell ltx_eqn_left_padleft"></td> <td class="ltx_eqn_cell ltx_align_left"><math alttext="v^{d}=\max(v_{R}-k_{v}(\dot{\gamma}^{d})^{2},v_{\min})\ ," class="ltx_Math" display="block" id="S5.E6.m1.2"><semantics id="S5.E6.m1.2a"><mrow id="S5.E6.m1.2.2.1" xref="S5.E6.m1.2.2.1.1.cmml"><mrow id="S5.E6.m1.2.2.1.1" xref="S5.E6.m1.2.2.1.1.cmml"><msup id="S5.E6.m1.2.2.1.1.4" xref="S5.E6.m1.2.2.1.1.4.cmml"><mi id="S5.E6.m1.2.2.1.1.4.2" xref="S5.E6.m1.2.2.1.1.4.2.cmml">v</mi><mi id="S5.E6.m1.2.2.1.1.4.3" xref="S5.E6.m1.2.2.1.1.4.3.cmml">d</mi></msup><mo id="S5.E6.m1.2.2.1.1.3" xref="S5.E6.m1.2.2.1.1.3.cmml">=</mo><mrow id="S5.E6.m1.2.2.1.1.2.2" xref="S5.E6.m1.2.2.1.1.2.3.cmml"><mi id="S5.E6.m1.1.1" xref="S5.E6.m1.1.1.cmml">max</mi><mo id="S5.E6.m1.2.2.1.1.2.2a" xref="S5.E6.m1.2.2.1.1.2.3.cmml"></mo><mrow id="S5.E6.m1.2.2.1.1.2.2.2" xref="S5.E6.m1.2.2.1.1.2.3.cmml"><mo id="S5.E6.m1.2.2.1.1.2.2.2.3" stretchy="false" xref="S5.E6.m1.2.2.1.1.2.3.cmml">(</mo><mrow id="S5.E6.m1.2.2.1.1.1.1.1.1" xref="S5.E6.m1.2.2.1.1.1.1.1.1.cmml"><msub id="S5.E6.m1.2.2.1.1.1.1.1.1.3" xref="S5.E6.m1.2.2.1.1.1.1.1.1.3.cmml"><mi id="S5.E6.m1.2.2.1.1.1.1.1.1.3.2" xref="S5.E6.m1.2.2.1.1.1.1.1.1.3.2.cmml">v</mi><mi id="S5.E6.m1.2.2.1.1.1.1.1.1.3.3" xref="S5.E6.m1.2.2.1.1.1.1.1.1.3.3.cmml">R</mi></msub><mo id="S5.E6.m1.2.2.1.1.1.1.1.1.2" xref="S5.E6.m1.2.2.1.1.1.1.1.1.2.cmml">−</mo><mrow id="S5.E6.m1.2.2.1.1.1.1.1.1.1" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1.cmml"><msub id="S5.E6.m1.2.2.1.1.1.1.1.1.1.3" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1.3.cmml"><mi id="S5.E6.m1.2.2.1.1.1.1.1.1.1.3.2" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1.3.2.cmml">k</mi><mi id="S5.E6.m1.2.2.1.1.1.1.1.1.1.3.3" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1.3.3.cmml">v</mi></msub><mo id="S5.E6.m1.2.2.1.1.1.1.1.1.1.2" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1.2.cmml"></mo><msup id="S5.E6.m1.2.2.1.1.1.1.1.1.1.1" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.cmml"><mrow id="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.1.1" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.1.1.1.cmml"><mo id="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.1.1.2" stretchy="false" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.1.1.1.cmml">(</mo><msup id="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.1.1.1" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.1.1.1.cmml"><mover accent="true" id="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.1.1.1.2" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.1.1.1.2.cmml"><mi id="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.1.1.1.2.2" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.1.1.1.2.2.cmml">γ</mi><mo id="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.1.1.1.2.1" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.1.1.1.2.1.cmml">˙</mo></mover><mi id="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.1.1.1.3" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.1.1.1.3.cmml">d</mi></msup><mo id="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.1.1.3" stretchy="false" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.1.1.1.cmml">)</mo></mrow><mn id="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.3" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.3.cmml">2</mn></msup></mrow></mrow><mo id="S5.E6.m1.2.2.1.1.2.2.2.4" xref="S5.E6.m1.2.2.1.1.2.3.cmml">,</mo><msub id="S5.E6.m1.2.2.1.1.2.2.2.2" xref="S5.E6.m1.2.2.1.1.2.2.2.2.cmml"><mi id="S5.E6.m1.2.2.1.1.2.2.2.2.2" xref="S5.E6.m1.2.2.1.1.2.2.2.2.2.cmml">v</mi><mi id="S5.E6.m1.2.2.1.1.2.2.2.2.3" xref="S5.E6.m1.2.2.1.1.2.2.2.2.3.cmml">min</mi></msub><mo id="S5.E6.m1.2.2.1.1.2.2.2.5" rspace="0.500em" stretchy="false" xref="S5.E6.m1.2.2.1.1.2.3.cmml">)</mo></mrow></mrow></mrow><mo id="S5.E6.m1.2.2.1.2" xref="S5.E6.m1.2.2.1.1.cmml">,</mo></mrow><annotation-xml encoding="MathML-Content" id="S5.E6.m1.2b"><apply id="S5.E6.m1.2.2.1.1.cmml" xref="S5.E6.m1.2.2.1"><eq id="S5.E6.m1.2.2.1.1.3.cmml" xref="S5.E6.m1.2.2.1.1.3"></eq><apply id="S5.E6.m1.2.2.1.1.4.cmml" xref="S5.E6.m1.2.2.1.1.4"><csymbol cd="ambiguous" id="S5.E6.m1.2.2.1.1.4.1.cmml" xref="S5.E6.m1.2.2.1.1.4">superscript</csymbol><ci id="S5.E6.m1.2.2.1.1.4.2.cmml" xref="S5.E6.m1.2.2.1.1.4.2">𝑣</ci><ci id="S5.E6.m1.2.2.1.1.4.3.cmml" xref="S5.E6.m1.2.2.1.1.4.3">𝑑</ci></apply><apply id="S5.E6.m1.2.2.1.1.2.3.cmml" xref="S5.E6.m1.2.2.1.1.2.2"><max id="S5.E6.m1.1.1.cmml" xref="S5.E6.m1.1.1"></max><apply id="S5.E6.m1.2.2.1.1.1.1.1.1.cmml" xref="S5.E6.m1.2.2.1.1.1.1.1.1"><minus id="S5.E6.m1.2.2.1.1.1.1.1.1.2.cmml" xref="S5.E6.m1.2.2.1.1.1.1.1.1.2"></minus><apply id="S5.E6.m1.2.2.1.1.1.1.1.1.3.cmml" xref="S5.E6.m1.2.2.1.1.1.1.1.1.3"><csymbol cd="ambiguous" id="S5.E6.m1.2.2.1.1.1.1.1.1.3.1.cmml" xref="S5.E6.m1.2.2.1.1.1.1.1.1.3">subscript</csymbol><ci id="S5.E6.m1.2.2.1.1.1.1.1.1.3.2.cmml" xref="S5.E6.m1.2.2.1.1.1.1.1.1.3.2">𝑣</ci><ci id="S5.E6.m1.2.2.1.1.1.1.1.1.3.3.cmml" xref="S5.E6.m1.2.2.1.1.1.1.1.1.3.3">𝑅</ci></apply><apply id="S5.E6.m1.2.2.1.1.1.1.1.1.1.cmml" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1"><times id="S5.E6.m1.2.2.1.1.1.1.1.1.1.2.cmml" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1.2"></times><apply id="S5.E6.m1.2.2.1.1.1.1.1.1.1.3.cmml" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1.3"><csymbol cd="ambiguous" id="S5.E6.m1.2.2.1.1.1.1.1.1.1.3.1.cmml" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1.3">subscript</csymbol><ci id="S5.E6.m1.2.2.1.1.1.1.1.1.1.3.2.cmml" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1.3.2">𝑘</ci><ci id="S5.E6.m1.2.2.1.1.1.1.1.1.1.3.3.cmml" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1.3.3">𝑣</ci></apply><apply id="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.cmml" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1.1"><csymbol cd="ambiguous" id="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.2.cmml" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1.1">superscript</csymbol><apply id="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.1.1.1.cmml" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.1.1"><csymbol cd="ambiguous" id="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.1.1.1.1.cmml" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.1.1">superscript</csymbol><apply id="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.1.1.1.2.cmml" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.1.1.1.2"><ci id="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.1.1.1.2.1.cmml" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.1.1.1.2.1">˙</ci><ci id="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.1.1.1.2.2.cmml" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.1.1.1.2.2">𝛾</ci></apply><ci id="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.1.1.1.3.cmml" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.1.1.1.3">𝑑</ci></apply><cn id="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.3.cmml" type="integer" xref="S5.E6.m1.2.2.1.1.1.1.1.1.1.1.3">2</cn></apply></apply></apply><apply id="S5.E6.m1.2.2.1.1.2.2.2.2.cmml" xref="S5.E6.m1.2.2.1.1.2.2.2.2"><csymbol cd="ambiguous" id="S5.E6.m1.2.2.1.1.2.2.2.2.1.cmml" xref="S5.E6.m1.2.2.1.1.2.2.2.2">subscript</csymbol><ci id="S5.E6.m1.2.2.1.1.2.2.2.2.2.cmml" xref="S5.E6.m1.2.2.1.1.2.2.2.2.2">𝑣</ci><min id="S5.E6.m1.2.2.1.1.2.2.2.2.3.cmml" xref="S5.E6.m1.2.2.1.1.2.2.2.2.3"></min></apply></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.E6.m1.2c">v^{d}=\max(v_{R}-k_{v}(\dot{\gamma}^{d})^{2},v_{\min})\ ,</annotation><annotation encoding="application/x-llamapun" id="S5.E6.m1.2d">italic_v start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = roman_max ( italic_v start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT - italic_k start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT ( over˙ start_ARG italic_γ end_ARG start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT , italic_v start_POSTSUBSCRIPT roman_min end_POSTSUBSCRIPT ) ,</annotation></semantics></math></td> <td class="ltx_eqn_cell ltx_eqn_left_padright"></td> <td class="ltx_eqn_cell ltx_eqn_eqno ltx_align_middle ltx_align_right" rowspan="1"><span class="ltx_tag ltx_tag_equation ltx_align_right">(6)</span></td> </tr></tbody> </table> <p class="ltx_p" id="S5.SS3.SSS1.p2.12">which is designed to respect the constrained system’s steering dynamics. In here, <math alttext="v_{R}" class="ltx_Math" display="inline" id="S5.SS3.SSS1.p2.10.m1.1"><semantics id="S5.SS3.SSS1.p2.10.m1.1a"><msub id="S5.SS3.SSS1.p2.10.m1.1.1" xref="S5.SS3.SSS1.p2.10.m1.1.1.cmml"><mi id="S5.SS3.SSS1.p2.10.m1.1.1.2" xref="S5.SS3.SSS1.p2.10.m1.1.1.2.cmml">v</mi><mi id="S5.SS3.SSS1.p2.10.m1.1.1.3" xref="S5.SS3.SSS1.p2.10.m1.1.1.3.cmml">R</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS1.p2.10.m1.1b"><apply id="S5.SS3.SSS1.p2.10.m1.1.1.cmml" xref="S5.SS3.SSS1.p2.10.m1.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p2.10.m1.1.1.1.cmml" xref="S5.SS3.SSS1.p2.10.m1.1.1">subscript</csymbol><ci id="S5.SS3.SSS1.p2.10.m1.1.1.2.cmml" xref="S5.SS3.SSS1.p2.10.m1.1.1.2">𝑣</ci><ci id="S5.SS3.SSS1.p2.10.m1.1.1.3.cmml" xref="S5.SS3.SSS1.p2.10.m1.1.1.3">𝑅</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS1.p2.10.m1.1c">v_{R}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS1.p2.10.m1.1d">italic_v start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT</annotation></semantics></math> is the desired reference velocity for operation. The parameter <math alttext="k_{v}" class="ltx_Math" display="inline" id="S5.SS3.SSS1.p2.11.m2.1"><semantics id="S5.SS3.SSS1.p2.11.m2.1a"><msub id="S5.SS3.SSS1.p2.11.m2.1.1" xref="S5.SS3.SSS1.p2.11.m2.1.1.cmml"><mi id="S5.SS3.SSS1.p2.11.m2.1.1.2" xref="S5.SS3.SSS1.p2.11.m2.1.1.2.cmml">k</mi><mi id="S5.SS3.SSS1.p2.11.m2.1.1.3" xref="S5.SS3.SSS1.p2.11.m2.1.1.3.cmml">v</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS1.p2.11.m2.1b"><apply id="S5.SS3.SSS1.p2.11.m2.1.1.cmml" xref="S5.SS3.SSS1.p2.11.m2.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p2.11.m2.1.1.1.cmml" xref="S5.SS3.SSS1.p2.11.m2.1.1">subscript</csymbol><ci id="S5.SS3.SSS1.p2.11.m2.1.1.2.cmml" xref="S5.SS3.SSS1.p2.11.m2.1.1.2">𝑘</ci><ci id="S5.SS3.SSS1.p2.11.m2.1.1.3.cmml" xref="S5.SS3.SSS1.p2.11.m2.1.1.3">𝑣</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS1.p2.11.m2.1c">k_{v}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS1.p2.11.m2.1d">italic_k start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT</annotation></semantics></math> allows to reduce the velocity proportional to the squared desired steering rate. Thus, sharp curvatures are tracked with lower speed, to maintain tracking accuracy. The minimum velocity <math alttext="v_{\min}" class="ltx_Math" display="inline" id="S5.SS3.SSS1.p2.12.m3.1"><semantics id="S5.SS3.SSS1.p2.12.m3.1a"><msub id="S5.SS3.SSS1.p2.12.m3.1.1" xref="S5.SS3.SSS1.p2.12.m3.1.1.cmml"><mi id="S5.SS3.SSS1.p2.12.m3.1.1.2" xref="S5.SS3.SSS1.p2.12.m3.1.1.2.cmml">v</mi><mi id="S5.SS3.SSS1.p2.12.m3.1.1.3" xref="S5.SS3.SSS1.p2.12.m3.1.1.3.cmml">min</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS1.p2.12.m3.1b"><apply id="S5.SS3.SSS1.p2.12.m3.1.1.cmml" xref="S5.SS3.SSS1.p2.12.m3.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p2.12.m3.1.1.1.cmml" xref="S5.SS3.SSS1.p2.12.m3.1.1">subscript</csymbol><ci id="S5.SS3.SSS1.p2.12.m3.1.1.2.cmml" xref="S5.SS3.SSS1.p2.12.m3.1.1.2">𝑣</ci><min id="S5.SS3.SSS1.p2.12.m3.1.1.3.cmml" xref="S5.SS3.SSS1.p2.12.m3.1.1.3"></min></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS1.p2.12.m3.1c">v_{\min}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS1.p2.12.m3.1d">italic_v start_POSTSUBSCRIPT roman_min end_POSTSUBSCRIPT</annotation></semantics></math> ensures that the vehicle maintains a minimum speed, even during sharp steering maneuvers. Equations (<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.E4" title="In 5.3.1 Cascaded control ‣ 5.3 Motion Planning and Control ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">4</span></a>)-(<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.E6" title="In 5.3.1 Cascaded control ‣ 5.3 Motion Planning and Control ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">6</span></a>) build the foundation of the PTC and, thus, the cascaded control loop in Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.F16" title="Figure 16 ‣ 5.3.1 Cascaded control ‣ 5.3 Motion Planning and Control ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">16</span></a>a.</p> </div> <div class="ltx_para" id="S5.SS3.SSS1.p3"> <p class="ltx_p" id="S5.SS3.SSS1.p3.2"><span class="ltx_text ltx_font_bold" id="S5.SS3.SSS1.p3.2.1">Fork positioning control:</span> For a successful pallet manipulation, an accurate positioning of the fork tip is necessary. The most critical is pallet pickup, where the tolerated positioning error must not exceed 5 cm. To this end, the tip of the fork <math alttext="\mathbf{q}_{T}=[x_{T},y_{T},\theta_{T},z_{T}]^{\mathrm{T}}" class="ltx_Math" display="inline" id="S5.SS3.SSS1.p3.1.m1.4"><semantics id="S5.SS3.SSS1.p3.1.m1.4a"><mrow id="S5.SS3.SSS1.p3.1.m1.4.4" xref="S5.SS3.SSS1.p3.1.m1.4.4.cmml"><msub id="S5.SS3.SSS1.p3.1.m1.4.4.6" xref="S5.SS3.SSS1.p3.1.m1.4.4.6.cmml"><mi id="S5.SS3.SSS1.p3.1.m1.4.4.6.2" xref="S5.SS3.SSS1.p3.1.m1.4.4.6.2.cmml">𝐪</mi><mi id="S5.SS3.SSS1.p3.1.m1.4.4.6.3" xref="S5.SS3.SSS1.p3.1.m1.4.4.6.3.cmml">T</mi></msub><mo id="S5.SS3.SSS1.p3.1.m1.4.4.5" xref="S5.SS3.SSS1.p3.1.m1.4.4.5.cmml">=</mo><msup id="S5.SS3.SSS1.p3.1.m1.4.4.4" xref="S5.SS3.SSS1.p3.1.m1.4.4.4.cmml"><mrow id="S5.SS3.SSS1.p3.1.m1.4.4.4.4.4" xref="S5.SS3.SSS1.p3.1.m1.4.4.4.4.5.cmml"><mo id="S5.SS3.SSS1.p3.1.m1.4.4.4.4.4.5" stretchy="false" xref="S5.SS3.SSS1.p3.1.m1.4.4.4.4.5.cmml">[</mo><msub id="S5.SS3.SSS1.p3.1.m1.1.1.1.1.1.1" xref="S5.SS3.SSS1.p3.1.m1.1.1.1.1.1.1.cmml"><mi id="S5.SS3.SSS1.p3.1.m1.1.1.1.1.1.1.2" xref="S5.SS3.SSS1.p3.1.m1.1.1.1.1.1.1.2.cmml">x</mi><mi id="S5.SS3.SSS1.p3.1.m1.1.1.1.1.1.1.3" xref="S5.SS3.SSS1.p3.1.m1.1.1.1.1.1.1.3.cmml">T</mi></msub><mo id="S5.SS3.SSS1.p3.1.m1.4.4.4.4.4.6" xref="S5.SS3.SSS1.p3.1.m1.4.4.4.4.5.cmml">,</mo><msub id="S5.SS3.SSS1.p3.1.m1.2.2.2.2.2.2" xref="S5.SS3.SSS1.p3.1.m1.2.2.2.2.2.2.cmml"><mi id="S5.SS3.SSS1.p3.1.m1.2.2.2.2.2.2.2" xref="S5.SS3.SSS1.p3.1.m1.2.2.2.2.2.2.2.cmml">y</mi><mi id="S5.SS3.SSS1.p3.1.m1.2.2.2.2.2.2.3" xref="S5.SS3.SSS1.p3.1.m1.2.2.2.2.2.2.3.cmml">T</mi></msub><mo id="S5.SS3.SSS1.p3.1.m1.4.4.4.4.4.7" xref="S5.SS3.SSS1.p3.1.m1.4.4.4.4.5.cmml">,</mo><msub id="S5.SS3.SSS1.p3.1.m1.3.3.3.3.3.3" xref="S5.SS3.SSS1.p3.1.m1.3.3.3.3.3.3.cmml"><mi id="S5.SS3.SSS1.p3.1.m1.3.3.3.3.3.3.2" xref="S5.SS3.SSS1.p3.1.m1.3.3.3.3.3.3.2.cmml">θ</mi><mi id="S5.SS3.SSS1.p3.1.m1.3.3.3.3.3.3.3" xref="S5.SS3.SSS1.p3.1.m1.3.3.3.3.3.3.3.cmml">T</mi></msub><mo id="S5.SS3.SSS1.p3.1.m1.4.4.4.4.4.8" xref="S5.SS3.SSS1.p3.1.m1.4.4.4.4.5.cmml">,</mo><msub id="S5.SS3.SSS1.p3.1.m1.4.4.4.4.4.4" xref="S5.SS3.SSS1.p3.1.m1.4.4.4.4.4.4.cmml"><mi id="S5.SS3.SSS1.p3.1.m1.4.4.4.4.4.4.2" xref="S5.SS3.SSS1.p3.1.m1.4.4.4.4.4.4.2.cmml">z</mi><mi id="S5.SS3.SSS1.p3.1.m1.4.4.4.4.4.4.3" xref="S5.SS3.SSS1.p3.1.m1.4.4.4.4.4.4.3.cmml">T</mi></msub><mo id="S5.SS3.SSS1.p3.1.m1.4.4.4.4.4.9" stretchy="false" xref="S5.SS3.SSS1.p3.1.m1.4.4.4.4.5.cmml">]</mo></mrow><mi id="S5.SS3.SSS1.p3.1.m1.4.4.4.6" mathvariant="normal" xref="S5.SS3.SSS1.p3.1.m1.4.4.4.6.cmml">T</mi></msup></mrow><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS1.p3.1.m1.4b"><apply id="S5.SS3.SSS1.p3.1.m1.4.4.cmml" xref="S5.SS3.SSS1.p3.1.m1.4.4"><eq id="S5.SS3.SSS1.p3.1.m1.4.4.5.cmml" xref="S5.SS3.SSS1.p3.1.m1.4.4.5"></eq><apply id="S5.SS3.SSS1.p3.1.m1.4.4.6.cmml" xref="S5.SS3.SSS1.p3.1.m1.4.4.6"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p3.1.m1.4.4.6.1.cmml" xref="S5.SS3.SSS1.p3.1.m1.4.4.6">subscript</csymbol><ci id="S5.SS3.SSS1.p3.1.m1.4.4.6.2.cmml" xref="S5.SS3.SSS1.p3.1.m1.4.4.6.2">𝐪</ci><ci id="S5.SS3.SSS1.p3.1.m1.4.4.6.3.cmml" xref="S5.SS3.SSS1.p3.1.m1.4.4.6.3">𝑇</ci></apply><apply id="S5.SS3.SSS1.p3.1.m1.4.4.4.cmml" xref="S5.SS3.SSS1.p3.1.m1.4.4.4"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p3.1.m1.4.4.4.5.cmml" xref="S5.SS3.SSS1.p3.1.m1.4.4.4">superscript</csymbol><list id="S5.SS3.SSS1.p3.1.m1.4.4.4.4.5.cmml" xref="S5.SS3.SSS1.p3.1.m1.4.4.4.4.4"><apply id="S5.SS3.SSS1.p3.1.m1.1.1.1.1.1.1.cmml" xref="S5.SS3.SSS1.p3.1.m1.1.1.1.1.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p3.1.m1.1.1.1.1.1.1.1.cmml" xref="S5.SS3.SSS1.p3.1.m1.1.1.1.1.1.1">subscript</csymbol><ci id="S5.SS3.SSS1.p3.1.m1.1.1.1.1.1.1.2.cmml" xref="S5.SS3.SSS1.p3.1.m1.1.1.1.1.1.1.2">𝑥</ci><ci id="S5.SS3.SSS1.p3.1.m1.1.1.1.1.1.1.3.cmml" xref="S5.SS3.SSS1.p3.1.m1.1.1.1.1.1.1.3">𝑇</ci></apply><apply id="S5.SS3.SSS1.p3.1.m1.2.2.2.2.2.2.cmml" xref="S5.SS3.SSS1.p3.1.m1.2.2.2.2.2.2"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p3.1.m1.2.2.2.2.2.2.1.cmml" xref="S5.SS3.SSS1.p3.1.m1.2.2.2.2.2.2">subscript</csymbol><ci id="S5.SS3.SSS1.p3.1.m1.2.2.2.2.2.2.2.cmml" xref="S5.SS3.SSS1.p3.1.m1.2.2.2.2.2.2.2">𝑦</ci><ci id="S5.SS3.SSS1.p3.1.m1.2.2.2.2.2.2.3.cmml" xref="S5.SS3.SSS1.p3.1.m1.2.2.2.2.2.2.3">𝑇</ci></apply><apply id="S5.SS3.SSS1.p3.1.m1.3.3.3.3.3.3.cmml" xref="S5.SS3.SSS1.p3.1.m1.3.3.3.3.3.3"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p3.1.m1.3.3.3.3.3.3.1.cmml" xref="S5.SS3.SSS1.p3.1.m1.3.3.3.3.3.3">subscript</csymbol><ci id="S5.SS3.SSS1.p3.1.m1.3.3.3.3.3.3.2.cmml" xref="S5.SS3.SSS1.p3.1.m1.3.3.3.3.3.3.2">𝜃</ci><ci id="S5.SS3.SSS1.p3.1.m1.3.3.3.3.3.3.3.cmml" xref="S5.SS3.SSS1.p3.1.m1.3.3.3.3.3.3.3">𝑇</ci></apply><apply id="S5.SS3.SSS1.p3.1.m1.4.4.4.4.4.4.cmml" xref="S5.SS3.SSS1.p3.1.m1.4.4.4.4.4.4"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p3.1.m1.4.4.4.4.4.4.1.cmml" xref="S5.SS3.SSS1.p3.1.m1.4.4.4.4.4.4">subscript</csymbol><ci id="S5.SS3.SSS1.p3.1.m1.4.4.4.4.4.4.2.cmml" xref="S5.SS3.SSS1.p3.1.m1.4.4.4.4.4.4.2">𝑧</ci><ci id="S5.SS3.SSS1.p3.1.m1.4.4.4.4.4.4.3.cmml" xref="S5.SS3.SSS1.p3.1.m1.4.4.4.4.4.4.3">𝑇</ci></apply></list><ci id="S5.SS3.SSS1.p3.1.m1.4.4.4.6.cmml" xref="S5.SS3.SSS1.p3.1.m1.4.4.4.6">T</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS1.p3.1.m1.4c">\mathbf{q}_{T}=[x_{T},y_{T},\theta_{T},z_{T}]^{\mathrm{T}}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS1.p3.1.m1.4d">bold_q start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT = [ italic_x start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT , italic_θ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT</annotation></semantics></math> must be precisely aligned with the pallet front <math alttext="\mathbf{q}_{P}=[x_{P},y_{P},\theta_{P},z_{P}]^{\mathrm{T}}" class="ltx_Math" display="inline" id="S5.SS3.SSS1.p3.2.m2.4"><semantics id="S5.SS3.SSS1.p3.2.m2.4a"><mrow id="S5.SS3.SSS1.p3.2.m2.4.4" xref="S5.SS3.SSS1.p3.2.m2.4.4.cmml"><msub id="S5.SS3.SSS1.p3.2.m2.4.4.6" xref="S5.SS3.SSS1.p3.2.m2.4.4.6.cmml"><mi id="S5.SS3.SSS1.p3.2.m2.4.4.6.2" xref="S5.SS3.SSS1.p3.2.m2.4.4.6.2.cmml">𝐪</mi><mi id="S5.SS3.SSS1.p3.2.m2.4.4.6.3" xref="S5.SS3.SSS1.p3.2.m2.4.4.6.3.cmml">P</mi></msub><mo id="S5.SS3.SSS1.p3.2.m2.4.4.5" xref="S5.SS3.SSS1.p3.2.m2.4.4.5.cmml">=</mo><msup id="S5.SS3.SSS1.p3.2.m2.4.4.4" xref="S5.SS3.SSS1.p3.2.m2.4.4.4.cmml"><mrow id="S5.SS3.SSS1.p3.2.m2.4.4.4.4.4" xref="S5.SS3.SSS1.p3.2.m2.4.4.4.4.5.cmml"><mo id="S5.SS3.SSS1.p3.2.m2.4.4.4.4.4.5" stretchy="false" xref="S5.SS3.SSS1.p3.2.m2.4.4.4.4.5.cmml">[</mo><msub id="S5.SS3.SSS1.p3.2.m2.1.1.1.1.1.1" xref="S5.SS3.SSS1.p3.2.m2.1.1.1.1.1.1.cmml"><mi id="S5.SS3.SSS1.p3.2.m2.1.1.1.1.1.1.2" xref="S5.SS3.SSS1.p3.2.m2.1.1.1.1.1.1.2.cmml">x</mi><mi id="S5.SS3.SSS1.p3.2.m2.1.1.1.1.1.1.3" xref="S5.SS3.SSS1.p3.2.m2.1.1.1.1.1.1.3.cmml">P</mi></msub><mo id="S5.SS3.SSS1.p3.2.m2.4.4.4.4.4.6" xref="S5.SS3.SSS1.p3.2.m2.4.4.4.4.5.cmml">,</mo><msub id="S5.SS3.SSS1.p3.2.m2.2.2.2.2.2.2" xref="S5.SS3.SSS1.p3.2.m2.2.2.2.2.2.2.cmml"><mi id="S5.SS3.SSS1.p3.2.m2.2.2.2.2.2.2.2" xref="S5.SS3.SSS1.p3.2.m2.2.2.2.2.2.2.2.cmml">y</mi><mi id="S5.SS3.SSS1.p3.2.m2.2.2.2.2.2.2.3" xref="S5.SS3.SSS1.p3.2.m2.2.2.2.2.2.2.3.cmml">P</mi></msub><mo id="S5.SS3.SSS1.p3.2.m2.4.4.4.4.4.7" xref="S5.SS3.SSS1.p3.2.m2.4.4.4.4.5.cmml">,</mo><msub id="S5.SS3.SSS1.p3.2.m2.3.3.3.3.3.3" xref="S5.SS3.SSS1.p3.2.m2.3.3.3.3.3.3.cmml"><mi id="S5.SS3.SSS1.p3.2.m2.3.3.3.3.3.3.2" xref="S5.SS3.SSS1.p3.2.m2.3.3.3.3.3.3.2.cmml">θ</mi><mi id="S5.SS3.SSS1.p3.2.m2.3.3.3.3.3.3.3" xref="S5.SS3.SSS1.p3.2.m2.3.3.3.3.3.3.3.cmml">P</mi></msub><mo id="S5.SS3.SSS1.p3.2.m2.4.4.4.4.4.8" xref="S5.SS3.SSS1.p3.2.m2.4.4.4.4.5.cmml">,</mo><msub id="S5.SS3.SSS1.p3.2.m2.4.4.4.4.4.4" xref="S5.SS3.SSS1.p3.2.m2.4.4.4.4.4.4.cmml"><mi id="S5.SS3.SSS1.p3.2.m2.4.4.4.4.4.4.2" xref="S5.SS3.SSS1.p3.2.m2.4.4.4.4.4.4.2.cmml">z</mi><mi id="S5.SS3.SSS1.p3.2.m2.4.4.4.4.4.4.3" xref="S5.SS3.SSS1.p3.2.m2.4.4.4.4.4.4.3.cmml">P</mi></msub><mo id="S5.SS3.SSS1.p3.2.m2.4.4.4.4.4.9" stretchy="false" xref="S5.SS3.SSS1.p3.2.m2.4.4.4.4.5.cmml">]</mo></mrow><mi id="S5.SS3.SSS1.p3.2.m2.4.4.4.6" mathvariant="normal" xref="S5.SS3.SSS1.p3.2.m2.4.4.4.6.cmml">T</mi></msup></mrow><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS1.p3.2.m2.4b"><apply id="S5.SS3.SSS1.p3.2.m2.4.4.cmml" xref="S5.SS3.SSS1.p3.2.m2.4.4"><eq id="S5.SS3.SSS1.p3.2.m2.4.4.5.cmml" xref="S5.SS3.SSS1.p3.2.m2.4.4.5"></eq><apply id="S5.SS3.SSS1.p3.2.m2.4.4.6.cmml" xref="S5.SS3.SSS1.p3.2.m2.4.4.6"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p3.2.m2.4.4.6.1.cmml" xref="S5.SS3.SSS1.p3.2.m2.4.4.6">subscript</csymbol><ci id="S5.SS3.SSS1.p3.2.m2.4.4.6.2.cmml" xref="S5.SS3.SSS1.p3.2.m2.4.4.6.2">𝐪</ci><ci id="S5.SS3.SSS1.p3.2.m2.4.4.6.3.cmml" xref="S5.SS3.SSS1.p3.2.m2.4.4.6.3">𝑃</ci></apply><apply id="S5.SS3.SSS1.p3.2.m2.4.4.4.cmml" xref="S5.SS3.SSS1.p3.2.m2.4.4.4"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p3.2.m2.4.4.4.5.cmml" xref="S5.SS3.SSS1.p3.2.m2.4.4.4">superscript</csymbol><list id="S5.SS3.SSS1.p3.2.m2.4.4.4.4.5.cmml" xref="S5.SS3.SSS1.p3.2.m2.4.4.4.4.4"><apply id="S5.SS3.SSS1.p3.2.m2.1.1.1.1.1.1.cmml" xref="S5.SS3.SSS1.p3.2.m2.1.1.1.1.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p3.2.m2.1.1.1.1.1.1.1.cmml" xref="S5.SS3.SSS1.p3.2.m2.1.1.1.1.1.1">subscript</csymbol><ci id="S5.SS3.SSS1.p3.2.m2.1.1.1.1.1.1.2.cmml" xref="S5.SS3.SSS1.p3.2.m2.1.1.1.1.1.1.2">𝑥</ci><ci id="S5.SS3.SSS1.p3.2.m2.1.1.1.1.1.1.3.cmml" xref="S5.SS3.SSS1.p3.2.m2.1.1.1.1.1.1.3">𝑃</ci></apply><apply id="S5.SS3.SSS1.p3.2.m2.2.2.2.2.2.2.cmml" xref="S5.SS3.SSS1.p3.2.m2.2.2.2.2.2.2"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p3.2.m2.2.2.2.2.2.2.1.cmml" xref="S5.SS3.SSS1.p3.2.m2.2.2.2.2.2.2">subscript</csymbol><ci id="S5.SS3.SSS1.p3.2.m2.2.2.2.2.2.2.2.cmml" xref="S5.SS3.SSS1.p3.2.m2.2.2.2.2.2.2.2">𝑦</ci><ci id="S5.SS3.SSS1.p3.2.m2.2.2.2.2.2.2.3.cmml" xref="S5.SS3.SSS1.p3.2.m2.2.2.2.2.2.2.3">𝑃</ci></apply><apply id="S5.SS3.SSS1.p3.2.m2.3.3.3.3.3.3.cmml" xref="S5.SS3.SSS1.p3.2.m2.3.3.3.3.3.3"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p3.2.m2.3.3.3.3.3.3.1.cmml" xref="S5.SS3.SSS1.p3.2.m2.3.3.3.3.3.3">subscript</csymbol><ci id="S5.SS3.SSS1.p3.2.m2.3.3.3.3.3.3.2.cmml" xref="S5.SS3.SSS1.p3.2.m2.3.3.3.3.3.3.2">𝜃</ci><ci id="S5.SS3.SSS1.p3.2.m2.3.3.3.3.3.3.3.cmml" xref="S5.SS3.SSS1.p3.2.m2.3.3.3.3.3.3.3">𝑃</ci></apply><apply id="S5.SS3.SSS1.p3.2.m2.4.4.4.4.4.4.cmml" xref="S5.SS3.SSS1.p3.2.m2.4.4.4.4.4.4"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p3.2.m2.4.4.4.4.4.4.1.cmml" xref="S5.SS3.SSS1.p3.2.m2.4.4.4.4.4.4">subscript</csymbol><ci id="S5.SS3.SSS1.p3.2.m2.4.4.4.4.4.4.2.cmml" xref="S5.SS3.SSS1.p3.2.m2.4.4.4.4.4.4.2">𝑧</ci><ci id="S5.SS3.SSS1.p3.2.m2.4.4.4.4.4.4.3.cmml" xref="S5.SS3.SSS1.p3.2.m2.4.4.4.4.4.4.3">𝑃</ci></apply></list><ci id="S5.SS3.SSS1.p3.2.m2.4.4.4.6.cmml" xref="S5.SS3.SSS1.p3.2.m2.4.4.4.6">T</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS1.p3.2.m2.4c">\mathbf{q}_{P}=[x_{P},y_{P},\theta_{P},z_{P}]^{\mathrm{T}}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS1.p3.2.m2.4d">bold_q start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT = [ italic_x start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT , italic_θ start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT</annotation></semantics></math>, see Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.F19.sf2" title="In Figure 19 ‣ 5.3.2 Navigation ‣ 5.3 Motion Planning and Control ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">19(b)</span></a>. This is ensured by the fork tip transformation (FTT) component, as part of the cascaded control loop depicted in Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.F16" title="Figure 16 ‣ 5.3.1 Cascaded control ‣ 5.3 Motion Planning and Control ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">16</span></a>b. The FTT transforms the target pose into the fork tip coordinate frame by</p> </div> <div class="ltx_para" id="S5.SS3.SSS1.p4"> <table class="ltx_equation ltx_eqn_table" id="S5.E7"> <tbody><tr class="ltx_equation ltx_eqn_row ltx_align_baseline"> <td class="ltx_eqn_cell ltx_eqn_left_padleft"></td> <td class="ltx_eqn_cell ltx_align_left"><math alttext="\begin{bmatrix}x_{P}^{\prime}\\ y_{P}^{\prime}\end{bmatrix}=\begin{bmatrix}\cos{(e_{\theta})}&-\sin{(e_{\theta% })}\\ \sin{(e_{\theta})}&\cos{(e_{\theta})}\end{bmatrix}\begin{bmatrix}x_{P}-x_{T}\\ y_{P}-y_{T}\end{bmatrix}\ ," class="ltx_Math" display="block" id="S5.E7.m1.4"><semantics id="S5.E7.m1.4a"><mrow id="S5.E7.m1.4.4.1" xref="S5.E7.m1.4.4.1.1.cmml"><mrow id="S5.E7.m1.4.4.1.1" xref="S5.E7.m1.4.4.1.1.cmml"><mrow id="S5.E7.m1.1.1.3" xref="S5.E7.m1.1.1.2.cmml"><mo id="S5.E7.m1.1.1.3.1" xref="S5.E7.m1.1.1.2.1.cmml">[</mo><mtable displaystyle="true" id="S5.E7.m1.1.1.1.1" rowspacing="0pt" xref="S5.E7.m1.1.1.1.1.cmml"><mtr id="S5.E7.m1.1.1.1.1a" xref="S5.E7.m1.1.1.1.1.cmml"><mtd id="S5.E7.m1.1.1.1.1b" xref="S5.E7.m1.1.1.1.1.cmml"><msubsup id="S5.E7.m1.1.1.1.1.1.1.1" xref="S5.E7.m1.1.1.1.1.1.1.1.cmml"><mi id="S5.E7.m1.1.1.1.1.1.1.1.2.2" xref="S5.E7.m1.1.1.1.1.1.1.1.2.2.cmml">x</mi><mi id="S5.E7.m1.1.1.1.1.1.1.1.2.3" xref="S5.E7.m1.1.1.1.1.1.1.1.2.3.cmml">P</mi><mo id="S5.E7.m1.1.1.1.1.1.1.1.3" xref="S5.E7.m1.1.1.1.1.1.1.1.3.cmml">′</mo></msubsup></mtd></mtr><mtr id="S5.E7.m1.1.1.1.1c" xref="S5.E7.m1.1.1.1.1.cmml"><mtd id="S5.E7.m1.1.1.1.1d" xref="S5.E7.m1.1.1.1.1.cmml"><msubsup id="S5.E7.m1.1.1.1.1.2.1.1" xref="S5.E7.m1.1.1.1.1.2.1.1.cmml"><mi id="S5.E7.m1.1.1.1.1.2.1.1.2.2" xref="S5.E7.m1.1.1.1.1.2.1.1.2.2.cmml">y</mi><mi id="S5.E7.m1.1.1.1.1.2.1.1.2.3" xref="S5.E7.m1.1.1.1.1.2.1.1.2.3.cmml">P</mi><mo id="S5.E7.m1.1.1.1.1.2.1.1.3" xref="S5.E7.m1.1.1.1.1.2.1.1.3.cmml">′</mo></msubsup></mtd></mtr></mtable><mo id="S5.E7.m1.1.1.3.2" xref="S5.E7.m1.1.1.2.1.cmml">]</mo></mrow><mo id="S5.E7.m1.4.4.1.1.1" xref="S5.E7.m1.4.4.1.1.1.cmml">=</mo><mrow id="S5.E7.m1.4.4.1.1.2" xref="S5.E7.m1.4.4.1.1.2.cmml"><mrow id="S5.E7.m1.2.2.3" xref="S5.E7.m1.2.2.2.cmml"><mo id="S5.E7.m1.2.2.3.1" xref="S5.E7.m1.2.2.2.1.cmml">[</mo><mtable columnspacing="5pt" displaystyle="true" id="S5.E7.m1.2.2.1.1" rowspacing="0pt" xref="S5.E7.m1.2.2.1.1.cmml"><mtr id="S5.E7.m1.2.2.1.1a" xref="S5.E7.m1.2.2.1.1.cmml"><mtd id="S5.E7.m1.2.2.1.1b" xref="S5.E7.m1.2.2.1.1.cmml"><mrow id="S5.E7.m1.2.2.1.1.2.2.2.2.2" xref="S5.E7.m1.2.2.1.1.2.2.2.2.3.cmml"><mi id="S5.E7.m1.2.2.1.1.1.1.1.1.1" xref="S5.E7.m1.2.2.1.1.1.1.1.1.1.cmml">cos</mi><mo id="S5.E7.m1.2.2.1.1.2.2.2.2.2a" xref="S5.E7.m1.2.2.1.1.2.2.2.2.3.cmml"></mo><mrow id="S5.E7.m1.2.2.1.1.2.2.2.2.2.1" xref="S5.E7.m1.2.2.1.1.2.2.2.2.3.cmml"><mo id="S5.E7.m1.2.2.1.1.2.2.2.2.2.1.2" stretchy="false" xref="S5.E7.m1.2.2.1.1.2.2.2.2.3.cmml">(</mo><msub id="S5.E7.m1.2.2.1.1.2.2.2.2.2.1.1" xref="S5.E7.m1.2.2.1.1.2.2.2.2.2.1.1.cmml"><mi id="S5.E7.m1.2.2.1.1.2.2.2.2.2.1.1.2" xref="S5.E7.m1.2.2.1.1.2.2.2.2.2.1.1.2.cmml">e</mi><mi id="S5.E7.m1.2.2.1.1.2.2.2.2.2.1.1.3" xref="S5.E7.m1.2.2.1.1.2.2.2.2.2.1.1.3.cmml">θ</mi></msub><mo id="S5.E7.m1.2.2.1.1.2.2.2.2.2.1.3" stretchy="false" xref="S5.E7.m1.2.2.1.1.2.2.2.2.3.cmml">)</mo></mrow></mrow></mtd><mtd id="S5.E7.m1.2.2.1.1c" xref="S5.E7.m1.2.2.1.1.cmml"><mrow id="S5.E7.m1.2.2.1.1.4.4.4.2" xref="S5.E7.m1.2.2.1.1.4.4.4.2.cmml"><mo id="S5.E7.m1.2.2.1.1.4.4.4.2a" rspace="0.167em" xref="S5.E7.m1.2.2.1.1.4.4.4.2.cmml">−</mo><mrow id="S5.E7.m1.2.2.1.1.4.4.4.2.2.1" xref="S5.E7.m1.2.2.1.1.4.4.4.2.2.2.cmml"><mi id="S5.E7.m1.2.2.1.1.3.3.3.1.1" xref="S5.E7.m1.2.2.1.1.3.3.3.1.1.cmml">sin</mi><mo id="S5.E7.m1.2.2.1.1.4.4.4.2.2.1a" xref="S5.E7.m1.2.2.1.1.4.4.4.2.2.2.cmml"></mo><mrow id="S5.E7.m1.2.2.1.1.4.4.4.2.2.1.1" xref="S5.E7.m1.2.2.1.1.4.4.4.2.2.2.cmml"><mo id="S5.E7.m1.2.2.1.1.4.4.4.2.2.1.1.2" stretchy="false" xref="S5.E7.m1.2.2.1.1.4.4.4.2.2.2.cmml">(</mo><msub id="S5.E7.m1.2.2.1.1.4.4.4.2.2.1.1.1" xref="S5.E7.m1.2.2.1.1.4.4.4.2.2.1.1.1.cmml"><mi id="S5.E7.m1.2.2.1.1.4.4.4.2.2.1.1.1.2" xref="S5.E7.m1.2.2.1.1.4.4.4.2.2.1.1.1.2.cmml">e</mi><mi id="S5.E7.m1.2.2.1.1.4.4.4.2.2.1.1.1.3" xref="S5.E7.m1.2.2.1.1.4.4.4.2.2.1.1.1.3.cmml">θ</mi></msub><mo id="S5.E7.m1.2.2.1.1.4.4.4.2.2.1.1.3" stretchy="false" xref="S5.E7.m1.2.2.1.1.4.4.4.2.2.2.cmml">)</mo></mrow></mrow></mrow></mtd></mtr><mtr id="S5.E7.m1.2.2.1.1d" xref="S5.E7.m1.2.2.1.1.cmml"><mtd id="S5.E7.m1.2.2.1.1e" xref="S5.E7.m1.2.2.1.1.cmml"><mrow id="S5.E7.m1.2.2.1.1.6.6.2.2.2" xref="S5.E7.m1.2.2.1.1.6.6.2.2.3.cmml"><mi id="S5.E7.m1.2.2.1.1.5.5.1.1.1" xref="S5.E7.m1.2.2.1.1.5.5.1.1.1.cmml">sin</mi><mo id="S5.E7.m1.2.2.1.1.6.6.2.2.2a" xref="S5.E7.m1.2.2.1.1.6.6.2.2.3.cmml"></mo><mrow id="S5.E7.m1.2.2.1.1.6.6.2.2.2.1" xref="S5.E7.m1.2.2.1.1.6.6.2.2.3.cmml"><mo id="S5.E7.m1.2.2.1.1.6.6.2.2.2.1.2" stretchy="false" xref="S5.E7.m1.2.2.1.1.6.6.2.2.3.cmml">(</mo><msub id="S5.E7.m1.2.2.1.1.6.6.2.2.2.1.1" xref="S5.E7.m1.2.2.1.1.6.6.2.2.2.1.1.cmml"><mi id="S5.E7.m1.2.2.1.1.6.6.2.2.2.1.1.2" xref="S5.E7.m1.2.2.1.1.6.6.2.2.2.1.1.2.cmml">e</mi><mi id="S5.E7.m1.2.2.1.1.6.6.2.2.2.1.1.3" xref="S5.E7.m1.2.2.1.1.6.6.2.2.2.1.1.3.cmml">θ</mi></msub><mo id="S5.E7.m1.2.2.1.1.6.6.2.2.2.1.3" stretchy="false" xref="S5.E7.m1.2.2.1.1.6.6.2.2.3.cmml">)</mo></mrow></mrow></mtd><mtd id="S5.E7.m1.2.2.1.1f" xref="S5.E7.m1.2.2.1.1.cmml"><mrow id="S5.E7.m1.2.2.1.1.8.8.4.2.2" xref="S5.E7.m1.2.2.1.1.8.8.4.2.3.cmml"><mi id="S5.E7.m1.2.2.1.1.7.7.3.1.1" xref="S5.E7.m1.2.2.1.1.7.7.3.1.1.cmml">cos</mi><mo id="S5.E7.m1.2.2.1.1.8.8.4.2.2a" xref="S5.E7.m1.2.2.1.1.8.8.4.2.3.cmml"></mo><mrow id="S5.E7.m1.2.2.1.1.8.8.4.2.2.1" xref="S5.E7.m1.2.2.1.1.8.8.4.2.3.cmml"><mo id="S5.E7.m1.2.2.1.1.8.8.4.2.2.1.2" stretchy="false" xref="S5.E7.m1.2.2.1.1.8.8.4.2.3.cmml">(</mo><msub id="S5.E7.m1.2.2.1.1.8.8.4.2.2.1.1" xref="S5.E7.m1.2.2.1.1.8.8.4.2.2.1.1.cmml"><mi id="S5.E7.m1.2.2.1.1.8.8.4.2.2.1.1.2" xref="S5.E7.m1.2.2.1.1.8.8.4.2.2.1.1.2.cmml">e</mi><mi id="S5.E7.m1.2.2.1.1.8.8.4.2.2.1.1.3" xref="S5.E7.m1.2.2.1.1.8.8.4.2.2.1.1.3.cmml">θ</mi></msub><mo id="S5.E7.m1.2.2.1.1.8.8.4.2.2.1.3" stretchy="false" xref="S5.E7.m1.2.2.1.1.8.8.4.2.3.cmml">)</mo></mrow></mrow></mtd></mtr></mtable><mo id="S5.E7.m1.2.2.3.2" xref="S5.E7.m1.2.2.2.1.cmml">]</mo></mrow><mo id="S5.E7.m1.4.4.1.1.2.1" xref="S5.E7.m1.4.4.1.1.2.1.cmml"></mo><mrow id="S5.E7.m1.3.3.3" xref="S5.E7.m1.3.3.2.cmml"><mo id="S5.E7.m1.3.3.3.1" xref="S5.E7.m1.3.3.2.1.cmml">[</mo><mtable displaystyle="true" id="S5.E7.m1.3.3.1.1" rowspacing="0pt" xref="S5.E7.m1.3.3.1.1.cmml"><mtr id="S5.E7.m1.3.3.1.1a" xref="S5.E7.m1.3.3.1.1.cmml"><mtd id="S5.E7.m1.3.3.1.1b" xref="S5.E7.m1.3.3.1.1.cmml"><mrow id="S5.E7.m1.3.3.1.1.1.1.1" xref="S5.E7.m1.3.3.1.1.1.1.1.cmml"><msub id="S5.E7.m1.3.3.1.1.1.1.1.2" xref="S5.E7.m1.3.3.1.1.1.1.1.2.cmml"><mi id="S5.E7.m1.3.3.1.1.1.1.1.2.2" xref="S5.E7.m1.3.3.1.1.1.1.1.2.2.cmml">x</mi><mi id="S5.E7.m1.3.3.1.1.1.1.1.2.3" xref="S5.E7.m1.3.3.1.1.1.1.1.2.3.cmml">P</mi></msub><mo id="S5.E7.m1.3.3.1.1.1.1.1.1" xref="S5.E7.m1.3.3.1.1.1.1.1.1.cmml">−</mo><msub id="S5.E7.m1.3.3.1.1.1.1.1.3" xref="S5.E7.m1.3.3.1.1.1.1.1.3.cmml"><mi id="S5.E7.m1.3.3.1.1.1.1.1.3.2" xref="S5.E7.m1.3.3.1.1.1.1.1.3.2.cmml">x</mi><mi id="S5.E7.m1.3.3.1.1.1.1.1.3.3" xref="S5.E7.m1.3.3.1.1.1.1.1.3.3.cmml">T</mi></msub></mrow></mtd></mtr><mtr id="S5.E7.m1.3.3.1.1c" xref="S5.E7.m1.3.3.1.1.cmml"><mtd id="S5.E7.m1.3.3.1.1d" xref="S5.E7.m1.3.3.1.1.cmml"><mrow id="S5.E7.m1.3.3.1.1.2.1.1" xref="S5.E7.m1.3.3.1.1.2.1.1.cmml"><msub id="S5.E7.m1.3.3.1.1.2.1.1.2" xref="S5.E7.m1.3.3.1.1.2.1.1.2.cmml"><mi id="S5.E7.m1.3.3.1.1.2.1.1.2.2" xref="S5.E7.m1.3.3.1.1.2.1.1.2.2.cmml">y</mi><mi id="S5.E7.m1.3.3.1.1.2.1.1.2.3" xref="S5.E7.m1.3.3.1.1.2.1.1.2.3.cmml">P</mi></msub><mo id="S5.E7.m1.3.3.1.1.2.1.1.1" xref="S5.E7.m1.3.3.1.1.2.1.1.1.cmml">−</mo><msub id="S5.E7.m1.3.3.1.1.2.1.1.3" xref="S5.E7.m1.3.3.1.1.2.1.1.3.cmml"><mi id="S5.E7.m1.3.3.1.1.2.1.1.3.2" xref="S5.E7.m1.3.3.1.1.2.1.1.3.2.cmml">y</mi><mi id="S5.E7.m1.3.3.1.1.2.1.1.3.3" xref="S5.E7.m1.3.3.1.1.2.1.1.3.3.cmml">T</mi></msub></mrow></mtd></mtr></mtable><mo id="S5.E7.m1.3.3.3.2" xref="S5.E7.m1.3.3.2.1.cmml">]</mo></mrow></mrow></mrow><mo id="S5.E7.m1.4.4.1.2" xref="S5.E7.m1.4.4.1.1.cmml">,</mo></mrow><annotation-xml encoding="MathML-Content" id="S5.E7.m1.4b"><apply id="S5.E7.m1.4.4.1.1.cmml" xref="S5.E7.m1.4.4.1"><eq id="S5.E7.m1.4.4.1.1.1.cmml" xref="S5.E7.m1.4.4.1.1.1"></eq><apply id="S5.E7.m1.1.1.2.cmml" xref="S5.E7.m1.1.1.3"><csymbol cd="latexml" id="S5.E7.m1.1.1.2.1.cmml" xref="S5.E7.m1.1.1.3.1">matrix</csymbol><matrix id="S5.E7.m1.1.1.1.1.cmml" xref="S5.E7.m1.1.1.1.1"><matrixrow id="S5.E7.m1.1.1.1.1a.cmml" xref="S5.E7.m1.1.1.1.1"><apply id="S5.E7.m1.1.1.1.1.1.1.1.cmml" xref="S5.E7.m1.1.1.1.1.1.1.1"><csymbol cd="ambiguous" id="S5.E7.m1.1.1.1.1.1.1.1.1.cmml" xref="S5.E7.m1.1.1.1.1.1.1.1">superscript</csymbol><apply id="S5.E7.m1.1.1.1.1.1.1.1.2.cmml" xref="S5.E7.m1.1.1.1.1.1.1.1"><csymbol cd="ambiguous" id="S5.E7.m1.1.1.1.1.1.1.1.2.1.cmml" xref="S5.E7.m1.1.1.1.1.1.1.1">subscript</csymbol><ci id="S5.E7.m1.1.1.1.1.1.1.1.2.2.cmml" xref="S5.E7.m1.1.1.1.1.1.1.1.2.2">𝑥</ci><ci id="S5.E7.m1.1.1.1.1.1.1.1.2.3.cmml" xref="S5.E7.m1.1.1.1.1.1.1.1.2.3">𝑃</ci></apply><ci id="S5.E7.m1.1.1.1.1.1.1.1.3.cmml" xref="S5.E7.m1.1.1.1.1.1.1.1.3">′</ci></apply></matrixrow><matrixrow id="S5.E7.m1.1.1.1.1b.cmml" xref="S5.E7.m1.1.1.1.1"><apply id="S5.E7.m1.1.1.1.1.2.1.1.cmml" xref="S5.E7.m1.1.1.1.1.2.1.1"><csymbol cd="ambiguous" id="S5.E7.m1.1.1.1.1.2.1.1.1.cmml" xref="S5.E7.m1.1.1.1.1.2.1.1">superscript</csymbol><apply id="S5.E7.m1.1.1.1.1.2.1.1.2.cmml" xref="S5.E7.m1.1.1.1.1.2.1.1"><csymbol cd="ambiguous" id="S5.E7.m1.1.1.1.1.2.1.1.2.1.cmml" xref="S5.E7.m1.1.1.1.1.2.1.1">subscript</csymbol><ci id="S5.E7.m1.1.1.1.1.2.1.1.2.2.cmml" xref="S5.E7.m1.1.1.1.1.2.1.1.2.2">𝑦</ci><ci id="S5.E7.m1.1.1.1.1.2.1.1.2.3.cmml" xref="S5.E7.m1.1.1.1.1.2.1.1.2.3">𝑃</ci></apply><ci id="S5.E7.m1.1.1.1.1.2.1.1.3.cmml" xref="S5.E7.m1.1.1.1.1.2.1.1.3">′</ci></apply></matrixrow></matrix></apply><apply id="S5.E7.m1.4.4.1.1.2.cmml" xref="S5.E7.m1.4.4.1.1.2"><times id="S5.E7.m1.4.4.1.1.2.1.cmml" xref="S5.E7.m1.4.4.1.1.2.1"></times><apply id="S5.E7.m1.2.2.2.cmml" xref="S5.E7.m1.2.2.3"><csymbol cd="latexml" id="S5.E7.m1.2.2.2.1.cmml" xref="S5.E7.m1.2.2.3.1">matrix</csymbol><matrix id="S5.E7.m1.2.2.1.1.cmml" xref="S5.E7.m1.2.2.1.1"><matrixrow id="S5.E7.m1.2.2.1.1a.cmml" xref="S5.E7.m1.2.2.1.1"><apply id="S5.E7.m1.2.2.1.1.2.2.2.2.3.cmml" xref="S5.E7.m1.2.2.1.1.2.2.2.2.2"><cos id="S5.E7.m1.2.2.1.1.1.1.1.1.1.cmml" xref="S5.E7.m1.2.2.1.1.1.1.1.1.1"></cos><apply id="S5.E7.m1.2.2.1.1.2.2.2.2.2.1.1.cmml" xref="S5.E7.m1.2.2.1.1.2.2.2.2.2.1.1"><csymbol cd="ambiguous" id="S5.E7.m1.2.2.1.1.2.2.2.2.2.1.1.1.cmml" xref="S5.E7.m1.2.2.1.1.2.2.2.2.2.1.1">subscript</csymbol><ci id="S5.E7.m1.2.2.1.1.2.2.2.2.2.1.1.2.cmml" xref="S5.E7.m1.2.2.1.1.2.2.2.2.2.1.1.2">𝑒</ci><ci id="S5.E7.m1.2.2.1.1.2.2.2.2.2.1.1.3.cmml" xref="S5.E7.m1.2.2.1.1.2.2.2.2.2.1.1.3">𝜃</ci></apply></apply><apply id="S5.E7.m1.2.2.1.1.4.4.4.2.cmml" xref="S5.E7.m1.2.2.1.1.4.4.4.2"><minus id="S5.E7.m1.2.2.1.1.4.4.4.2.3.cmml" xref="S5.E7.m1.2.2.1.1.4.4.4.2"></minus><apply id="S5.E7.m1.2.2.1.1.4.4.4.2.2.2.cmml" xref="S5.E7.m1.2.2.1.1.4.4.4.2.2.1"><sin id="S5.E7.m1.2.2.1.1.3.3.3.1.1.cmml" xref="S5.E7.m1.2.2.1.1.3.3.3.1.1"></sin><apply id="S5.E7.m1.2.2.1.1.4.4.4.2.2.1.1.1.cmml" xref="S5.E7.m1.2.2.1.1.4.4.4.2.2.1.1.1"><csymbol cd="ambiguous" id="S5.E7.m1.2.2.1.1.4.4.4.2.2.1.1.1.1.cmml" xref="S5.E7.m1.2.2.1.1.4.4.4.2.2.1.1.1">subscript</csymbol><ci id="S5.E7.m1.2.2.1.1.4.4.4.2.2.1.1.1.2.cmml" xref="S5.E7.m1.2.2.1.1.4.4.4.2.2.1.1.1.2">𝑒</ci><ci id="S5.E7.m1.2.2.1.1.4.4.4.2.2.1.1.1.3.cmml" xref="S5.E7.m1.2.2.1.1.4.4.4.2.2.1.1.1.3">𝜃</ci></apply></apply></apply></matrixrow><matrixrow id="S5.E7.m1.2.2.1.1b.cmml" xref="S5.E7.m1.2.2.1.1"><apply id="S5.E7.m1.2.2.1.1.6.6.2.2.3.cmml" xref="S5.E7.m1.2.2.1.1.6.6.2.2.2"><sin id="S5.E7.m1.2.2.1.1.5.5.1.1.1.cmml" xref="S5.E7.m1.2.2.1.1.5.5.1.1.1"></sin><apply id="S5.E7.m1.2.2.1.1.6.6.2.2.2.1.1.cmml" xref="S5.E7.m1.2.2.1.1.6.6.2.2.2.1.1"><csymbol cd="ambiguous" id="S5.E7.m1.2.2.1.1.6.6.2.2.2.1.1.1.cmml" xref="S5.E7.m1.2.2.1.1.6.6.2.2.2.1.1">subscript</csymbol><ci id="S5.E7.m1.2.2.1.1.6.6.2.2.2.1.1.2.cmml" xref="S5.E7.m1.2.2.1.1.6.6.2.2.2.1.1.2">𝑒</ci><ci id="S5.E7.m1.2.2.1.1.6.6.2.2.2.1.1.3.cmml" xref="S5.E7.m1.2.2.1.1.6.6.2.2.2.1.1.3">𝜃</ci></apply></apply><apply id="S5.E7.m1.2.2.1.1.8.8.4.2.3.cmml" xref="S5.E7.m1.2.2.1.1.8.8.4.2.2"><cos id="S5.E7.m1.2.2.1.1.7.7.3.1.1.cmml" xref="S5.E7.m1.2.2.1.1.7.7.3.1.1"></cos><apply id="S5.E7.m1.2.2.1.1.8.8.4.2.2.1.1.cmml" xref="S5.E7.m1.2.2.1.1.8.8.4.2.2.1.1"><csymbol cd="ambiguous" id="S5.E7.m1.2.2.1.1.8.8.4.2.2.1.1.1.cmml" xref="S5.E7.m1.2.2.1.1.8.8.4.2.2.1.1">subscript</csymbol><ci id="S5.E7.m1.2.2.1.1.8.8.4.2.2.1.1.2.cmml" xref="S5.E7.m1.2.2.1.1.8.8.4.2.2.1.1.2">𝑒</ci><ci id="S5.E7.m1.2.2.1.1.8.8.4.2.2.1.1.3.cmml" xref="S5.E7.m1.2.2.1.1.8.8.4.2.2.1.1.3">𝜃</ci></apply></apply></matrixrow></matrix></apply><apply id="S5.E7.m1.3.3.2.cmml" xref="S5.E7.m1.3.3.3"><csymbol cd="latexml" id="S5.E7.m1.3.3.2.1.cmml" xref="S5.E7.m1.3.3.3.1">matrix</csymbol><matrix id="S5.E7.m1.3.3.1.1.cmml" xref="S5.E7.m1.3.3.1.1"><matrixrow id="S5.E7.m1.3.3.1.1a.cmml" xref="S5.E7.m1.3.3.1.1"><apply id="S5.E7.m1.3.3.1.1.1.1.1.cmml" xref="S5.E7.m1.3.3.1.1.1.1.1"><minus id="S5.E7.m1.3.3.1.1.1.1.1.1.cmml" xref="S5.E7.m1.3.3.1.1.1.1.1.1"></minus><apply id="S5.E7.m1.3.3.1.1.1.1.1.2.cmml" xref="S5.E7.m1.3.3.1.1.1.1.1.2"><csymbol cd="ambiguous" id="S5.E7.m1.3.3.1.1.1.1.1.2.1.cmml" xref="S5.E7.m1.3.3.1.1.1.1.1.2">subscript</csymbol><ci id="S5.E7.m1.3.3.1.1.1.1.1.2.2.cmml" xref="S5.E7.m1.3.3.1.1.1.1.1.2.2">𝑥</ci><ci id="S5.E7.m1.3.3.1.1.1.1.1.2.3.cmml" xref="S5.E7.m1.3.3.1.1.1.1.1.2.3">𝑃</ci></apply><apply id="S5.E7.m1.3.3.1.1.1.1.1.3.cmml" xref="S5.E7.m1.3.3.1.1.1.1.1.3"><csymbol cd="ambiguous" id="S5.E7.m1.3.3.1.1.1.1.1.3.1.cmml" xref="S5.E7.m1.3.3.1.1.1.1.1.3">subscript</csymbol><ci id="S5.E7.m1.3.3.1.1.1.1.1.3.2.cmml" xref="S5.E7.m1.3.3.1.1.1.1.1.3.2">𝑥</ci><ci id="S5.E7.m1.3.3.1.1.1.1.1.3.3.cmml" xref="S5.E7.m1.3.3.1.1.1.1.1.3.3">𝑇</ci></apply></apply></matrixrow><matrixrow id="S5.E7.m1.3.3.1.1b.cmml" xref="S5.E7.m1.3.3.1.1"><apply id="S5.E7.m1.3.3.1.1.2.1.1.cmml" xref="S5.E7.m1.3.3.1.1.2.1.1"><minus id="S5.E7.m1.3.3.1.1.2.1.1.1.cmml" xref="S5.E7.m1.3.3.1.1.2.1.1.1"></minus><apply id="S5.E7.m1.3.3.1.1.2.1.1.2.cmml" xref="S5.E7.m1.3.3.1.1.2.1.1.2"><csymbol cd="ambiguous" id="S5.E7.m1.3.3.1.1.2.1.1.2.1.cmml" xref="S5.E7.m1.3.3.1.1.2.1.1.2">subscript</csymbol><ci id="S5.E7.m1.3.3.1.1.2.1.1.2.2.cmml" xref="S5.E7.m1.3.3.1.1.2.1.1.2.2">𝑦</ci><ci id="S5.E7.m1.3.3.1.1.2.1.1.2.3.cmml" xref="S5.E7.m1.3.3.1.1.2.1.1.2.3">𝑃</ci></apply><apply id="S5.E7.m1.3.3.1.1.2.1.1.3.cmml" xref="S5.E7.m1.3.3.1.1.2.1.1.3"><csymbol cd="ambiguous" id="S5.E7.m1.3.3.1.1.2.1.1.3.1.cmml" xref="S5.E7.m1.3.3.1.1.2.1.1.3">subscript</csymbol><ci id="S5.E7.m1.3.3.1.1.2.1.1.3.2.cmml" xref="S5.E7.m1.3.3.1.1.2.1.1.3.2">𝑦</ci><ci id="S5.E7.m1.3.3.1.1.2.1.1.3.3.cmml" xref="S5.E7.m1.3.3.1.1.2.1.1.3.3">𝑇</ci></apply></apply></matrixrow></matrix></apply></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.E7.m1.4c">\begin{bmatrix}x_{P}^{\prime}\\ y_{P}^{\prime}\end{bmatrix}=\begin{bmatrix}\cos{(e_{\theta})}&-\sin{(e_{\theta% })}\\ \sin{(e_{\theta})}&\cos{(e_{\theta})}\end{bmatrix}\begin{bmatrix}x_{P}-x_{T}\\ y_{P}-y_{T}\end{bmatrix}\ ,</annotation><annotation encoding="application/x-llamapun" id="S5.E7.m1.4d">[ start_ARG start_ROW start_CELL italic_x start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL italic_y start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_CELL end_ROW end_ARG ] = [ start_ARG start_ROW start_CELL roman_cos ( italic_e start_POSTSUBSCRIPT italic_θ end_POSTSUBSCRIPT ) end_CELL start_CELL - roman_sin ( italic_e start_POSTSUBSCRIPT italic_θ end_POSTSUBSCRIPT ) end_CELL end_ROW start_ROW start_CELL roman_sin ( italic_e start_POSTSUBSCRIPT italic_θ end_POSTSUBSCRIPT ) end_CELL start_CELL roman_cos ( italic_e start_POSTSUBSCRIPT italic_θ end_POSTSUBSCRIPT ) end_CELL end_ROW end_ARG ] [ start_ARG start_ROW start_CELL italic_x start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT - italic_x start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL italic_y start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT - italic_y start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ] ,</annotation></semantics></math></td> <td class="ltx_eqn_cell ltx_eqn_left_padright"></td> <td class="ltx_eqn_cell ltx_eqn_eqno ltx_align_middle ltx_align_right" rowspan="1"><span class="ltx_tag ltx_tag_equation ltx_align_right">(7)</span></td> </tr></tbody> </table> <p class="ltx_p" id="S5.SS3.SSS1.p4.1">where <math alttext="e_{\theta}=\theta_{P}-\theta_{T}" class="ltx_Math" display="inline" id="S5.SS3.SSS1.p4.1.m1.1"><semantics id="S5.SS3.SSS1.p4.1.m1.1a"><mrow id="S5.SS3.SSS1.p4.1.m1.1.1" xref="S5.SS3.SSS1.p4.1.m1.1.1.cmml"><msub id="S5.SS3.SSS1.p4.1.m1.1.1.2" xref="S5.SS3.SSS1.p4.1.m1.1.1.2.cmml"><mi id="S5.SS3.SSS1.p4.1.m1.1.1.2.2" xref="S5.SS3.SSS1.p4.1.m1.1.1.2.2.cmml">e</mi><mi id="S5.SS3.SSS1.p4.1.m1.1.1.2.3" xref="S5.SS3.SSS1.p4.1.m1.1.1.2.3.cmml">θ</mi></msub><mo id="S5.SS3.SSS1.p4.1.m1.1.1.1" xref="S5.SS3.SSS1.p4.1.m1.1.1.1.cmml">=</mo><mrow id="S5.SS3.SSS1.p4.1.m1.1.1.3" xref="S5.SS3.SSS1.p4.1.m1.1.1.3.cmml"><msub id="S5.SS3.SSS1.p4.1.m1.1.1.3.2" xref="S5.SS3.SSS1.p4.1.m1.1.1.3.2.cmml"><mi id="S5.SS3.SSS1.p4.1.m1.1.1.3.2.2" xref="S5.SS3.SSS1.p4.1.m1.1.1.3.2.2.cmml">θ</mi><mi id="S5.SS3.SSS1.p4.1.m1.1.1.3.2.3" xref="S5.SS3.SSS1.p4.1.m1.1.1.3.2.3.cmml">P</mi></msub><mo id="S5.SS3.SSS1.p4.1.m1.1.1.3.1" xref="S5.SS3.SSS1.p4.1.m1.1.1.3.1.cmml">−</mo><msub id="S5.SS3.SSS1.p4.1.m1.1.1.3.3" xref="S5.SS3.SSS1.p4.1.m1.1.1.3.3.cmml"><mi id="S5.SS3.SSS1.p4.1.m1.1.1.3.3.2" xref="S5.SS3.SSS1.p4.1.m1.1.1.3.3.2.cmml">θ</mi><mi id="S5.SS3.SSS1.p4.1.m1.1.1.3.3.3" xref="S5.SS3.SSS1.p4.1.m1.1.1.3.3.3.cmml">T</mi></msub></mrow></mrow><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS1.p4.1.m1.1b"><apply id="S5.SS3.SSS1.p4.1.m1.1.1.cmml" xref="S5.SS3.SSS1.p4.1.m1.1.1"><eq id="S5.SS3.SSS1.p4.1.m1.1.1.1.cmml" xref="S5.SS3.SSS1.p4.1.m1.1.1.1"></eq><apply id="S5.SS3.SSS1.p4.1.m1.1.1.2.cmml" xref="S5.SS3.SSS1.p4.1.m1.1.1.2"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p4.1.m1.1.1.2.1.cmml" xref="S5.SS3.SSS1.p4.1.m1.1.1.2">subscript</csymbol><ci id="S5.SS3.SSS1.p4.1.m1.1.1.2.2.cmml" xref="S5.SS3.SSS1.p4.1.m1.1.1.2.2">𝑒</ci><ci id="S5.SS3.SSS1.p4.1.m1.1.1.2.3.cmml" xref="S5.SS3.SSS1.p4.1.m1.1.1.2.3">𝜃</ci></apply><apply id="S5.SS3.SSS1.p4.1.m1.1.1.3.cmml" xref="S5.SS3.SSS1.p4.1.m1.1.1.3"><minus id="S5.SS3.SSS1.p4.1.m1.1.1.3.1.cmml" xref="S5.SS3.SSS1.p4.1.m1.1.1.3.1"></minus><apply id="S5.SS3.SSS1.p4.1.m1.1.1.3.2.cmml" xref="S5.SS3.SSS1.p4.1.m1.1.1.3.2"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p4.1.m1.1.1.3.2.1.cmml" xref="S5.SS3.SSS1.p4.1.m1.1.1.3.2">subscript</csymbol><ci id="S5.SS3.SSS1.p4.1.m1.1.1.3.2.2.cmml" xref="S5.SS3.SSS1.p4.1.m1.1.1.3.2.2">𝜃</ci><ci id="S5.SS3.SSS1.p4.1.m1.1.1.3.2.3.cmml" xref="S5.SS3.SSS1.p4.1.m1.1.1.3.2.3">𝑃</ci></apply><apply id="S5.SS3.SSS1.p4.1.m1.1.1.3.3.cmml" xref="S5.SS3.SSS1.p4.1.m1.1.1.3.3"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p4.1.m1.1.1.3.3.1.cmml" xref="S5.SS3.SSS1.p4.1.m1.1.1.3.3">subscript</csymbol><ci id="S5.SS3.SSS1.p4.1.m1.1.1.3.3.2.cmml" xref="S5.SS3.SSS1.p4.1.m1.1.1.3.3.2">𝜃</ci><ci id="S5.SS3.SSS1.p4.1.m1.1.1.3.3.3.cmml" xref="S5.SS3.SSS1.p4.1.m1.1.1.3.3.3">𝑇</ci></apply></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS1.p4.1.m1.1c">e_{\theta}=\theta_{P}-\theta_{T}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS1.p4.1.m1.1d">italic_e start_POSTSUBSCRIPT italic_θ end_POSTSUBSCRIPT = italic_θ start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT - italic_θ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT</annotation></semantics></math>.</p> </div> <div class="ltx_para" id="S5.SS3.SSS1.p5"> <p class="ltx_p" id="S5.SS3.SSS1.p5.5">Based on (<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.E7" title="In 5.3.1 Cascaded control ‣ 5.3 Motion Planning and Control ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">7</span></a>), the reference signal for the fork shift corresponds to the lateral error, <math alttext="s^{d}=y_{P}^{\prime}" class="ltx_Math" display="inline" id="S5.SS3.SSS1.p5.1.m1.1"><semantics id="S5.SS3.SSS1.p5.1.m1.1a"><mrow id="S5.SS3.SSS1.p5.1.m1.1.1" xref="S5.SS3.SSS1.p5.1.m1.1.1.cmml"><msup id="S5.SS3.SSS1.p5.1.m1.1.1.2" xref="S5.SS3.SSS1.p5.1.m1.1.1.2.cmml"><mi id="S5.SS3.SSS1.p5.1.m1.1.1.2.2" xref="S5.SS3.SSS1.p5.1.m1.1.1.2.2.cmml">s</mi><mi id="S5.SS3.SSS1.p5.1.m1.1.1.2.3" xref="S5.SS3.SSS1.p5.1.m1.1.1.2.3.cmml">d</mi></msup><mo id="S5.SS3.SSS1.p5.1.m1.1.1.1" xref="S5.SS3.SSS1.p5.1.m1.1.1.1.cmml">=</mo><msubsup id="S5.SS3.SSS1.p5.1.m1.1.1.3" xref="S5.SS3.SSS1.p5.1.m1.1.1.3.cmml"><mi id="S5.SS3.SSS1.p5.1.m1.1.1.3.2.2" xref="S5.SS3.SSS1.p5.1.m1.1.1.3.2.2.cmml">y</mi><mi id="S5.SS3.SSS1.p5.1.m1.1.1.3.2.3" xref="S5.SS3.SSS1.p5.1.m1.1.1.3.2.3.cmml">P</mi><mo id="S5.SS3.SSS1.p5.1.m1.1.1.3.3" xref="S5.SS3.SSS1.p5.1.m1.1.1.3.3.cmml">′</mo></msubsup></mrow><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS1.p5.1.m1.1b"><apply id="S5.SS3.SSS1.p5.1.m1.1.1.cmml" xref="S5.SS3.SSS1.p5.1.m1.1.1"><eq id="S5.SS3.SSS1.p5.1.m1.1.1.1.cmml" xref="S5.SS3.SSS1.p5.1.m1.1.1.1"></eq><apply id="S5.SS3.SSS1.p5.1.m1.1.1.2.cmml" xref="S5.SS3.SSS1.p5.1.m1.1.1.2"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p5.1.m1.1.1.2.1.cmml" xref="S5.SS3.SSS1.p5.1.m1.1.1.2">superscript</csymbol><ci id="S5.SS3.SSS1.p5.1.m1.1.1.2.2.cmml" xref="S5.SS3.SSS1.p5.1.m1.1.1.2.2">𝑠</ci><ci id="S5.SS3.SSS1.p5.1.m1.1.1.2.3.cmml" xref="S5.SS3.SSS1.p5.1.m1.1.1.2.3">𝑑</ci></apply><apply id="S5.SS3.SSS1.p5.1.m1.1.1.3.cmml" xref="S5.SS3.SSS1.p5.1.m1.1.1.3"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p5.1.m1.1.1.3.1.cmml" xref="S5.SS3.SSS1.p5.1.m1.1.1.3">superscript</csymbol><apply id="S5.SS3.SSS1.p5.1.m1.1.1.3.2.cmml" xref="S5.SS3.SSS1.p5.1.m1.1.1.3"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p5.1.m1.1.1.3.2.1.cmml" xref="S5.SS3.SSS1.p5.1.m1.1.1.3">subscript</csymbol><ci id="S5.SS3.SSS1.p5.1.m1.1.1.3.2.2.cmml" xref="S5.SS3.SSS1.p5.1.m1.1.1.3.2.2">𝑦</ci><ci id="S5.SS3.SSS1.p5.1.m1.1.1.3.2.3.cmml" xref="S5.SS3.SSS1.p5.1.m1.1.1.3.2.3">𝑃</ci></apply><ci id="S5.SS3.SSS1.p5.1.m1.1.1.3.3.cmml" xref="S5.SS3.SSS1.p5.1.m1.1.1.3.3">′</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS1.p5.1.m1.1c">s^{d}=y_{P}^{\prime}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS1.p5.1.m1.1d">italic_s start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = italic_y start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT</annotation></semantics></math>, and the lift mast height to the vertical error, <math alttext="l^{d}=z_{P}" class="ltx_Math" display="inline" id="S5.SS3.SSS1.p5.2.m2.1"><semantics id="S5.SS3.SSS1.p5.2.m2.1a"><mrow id="S5.SS3.SSS1.p5.2.m2.1.1" xref="S5.SS3.SSS1.p5.2.m2.1.1.cmml"><msup id="S5.SS3.SSS1.p5.2.m2.1.1.2" xref="S5.SS3.SSS1.p5.2.m2.1.1.2.cmml"><mi id="S5.SS3.SSS1.p5.2.m2.1.1.2.2" xref="S5.SS3.SSS1.p5.2.m2.1.1.2.2.cmml">l</mi><mi id="S5.SS3.SSS1.p5.2.m2.1.1.2.3" xref="S5.SS3.SSS1.p5.2.m2.1.1.2.3.cmml">d</mi></msup><mo id="S5.SS3.SSS1.p5.2.m2.1.1.1" xref="S5.SS3.SSS1.p5.2.m2.1.1.1.cmml">=</mo><msub id="S5.SS3.SSS1.p5.2.m2.1.1.3" xref="S5.SS3.SSS1.p5.2.m2.1.1.3.cmml"><mi id="S5.SS3.SSS1.p5.2.m2.1.1.3.2" xref="S5.SS3.SSS1.p5.2.m2.1.1.3.2.cmml">z</mi><mi id="S5.SS3.SSS1.p5.2.m2.1.1.3.3" xref="S5.SS3.SSS1.p5.2.m2.1.1.3.3.cmml">P</mi></msub></mrow><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS1.p5.2.m2.1b"><apply id="S5.SS3.SSS1.p5.2.m2.1.1.cmml" xref="S5.SS3.SSS1.p5.2.m2.1.1"><eq id="S5.SS3.SSS1.p5.2.m2.1.1.1.cmml" xref="S5.SS3.SSS1.p5.2.m2.1.1.1"></eq><apply id="S5.SS3.SSS1.p5.2.m2.1.1.2.cmml" xref="S5.SS3.SSS1.p5.2.m2.1.1.2"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p5.2.m2.1.1.2.1.cmml" xref="S5.SS3.SSS1.p5.2.m2.1.1.2">superscript</csymbol><ci id="S5.SS3.SSS1.p5.2.m2.1.1.2.2.cmml" xref="S5.SS3.SSS1.p5.2.m2.1.1.2.2">𝑙</ci><ci id="S5.SS3.SSS1.p5.2.m2.1.1.2.3.cmml" xref="S5.SS3.SSS1.p5.2.m2.1.1.2.3">𝑑</ci></apply><apply id="S5.SS3.SSS1.p5.2.m2.1.1.3.cmml" xref="S5.SS3.SSS1.p5.2.m2.1.1.3"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p5.2.m2.1.1.3.1.cmml" xref="S5.SS3.SSS1.p5.2.m2.1.1.3">subscript</csymbol><ci id="S5.SS3.SSS1.p5.2.m2.1.1.3.2.cmml" xref="S5.SS3.SSS1.p5.2.m2.1.1.3.2">𝑧</ci><ci id="S5.SS3.SSS1.p5.2.m2.1.1.3.3.cmml" xref="S5.SS3.SSS1.p5.2.m2.1.1.3.3">𝑃</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS1.p5.2.m2.1c">l^{d}=z_{P}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS1.p5.2.m2.1d">italic_l start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = italic_z start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT</annotation></semantics></math>. The tilting command <math alttext="\beta^{d}" class="ltx_Math" display="inline" id="S5.SS3.SSS1.p5.3.m3.1"><semantics id="S5.SS3.SSS1.p5.3.m3.1a"><msup id="S5.SS3.SSS1.p5.3.m3.1.1" xref="S5.SS3.SSS1.p5.3.m3.1.1.cmml"><mi id="S5.SS3.SSS1.p5.3.m3.1.1.2" xref="S5.SS3.SSS1.p5.3.m3.1.1.2.cmml">β</mi><mi id="S5.SS3.SSS1.p5.3.m3.1.1.3" xref="S5.SS3.SSS1.p5.3.m3.1.1.3.cmml">d</mi></msup><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS1.p5.3.m3.1b"><apply id="S5.SS3.SSS1.p5.3.m3.1.1.cmml" xref="S5.SS3.SSS1.p5.3.m3.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p5.3.m3.1.1.1.cmml" xref="S5.SS3.SSS1.p5.3.m3.1.1">superscript</csymbol><ci id="S5.SS3.SSS1.p5.3.m3.1.1.2.cmml" xref="S5.SS3.SSS1.p5.3.m3.1.1.2">𝛽</ci><ci id="S5.SS3.SSS1.p5.3.m3.1.1.3.cmml" xref="S5.SS3.SSS1.p5.3.m3.1.1.3">𝑑</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS1.p5.3.m3.1c">\beta^{d}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS1.p5.3.m3.1d">italic_β start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT</annotation></semantics></math> is adjusted to keep the forks parallel to the ground. The cascaded loop in Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.F16" title="Figure 16 ‣ 5.3.1 Cascaded control ‣ 5.3 Motion Planning and Control ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">16</span></a>b can operate without the FTT, depending on the forklift’s current task. Specifically, during transporting a pallet - while not loading or unloading - the FTT becomes optional, allowing the setpoints for the underlying control loop <math alttext="l^{d},s^{d}" class="ltx_Math" display="inline" id="S5.SS3.SSS1.p5.4.m4.2"><semantics id="S5.SS3.SSS1.p5.4.m4.2a"><mrow id="S5.SS3.SSS1.p5.4.m4.2.2.2" xref="S5.SS3.SSS1.p5.4.m4.2.2.3.cmml"><msup id="S5.SS3.SSS1.p5.4.m4.1.1.1.1" xref="S5.SS3.SSS1.p5.4.m4.1.1.1.1.cmml"><mi id="S5.SS3.SSS1.p5.4.m4.1.1.1.1.2" xref="S5.SS3.SSS1.p5.4.m4.1.1.1.1.2.cmml">l</mi><mi id="S5.SS3.SSS1.p5.4.m4.1.1.1.1.3" xref="S5.SS3.SSS1.p5.4.m4.1.1.1.1.3.cmml">d</mi></msup><mo id="S5.SS3.SSS1.p5.4.m4.2.2.2.3" xref="S5.SS3.SSS1.p5.4.m4.2.2.3.cmml">,</mo><msup id="S5.SS3.SSS1.p5.4.m4.2.2.2.2" xref="S5.SS3.SSS1.p5.4.m4.2.2.2.2.cmml"><mi id="S5.SS3.SSS1.p5.4.m4.2.2.2.2.2" xref="S5.SS3.SSS1.p5.4.m4.2.2.2.2.2.cmml">s</mi><mi id="S5.SS3.SSS1.p5.4.m4.2.2.2.2.3" xref="S5.SS3.SSS1.p5.4.m4.2.2.2.2.3.cmml">d</mi></msup></mrow><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS1.p5.4.m4.2b"><list id="S5.SS3.SSS1.p5.4.m4.2.2.3.cmml" xref="S5.SS3.SSS1.p5.4.m4.2.2.2"><apply id="S5.SS3.SSS1.p5.4.m4.1.1.1.1.cmml" xref="S5.SS3.SSS1.p5.4.m4.1.1.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p5.4.m4.1.1.1.1.1.cmml" xref="S5.SS3.SSS1.p5.4.m4.1.1.1.1">superscript</csymbol><ci id="S5.SS3.SSS1.p5.4.m4.1.1.1.1.2.cmml" xref="S5.SS3.SSS1.p5.4.m4.1.1.1.1.2">𝑙</ci><ci id="S5.SS3.SSS1.p5.4.m4.1.1.1.1.3.cmml" xref="S5.SS3.SSS1.p5.4.m4.1.1.1.1.3">𝑑</ci></apply><apply id="S5.SS3.SSS1.p5.4.m4.2.2.2.2.cmml" xref="S5.SS3.SSS1.p5.4.m4.2.2.2.2"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p5.4.m4.2.2.2.2.1.cmml" xref="S5.SS3.SSS1.p5.4.m4.2.2.2.2">superscript</csymbol><ci id="S5.SS3.SSS1.p5.4.m4.2.2.2.2.2.cmml" xref="S5.SS3.SSS1.p5.4.m4.2.2.2.2.2">𝑠</ci><ci id="S5.SS3.SSS1.p5.4.m4.2.2.2.2.3.cmml" xref="S5.SS3.SSS1.p5.4.m4.2.2.2.2.3">𝑑</ci></apply></list></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS1.p5.4.m4.2c">l^{d},s^{d}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS1.p5.4.m4.2d">italic_l start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_s start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT</annotation></semantics></math> and <math alttext="\beta^{d}" class="ltx_Math" display="inline" id="S5.SS3.SSS1.p5.5.m5.1"><semantics id="S5.SS3.SSS1.p5.5.m5.1a"><msup id="S5.SS3.SSS1.p5.5.m5.1.1" xref="S5.SS3.SSS1.p5.5.m5.1.1.cmml"><mi id="S5.SS3.SSS1.p5.5.m5.1.1.2" xref="S5.SS3.SSS1.p5.5.m5.1.1.2.cmml">β</mi><mi id="S5.SS3.SSS1.p5.5.m5.1.1.3" xref="S5.SS3.SSS1.p5.5.m5.1.1.3.cmml">d</mi></msup><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS1.p5.5.m5.1b"><apply id="S5.SS3.SSS1.p5.5.m5.1.1.cmml" xref="S5.SS3.SSS1.p5.5.m5.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS1.p5.5.m5.1.1.1.cmml" xref="S5.SS3.SSS1.p5.5.m5.1.1">superscript</csymbol><ci id="S5.SS3.SSS1.p5.5.m5.1.1.2.cmml" xref="S5.SS3.SSS1.p5.5.m5.1.1.2">𝛽</ci><ci id="S5.SS3.SSS1.p5.5.m5.1.1.3.cmml" xref="S5.SS3.SSS1.p5.5.m5.1.1.3">𝑑</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS1.p5.5.m5.1c">\beta^{d}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS1.p5.5.m5.1d">italic_β start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT</annotation></semantics></math> to be directly assigned to a transport position that keeps the fork at a safe height and angle.</p> </div> </section> <section class="ltx_subsubsection" id="S5.SS3.SSS2"> <h4 class="ltx_title ltx_title_subsubsection"> <span class="ltx_tag ltx_tag_subsubsection">5.3.2 </span>Navigation</h4> <div class="ltx_para" id="S5.SS3.SSS2.p1"> <p class="ltx_p" id="S5.SS3.SSS2.p1.1">The <span class="ltx_text ltx_font_italic" id="S5.SS3.SSS2.p1.1.1">Navigation</span> action comprises the planning and subsequent following of a collision free path from one pose to another. Planning a path is a well-established research area for robotic applications, with numerous feasible algorithms. Empirical evaluation of potential path planners led to the conclusion that the Hybrid A* stands out as particularly advantageous for flexible path planning in construction environments. This is due to its ability to plan near-optimal bi-directional paths while maintaining computational efficiency, and it places no restrictions on path length or the number and location of changes of driving direction. Additionally, the preferred driving direction can be forced with an adjustable penalty term.</p> </div> <div class="ltx_para" id="S5.SS3.SSS2.p2"> <p class="ltx_p" id="S5.SS3.SSS2.p2.1">However, the Hybrid A* algorithm is formulated for car-like vehicles and cannot be directly applied to articulated vehicles. Nonetheless, for symmetrical articulated vehicles, <em class="ltx_emph ltx_font_italic" id="S5.SS3.SSS2.p2.1.1">i.e.</em> <math alttext="l_{R}=l_{F}" class="ltx_Math" display="inline" id="S5.SS3.SSS2.p2.1.m1.1"><semantics id="S5.SS3.SSS2.p2.1.m1.1a"><mrow id="S5.SS3.SSS2.p2.1.m1.1.1" xref="S5.SS3.SSS2.p2.1.m1.1.1.cmml"><msub id="S5.SS3.SSS2.p2.1.m1.1.1.2" xref="S5.SS3.SSS2.p2.1.m1.1.1.2.cmml"><mi id="S5.SS3.SSS2.p2.1.m1.1.1.2.2" xref="S5.SS3.SSS2.p2.1.m1.1.1.2.2.cmml">l</mi><mi id="S5.SS3.SSS2.p2.1.m1.1.1.2.3" xref="S5.SS3.SSS2.p2.1.m1.1.1.2.3.cmml">R</mi></msub><mo id="S5.SS3.SSS2.p2.1.m1.1.1.1" xref="S5.SS3.SSS2.p2.1.m1.1.1.1.cmml">=</mo><msub id="S5.SS3.SSS2.p2.1.m1.1.1.3" xref="S5.SS3.SSS2.p2.1.m1.1.1.3.cmml"><mi id="S5.SS3.SSS2.p2.1.m1.1.1.3.2" xref="S5.SS3.SSS2.p2.1.m1.1.1.3.2.cmml">l</mi><mi id="S5.SS3.SSS2.p2.1.m1.1.1.3.3" xref="S5.SS3.SSS2.p2.1.m1.1.1.3.3.cmml">F</mi></msub></mrow><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS2.p2.1.m1.1b"><apply id="S5.SS3.SSS2.p2.1.m1.1.1.cmml" xref="S5.SS3.SSS2.p2.1.m1.1.1"><eq id="S5.SS3.SSS2.p2.1.m1.1.1.1.cmml" xref="S5.SS3.SSS2.p2.1.m1.1.1.1"></eq><apply id="S5.SS3.SSS2.p2.1.m1.1.1.2.cmml" xref="S5.SS3.SSS2.p2.1.m1.1.1.2"><csymbol cd="ambiguous" id="S5.SS3.SSS2.p2.1.m1.1.1.2.1.cmml" xref="S5.SS3.SSS2.p2.1.m1.1.1.2">subscript</csymbol><ci id="S5.SS3.SSS2.p2.1.m1.1.1.2.2.cmml" xref="S5.SS3.SSS2.p2.1.m1.1.1.2.2">𝑙</ci><ci id="S5.SS3.SSS2.p2.1.m1.1.1.2.3.cmml" xref="S5.SS3.SSS2.p2.1.m1.1.1.2.3">𝑅</ci></apply><apply id="S5.SS3.SSS2.p2.1.m1.1.1.3.cmml" xref="S5.SS3.SSS2.p2.1.m1.1.1.3"><csymbol cd="ambiguous" id="S5.SS3.SSS2.p2.1.m1.1.1.3.1.cmml" xref="S5.SS3.SSS2.p2.1.m1.1.1.3">subscript</csymbol><ci id="S5.SS3.SSS2.p2.1.m1.1.1.3.2.cmml" xref="S5.SS3.SSS2.p2.1.m1.1.1.3.2">𝑙</ci><ci id="S5.SS3.SSS2.p2.1.m1.1.1.3.3.cmml" xref="S5.SS3.SSS2.p2.1.m1.1.1.3.3">𝐹</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS2.p2.1.m1.1c">l_{R}=l_{F}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS2.p2.1.m1.1d">italic_l start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT = italic_l start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT</annotation></semantics></math>, the kinematic properties for static curvature and straight-line driving are equal to those of car-like vehicles. This is achieved by superimposing the Instantaneous Centre of Rotation (ICR), <em class="ltx_emph ltx_font_italic" id="S5.SS3.SSS2.p2.1.2">i.e.</em> the intersection point of the front and rear axles, of both vehicle models.</p> </div> <div class="ltx_para" id="S5.SS3.SSS2.p3"> <p class="ltx_p" id="S5.SS3.SSS2.p3.7">Geometric transformations relate the steering angle of the articulated vehicle </p> <table class="ltx_equation ltx_eqn_table" id="S5.E8"> <tbody><tr class="ltx_equation ltx_eqn_row ltx_align_baseline"> <td class="ltx_eqn_cell ltx_eqn_left_padleft"></td> <td class="ltx_eqn_cell ltx_align_left"><math alttext="\gamma=\arctan{\left(\sin\left(\frac{\gamma_{cl}}{2}\right)\sqrt{2\left(\cos% \left(\alpha\right)\cos\left(\beta\right)+1\right)}\right)}" class="ltx_Math" display="block" id="S5.E8.m1.9"><semantics id="S5.E8.m1.9a"><mrow id="S5.E8.m1.9.9" xref="S5.E8.m1.9.9.cmml"><mi id="S5.E8.m1.9.9.3" xref="S5.E8.m1.9.9.3.cmml">γ</mi><mo id="S5.E8.m1.9.9.2" xref="S5.E8.m1.9.9.2.cmml">=</mo><mrow id="S5.E8.m1.9.9.1.1" xref="S5.E8.m1.9.9.1.2.cmml"><mi id="S5.E8.m1.8.8" xref="S5.E8.m1.8.8.cmml">arctan</mi><mo id="S5.E8.m1.9.9.1.1a" xref="S5.E8.m1.9.9.1.2.cmml"></mo><mrow id="S5.E8.m1.9.9.1.1.1" xref="S5.E8.m1.9.9.1.2.cmml"><mo id="S5.E8.m1.9.9.1.1.1.2" xref="S5.E8.m1.9.9.1.2.cmml">(</mo><mrow id="S5.E8.m1.9.9.1.1.1.1" xref="S5.E8.m1.9.9.1.1.1.1.cmml"><mrow id="S5.E8.m1.9.9.1.1.1.1.2.2" xref="S5.E8.m1.9.9.1.1.1.1.2.1.cmml"><mi id="S5.E8.m1.6.6" xref="S5.E8.m1.6.6.cmml">sin</mi><mo id="S5.E8.m1.9.9.1.1.1.1.2.2a" xref="S5.E8.m1.9.9.1.1.1.1.2.1.cmml"></mo><mrow id="S5.E8.m1.9.9.1.1.1.1.2.2.1" xref="S5.E8.m1.9.9.1.1.1.1.2.1.cmml"><mo id="S5.E8.m1.9.9.1.1.1.1.2.2.1.1" xref="S5.E8.m1.9.9.1.1.1.1.2.1.cmml">(</mo><mfrac id="S5.E8.m1.7.7" xref="S5.E8.m1.7.7.cmml"><msub id="S5.E8.m1.7.7.2" xref="S5.E8.m1.7.7.2.cmml"><mi id="S5.E8.m1.7.7.2.2" xref="S5.E8.m1.7.7.2.2.cmml">γ</mi><mrow id="S5.E8.m1.7.7.2.3" xref="S5.E8.m1.7.7.2.3.cmml"><mi id="S5.E8.m1.7.7.2.3.2" xref="S5.E8.m1.7.7.2.3.2.cmml">c</mi><mo id="S5.E8.m1.7.7.2.3.1" xref="S5.E8.m1.7.7.2.3.1.cmml"></mo><mi id="S5.E8.m1.7.7.2.3.3" xref="S5.E8.m1.7.7.2.3.3.cmml">l</mi></mrow></msub><mn id="S5.E8.m1.7.7.3" xref="S5.E8.m1.7.7.3.cmml">2</mn></mfrac><mo id="S5.E8.m1.9.9.1.1.1.1.2.2.1.2" xref="S5.E8.m1.9.9.1.1.1.1.2.1.cmml">)</mo></mrow></mrow><mo id="S5.E8.m1.9.9.1.1.1.1.1" xref="S5.E8.m1.9.9.1.1.1.1.1.cmml"></mo><msqrt id="S5.E8.m1.5.5" xref="S5.E8.m1.5.5.cmml"><mrow id="S5.E8.m1.5.5.5" xref="S5.E8.m1.5.5.5.cmml"><mn id="S5.E8.m1.5.5.5.7" xref="S5.E8.m1.5.5.5.7.cmml">2</mn><mo id="S5.E8.m1.5.5.5.6" xref="S5.E8.m1.5.5.5.6.cmml"></mo><mrow id="S5.E8.m1.5.5.5.5.1" xref="S5.E8.m1.5.5.5.5.1.1.cmml"><mo id="S5.E8.m1.5.5.5.5.1.2" xref="S5.E8.m1.5.5.5.5.1.1.cmml">(</mo><mrow id="S5.E8.m1.5.5.5.5.1.1" xref="S5.E8.m1.5.5.5.5.1.1.cmml"><mrow id="S5.E8.m1.5.5.5.5.1.1.2" xref="S5.E8.m1.5.5.5.5.1.1.2.cmml"><mrow id="S5.E8.m1.5.5.5.5.1.1.2.2.2" xref="S5.E8.m1.5.5.5.5.1.1.2.2.1.cmml"><mi id="S5.E8.m1.1.1.1.1" xref="S5.E8.m1.1.1.1.1.cmml">cos</mi><mo id="S5.E8.m1.5.5.5.5.1.1.2.2.2a" xref="S5.E8.m1.5.5.5.5.1.1.2.2.1.cmml"></mo><mrow id="S5.E8.m1.5.5.5.5.1.1.2.2.2.1" xref="S5.E8.m1.5.5.5.5.1.1.2.2.1.cmml"><mo id="S5.E8.m1.5.5.5.5.1.1.2.2.2.1.1" xref="S5.E8.m1.5.5.5.5.1.1.2.2.1.cmml">(</mo><mi id="S5.E8.m1.2.2.2.2" xref="S5.E8.m1.2.2.2.2.cmml">α</mi><mo id="S5.E8.m1.5.5.5.5.1.1.2.2.2.1.2" xref="S5.E8.m1.5.5.5.5.1.1.2.2.1.cmml">)</mo></mrow></mrow><mo id="S5.E8.m1.5.5.5.5.1.1.2.1" lspace="0.167em" xref="S5.E8.m1.5.5.5.5.1.1.2.1.cmml"></mo><mrow id="S5.E8.m1.5.5.5.5.1.1.2.3.2" xref="S5.E8.m1.5.5.5.5.1.1.2.3.1.cmml"><mi id="S5.E8.m1.3.3.3.3" xref="S5.E8.m1.3.3.3.3.cmml">cos</mi><mo id="S5.E8.m1.5.5.5.5.1.1.2.3.2a" xref="S5.E8.m1.5.5.5.5.1.1.2.3.1.cmml"></mo><mrow id="S5.E8.m1.5.5.5.5.1.1.2.3.2.1" xref="S5.E8.m1.5.5.5.5.1.1.2.3.1.cmml"><mo id="S5.E8.m1.5.5.5.5.1.1.2.3.2.1.1" xref="S5.E8.m1.5.5.5.5.1.1.2.3.1.cmml">(</mo><mi id="S5.E8.m1.4.4.4.4" xref="S5.E8.m1.4.4.4.4.cmml">β</mi><mo id="S5.E8.m1.5.5.5.5.1.1.2.3.2.1.2" xref="S5.E8.m1.5.5.5.5.1.1.2.3.1.cmml">)</mo></mrow></mrow></mrow><mo id="S5.E8.m1.5.5.5.5.1.1.1" xref="S5.E8.m1.5.5.5.5.1.1.1.cmml">+</mo><mn id="S5.E8.m1.5.5.5.5.1.1.3" xref="S5.E8.m1.5.5.5.5.1.1.3.cmml">1</mn></mrow><mo id="S5.E8.m1.5.5.5.5.1.3" xref="S5.E8.m1.5.5.5.5.1.1.cmml">)</mo></mrow></mrow></msqrt></mrow><mo id="S5.E8.m1.9.9.1.1.1.3" xref="S5.E8.m1.9.9.1.2.cmml">)</mo></mrow></mrow></mrow><annotation-xml encoding="MathML-Content" id="S5.E8.m1.9b"><apply id="S5.E8.m1.9.9.cmml" xref="S5.E8.m1.9.9"><eq id="S5.E8.m1.9.9.2.cmml" xref="S5.E8.m1.9.9.2"></eq><ci id="S5.E8.m1.9.9.3.cmml" xref="S5.E8.m1.9.9.3">𝛾</ci><apply id="S5.E8.m1.9.9.1.2.cmml" xref="S5.E8.m1.9.9.1.1"><arctan id="S5.E8.m1.8.8.cmml" xref="S5.E8.m1.8.8"></arctan><apply id="S5.E8.m1.9.9.1.1.1.1.cmml" xref="S5.E8.m1.9.9.1.1.1.1"><times id="S5.E8.m1.9.9.1.1.1.1.1.cmml" xref="S5.E8.m1.9.9.1.1.1.1.1"></times><apply id="S5.E8.m1.9.9.1.1.1.1.2.1.cmml" xref="S5.E8.m1.9.9.1.1.1.1.2.2"><sin id="S5.E8.m1.6.6.cmml" xref="S5.E8.m1.6.6"></sin><apply id="S5.E8.m1.7.7.cmml" xref="S5.E8.m1.7.7"><divide id="S5.E8.m1.7.7.1.cmml" xref="S5.E8.m1.7.7"></divide><apply id="S5.E8.m1.7.7.2.cmml" xref="S5.E8.m1.7.7.2"><csymbol cd="ambiguous" id="S5.E8.m1.7.7.2.1.cmml" xref="S5.E8.m1.7.7.2">subscript</csymbol><ci id="S5.E8.m1.7.7.2.2.cmml" xref="S5.E8.m1.7.7.2.2">𝛾</ci><apply id="S5.E8.m1.7.7.2.3.cmml" xref="S5.E8.m1.7.7.2.3"><times id="S5.E8.m1.7.7.2.3.1.cmml" xref="S5.E8.m1.7.7.2.3.1"></times><ci id="S5.E8.m1.7.7.2.3.2.cmml" xref="S5.E8.m1.7.7.2.3.2">𝑐</ci><ci id="S5.E8.m1.7.7.2.3.3.cmml" xref="S5.E8.m1.7.7.2.3.3">𝑙</ci></apply></apply><cn id="S5.E8.m1.7.7.3.cmml" type="integer" xref="S5.E8.m1.7.7.3">2</cn></apply></apply><apply id="S5.E8.m1.5.5.cmml" xref="S5.E8.m1.5.5"><root id="S5.E8.m1.5.5a.cmml" xref="S5.E8.m1.5.5"></root><apply id="S5.E8.m1.5.5.5.cmml" xref="S5.E8.m1.5.5.5"><times id="S5.E8.m1.5.5.5.6.cmml" xref="S5.E8.m1.5.5.5.6"></times><cn id="S5.E8.m1.5.5.5.7.cmml" type="integer" xref="S5.E8.m1.5.5.5.7">2</cn><apply id="S5.E8.m1.5.5.5.5.1.1.cmml" xref="S5.E8.m1.5.5.5.5.1"><plus id="S5.E8.m1.5.5.5.5.1.1.1.cmml" xref="S5.E8.m1.5.5.5.5.1.1.1"></plus><apply id="S5.E8.m1.5.5.5.5.1.1.2.cmml" xref="S5.E8.m1.5.5.5.5.1.1.2"><times id="S5.E8.m1.5.5.5.5.1.1.2.1.cmml" xref="S5.E8.m1.5.5.5.5.1.1.2.1"></times><apply id="S5.E8.m1.5.5.5.5.1.1.2.2.1.cmml" xref="S5.E8.m1.5.5.5.5.1.1.2.2.2"><cos id="S5.E8.m1.1.1.1.1.cmml" xref="S5.E8.m1.1.1.1.1"></cos><ci id="S5.E8.m1.2.2.2.2.cmml" xref="S5.E8.m1.2.2.2.2">𝛼</ci></apply><apply id="S5.E8.m1.5.5.5.5.1.1.2.3.1.cmml" xref="S5.E8.m1.5.5.5.5.1.1.2.3.2"><cos id="S5.E8.m1.3.3.3.3.cmml" xref="S5.E8.m1.3.3.3.3"></cos><ci id="S5.E8.m1.4.4.4.4.cmml" xref="S5.E8.m1.4.4.4.4">𝛽</ci></apply></apply><cn id="S5.E8.m1.5.5.5.5.1.1.3.cmml" type="integer" xref="S5.E8.m1.5.5.5.5.1.1.3">1</cn></apply></apply></apply></apply></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.E8.m1.9c">\gamma=\arctan{\left(\sin\left(\frac{\gamma_{cl}}{2}\right)\sqrt{2\left(\cos% \left(\alpha\right)\cos\left(\beta\right)+1\right)}\right)}</annotation><annotation encoding="application/x-llamapun" id="S5.E8.m1.9d">italic_γ = roman_arctan ( roman_sin ( divide start_ARG italic_γ start_POSTSUBSCRIPT italic_c italic_l end_POSTSUBSCRIPT end_ARG start_ARG 2 end_ARG ) square-root start_ARG 2 ( roman_cos ( italic_α ) roman_cos ( italic_β ) + 1 ) end_ARG )</annotation></semantics></math></td> <td class="ltx_eqn_cell ltx_eqn_left_padright"></td> <td class="ltx_eqn_cell ltx_eqn_eqno ltx_align_middle ltx_align_right" rowspan="1"><span class="ltx_tag ltx_tag_equation ltx_align_right">(8)</span></td> </tr></tbody> </table> <p class="ltx_p" id="S5.SS3.SSS2.p3.2">to the steering angle of the car-like model <math alttext="\gamma_{cl}" class="ltx_Math" display="inline" id="S5.SS3.SSS2.p3.1.m1.1"><semantics id="S5.SS3.SSS2.p3.1.m1.1a"><msub id="S5.SS3.SSS2.p3.1.m1.1.1" xref="S5.SS3.SSS2.p3.1.m1.1.1.cmml"><mi id="S5.SS3.SSS2.p3.1.m1.1.1.2" xref="S5.SS3.SSS2.p3.1.m1.1.1.2.cmml">γ</mi><mrow id="S5.SS3.SSS2.p3.1.m1.1.1.3" xref="S5.SS3.SSS2.p3.1.m1.1.1.3.cmml"><mi id="S5.SS3.SSS2.p3.1.m1.1.1.3.2" xref="S5.SS3.SSS2.p3.1.m1.1.1.3.2.cmml">c</mi><mo id="S5.SS3.SSS2.p3.1.m1.1.1.3.1" xref="S5.SS3.SSS2.p3.1.m1.1.1.3.1.cmml"></mo><mi id="S5.SS3.SSS2.p3.1.m1.1.1.3.3" xref="S5.SS3.SSS2.p3.1.m1.1.1.3.3.cmml">l</mi></mrow></msub><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS2.p3.1.m1.1b"><apply id="S5.SS3.SSS2.p3.1.m1.1.1.cmml" xref="S5.SS3.SSS2.p3.1.m1.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS2.p3.1.m1.1.1.1.cmml" xref="S5.SS3.SSS2.p3.1.m1.1.1">subscript</csymbol><ci id="S5.SS3.SSS2.p3.1.m1.1.1.2.cmml" xref="S5.SS3.SSS2.p3.1.m1.1.1.2">𝛾</ci><apply id="S5.SS3.SSS2.p3.1.m1.1.1.3.cmml" xref="S5.SS3.SSS2.p3.1.m1.1.1.3"><times id="S5.SS3.SSS2.p3.1.m1.1.1.3.1.cmml" xref="S5.SS3.SSS2.p3.1.m1.1.1.3.1"></times><ci id="S5.SS3.SSS2.p3.1.m1.1.1.3.2.cmml" xref="S5.SS3.SSS2.p3.1.m1.1.1.3.2">𝑐</ci><ci id="S5.SS3.SSS2.p3.1.m1.1.1.3.3.cmml" xref="S5.SS3.SSS2.p3.1.m1.1.1.3.3">𝑙</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS2.p3.1.m1.1c">\gamma_{cl}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS2.p3.1.m1.1d">italic_γ start_POSTSUBSCRIPT italic_c italic_l end_POSTSUBSCRIPT</annotation></semantics></math>. The relation between steering angle and articulation angle <math alttext="\alpha" class="ltx_Math" display="inline" id="S5.SS3.SSS2.p3.2.m2.1"><semantics id="S5.SS3.SSS2.p3.2.m2.1a"><mi id="S5.SS3.SSS2.p3.2.m2.1.1" xref="S5.SS3.SSS2.p3.2.m2.1.1.cmml">α</mi><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS2.p3.2.m2.1b"><ci id="S5.SS3.SSS2.p3.2.m2.1.1.cmml" xref="S5.SS3.SSS2.p3.2.m2.1.1">𝛼</ci></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS2.p3.2.m2.1c">\alpha</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS2.p3.2.m2.1d">italic_α</annotation></semantics></math> follows from the rotation between the front and rear part</p> <table class="ltx_equation ltx_eqn_table" id="S5.E9"> <tbody><tr class="ltx_equation ltx_eqn_row ltx_align_baseline"> <td class="ltx_eqn_cell ltx_eqn_left_padleft"></td> <td class="ltx_eqn_cell ltx_align_left"><math alttext="\gamma=\arccos{\left(\sqrt{\frac{\sin^{2}\left(\alpha\right)\left(\sin^{2}% \left(\beta\right)-1\right)}{2\left(\cos\left(\alpha\right)\cos\left(\beta% \right)+1\right)}}\right)}." class="ltx_Math" display="block" id="S5.E9.m1.11"><semantics id="S5.E9.m1.11a"><mrow id="S5.E9.m1.11.11.1" xref="S5.E9.m1.11.11.1.1.cmml"><mrow id="S5.E9.m1.11.11.1.1" xref="S5.E9.m1.11.11.1.1.cmml"><mi id="S5.E9.m1.11.11.1.1.2" xref="S5.E9.m1.11.11.1.1.2.cmml">γ</mi><mo id="S5.E9.m1.11.11.1.1.1" xref="S5.E9.m1.11.11.1.1.1.cmml">=</mo><mrow id="S5.E9.m1.11.11.1.1.3.2" xref="S5.E9.m1.11.11.1.1.3.1.cmml"><mi id="S5.E9.m1.10.10" xref="S5.E9.m1.10.10.cmml">arccos</mi><mo id="S5.E9.m1.11.11.1.1.3.2a" xref="S5.E9.m1.11.11.1.1.3.1.cmml"></mo><mrow id="S5.E9.m1.11.11.1.1.3.2.1" xref="S5.E9.m1.11.11.1.1.3.1.cmml"><mo id="S5.E9.m1.11.11.1.1.3.2.1.1" xref="S5.E9.m1.11.11.1.1.3.1.cmml">(</mo><msqrt id="S5.E9.m1.9.9" xref="S5.E9.m1.9.9.cmml"><mfrac id="S5.E9.m1.9.9.9" xref="S5.E9.m1.9.9.9.cmml"><mrow id="S5.E9.m1.4.4.4.4.4" xref="S5.E9.m1.4.4.4.4.4.cmml"><mrow id="S5.E9.m1.3.3.3.3.3.3.1" xref="S5.E9.m1.3.3.3.3.3.3.2.cmml"><msup id="S5.E9.m1.3.3.3.3.3.3.1.1" xref="S5.E9.m1.3.3.3.3.3.3.1.1.cmml"><mi id="S5.E9.m1.3.3.3.3.3.3.1.1.2" xref="S5.E9.m1.3.3.3.3.3.3.1.1.2.cmml">sin</mi><mn id="S5.E9.m1.3.3.3.3.3.3.1.1.3" xref="S5.E9.m1.3.3.3.3.3.3.1.1.3.cmml">2</mn></msup><mo id="S5.E9.m1.3.3.3.3.3.3.1a" xref="S5.E9.m1.3.3.3.3.3.3.2.cmml"></mo><mrow id="S5.E9.m1.3.3.3.3.3.3.1.2" xref="S5.E9.m1.3.3.3.3.3.3.2.cmml"><mo id="S5.E9.m1.3.3.3.3.3.3.1.2.1" xref="S5.E9.m1.3.3.3.3.3.3.2.cmml">(</mo><mi id="S5.E9.m1.1.1.1.1.1.1" xref="S5.E9.m1.1.1.1.1.1.1.cmml">α</mi><mo id="S5.E9.m1.3.3.3.3.3.3.1.2.2" xref="S5.E9.m1.3.3.3.3.3.3.2.cmml">)</mo></mrow></mrow><mo id="S5.E9.m1.4.4.4.4.4.5" xref="S5.E9.m1.4.4.4.4.4.5.cmml"></mo><mrow id="S5.E9.m1.4.4.4.4.4.4.1" xref="S5.E9.m1.4.4.4.4.4.4.1.1.cmml"><mo id="S5.E9.m1.4.4.4.4.4.4.1.2" xref="S5.E9.m1.4.4.4.4.4.4.1.1.cmml">(</mo><mrow id="S5.E9.m1.4.4.4.4.4.4.1.1" xref="S5.E9.m1.4.4.4.4.4.4.1.1.cmml"><mrow id="S5.E9.m1.4.4.4.4.4.4.1.1.1.1" xref="S5.E9.m1.4.4.4.4.4.4.1.1.1.2.cmml"><msup id="S5.E9.m1.4.4.4.4.4.4.1.1.1.1.1" xref="S5.E9.m1.4.4.4.4.4.4.1.1.1.1.1.cmml"><mi id="S5.E9.m1.4.4.4.4.4.4.1.1.1.1.1.2" xref="S5.E9.m1.4.4.4.4.4.4.1.1.1.1.1.2.cmml">sin</mi><mn id="S5.E9.m1.4.4.4.4.4.4.1.1.1.1.1.3" xref="S5.E9.m1.4.4.4.4.4.4.1.1.1.1.1.3.cmml">2</mn></msup><mo id="S5.E9.m1.4.4.4.4.4.4.1.1.1.1a" xref="S5.E9.m1.4.4.4.4.4.4.1.1.1.2.cmml"></mo><mrow id="S5.E9.m1.4.4.4.4.4.4.1.1.1.1.2" xref="S5.E9.m1.4.4.4.4.4.4.1.1.1.2.cmml"><mo id="S5.E9.m1.4.4.4.4.4.4.1.1.1.1.2.1" xref="S5.E9.m1.4.4.4.4.4.4.1.1.1.2.cmml">(</mo><mi id="S5.E9.m1.2.2.2.2.2.2" xref="S5.E9.m1.2.2.2.2.2.2.cmml">β</mi><mo id="S5.E9.m1.4.4.4.4.4.4.1.1.1.1.2.2" xref="S5.E9.m1.4.4.4.4.4.4.1.1.1.2.cmml">)</mo></mrow></mrow><mo id="S5.E9.m1.4.4.4.4.4.4.1.1.2" xref="S5.E9.m1.4.4.4.4.4.4.1.1.2.cmml">−</mo><mn id="S5.E9.m1.4.4.4.4.4.4.1.1.3" xref="S5.E9.m1.4.4.4.4.4.4.1.1.3.cmml">1</mn></mrow><mo id="S5.E9.m1.4.4.4.4.4.4.1.3" xref="S5.E9.m1.4.4.4.4.4.4.1.1.cmml">)</mo></mrow></mrow><mrow id="S5.E9.m1.9.9.9.9.9" xref="S5.E9.m1.9.9.9.9.9.cmml"><mn id="S5.E9.m1.9.9.9.9.9.7" xref="S5.E9.m1.9.9.9.9.9.7.cmml">2</mn><mo id="S5.E9.m1.9.9.9.9.9.6" xref="S5.E9.m1.9.9.9.9.9.6.cmml"></mo><mrow id="S5.E9.m1.9.9.9.9.9.5.1" xref="S5.E9.m1.9.9.9.9.9.5.1.1.cmml"><mo id="S5.E9.m1.9.9.9.9.9.5.1.2" xref="S5.E9.m1.9.9.9.9.9.5.1.1.cmml">(</mo><mrow id="S5.E9.m1.9.9.9.9.9.5.1.1" xref="S5.E9.m1.9.9.9.9.9.5.1.1.cmml"><mrow id="S5.E9.m1.9.9.9.9.9.5.1.1.2" xref="S5.E9.m1.9.9.9.9.9.5.1.1.2.cmml"><mrow id="S5.E9.m1.9.9.9.9.9.5.1.1.2.2.2" xref="S5.E9.m1.9.9.9.9.9.5.1.1.2.2.1.cmml"><mi id="S5.E9.m1.5.5.5.5.5.1" xref="S5.E9.m1.5.5.5.5.5.1.cmml">cos</mi><mo id="S5.E9.m1.9.9.9.9.9.5.1.1.2.2.2a" xref="S5.E9.m1.9.9.9.9.9.5.1.1.2.2.1.cmml"></mo><mrow id="S5.E9.m1.9.9.9.9.9.5.1.1.2.2.2.1" xref="S5.E9.m1.9.9.9.9.9.5.1.1.2.2.1.cmml"><mo id="S5.E9.m1.9.9.9.9.9.5.1.1.2.2.2.1.1" xref="S5.E9.m1.9.9.9.9.9.5.1.1.2.2.1.cmml">(</mo><mi id="S5.E9.m1.6.6.6.6.6.2" xref="S5.E9.m1.6.6.6.6.6.2.cmml">α</mi><mo id="S5.E9.m1.9.9.9.9.9.5.1.1.2.2.2.1.2" xref="S5.E9.m1.9.9.9.9.9.5.1.1.2.2.1.cmml">)</mo></mrow></mrow><mo id="S5.E9.m1.9.9.9.9.9.5.1.1.2.1" lspace="0.167em" xref="S5.E9.m1.9.9.9.9.9.5.1.1.2.1.cmml"></mo><mrow id="S5.E9.m1.9.9.9.9.9.5.1.1.2.3.2" xref="S5.E9.m1.9.9.9.9.9.5.1.1.2.3.1.cmml"><mi id="S5.E9.m1.7.7.7.7.7.3" xref="S5.E9.m1.7.7.7.7.7.3.cmml">cos</mi><mo id="S5.E9.m1.9.9.9.9.9.5.1.1.2.3.2a" xref="S5.E9.m1.9.9.9.9.9.5.1.1.2.3.1.cmml"></mo><mrow id="S5.E9.m1.9.9.9.9.9.5.1.1.2.3.2.1" xref="S5.E9.m1.9.9.9.9.9.5.1.1.2.3.1.cmml"><mo id="S5.E9.m1.9.9.9.9.9.5.1.1.2.3.2.1.1" xref="S5.E9.m1.9.9.9.9.9.5.1.1.2.3.1.cmml">(</mo><mi id="S5.E9.m1.8.8.8.8.8.4" xref="S5.E9.m1.8.8.8.8.8.4.cmml">β</mi><mo id="S5.E9.m1.9.9.9.9.9.5.1.1.2.3.2.1.2" xref="S5.E9.m1.9.9.9.9.9.5.1.1.2.3.1.cmml">)</mo></mrow></mrow></mrow><mo id="S5.E9.m1.9.9.9.9.9.5.1.1.1" xref="S5.E9.m1.9.9.9.9.9.5.1.1.1.cmml">+</mo><mn id="S5.E9.m1.9.9.9.9.9.5.1.1.3" xref="S5.E9.m1.9.9.9.9.9.5.1.1.3.cmml">1</mn></mrow><mo id="S5.E9.m1.9.9.9.9.9.5.1.3" xref="S5.E9.m1.9.9.9.9.9.5.1.1.cmml">)</mo></mrow></mrow></mfrac></msqrt><mo id="S5.E9.m1.11.11.1.1.3.2.1.2" xref="S5.E9.m1.11.11.1.1.3.1.cmml">)</mo></mrow></mrow></mrow><mo id="S5.E9.m1.11.11.1.2" lspace="0em" xref="S5.E9.m1.11.11.1.1.cmml">.</mo></mrow><annotation-xml encoding="MathML-Content" id="S5.E9.m1.11b"><apply id="S5.E9.m1.11.11.1.1.cmml" xref="S5.E9.m1.11.11.1"><eq id="S5.E9.m1.11.11.1.1.1.cmml" xref="S5.E9.m1.11.11.1.1.1"></eq><ci id="S5.E9.m1.11.11.1.1.2.cmml" xref="S5.E9.m1.11.11.1.1.2">𝛾</ci><apply id="S5.E9.m1.11.11.1.1.3.1.cmml" xref="S5.E9.m1.11.11.1.1.3.2"><arccos id="S5.E9.m1.10.10.cmml" xref="S5.E9.m1.10.10"></arccos><apply id="S5.E9.m1.9.9.cmml" xref="S5.E9.m1.9.9"><root id="S5.E9.m1.9.9a.cmml" xref="S5.E9.m1.9.9"></root><apply id="S5.E9.m1.9.9.9.cmml" xref="S5.E9.m1.9.9.9"><divide id="S5.E9.m1.9.9.9.10.cmml" xref="S5.E9.m1.9.9.9"></divide><apply id="S5.E9.m1.4.4.4.4.4.cmml" xref="S5.E9.m1.4.4.4.4.4"><times id="S5.E9.m1.4.4.4.4.4.5.cmml" xref="S5.E9.m1.4.4.4.4.4.5"></times><apply id="S5.E9.m1.3.3.3.3.3.3.2.cmml" xref="S5.E9.m1.3.3.3.3.3.3.1"><apply id="S5.E9.m1.3.3.3.3.3.3.1.1.cmml" xref="S5.E9.m1.3.3.3.3.3.3.1.1"><csymbol cd="ambiguous" id="S5.E9.m1.3.3.3.3.3.3.1.1.1.cmml" xref="S5.E9.m1.3.3.3.3.3.3.1.1">superscript</csymbol><sin id="S5.E9.m1.3.3.3.3.3.3.1.1.2.cmml" xref="S5.E9.m1.3.3.3.3.3.3.1.1.2"></sin><cn id="S5.E9.m1.3.3.3.3.3.3.1.1.3.cmml" type="integer" xref="S5.E9.m1.3.3.3.3.3.3.1.1.3">2</cn></apply><ci id="S5.E9.m1.1.1.1.1.1.1.cmml" xref="S5.E9.m1.1.1.1.1.1.1">𝛼</ci></apply><apply id="S5.E9.m1.4.4.4.4.4.4.1.1.cmml" xref="S5.E9.m1.4.4.4.4.4.4.1"><minus id="S5.E9.m1.4.4.4.4.4.4.1.1.2.cmml" xref="S5.E9.m1.4.4.4.4.4.4.1.1.2"></minus><apply id="S5.E9.m1.4.4.4.4.4.4.1.1.1.2.cmml" xref="S5.E9.m1.4.4.4.4.4.4.1.1.1.1"><apply id="S5.E9.m1.4.4.4.4.4.4.1.1.1.1.1.cmml" xref="S5.E9.m1.4.4.4.4.4.4.1.1.1.1.1"><csymbol cd="ambiguous" id="S5.E9.m1.4.4.4.4.4.4.1.1.1.1.1.1.cmml" xref="S5.E9.m1.4.4.4.4.4.4.1.1.1.1.1">superscript</csymbol><sin id="S5.E9.m1.4.4.4.4.4.4.1.1.1.1.1.2.cmml" xref="S5.E9.m1.4.4.4.4.4.4.1.1.1.1.1.2"></sin><cn id="S5.E9.m1.4.4.4.4.4.4.1.1.1.1.1.3.cmml" type="integer" xref="S5.E9.m1.4.4.4.4.4.4.1.1.1.1.1.3">2</cn></apply><ci id="S5.E9.m1.2.2.2.2.2.2.cmml" xref="S5.E9.m1.2.2.2.2.2.2">𝛽</ci></apply><cn id="S5.E9.m1.4.4.4.4.4.4.1.1.3.cmml" type="integer" xref="S5.E9.m1.4.4.4.4.4.4.1.1.3">1</cn></apply></apply><apply id="S5.E9.m1.9.9.9.9.9.cmml" xref="S5.E9.m1.9.9.9.9.9"><times id="S5.E9.m1.9.9.9.9.9.6.cmml" xref="S5.E9.m1.9.9.9.9.9.6"></times><cn id="S5.E9.m1.9.9.9.9.9.7.cmml" type="integer" xref="S5.E9.m1.9.9.9.9.9.7">2</cn><apply id="S5.E9.m1.9.9.9.9.9.5.1.1.cmml" xref="S5.E9.m1.9.9.9.9.9.5.1"><plus id="S5.E9.m1.9.9.9.9.9.5.1.1.1.cmml" xref="S5.E9.m1.9.9.9.9.9.5.1.1.1"></plus><apply id="S5.E9.m1.9.9.9.9.9.5.1.1.2.cmml" xref="S5.E9.m1.9.9.9.9.9.5.1.1.2"><times id="S5.E9.m1.9.9.9.9.9.5.1.1.2.1.cmml" xref="S5.E9.m1.9.9.9.9.9.5.1.1.2.1"></times><apply id="S5.E9.m1.9.9.9.9.9.5.1.1.2.2.1.cmml" xref="S5.E9.m1.9.9.9.9.9.5.1.1.2.2.2"><cos id="S5.E9.m1.5.5.5.5.5.1.cmml" xref="S5.E9.m1.5.5.5.5.5.1"></cos><ci id="S5.E9.m1.6.6.6.6.6.2.cmml" xref="S5.E9.m1.6.6.6.6.6.2">𝛼</ci></apply><apply id="S5.E9.m1.9.9.9.9.9.5.1.1.2.3.1.cmml" xref="S5.E9.m1.9.9.9.9.9.5.1.1.2.3.2"><cos id="S5.E9.m1.7.7.7.7.7.3.cmml" xref="S5.E9.m1.7.7.7.7.7.3"></cos><ci id="S5.E9.m1.8.8.8.8.8.4.cmml" xref="S5.E9.m1.8.8.8.8.8.4">𝛽</ci></apply></apply><cn id="S5.E9.m1.9.9.9.9.9.5.1.1.3.cmml" type="integer" xref="S5.E9.m1.9.9.9.9.9.5.1.1.3">1</cn></apply></apply></apply></apply></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.E9.m1.11c">\gamma=\arccos{\left(\sqrt{\frac{\sin^{2}\left(\alpha\right)\left(\sin^{2}% \left(\beta\right)-1\right)}{2\left(\cos\left(\alpha\right)\cos\left(\beta% \right)+1\right)}}\right)}.</annotation><annotation encoding="application/x-llamapun" id="S5.E9.m1.11d">italic_γ = roman_arccos ( square-root start_ARG divide start_ARG roman_sin start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ( italic_α ) ( roman_sin start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ( italic_β ) - 1 ) end_ARG start_ARG 2 ( roman_cos ( italic_α ) roman_cos ( italic_β ) + 1 ) end_ARG end_ARG ) .</annotation></semantics></math></td> <td class="ltx_eqn_cell ltx_eqn_left_padright"></td> <td class="ltx_eqn_cell ltx_eqn_eqno ltx_align_middle ltx_align_right" rowspan="1"><span class="ltx_tag ltx_tag_equation ltx_align_right">(9)</span></td> </tr></tbody> </table> <p class="ltx_p" id="S5.SS3.SSS2.p3.6">These two equations (<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.E8" title="In 5.3.2 Navigation ‣ 5.3 Motion Planning and Control ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">8</span></a>) and (<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.E9" title="In 5.3.2 Navigation ‣ 5.3 Motion Planning and Control ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">9</span></a>) can be solved numerically for the steering angle <math alttext="\gamma" class="ltx_Math" display="inline" id="S5.SS3.SSS2.p3.3.m1.1"><semantics id="S5.SS3.SSS2.p3.3.m1.1a"><mi id="S5.SS3.SSS2.p3.3.m1.1.1" xref="S5.SS3.SSS2.p3.3.m1.1.1.cmml">γ</mi><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS2.p3.3.m1.1b"><ci id="S5.SS3.SSS2.p3.3.m1.1.1.cmml" xref="S5.SS3.SSS2.p3.3.m1.1.1">𝛾</ci></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS2.p3.3.m1.1c">\gamma</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS2.p3.3.m1.1d">italic_γ</annotation></semantics></math> or the articulation angle <math alttext="\alpha" class="ltx_Math" display="inline" id="S5.SS3.SSS2.p3.4.m2.1"><semantics id="S5.SS3.SSS2.p3.4.m2.1a"><mi id="S5.SS3.SSS2.p3.4.m2.1.1" xref="S5.SS3.SSS2.p3.4.m2.1.1.cmml">α</mi><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS2.p3.4.m2.1b"><ci id="S5.SS3.SSS2.p3.4.m2.1.1.cmml" xref="S5.SS3.SSS2.p3.4.m2.1.1">𝛼</ci></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS2.p3.4.m2.1c">\alpha</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS2.p3.4.m2.1d">italic_α</annotation></semantics></math>. Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.F17" title="Figure 17 ‣ 5.3.2 Navigation ‣ 5.3 Motion Planning and Control ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">17</span></a> shows the deviation between the planned angle <math alttext="\gamma_{cl}" class="ltx_Math" display="inline" id="S5.SS3.SSS2.p3.5.m3.1"><semantics id="S5.SS3.SSS2.p3.5.m3.1a"><msub id="S5.SS3.SSS2.p3.5.m3.1.1" xref="S5.SS3.SSS2.p3.5.m3.1.1.cmml"><mi id="S5.SS3.SSS2.p3.5.m3.1.1.2" xref="S5.SS3.SSS2.p3.5.m3.1.1.2.cmml">γ</mi><mrow id="S5.SS3.SSS2.p3.5.m3.1.1.3" xref="S5.SS3.SSS2.p3.5.m3.1.1.3.cmml"><mi id="S5.SS3.SSS2.p3.5.m3.1.1.3.2" xref="S5.SS3.SSS2.p3.5.m3.1.1.3.2.cmml">c</mi><mo id="S5.SS3.SSS2.p3.5.m3.1.1.3.1" xref="S5.SS3.SSS2.p3.5.m3.1.1.3.1.cmml"></mo><mi id="S5.SS3.SSS2.p3.5.m3.1.1.3.3" xref="S5.SS3.SSS2.p3.5.m3.1.1.3.3.cmml">l</mi></mrow></msub><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS2.p3.5.m3.1b"><apply id="S5.SS3.SSS2.p3.5.m3.1.1.cmml" xref="S5.SS3.SSS2.p3.5.m3.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS2.p3.5.m3.1.1.1.cmml" xref="S5.SS3.SSS2.p3.5.m3.1.1">subscript</csymbol><ci id="S5.SS3.SSS2.p3.5.m3.1.1.2.cmml" xref="S5.SS3.SSS2.p3.5.m3.1.1.2">𝛾</ci><apply id="S5.SS3.SSS2.p3.5.m3.1.1.3.cmml" xref="S5.SS3.SSS2.p3.5.m3.1.1.3"><times id="S5.SS3.SSS2.p3.5.m3.1.1.3.1.cmml" xref="S5.SS3.SSS2.p3.5.m3.1.1.3.1"></times><ci id="S5.SS3.SSS2.p3.5.m3.1.1.3.2.cmml" xref="S5.SS3.SSS2.p3.5.m3.1.1.3.2">𝑐</ci><ci id="S5.SS3.SSS2.p3.5.m3.1.1.3.3.cmml" xref="S5.SS3.SSS2.p3.5.m3.1.1.3.3">𝑙</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS2.p3.5.m3.1c">\gamma_{cl}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS2.p3.5.m3.1d">italic_γ start_POSTSUBSCRIPT italic_c italic_l end_POSTSUBSCRIPT</annotation></semantics></math> for car-like steering and the kinematic-matching articulation angle <math alttext="\alpha" class="ltx_Math" display="inline" id="S5.SS3.SSS2.p3.6.m4.1"><semantics id="S5.SS3.SSS2.p3.6.m4.1a"><mi id="S5.SS3.SSS2.p3.6.m4.1.1" xref="S5.SS3.SSS2.p3.6.m4.1.1.cmml">α</mi><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS2.p3.6.m4.1b"><ci id="S5.SS3.SSS2.p3.6.m4.1.1.cmml" xref="S5.SS3.SSS2.p3.6.m4.1.1">𝛼</ci></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS2.p3.6.m4.1c">\alpha</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS2.p3.6.m4.1d">italic_α</annotation></semantics></math>.</p> </div> <figure class="ltx_figure" id="S5.F17"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_landscape" height="310" id="S5.F17.g1" src="x18.png" width="665"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S5.F17.6.3.1" style="font-size:90%;">Figure 17</span>: </span><span class="ltx_text" id="S5.F17.4.2" style="font-size:90%;">Deviation between car-like steering angle <math alttext="\gamma_{cl}" class="ltx_Math" display="inline" id="S5.F17.3.1.m1.1"><semantics id="S5.F17.3.1.m1.1b"><msub id="S5.F17.3.1.m1.1.1" xref="S5.F17.3.1.m1.1.1.cmml"><mi id="S5.F17.3.1.m1.1.1.2" xref="S5.F17.3.1.m1.1.1.2.cmml">γ</mi><mrow id="S5.F17.3.1.m1.1.1.3" xref="S5.F17.3.1.m1.1.1.3.cmml"><mi id="S5.F17.3.1.m1.1.1.3.2" xref="S5.F17.3.1.m1.1.1.3.2.cmml">c</mi><mo id="S5.F17.3.1.m1.1.1.3.1" xref="S5.F17.3.1.m1.1.1.3.1.cmml"></mo><mi id="S5.F17.3.1.m1.1.1.3.3" xref="S5.F17.3.1.m1.1.1.3.3.cmml">l</mi></mrow></msub><annotation-xml encoding="MathML-Content" id="S5.F17.3.1.m1.1c"><apply id="S5.F17.3.1.m1.1.1.cmml" xref="S5.F17.3.1.m1.1.1"><csymbol cd="ambiguous" id="S5.F17.3.1.m1.1.1.1.cmml" xref="S5.F17.3.1.m1.1.1">subscript</csymbol><ci id="S5.F17.3.1.m1.1.1.2.cmml" xref="S5.F17.3.1.m1.1.1.2">𝛾</ci><apply id="S5.F17.3.1.m1.1.1.3.cmml" xref="S5.F17.3.1.m1.1.1.3"><times id="S5.F17.3.1.m1.1.1.3.1.cmml" xref="S5.F17.3.1.m1.1.1.3.1"></times><ci id="S5.F17.3.1.m1.1.1.3.2.cmml" xref="S5.F17.3.1.m1.1.1.3.2">𝑐</ci><ci id="S5.F17.3.1.m1.1.1.3.3.cmml" xref="S5.F17.3.1.m1.1.1.3.3">𝑙</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.F17.3.1.m1.1d">\gamma_{cl}</annotation><annotation encoding="application/x-llamapun" id="S5.F17.3.1.m1.1e">italic_γ start_POSTSUBSCRIPT italic_c italic_l end_POSTSUBSCRIPT</annotation></semantics></math> and the articulation angle <math alttext="\alpha" class="ltx_Math" display="inline" id="S5.F17.4.2.m2.1"><semantics id="S5.F17.4.2.m2.1b"><mi id="S5.F17.4.2.m2.1.1" xref="S5.F17.4.2.m2.1.1.cmml">α</mi><annotation-xml encoding="MathML-Content" id="S5.F17.4.2.m2.1c"><ci id="S5.F17.4.2.m2.1.1.cmml" xref="S5.F17.4.2.m2.1.1">𝛼</ci></annotation-xml><annotation encoding="application/x-tex" id="S5.F17.4.2.m2.1d">\alpha</annotation><annotation encoding="application/x-llamapun" id="S5.F17.4.2.m2.1e">italic_α</annotation></semantics></math>.</span></figcaption> </figure> <div class="ltx_para" id="S5.SS3.SSS2.p4"> <p class="ltx_p" id="S5.SS3.SSS2.p4.1">The Hybrid A* implementation used in this work was developed in C++ using ROS 2 and is described in detail in <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib79" title="">79</a>]</cite>. Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.F18" title="Figure 18 ‣ 5.3.2 Navigation ‣ 5.3 Motion Planning and Control ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">18</span></a> illustrates an exemplary path planning result for bi-directional movement. The occupancy map utilized for collision-free planning is generated using the algorithms detailed in Section <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S4.SS2" title="4.2 Traversabilty Mapping ‣ 4 Perception ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">4.2</span></a>.</p> </div> <figure class="ltx_figure" id="S5.F18"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_landscape" height="531" id="S5.F18.g1" src="x19.png" width="664"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S5.F18.4.2.1" style="font-size:90%;">Figure 18</span>: </span><span class="ltx_text" id="S5.F18.2.1" style="font-size:90%;">Bi-directional path planned (cyan), together with path tracking results (red) including one turning pose (<math alttext="\bigstar" class="ltx_Math" display="inline" id="S5.F18.2.1.m1.1"><semantics id="S5.F18.2.1.m1.1b"><mi id="S5.F18.2.1.m1.1.1" mathvariant="normal" xref="S5.F18.2.1.m1.1.1.cmml">★</mi><annotation-xml encoding="MathML-Content" id="S5.F18.2.1.m1.1c"><ci id="S5.F18.2.1.m1.1.1.cmml" xref="S5.F18.2.1.m1.1.1">★</ci></annotation-xml><annotation encoding="application/x-tex" id="S5.F18.2.1.m1.1d">\bigstar</annotation><annotation encoding="application/x-llamapun" id="S5.F18.2.1.m1.1e">★</annotation></semantics></math>). White areas indicate obstacles.</span></figcaption> </figure> <figure class="ltx_figure" id="S5.F19"> <div class="ltx_flex_figure"> <div class="ltx_flex_cell ltx_flex_size_2"> <figure class="ltx_figure ltx_figure_panel" id="S5.F19.sf1"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_square" height="1003" id="S5.F19.sf1.g1" src="x20.png" width="830"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S5.F19.sf1.4.2.1" style="font-size:90%;">(a)</span> </span><span class="ltx_text" id="S5.F19.sf1.2.1" style="font-size:90%;">Concept for path following, showing the virtual vehicle <math alttext="\mathbf{q}^{d}=[x^{d},y^{d},\theta^{d}]^{\mathrm{T}}" class="ltx_Math" display="inline" id="S5.F19.sf1.2.1.m1.3"><semantics id="S5.F19.sf1.2.1.m1.3b"><mrow id="S5.F19.sf1.2.1.m1.3.3" xref="S5.F19.sf1.2.1.m1.3.3.cmml"><msup id="S5.F19.sf1.2.1.m1.3.3.5" xref="S5.F19.sf1.2.1.m1.3.3.5.cmml"><mi id="S5.F19.sf1.2.1.m1.3.3.5.2" xref="S5.F19.sf1.2.1.m1.3.3.5.2.cmml">𝐪</mi><mi id="S5.F19.sf1.2.1.m1.3.3.5.3" xref="S5.F19.sf1.2.1.m1.3.3.5.3.cmml">d</mi></msup><mo id="S5.F19.sf1.2.1.m1.3.3.4" xref="S5.F19.sf1.2.1.m1.3.3.4.cmml">=</mo><msup id="S5.F19.sf1.2.1.m1.3.3.3" xref="S5.F19.sf1.2.1.m1.3.3.3.cmml"><mrow id="S5.F19.sf1.2.1.m1.3.3.3.3.3" xref="S5.F19.sf1.2.1.m1.3.3.3.3.4.cmml"><mo id="S5.F19.sf1.2.1.m1.3.3.3.3.3.4" stretchy="false" xref="S5.F19.sf1.2.1.m1.3.3.3.3.4.cmml">[</mo><msup id="S5.F19.sf1.2.1.m1.1.1.1.1.1.1" xref="S5.F19.sf1.2.1.m1.1.1.1.1.1.1.cmml"><mi id="S5.F19.sf1.2.1.m1.1.1.1.1.1.1.2" xref="S5.F19.sf1.2.1.m1.1.1.1.1.1.1.2.cmml">x</mi><mi id="S5.F19.sf1.2.1.m1.1.1.1.1.1.1.3" xref="S5.F19.sf1.2.1.m1.1.1.1.1.1.1.3.cmml">d</mi></msup><mo id="S5.F19.sf1.2.1.m1.3.3.3.3.3.5" xref="S5.F19.sf1.2.1.m1.3.3.3.3.4.cmml">,</mo><msup id="S5.F19.sf1.2.1.m1.2.2.2.2.2.2" xref="S5.F19.sf1.2.1.m1.2.2.2.2.2.2.cmml"><mi id="S5.F19.sf1.2.1.m1.2.2.2.2.2.2.2" xref="S5.F19.sf1.2.1.m1.2.2.2.2.2.2.2.cmml">y</mi><mi id="S5.F19.sf1.2.1.m1.2.2.2.2.2.2.3" xref="S5.F19.sf1.2.1.m1.2.2.2.2.2.2.3.cmml">d</mi></msup><mo id="S5.F19.sf1.2.1.m1.3.3.3.3.3.6" xref="S5.F19.sf1.2.1.m1.3.3.3.3.4.cmml">,</mo><msup id="S5.F19.sf1.2.1.m1.3.3.3.3.3.3" xref="S5.F19.sf1.2.1.m1.3.3.3.3.3.3.cmml"><mi id="S5.F19.sf1.2.1.m1.3.3.3.3.3.3.2" xref="S5.F19.sf1.2.1.m1.3.3.3.3.3.3.2.cmml">θ</mi><mi id="S5.F19.sf1.2.1.m1.3.3.3.3.3.3.3" xref="S5.F19.sf1.2.1.m1.3.3.3.3.3.3.3.cmml">d</mi></msup><mo id="S5.F19.sf1.2.1.m1.3.3.3.3.3.7" stretchy="false" xref="S5.F19.sf1.2.1.m1.3.3.3.3.4.cmml">]</mo></mrow><mi id="S5.F19.sf1.2.1.m1.3.3.3.5" mathvariant="normal" xref="S5.F19.sf1.2.1.m1.3.3.3.5.cmml">T</mi></msup></mrow><annotation-xml encoding="MathML-Content" id="S5.F19.sf1.2.1.m1.3c"><apply id="S5.F19.sf1.2.1.m1.3.3.cmml" xref="S5.F19.sf1.2.1.m1.3.3"><eq id="S5.F19.sf1.2.1.m1.3.3.4.cmml" xref="S5.F19.sf1.2.1.m1.3.3.4"></eq><apply id="S5.F19.sf1.2.1.m1.3.3.5.cmml" xref="S5.F19.sf1.2.1.m1.3.3.5"><csymbol cd="ambiguous" id="S5.F19.sf1.2.1.m1.3.3.5.1.cmml" xref="S5.F19.sf1.2.1.m1.3.3.5">superscript</csymbol><ci id="S5.F19.sf1.2.1.m1.3.3.5.2.cmml" xref="S5.F19.sf1.2.1.m1.3.3.5.2">𝐪</ci><ci id="S5.F19.sf1.2.1.m1.3.3.5.3.cmml" xref="S5.F19.sf1.2.1.m1.3.3.5.3">𝑑</ci></apply><apply id="S5.F19.sf1.2.1.m1.3.3.3.cmml" xref="S5.F19.sf1.2.1.m1.3.3.3"><csymbol cd="ambiguous" id="S5.F19.sf1.2.1.m1.3.3.3.4.cmml" xref="S5.F19.sf1.2.1.m1.3.3.3">superscript</csymbol><list id="S5.F19.sf1.2.1.m1.3.3.3.3.4.cmml" xref="S5.F19.sf1.2.1.m1.3.3.3.3.3"><apply id="S5.F19.sf1.2.1.m1.1.1.1.1.1.1.cmml" xref="S5.F19.sf1.2.1.m1.1.1.1.1.1.1"><csymbol cd="ambiguous" id="S5.F19.sf1.2.1.m1.1.1.1.1.1.1.1.cmml" xref="S5.F19.sf1.2.1.m1.1.1.1.1.1.1">superscript</csymbol><ci id="S5.F19.sf1.2.1.m1.1.1.1.1.1.1.2.cmml" xref="S5.F19.sf1.2.1.m1.1.1.1.1.1.1.2">𝑥</ci><ci id="S5.F19.sf1.2.1.m1.1.1.1.1.1.1.3.cmml" xref="S5.F19.sf1.2.1.m1.1.1.1.1.1.1.3">𝑑</ci></apply><apply id="S5.F19.sf1.2.1.m1.2.2.2.2.2.2.cmml" xref="S5.F19.sf1.2.1.m1.2.2.2.2.2.2"><csymbol cd="ambiguous" id="S5.F19.sf1.2.1.m1.2.2.2.2.2.2.1.cmml" xref="S5.F19.sf1.2.1.m1.2.2.2.2.2.2">superscript</csymbol><ci id="S5.F19.sf1.2.1.m1.2.2.2.2.2.2.2.cmml" xref="S5.F19.sf1.2.1.m1.2.2.2.2.2.2.2">𝑦</ci><ci id="S5.F19.sf1.2.1.m1.2.2.2.2.2.2.3.cmml" xref="S5.F19.sf1.2.1.m1.2.2.2.2.2.2.3">𝑑</ci></apply><apply id="S5.F19.sf1.2.1.m1.3.3.3.3.3.3.cmml" xref="S5.F19.sf1.2.1.m1.3.3.3.3.3.3"><csymbol cd="ambiguous" id="S5.F19.sf1.2.1.m1.3.3.3.3.3.3.1.cmml" xref="S5.F19.sf1.2.1.m1.3.3.3.3.3.3">superscript</csymbol><ci id="S5.F19.sf1.2.1.m1.3.3.3.3.3.3.2.cmml" xref="S5.F19.sf1.2.1.m1.3.3.3.3.3.3.2">𝜃</ci><ci id="S5.F19.sf1.2.1.m1.3.3.3.3.3.3.3.cmml" xref="S5.F19.sf1.2.1.m1.3.3.3.3.3.3.3">𝑑</ci></apply></list><ci id="S5.F19.sf1.2.1.m1.3.3.3.5.cmml" xref="S5.F19.sf1.2.1.m1.3.3.3.5">T</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.F19.sf1.2.1.m1.3d">\mathbf{q}^{d}=[x^{d},y^{d},\theta^{d}]^{\mathrm{T}}</annotation><annotation encoding="application/x-llamapun" id="S5.F19.sf1.2.1.m1.3e">bold_q start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = [ italic_x start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_y start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_θ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT</annotation></semantics></math> as the reference pose.</span></figcaption> </figure> </div> <div class="ltx_flex_cell ltx_flex_size_2"> <figure class="ltx_figure ltx_figure_panel" id="S5.F19.sf2"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_landscape" height="519" id="S5.F19.sf2.g1" src="x21.png" width="830"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S5.F19.sf2.8.4.1" style="font-size:90%;">(b)</span> </span><span class="ltx_text" id="S5.F19.sf2.6.3" style="font-size:90%;">Pallet manipulation scenario, showing the rear of the vehicle <math alttext="{\mathbf{q}_{R}}=[x_{R},y_{R},\theta_{R}]^{\mathrm{T}}" class="ltx_Math" display="inline" id="S5.F19.sf2.4.1.m1.3"><semantics id="S5.F19.sf2.4.1.m1.3b"><mrow id="S5.F19.sf2.4.1.m1.3.3" xref="S5.F19.sf2.4.1.m1.3.3.cmml"><msub id="S5.F19.sf2.4.1.m1.3.3.5" xref="S5.F19.sf2.4.1.m1.3.3.5.cmml"><mi id="S5.F19.sf2.4.1.m1.3.3.5.2" xref="S5.F19.sf2.4.1.m1.3.3.5.2.cmml">𝐪</mi><mi id="S5.F19.sf2.4.1.m1.3.3.5.3" xref="S5.F19.sf2.4.1.m1.3.3.5.3.cmml">R</mi></msub><mo id="S5.F19.sf2.4.1.m1.3.3.4" xref="S5.F19.sf2.4.1.m1.3.3.4.cmml">=</mo><msup id="S5.F19.sf2.4.1.m1.3.3.3" xref="S5.F19.sf2.4.1.m1.3.3.3.cmml"><mrow id="S5.F19.sf2.4.1.m1.3.3.3.3.3" xref="S5.F19.sf2.4.1.m1.3.3.3.3.4.cmml"><mo id="S5.F19.sf2.4.1.m1.3.3.3.3.3.4" stretchy="false" xref="S5.F19.sf2.4.1.m1.3.3.3.3.4.cmml">[</mo><msub id="S5.F19.sf2.4.1.m1.1.1.1.1.1.1" xref="S5.F19.sf2.4.1.m1.1.1.1.1.1.1.cmml"><mi id="S5.F19.sf2.4.1.m1.1.1.1.1.1.1.2" xref="S5.F19.sf2.4.1.m1.1.1.1.1.1.1.2.cmml">x</mi><mi id="S5.F19.sf2.4.1.m1.1.1.1.1.1.1.3" xref="S5.F19.sf2.4.1.m1.1.1.1.1.1.1.3.cmml">R</mi></msub><mo id="S5.F19.sf2.4.1.m1.3.3.3.3.3.5" xref="S5.F19.sf2.4.1.m1.3.3.3.3.4.cmml">,</mo><msub id="S5.F19.sf2.4.1.m1.2.2.2.2.2.2" xref="S5.F19.sf2.4.1.m1.2.2.2.2.2.2.cmml"><mi id="S5.F19.sf2.4.1.m1.2.2.2.2.2.2.2" xref="S5.F19.sf2.4.1.m1.2.2.2.2.2.2.2.cmml">y</mi><mi id="S5.F19.sf2.4.1.m1.2.2.2.2.2.2.3" xref="S5.F19.sf2.4.1.m1.2.2.2.2.2.2.3.cmml">R</mi></msub><mo id="S5.F19.sf2.4.1.m1.3.3.3.3.3.6" xref="S5.F19.sf2.4.1.m1.3.3.3.3.4.cmml">,</mo><msub id="S5.F19.sf2.4.1.m1.3.3.3.3.3.3" xref="S5.F19.sf2.4.1.m1.3.3.3.3.3.3.cmml"><mi id="S5.F19.sf2.4.1.m1.3.3.3.3.3.3.2" xref="S5.F19.sf2.4.1.m1.3.3.3.3.3.3.2.cmml">θ</mi><mi id="S5.F19.sf2.4.1.m1.3.3.3.3.3.3.3" xref="S5.F19.sf2.4.1.m1.3.3.3.3.3.3.3.cmml">R</mi></msub><mo id="S5.F19.sf2.4.1.m1.3.3.3.3.3.7" stretchy="false" xref="S5.F19.sf2.4.1.m1.3.3.3.3.4.cmml">]</mo></mrow><mi id="S5.F19.sf2.4.1.m1.3.3.3.5" mathvariant="normal" xref="S5.F19.sf2.4.1.m1.3.3.3.5.cmml">T</mi></msup></mrow><annotation-xml encoding="MathML-Content" id="S5.F19.sf2.4.1.m1.3c"><apply id="S5.F19.sf2.4.1.m1.3.3.cmml" xref="S5.F19.sf2.4.1.m1.3.3"><eq id="S5.F19.sf2.4.1.m1.3.3.4.cmml" xref="S5.F19.sf2.4.1.m1.3.3.4"></eq><apply id="S5.F19.sf2.4.1.m1.3.3.5.cmml" xref="S5.F19.sf2.4.1.m1.3.3.5"><csymbol cd="ambiguous" id="S5.F19.sf2.4.1.m1.3.3.5.1.cmml" xref="S5.F19.sf2.4.1.m1.3.3.5">subscript</csymbol><ci id="S5.F19.sf2.4.1.m1.3.3.5.2.cmml" xref="S5.F19.sf2.4.1.m1.3.3.5.2">𝐪</ci><ci id="S5.F19.sf2.4.1.m1.3.3.5.3.cmml" xref="S5.F19.sf2.4.1.m1.3.3.5.3">𝑅</ci></apply><apply id="S5.F19.sf2.4.1.m1.3.3.3.cmml" xref="S5.F19.sf2.4.1.m1.3.3.3"><csymbol cd="ambiguous" id="S5.F19.sf2.4.1.m1.3.3.3.4.cmml" xref="S5.F19.sf2.4.1.m1.3.3.3">superscript</csymbol><list id="S5.F19.sf2.4.1.m1.3.3.3.3.4.cmml" xref="S5.F19.sf2.4.1.m1.3.3.3.3.3"><apply id="S5.F19.sf2.4.1.m1.1.1.1.1.1.1.cmml" xref="S5.F19.sf2.4.1.m1.1.1.1.1.1.1"><csymbol cd="ambiguous" id="S5.F19.sf2.4.1.m1.1.1.1.1.1.1.1.cmml" xref="S5.F19.sf2.4.1.m1.1.1.1.1.1.1">subscript</csymbol><ci id="S5.F19.sf2.4.1.m1.1.1.1.1.1.1.2.cmml" xref="S5.F19.sf2.4.1.m1.1.1.1.1.1.1.2">𝑥</ci><ci id="S5.F19.sf2.4.1.m1.1.1.1.1.1.1.3.cmml" xref="S5.F19.sf2.4.1.m1.1.1.1.1.1.1.3">𝑅</ci></apply><apply id="S5.F19.sf2.4.1.m1.2.2.2.2.2.2.cmml" xref="S5.F19.sf2.4.1.m1.2.2.2.2.2.2"><csymbol cd="ambiguous" id="S5.F19.sf2.4.1.m1.2.2.2.2.2.2.1.cmml" xref="S5.F19.sf2.4.1.m1.2.2.2.2.2.2">subscript</csymbol><ci id="S5.F19.sf2.4.1.m1.2.2.2.2.2.2.2.cmml" xref="S5.F19.sf2.4.1.m1.2.2.2.2.2.2.2">𝑦</ci><ci id="S5.F19.sf2.4.1.m1.2.2.2.2.2.2.3.cmml" xref="S5.F19.sf2.4.1.m1.2.2.2.2.2.2.3">𝑅</ci></apply><apply id="S5.F19.sf2.4.1.m1.3.3.3.3.3.3.cmml" xref="S5.F19.sf2.4.1.m1.3.3.3.3.3.3"><csymbol cd="ambiguous" id="S5.F19.sf2.4.1.m1.3.3.3.3.3.3.1.cmml" xref="S5.F19.sf2.4.1.m1.3.3.3.3.3.3">subscript</csymbol><ci id="S5.F19.sf2.4.1.m1.3.3.3.3.3.3.2.cmml" xref="S5.F19.sf2.4.1.m1.3.3.3.3.3.3.2">𝜃</ci><ci id="S5.F19.sf2.4.1.m1.3.3.3.3.3.3.3.cmml" xref="S5.F19.sf2.4.1.m1.3.3.3.3.3.3.3">𝑅</ci></apply></list><ci id="S5.F19.sf2.4.1.m1.3.3.3.5.cmml" xref="S5.F19.sf2.4.1.m1.3.3.3.5">T</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.F19.sf2.4.1.m1.3d">{\mathbf{q}_{R}}=[x_{R},y_{R},\theta_{R}]^{\mathrm{T}}</annotation><annotation encoding="application/x-llamapun" id="S5.F19.sf2.4.1.m1.3e">bold_q start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT = [ italic_x start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT , italic_θ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT</annotation></semantics></math>, the pallet pose <math alttext="\mathbf{q}_{P}=[x_{P},y_{P},\theta_{P},z_{P}]^{\mathrm{T}}" class="ltx_Math" display="inline" id="S5.F19.sf2.5.2.m2.4"><semantics id="S5.F19.sf2.5.2.m2.4b"><mrow id="S5.F19.sf2.5.2.m2.4.4" xref="S5.F19.sf2.5.2.m2.4.4.cmml"><msub id="S5.F19.sf2.5.2.m2.4.4.6" xref="S5.F19.sf2.5.2.m2.4.4.6.cmml"><mi id="S5.F19.sf2.5.2.m2.4.4.6.2" xref="S5.F19.sf2.5.2.m2.4.4.6.2.cmml">𝐪</mi><mi id="S5.F19.sf2.5.2.m2.4.4.6.3" xref="S5.F19.sf2.5.2.m2.4.4.6.3.cmml">P</mi></msub><mo id="S5.F19.sf2.5.2.m2.4.4.5" xref="S5.F19.sf2.5.2.m2.4.4.5.cmml">=</mo><msup id="S5.F19.sf2.5.2.m2.4.4.4" xref="S5.F19.sf2.5.2.m2.4.4.4.cmml"><mrow id="S5.F19.sf2.5.2.m2.4.4.4.4.4" xref="S5.F19.sf2.5.2.m2.4.4.4.4.5.cmml"><mo id="S5.F19.sf2.5.2.m2.4.4.4.4.4.5" stretchy="false" xref="S5.F19.sf2.5.2.m2.4.4.4.4.5.cmml">[</mo><msub id="S5.F19.sf2.5.2.m2.1.1.1.1.1.1" xref="S5.F19.sf2.5.2.m2.1.1.1.1.1.1.cmml"><mi id="S5.F19.sf2.5.2.m2.1.1.1.1.1.1.2" xref="S5.F19.sf2.5.2.m2.1.1.1.1.1.1.2.cmml">x</mi><mi id="S5.F19.sf2.5.2.m2.1.1.1.1.1.1.3" xref="S5.F19.sf2.5.2.m2.1.1.1.1.1.1.3.cmml">P</mi></msub><mo id="S5.F19.sf2.5.2.m2.4.4.4.4.4.6" xref="S5.F19.sf2.5.2.m2.4.4.4.4.5.cmml">,</mo><msub id="S5.F19.sf2.5.2.m2.2.2.2.2.2.2" xref="S5.F19.sf2.5.2.m2.2.2.2.2.2.2.cmml"><mi id="S5.F19.sf2.5.2.m2.2.2.2.2.2.2.2" xref="S5.F19.sf2.5.2.m2.2.2.2.2.2.2.2.cmml">y</mi><mi id="S5.F19.sf2.5.2.m2.2.2.2.2.2.2.3" xref="S5.F19.sf2.5.2.m2.2.2.2.2.2.2.3.cmml">P</mi></msub><mo id="S5.F19.sf2.5.2.m2.4.4.4.4.4.7" xref="S5.F19.sf2.5.2.m2.4.4.4.4.5.cmml">,</mo><msub id="S5.F19.sf2.5.2.m2.3.3.3.3.3.3" xref="S5.F19.sf2.5.2.m2.3.3.3.3.3.3.cmml"><mi id="S5.F19.sf2.5.2.m2.3.3.3.3.3.3.2" xref="S5.F19.sf2.5.2.m2.3.3.3.3.3.3.2.cmml">θ</mi><mi id="S5.F19.sf2.5.2.m2.3.3.3.3.3.3.3" xref="S5.F19.sf2.5.2.m2.3.3.3.3.3.3.3.cmml">P</mi></msub><mo id="S5.F19.sf2.5.2.m2.4.4.4.4.4.8" xref="S5.F19.sf2.5.2.m2.4.4.4.4.5.cmml">,</mo><msub id="S5.F19.sf2.5.2.m2.4.4.4.4.4.4" xref="S5.F19.sf2.5.2.m2.4.4.4.4.4.4.cmml"><mi id="S5.F19.sf2.5.2.m2.4.4.4.4.4.4.2" xref="S5.F19.sf2.5.2.m2.4.4.4.4.4.4.2.cmml">z</mi><mi id="S5.F19.sf2.5.2.m2.4.4.4.4.4.4.3" xref="S5.F19.sf2.5.2.m2.4.4.4.4.4.4.3.cmml">P</mi></msub><mo id="S5.F19.sf2.5.2.m2.4.4.4.4.4.9" stretchy="false" xref="S5.F19.sf2.5.2.m2.4.4.4.4.5.cmml">]</mo></mrow><mi id="S5.F19.sf2.5.2.m2.4.4.4.6" mathvariant="normal" xref="S5.F19.sf2.5.2.m2.4.4.4.6.cmml">T</mi></msup></mrow><annotation-xml encoding="MathML-Content" id="S5.F19.sf2.5.2.m2.4c"><apply id="S5.F19.sf2.5.2.m2.4.4.cmml" xref="S5.F19.sf2.5.2.m2.4.4"><eq id="S5.F19.sf2.5.2.m2.4.4.5.cmml" xref="S5.F19.sf2.5.2.m2.4.4.5"></eq><apply id="S5.F19.sf2.5.2.m2.4.4.6.cmml" xref="S5.F19.sf2.5.2.m2.4.4.6"><csymbol cd="ambiguous" id="S5.F19.sf2.5.2.m2.4.4.6.1.cmml" xref="S5.F19.sf2.5.2.m2.4.4.6">subscript</csymbol><ci id="S5.F19.sf2.5.2.m2.4.4.6.2.cmml" xref="S5.F19.sf2.5.2.m2.4.4.6.2">𝐪</ci><ci id="S5.F19.sf2.5.2.m2.4.4.6.3.cmml" xref="S5.F19.sf2.5.2.m2.4.4.6.3">𝑃</ci></apply><apply id="S5.F19.sf2.5.2.m2.4.4.4.cmml" xref="S5.F19.sf2.5.2.m2.4.4.4"><csymbol cd="ambiguous" id="S5.F19.sf2.5.2.m2.4.4.4.5.cmml" xref="S5.F19.sf2.5.2.m2.4.4.4">superscript</csymbol><list id="S5.F19.sf2.5.2.m2.4.4.4.4.5.cmml" xref="S5.F19.sf2.5.2.m2.4.4.4.4.4"><apply id="S5.F19.sf2.5.2.m2.1.1.1.1.1.1.cmml" xref="S5.F19.sf2.5.2.m2.1.1.1.1.1.1"><csymbol cd="ambiguous" id="S5.F19.sf2.5.2.m2.1.1.1.1.1.1.1.cmml" xref="S5.F19.sf2.5.2.m2.1.1.1.1.1.1">subscript</csymbol><ci id="S5.F19.sf2.5.2.m2.1.1.1.1.1.1.2.cmml" xref="S5.F19.sf2.5.2.m2.1.1.1.1.1.1.2">𝑥</ci><ci id="S5.F19.sf2.5.2.m2.1.1.1.1.1.1.3.cmml" xref="S5.F19.sf2.5.2.m2.1.1.1.1.1.1.3">𝑃</ci></apply><apply id="S5.F19.sf2.5.2.m2.2.2.2.2.2.2.cmml" xref="S5.F19.sf2.5.2.m2.2.2.2.2.2.2"><csymbol cd="ambiguous" id="S5.F19.sf2.5.2.m2.2.2.2.2.2.2.1.cmml" xref="S5.F19.sf2.5.2.m2.2.2.2.2.2.2">subscript</csymbol><ci id="S5.F19.sf2.5.2.m2.2.2.2.2.2.2.2.cmml" xref="S5.F19.sf2.5.2.m2.2.2.2.2.2.2.2">𝑦</ci><ci id="S5.F19.sf2.5.2.m2.2.2.2.2.2.2.3.cmml" xref="S5.F19.sf2.5.2.m2.2.2.2.2.2.2.3">𝑃</ci></apply><apply id="S5.F19.sf2.5.2.m2.3.3.3.3.3.3.cmml" xref="S5.F19.sf2.5.2.m2.3.3.3.3.3.3"><csymbol cd="ambiguous" id="S5.F19.sf2.5.2.m2.3.3.3.3.3.3.1.cmml" xref="S5.F19.sf2.5.2.m2.3.3.3.3.3.3">subscript</csymbol><ci id="S5.F19.sf2.5.2.m2.3.3.3.3.3.3.2.cmml" xref="S5.F19.sf2.5.2.m2.3.3.3.3.3.3.2">𝜃</ci><ci id="S5.F19.sf2.5.2.m2.3.3.3.3.3.3.3.cmml" xref="S5.F19.sf2.5.2.m2.3.3.3.3.3.3.3">𝑃</ci></apply><apply id="S5.F19.sf2.5.2.m2.4.4.4.4.4.4.cmml" xref="S5.F19.sf2.5.2.m2.4.4.4.4.4.4"><csymbol cd="ambiguous" id="S5.F19.sf2.5.2.m2.4.4.4.4.4.4.1.cmml" xref="S5.F19.sf2.5.2.m2.4.4.4.4.4.4">subscript</csymbol><ci id="S5.F19.sf2.5.2.m2.4.4.4.4.4.4.2.cmml" xref="S5.F19.sf2.5.2.m2.4.4.4.4.4.4.2">𝑧</ci><ci id="S5.F19.sf2.5.2.m2.4.4.4.4.4.4.3.cmml" xref="S5.F19.sf2.5.2.m2.4.4.4.4.4.4.3">𝑃</ci></apply></list><ci id="S5.F19.sf2.5.2.m2.4.4.4.6.cmml" xref="S5.F19.sf2.5.2.m2.4.4.4.6">T</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.F19.sf2.5.2.m2.4d">\mathbf{q}_{P}=[x_{P},y_{P},\theta_{P},z_{P}]^{\mathrm{T}}</annotation><annotation encoding="application/x-llamapun" id="S5.F19.sf2.5.2.m2.4e">bold_q start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT = [ italic_x start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT , italic_θ start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT</annotation></semantics></math> and the tip of the forks <math alttext="\mathbf{q}_{T}=[x_{T},y_{T},\theta_{T},z_{T}]^{\mathrm{T}}" class="ltx_Math" display="inline" id="S5.F19.sf2.6.3.m3.4"><semantics id="S5.F19.sf2.6.3.m3.4b"><mrow id="S5.F19.sf2.6.3.m3.4.4" xref="S5.F19.sf2.6.3.m3.4.4.cmml"><msub id="S5.F19.sf2.6.3.m3.4.4.6" xref="S5.F19.sf2.6.3.m3.4.4.6.cmml"><mi id="S5.F19.sf2.6.3.m3.4.4.6.2" xref="S5.F19.sf2.6.3.m3.4.4.6.2.cmml">𝐪</mi><mi id="S5.F19.sf2.6.3.m3.4.4.6.3" xref="S5.F19.sf2.6.3.m3.4.4.6.3.cmml">T</mi></msub><mo id="S5.F19.sf2.6.3.m3.4.4.5" xref="S5.F19.sf2.6.3.m3.4.4.5.cmml">=</mo><msup id="S5.F19.sf2.6.3.m3.4.4.4" xref="S5.F19.sf2.6.3.m3.4.4.4.cmml"><mrow id="S5.F19.sf2.6.3.m3.4.4.4.4.4" xref="S5.F19.sf2.6.3.m3.4.4.4.4.5.cmml"><mo id="S5.F19.sf2.6.3.m3.4.4.4.4.4.5" stretchy="false" xref="S5.F19.sf2.6.3.m3.4.4.4.4.5.cmml">[</mo><msub id="S5.F19.sf2.6.3.m3.1.1.1.1.1.1" xref="S5.F19.sf2.6.3.m3.1.1.1.1.1.1.cmml"><mi id="S5.F19.sf2.6.3.m3.1.1.1.1.1.1.2" xref="S5.F19.sf2.6.3.m3.1.1.1.1.1.1.2.cmml">x</mi><mi id="S5.F19.sf2.6.3.m3.1.1.1.1.1.1.3" xref="S5.F19.sf2.6.3.m3.1.1.1.1.1.1.3.cmml">T</mi></msub><mo id="S5.F19.sf2.6.3.m3.4.4.4.4.4.6" xref="S5.F19.sf2.6.3.m3.4.4.4.4.5.cmml">,</mo><msub id="S5.F19.sf2.6.3.m3.2.2.2.2.2.2" xref="S5.F19.sf2.6.3.m3.2.2.2.2.2.2.cmml"><mi id="S5.F19.sf2.6.3.m3.2.2.2.2.2.2.2" xref="S5.F19.sf2.6.3.m3.2.2.2.2.2.2.2.cmml">y</mi><mi id="S5.F19.sf2.6.3.m3.2.2.2.2.2.2.3" xref="S5.F19.sf2.6.3.m3.2.2.2.2.2.2.3.cmml">T</mi></msub><mo id="S5.F19.sf2.6.3.m3.4.4.4.4.4.7" xref="S5.F19.sf2.6.3.m3.4.4.4.4.5.cmml">,</mo><msub id="S5.F19.sf2.6.3.m3.3.3.3.3.3.3" xref="S5.F19.sf2.6.3.m3.3.3.3.3.3.3.cmml"><mi id="S5.F19.sf2.6.3.m3.3.3.3.3.3.3.2" xref="S5.F19.sf2.6.3.m3.3.3.3.3.3.3.2.cmml">θ</mi><mi id="S5.F19.sf2.6.3.m3.3.3.3.3.3.3.3" xref="S5.F19.sf2.6.3.m3.3.3.3.3.3.3.3.cmml">T</mi></msub><mo id="S5.F19.sf2.6.3.m3.4.4.4.4.4.8" xref="S5.F19.sf2.6.3.m3.4.4.4.4.5.cmml">,</mo><msub id="S5.F19.sf2.6.3.m3.4.4.4.4.4.4" xref="S5.F19.sf2.6.3.m3.4.4.4.4.4.4.cmml"><mi id="S5.F19.sf2.6.3.m3.4.4.4.4.4.4.2" xref="S5.F19.sf2.6.3.m3.4.4.4.4.4.4.2.cmml">z</mi><mi id="S5.F19.sf2.6.3.m3.4.4.4.4.4.4.3" xref="S5.F19.sf2.6.3.m3.4.4.4.4.4.4.3.cmml">T</mi></msub><mo id="S5.F19.sf2.6.3.m3.4.4.4.4.4.9" stretchy="false" xref="S5.F19.sf2.6.3.m3.4.4.4.4.5.cmml">]</mo></mrow><mi id="S5.F19.sf2.6.3.m3.4.4.4.6" mathvariant="normal" xref="S5.F19.sf2.6.3.m3.4.4.4.6.cmml">T</mi></msup></mrow><annotation-xml encoding="MathML-Content" id="S5.F19.sf2.6.3.m3.4c"><apply id="S5.F19.sf2.6.3.m3.4.4.cmml" xref="S5.F19.sf2.6.3.m3.4.4"><eq id="S5.F19.sf2.6.3.m3.4.4.5.cmml" xref="S5.F19.sf2.6.3.m3.4.4.5"></eq><apply id="S5.F19.sf2.6.3.m3.4.4.6.cmml" xref="S5.F19.sf2.6.3.m3.4.4.6"><csymbol cd="ambiguous" id="S5.F19.sf2.6.3.m3.4.4.6.1.cmml" xref="S5.F19.sf2.6.3.m3.4.4.6">subscript</csymbol><ci id="S5.F19.sf2.6.3.m3.4.4.6.2.cmml" xref="S5.F19.sf2.6.3.m3.4.4.6.2">𝐪</ci><ci id="S5.F19.sf2.6.3.m3.4.4.6.3.cmml" xref="S5.F19.sf2.6.3.m3.4.4.6.3">𝑇</ci></apply><apply id="S5.F19.sf2.6.3.m3.4.4.4.cmml" xref="S5.F19.sf2.6.3.m3.4.4.4"><csymbol cd="ambiguous" id="S5.F19.sf2.6.3.m3.4.4.4.5.cmml" xref="S5.F19.sf2.6.3.m3.4.4.4">superscript</csymbol><list id="S5.F19.sf2.6.3.m3.4.4.4.4.5.cmml" xref="S5.F19.sf2.6.3.m3.4.4.4.4.4"><apply id="S5.F19.sf2.6.3.m3.1.1.1.1.1.1.cmml" xref="S5.F19.sf2.6.3.m3.1.1.1.1.1.1"><csymbol cd="ambiguous" id="S5.F19.sf2.6.3.m3.1.1.1.1.1.1.1.cmml" xref="S5.F19.sf2.6.3.m3.1.1.1.1.1.1">subscript</csymbol><ci id="S5.F19.sf2.6.3.m3.1.1.1.1.1.1.2.cmml" xref="S5.F19.sf2.6.3.m3.1.1.1.1.1.1.2">𝑥</ci><ci id="S5.F19.sf2.6.3.m3.1.1.1.1.1.1.3.cmml" xref="S5.F19.sf2.6.3.m3.1.1.1.1.1.1.3">𝑇</ci></apply><apply id="S5.F19.sf2.6.3.m3.2.2.2.2.2.2.cmml" xref="S5.F19.sf2.6.3.m3.2.2.2.2.2.2"><csymbol cd="ambiguous" id="S5.F19.sf2.6.3.m3.2.2.2.2.2.2.1.cmml" xref="S5.F19.sf2.6.3.m3.2.2.2.2.2.2">subscript</csymbol><ci id="S5.F19.sf2.6.3.m3.2.2.2.2.2.2.2.cmml" xref="S5.F19.sf2.6.3.m3.2.2.2.2.2.2.2">𝑦</ci><ci id="S5.F19.sf2.6.3.m3.2.2.2.2.2.2.3.cmml" xref="S5.F19.sf2.6.3.m3.2.2.2.2.2.2.3">𝑇</ci></apply><apply id="S5.F19.sf2.6.3.m3.3.3.3.3.3.3.cmml" xref="S5.F19.sf2.6.3.m3.3.3.3.3.3.3"><csymbol cd="ambiguous" id="S5.F19.sf2.6.3.m3.3.3.3.3.3.3.1.cmml" xref="S5.F19.sf2.6.3.m3.3.3.3.3.3.3">subscript</csymbol><ci id="S5.F19.sf2.6.3.m3.3.3.3.3.3.3.2.cmml" xref="S5.F19.sf2.6.3.m3.3.3.3.3.3.3.2">𝜃</ci><ci id="S5.F19.sf2.6.3.m3.3.3.3.3.3.3.3.cmml" xref="S5.F19.sf2.6.3.m3.3.3.3.3.3.3.3">𝑇</ci></apply><apply id="S5.F19.sf2.6.3.m3.4.4.4.4.4.4.cmml" xref="S5.F19.sf2.6.3.m3.4.4.4.4.4.4"><csymbol cd="ambiguous" id="S5.F19.sf2.6.3.m3.4.4.4.4.4.4.1.cmml" xref="S5.F19.sf2.6.3.m3.4.4.4.4.4.4">subscript</csymbol><ci id="S5.F19.sf2.6.3.m3.4.4.4.4.4.4.2.cmml" xref="S5.F19.sf2.6.3.m3.4.4.4.4.4.4.2">𝑧</ci><ci id="S5.F19.sf2.6.3.m3.4.4.4.4.4.4.3.cmml" xref="S5.F19.sf2.6.3.m3.4.4.4.4.4.4.3">𝑇</ci></apply></list><ci id="S5.F19.sf2.6.3.m3.4.4.4.6.cmml" xref="S5.F19.sf2.6.3.m3.4.4.4.6">T</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.F19.sf2.6.3.m3.4d">\mathbf{q}_{T}=[x_{T},y_{T},\theta_{T},z_{T}]^{\mathrm{T}}</annotation><annotation encoding="application/x-llamapun" id="S5.F19.sf2.6.3.m3.4e">bold_q start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT = [ italic_x start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT , italic_θ start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT , italic_z start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT</annotation></semantics></math>.</span></figcaption> </figure> </div> </div> <figcaption class="ltx_caption"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S5.F19.2.1.1" style="font-size:90%;">Figure 19</span>: </span><span class="ltx_text" id="S5.F19.3.2" style="font-size:90%;">Concepts for path following and pallet manipulation.</span></figcaption> </figure> <div class="ltx_para" id="S5.SS3.SSS2.p5"> <p class="ltx_p" id="S5.SS3.SSS2.p5.3">The subsequent path following ensures precise navigation along the planned collision-free path, effectively avoiding obstacles for safe operation. The core idea, illustrated in Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.F19.sf1" title="In Figure 19 ‣ 5.3.2 Navigation ‣ 5.3 Motion Planning and Control ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">19(a)</span></a>, is to track a virtual reference vehicle moving along the planned path with coordinates <math alttext="{\mathbf{q}^{d}}=[x^{d},y^{d},\theta^{d}]^{\mathrm{T}}" class="ltx_Math" display="inline" id="S5.SS3.SSS2.p5.1.m1.3"><semantics id="S5.SS3.SSS2.p5.1.m1.3a"><mrow id="S5.SS3.SSS2.p5.1.m1.3.3" xref="S5.SS3.SSS2.p5.1.m1.3.3.cmml"><msup id="S5.SS3.SSS2.p5.1.m1.3.3.5" xref="S5.SS3.SSS2.p5.1.m1.3.3.5.cmml"><mi id="S5.SS3.SSS2.p5.1.m1.3.3.5.2" xref="S5.SS3.SSS2.p5.1.m1.3.3.5.2.cmml">𝐪</mi><mi id="S5.SS3.SSS2.p5.1.m1.3.3.5.3" xref="S5.SS3.SSS2.p5.1.m1.3.3.5.3.cmml">d</mi></msup><mo id="S5.SS3.SSS2.p5.1.m1.3.3.4" xref="S5.SS3.SSS2.p5.1.m1.3.3.4.cmml">=</mo><msup id="S5.SS3.SSS2.p5.1.m1.3.3.3" xref="S5.SS3.SSS2.p5.1.m1.3.3.3.cmml"><mrow id="S5.SS3.SSS2.p5.1.m1.3.3.3.3.3" xref="S5.SS3.SSS2.p5.1.m1.3.3.3.3.4.cmml"><mo id="S5.SS3.SSS2.p5.1.m1.3.3.3.3.3.4" stretchy="false" xref="S5.SS3.SSS2.p5.1.m1.3.3.3.3.4.cmml">[</mo><msup id="S5.SS3.SSS2.p5.1.m1.1.1.1.1.1.1" xref="S5.SS3.SSS2.p5.1.m1.1.1.1.1.1.1.cmml"><mi id="S5.SS3.SSS2.p5.1.m1.1.1.1.1.1.1.2" xref="S5.SS3.SSS2.p5.1.m1.1.1.1.1.1.1.2.cmml">x</mi><mi id="S5.SS3.SSS2.p5.1.m1.1.1.1.1.1.1.3" xref="S5.SS3.SSS2.p5.1.m1.1.1.1.1.1.1.3.cmml">d</mi></msup><mo id="S5.SS3.SSS2.p5.1.m1.3.3.3.3.3.5" xref="S5.SS3.SSS2.p5.1.m1.3.3.3.3.4.cmml">,</mo><msup id="S5.SS3.SSS2.p5.1.m1.2.2.2.2.2.2" xref="S5.SS3.SSS2.p5.1.m1.2.2.2.2.2.2.cmml"><mi id="S5.SS3.SSS2.p5.1.m1.2.2.2.2.2.2.2" xref="S5.SS3.SSS2.p5.1.m1.2.2.2.2.2.2.2.cmml">y</mi><mi id="S5.SS3.SSS2.p5.1.m1.2.2.2.2.2.2.3" xref="S5.SS3.SSS2.p5.1.m1.2.2.2.2.2.2.3.cmml">d</mi></msup><mo id="S5.SS3.SSS2.p5.1.m1.3.3.3.3.3.6" xref="S5.SS3.SSS2.p5.1.m1.3.3.3.3.4.cmml">,</mo><msup id="S5.SS3.SSS2.p5.1.m1.3.3.3.3.3.3" xref="S5.SS3.SSS2.p5.1.m1.3.3.3.3.3.3.cmml"><mi id="S5.SS3.SSS2.p5.1.m1.3.3.3.3.3.3.2" xref="S5.SS3.SSS2.p5.1.m1.3.3.3.3.3.3.2.cmml">θ</mi><mi id="S5.SS3.SSS2.p5.1.m1.3.3.3.3.3.3.3" xref="S5.SS3.SSS2.p5.1.m1.3.3.3.3.3.3.3.cmml">d</mi></msup><mo id="S5.SS3.SSS2.p5.1.m1.3.3.3.3.3.7" stretchy="false" xref="S5.SS3.SSS2.p5.1.m1.3.3.3.3.4.cmml">]</mo></mrow><mi id="S5.SS3.SSS2.p5.1.m1.3.3.3.5" mathvariant="normal" xref="S5.SS3.SSS2.p5.1.m1.3.3.3.5.cmml">T</mi></msup></mrow><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS2.p5.1.m1.3b"><apply id="S5.SS3.SSS2.p5.1.m1.3.3.cmml" xref="S5.SS3.SSS2.p5.1.m1.3.3"><eq id="S5.SS3.SSS2.p5.1.m1.3.3.4.cmml" xref="S5.SS3.SSS2.p5.1.m1.3.3.4"></eq><apply id="S5.SS3.SSS2.p5.1.m1.3.3.5.cmml" xref="S5.SS3.SSS2.p5.1.m1.3.3.5"><csymbol cd="ambiguous" id="S5.SS3.SSS2.p5.1.m1.3.3.5.1.cmml" xref="S5.SS3.SSS2.p5.1.m1.3.3.5">superscript</csymbol><ci id="S5.SS3.SSS2.p5.1.m1.3.3.5.2.cmml" xref="S5.SS3.SSS2.p5.1.m1.3.3.5.2">𝐪</ci><ci id="S5.SS3.SSS2.p5.1.m1.3.3.5.3.cmml" xref="S5.SS3.SSS2.p5.1.m1.3.3.5.3">𝑑</ci></apply><apply id="S5.SS3.SSS2.p5.1.m1.3.3.3.cmml" xref="S5.SS3.SSS2.p5.1.m1.3.3.3"><csymbol cd="ambiguous" id="S5.SS3.SSS2.p5.1.m1.3.3.3.4.cmml" xref="S5.SS3.SSS2.p5.1.m1.3.3.3">superscript</csymbol><list id="S5.SS3.SSS2.p5.1.m1.3.3.3.3.4.cmml" xref="S5.SS3.SSS2.p5.1.m1.3.3.3.3.3"><apply id="S5.SS3.SSS2.p5.1.m1.1.1.1.1.1.1.cmml" xref="S5.SS3.SSS2.p5.1.m1.1.1.1.1.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS2.p5.1.m1.1.1.1.1.1.1.1.cmml" xref="S5.SS3.SSS2.p5.1.m1.1.1.1.1.1.1">superscript</csymbol><ci id="S5.SS3.SSS2.p5.1.m1.1.1.1.1.1.1.2.cmml" xref="S5.SS3.SSS2.p5.1.m1.1.1.1.1.1.1.2">𝑥</ci><ci id="S5.SS3.SSS2.p5.1.m1.1.1.1.1.1.1.3.cmml" xref="S5.SS3.SSS2.p5.1.m1.1.1.1.1.1.1.3">𝑑</ci></apply><apply id="S5.SS3.SSS2.p5.1.m1.2.2.2.2.2.2.cmml" xref="S5.SS3.SSS2.p5.1.m1.2.2.2.2.2.2"><csymbol cd="ambiguous" id="S5.SS3.SSS2.p5.1.m1.2.2.2.2.2.2.1.cmml" xref="S5.SS3.SSS2.p5.1.m1.2.2.2.2.2.2">superscript</csymbol><ci id="S5.SS3.SSS2.p5.1.m1.2.2.2.2.2.2.2.cmml" xref="S5.SS3.SSS2.p5.1.m1.2.2.2.2.2.2.2">𝑦</ci><ci id="S5.SS3.SSS2.p5.1.m1.2.2.2.2.2.2.3.cmml" xref="S5.SS3.SSS2.p5.1.m1.2.2.2.2.2.2.3">𝑑</ci></apply><apply id="S5.SS3.SSS2.p5.1.m1.3.3.3.3.3.3.cmml" xref="S5.SS3.SSS2.p5.1.m1.3.3.3.3.3.3"><csymbol cd="ambiguous" id="S5.SS3.SSS2.p5.1.m1.3.3.3.3.3.3.1.cmml" xref="S5.SS3.SSS2.p5.1.m1.3.3.3.3.3.3">superscript</csymbol><ci id="S5.SS3.SSS2.p5.1.m1.3.3.3.3.3.3.2.cmml" xref="S5.SS3.SSS2.p5.1.m1.3.3.3.3.3.3.2">𝜃</ci><ci id="S5.SS3.SSS2.p5.1.m1.3.3.3.3.3.3.3.cmml" xref="S5.SS3.SSS2.p5.1.m1.3.3.3.3.3.3.3">𝑑</ci></apply></list><ci id="S5.SS3.SSS2.p5.1.m1.3.3.3.5.cmml" xref="S5.SS3.SSS2.p5.1.m1.3.3.3.5">T</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS2.p5.1.m1.3c">{\mathbf{q}^{d}}=[x^{d},y^{d},\theta^{d}]^{\mathrm{T}}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS2.p5.1.m1.3d">bold_q start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = [ italic_x start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_y start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_θ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT</annotation></semantics></math>, which corresponds to the input of the vehicle base control structure described in (<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.E4" title="In 5.3.1 Cascaded control ‣ 5.3 Motion Planning and Control ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">4</span></a>)-(<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.E6" title="In 5.3.1 Cascaded control ‣ 5.3 Motion Planning and Control ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">6</span></a>). The position of the virtual reference vehicle is calculated by identifying the closest pose on the path to the actual vehicle pose <math alttext="{\mathbf{q}_{F/R}}=[x_{F/R},y_{F/R},\theta_{F/R}]^{\mathrm{T}}" class="ltx_Math" display="inline" id="S5.SS3.SSS2.p5.2.m2.3"><semantics id="S5.SS3.SSS2.p5.2.m2.3a"><mrow id="S5.SS3.SSS2.p5.2.m2.3.3" xref="S5.SS3.SSS2.p5.2.m2.3.3.cmml"><msub id="S5.SS3.SSS2.p5.2.m2.3.3.5" xref="S5.SS3.SSS2.p5.2.m2.3.3.5.cmml"><mi id="S5.SS3.SSS2.p5.2.m2.3.3.5.2" xref="S5.SS3.SSS2.p5.2.m2.3.3.5.2.cmml">𝐪</mi><mrow id="S5.SS3.SSS2.p5.2.m2.3.3.5.3" xref="S5.SS3.SSS2.p5.2.m2.3.3.5.3.cmml"><mi id="S5.SS3.SSS2.p5.2.m2.3.3.5.3.2" xref="S5.SS3.SSS2.p5.2.m2.3.3.5.3.2.cmml">F</mi><mo id="S5.SS3.SSS2.p5.2.m2.3.3.5.3.1" xref="S5.SS3.SSS2.p5.2.m2.3.3.5.3.1.cmml">/</mo><mi id="S5.SS3.SSS2.p5.2.m2.3.3.5.3.3" xref="S5.SS3.SSS2.p5.2.m2.3.3.5.3.3.cmml">R</mi></mrow></msub><mo id="S5.SS3.SSS2.p5.2.m2.3.3.4" xref="S5.SS3.SSS2.p5.2.m2.3.3.4.cmml">=</mo><msup id="S5.SS3.SSS2.p5.2.m2.3.3.3" xref="S5.SS3.SSS2.p5.2.m2.3.3.3.cmml"><mrow id="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3" xref="S5.SS3.SSS2.p5.2.m2.3.3.3.3.4.cmml"><mo id="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.4" stretchy="false" xref="S5.SS3.SSS2.p5.2.m2.3.3.3.3.4.cmml">[</mo><msub id="S5.SS3.SSS2.p5.2.m2.1.1.1.1.1.1" xref="S5.SS3.SSS2.p5.2.m2.1.1.1.1.1.1.cmml"><mi id="S5.SS3.SSS2.p5.2.m2.1.1.1.1.1.1.2" xref="S5.SS3.SSS2.p5.2.m2.1.1.1.1.1.1.2.cmml">x</mi><mrow id="S5.SS3.SSS2.p5.2.m2.1.1.1.1.1.1.3" xref="S5.SS3.SSS2.p5.2.m2.1.1.1.1.1.1.3.cmml"><mi id="S5.SS3.SSS2.p5.2.m2.1.1.1.1.1.1.3.2" xref="S5.SS3.SSS2.p5.2.m2.1.1.1.1.1.1.3.2.cmml">F</mi><mo id="S5.SS3.SSS2.p5.2.m2.1.1.1.1.1.1.3.1" xref="S5.SS3.SSS2.p5.2.m2.1.1.1.1.1.1.3.1.cmml">/</mo><mi id="S5.SS3.SSS2.p5.2.m2.1.1.1.1.1.1.3.3" xref="S5.SS3.SSS2.p5.2.m2.1.1.1.1.1.1.3.3.cmml">R</mi></mrow></msub><mo id="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.5" xref="S5.SS3.SSS2.p5.2.m2.3.3.3.3.4.cmml">,</mo><msub id="S5.SS3.SSS2.p5.2.m2.2.2.2.2.2.2" xref="S5.SS3.SSS2.p5.2.m2.2.2.2.2.2.2.cmml"><mi id="S5.SS3.SSS2.p5.2.m2.2.2.2.2.2.2.2" xref="S5.SS3.SSS2.p5.2.m2.2.2.2.2.2.2.2.cmml">y</mi><mrow id="S5.SS3.SSS2.p5.2.m2.2.2.2.2.2.2.3" xref="S5.SS3.SSS2.p5.2.m2.2.2.2.2.2.2.3.cmml"><mi id="S5.SS3.SSS2.p5.2.m2.2.2.2.2.2.2.3.2" xref="S5.SS3.SSS2.p5.2.m2.2.2.2.2.2.2.3.2.cmml">F</mi><mo id="S5.SS3.SSS2.p5.2.m2.2.2.2.2.2.2.3.1" xref="S5.SS3.SSS2.p5.2.m2.2.2.2.2.2.2.3.1.cmml">/</mo><mi id="S5.SS3.SSS2.p5.2.m2.2.2.2.2.2.2.3.3" xref="S5.SS3.SSS2.p5.2.m2.2.2.2.2.2.2.3.3.cmml">R</mi></mrow></msub><mo id="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.6" xref="S5.SS3.SSS2.p5.2.m2.3.3.3.3.4.cmml">,</mo><msub id="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.3" xref="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.3.cmml"><mi id="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.3.2" xref="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.3.2.cmml">θ</mi><mrow id="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.3.3" xref="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.3.3.cmml"><mi id="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.3.3.2" xref="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.3.3.2.cmml">F</mi><mo id="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.3.3.1" xref="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.3.3.1.cmml">/</mo><mi id="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.3.3.3" xref="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.3.3.3.cmml">R</mi></mrow></msub><mo id="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.7" stretchy="false" xref="S5.SS3.SSS2.p5.2.m2.3.3.3.3.4.cmml">]</mo></mrow><mi id="S5.SS3.SSS2.p5.2.m2.3.3.3.5" mathvariant="normal" xref="S5.SS3.SSS2.p5.2.m2.3.3.3.5.cmml">T</mi></msup></mrow><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS2.p5.2.m2.3b"><apply id="S5.SS3.SSS2.p5.2.m2.3.3.cmml" xref="S5.SS3.SSS2.p5.2.m2.3.3"><eq id="S5.SS3.SSS2.p5.2.m2.3.3.4.cmml" xref="S5.SS3.SSS2.p5.2.m2.3.3.4"></eq><apply id="S5.SS3.SSS2.p5.2.m2.3.3.5.cmml" xref="S5.SS3.SSS2.p5.2.m2.3.3.5"><csymbol cd="ambiguous" id="S5.SS3.SSS2.p5.2.m2.3.3.5.1.cmml" xref="S5.SS3.SSS2.p5.2.m2.3.3.5">subscript</csymbol><ci id="S5.SS3.SSS2.p5.2.m2.3.3.5.2.cmml" xref="S5.SS3.SSS2.p5.2.m2.3.3.5.2">𝐪</ci><apply id="S5.SS3.SSS2.p5.2.m2.3.3.5.3.cmml" xref="S5.SS3.SSS2.p5.2.m2.3.3.5.3"><divide id="S5.SS3.SSS2.p5.2.m2.3.3.5.3.1.cmml" xref="S5.SS3.SSS2.p5.2.m2.3.3.5.3.1"></divide><ci id="S5.SS3.SSS2.p5.2.m2.3.3.5.3.2.cmml" xref="S5.SS3.SSS2.p5.2.m2.3.3.5.3.2">𝐹</ci><ci id="S5.SS3.SSS2.p5.2.m2.3.3.5.3.3.cmml" xref="S5.SS3.SSS2.p5.2.m2.3.3.5.3.3">𝑅</ci></apply></apply><apply id="S5.SS3.SSS2.p5.2.m2.3.3.3.cmml" xref="S5.SS3.SSS2.p5.2.m2.3.3.3"><csymbol cd="ambiguous" id="S5.SS3.SSS2.p5.2.m2.3.3.3.4.cmml" xref="S5.SS3.SSS2.p5.2.m2.3.3.3">superscript</csymbol><list id="S5.SS3.SSS2.p5.2.m2.3.3.3.3.4.cmml" xref="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3"><apply id="S5.SS3.SSS2.p5.2.m2.1.1.1.1.1.1.cmml" xref="S5.SS3.SSS2.p5.2.m2.1.1.1.1.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS2.p5.2.m2.1.1.1.1.1.1.1.cmml" xref="S5.SS3.SSS2.p5.2.m2.1.1.1.1.1.1">subscript</csymbol><ci id="S5.SS3.SSS2.p5.2.m2.1.1.1.1.1.1.2.cmml" xref="S5.SS3.SSS2.p5.2.m2.1.1.1.1.1.1.2">𝑥</ci><apply id="S5.SS3.SSS2.p5.2.m2.1.1.1.1.1.1.3.cmml" xref="S5.SS3.SSS2.p5.2.m2.1.1.1.1.1.1.3"><divide id="S5.SS3.SSS2.p5.2.m2.1.1.1.1.1.1.3.1.cmml" xref="S5.SS3.SSS2.p5.2.m2.1.1.1.1.1.1.3.1"></divide><ci id="S5.SS3.SSS2.p5.2.m2.1.1.1.1.1.1.3.2.cmml" xref="S5.SS3.SSS2.p5.2.m2.1.1.1.1.1.1.3.2">𝐹</ci><ci id="S5.SS3.SSS2.p5.2.m2.1.1.1.1.1.1.3.3.cmml" xref="S5.SS3.SSS2.p5.2.m2.1.1.1.1.1.1.3.3">𝑅</ci></apply></apply><apply id="S5.SS3.SSS2.p5.2.m2.2.2.2.2.2.2.cmml" xref="S5.SS3.SSS2.p5.2.m2.2.2.2.2.2.2"><csymbol cd="ambiguous" id="S5.SS3.SSS2.p5.2.m2.2.2.2.2.2.2.1.cmml" xref="S5.SS3.SSS2.p5.2.m2.2.2.2.2.2.2">subscript</csymbol><ci id="S5.SS3.SSS2.p5.2.m2.2.2.2.2.2.2.2.cmml" xref="S5.SS3.SSS2.p5.2.m2.2.2.2.2.2.2.2">𝑦</ci><apply id="S5.SS3.SSS2.p5.2.m2.2.2.2.2.2.2.3.cmml" xref="S5.SS3.SSS2.p5.2.m2.2.2.2.2.2.2.3"><divide id="S5.SS3.SSS2.p5.2.m2.2.2.2.2.2.2.3.1.cmml" xref="S5.SS3.SSS2.p5.2.m2.2.2.2.2.2.2.3.1"></divide><ci id="S5.SS3.SSS2.p5.2.m2.2.2.2.2.2.2.3.2.cmml" xref="S5.SS3.SSS2.p5.2.m2.2.2.2.2.2.2.3.2">𝐹</ci><ci id="S5.SS3.SSS2.p5.2.m2.2.2.2.2.2.2.3.3.cmml" xref="S5.SS3.SSS2.p5.2.m2.2.2.2.2.2.2.3.3">𝑅</ci></apply></apply><apply id="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.3.cmml" xref="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.3"><csymbol cd="ambiguous" id="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.3.1.cmml" xref="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.3">subscript</csymbol><ci id="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.3.2.cmml" xref="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.3.2">𝜃</ci><apply id="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.3.3.cmml" xref="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.3.3"><divide id="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.3.3.1.cmml" xref="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.3.3.1"></divide><ci id="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.3.3.2.cmml" xref="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.3.3.2">𝐹</ci><ci id="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.3.3.3.cmml" xref="S5.SS3.SSS2.p5.2.m2.3.3.3.3.3.3.3.3">𝑅</ci></apply></apply></list><ci id="S5.SS3.SSS2.p5.2.m2.3.3.3.5.cmml" xref="S5.SS3.SSS2.p5.2.m2.3.3.3.5">T</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS2.p5.2.m2.3c">{\mathbf{q}_{F/R}}=[x_{F/R},y_{F/R},\theta_{F/R}]^{\mathrm{T}}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS2.p5.2.m2.3d">bold_q start_POSTSUBSCRIPT italic_F / italic_R end_POSTSUBSCRIPT = [ italic_x start_POSTSUBSCRIPT italic_F / italic_R end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_F / italic_R end_POSTSUBSCRIPT , italic_θ start_POSTSUBSCRIPT italic_F / italic_R end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT</annotation></semantics></math>, depending on forward (F) or reverse (R) driving and, from this pose on, simulating a movement along the path for a specified look-ahead distance. This distance determines how far ahead the vehicle anticipates along the path, balancing responsiveness and stability for smooth and accurate path following. The pose resulting in the path after this simulated movement serves as the reference pose <math alttext="{\mathbf{q}^{d}}" class="ltx_Math" display="inline" id="S5.SS3.SSS2.p5.3.m3.1"><semantics id="S5.SS3.SSS2.p5.3.m3.1a"><msup id="S5.SS3.SSS2.p5.3.m3.1.1" xref="S5.SS3.SSS2.p5.3.m3.1.1.cmml"><mi id="S5.SS3.SSS2.p5.3.m3.1.1.2" xref="S5.SS3.SSS2.p5.3.m3.1.1.2.cmml">𝐪</mi><mi id="S5.SS3.SSS2.p5.3.m3.1.1.3" xref="S5.SS3.SSS2.p5.3.m3.1.1.3.cmml">d</mi></msup><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS2.p5.3.m3.1b"><apply id="S5.SS3.SSS2.p5.3.m3.1.1.cmml" xref="S5.SS3.SSS2.p5.3.m3.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS2.p5.3.m3.1.1.1.cmml" xref="S5.SS3.SSS2.p5.3.m3.1.1">superscript</csymbol><ci id="S5.SS3.SSS2.p5.3.m3.1.1.2.cmml" xref="S5.SS3.SSS2.p5.3.m3.1.1.2">𝐪</ci><ci id="S5.SS3.SSS2.p5.3.m3.1.1.3.cmml" xref="S5.SS3.SSS2.p5.3.m3.1.1.3">𝑑</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS2.p5.3.m3.1c">{\mathbf{q}^{d}}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS2.p5.3.m3.1d">bold_q start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT</annotation></semantics></math> for tracking the path.</p> </div> <div class="ltx_para" id="S5.SS3.SSS2.p6"> <p class="ltx_p" id="S5.SS3.SSS2.p6.2">Since the forklift is designed to operate in both forward and reverse driving directions and the implemented path tracking control law is designed for uni-directional movement, the bi-directional path following approach employs a multi-stage approach. The bi-directional path consists of segments, separated by turning poses, with alternating movement direction. Therefore, the respective vehicle pose also alternates between the front <math alttext="\mathbf{q}_{F}" class="ltx_Math" display="inline" id="S5.SS3.SSS2.p6.1.m1.1"><semantics id="S5.SS3.SSS2.p6.1.m1.1a"><msub id="S5.SS3.SSS2.p6.1.m1.1.1" xref="S5.SS3.SSS2.p6.1.m1.1.1.cmml"><mi id="S5.SS3.SSS2.p6.1.m1.1.1.2" xref="S5.SS3.SSS2.p6.1.m1.1.1.2.cmml">𝐪</mi><mi id="S5.SS3.SSS2.p6.1.m1.1.1.3" xref="S5.SS3.SSS2.p6.1.m1.1.1.3.cmml">F</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS2.p6.1.m1.1b"><apply id="S5.SS3.SSS2.p6.1.m1.1.1.cmml" xref="S5.SS3.SSS2.p6.1.m1.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS2.p6.1.m1.1.1.1.cmml" xref="S5.SS3.SSS2.p6.1.m1.1.1">subscript</csymbol><ci id="S5.SS3.SSS2.p6.1.m1.1.1.2.cmml" xref="S5.SS3.SSS2.p6.1.m1.1.1.2">𝐪</ci><ci id="S5.SS3.SSS2.p6.1.m1.1.1.3.cmml" xref="S5.SS3.SSS2.p6.1.m1.1.1.3">𝐹</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS2.p6.1.m1.1c">\mathbf{q}_{F}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS2.p6.1.m1.1d">bold_q start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT</annotation></semantics></math> and the rear axle <math alttext="\mathbf{q}_{R}" class="ltx_Math" display="inline" id="S5.SS3.SSS2.p6.2.m2.1"><semantics id="S5.SS3.SSS2.p6.2.m2.1a"><msub id="S5.SS3.SSS2.p6.2.m2.1.1" xref="S5.SS3.SSS2.p6.2.m2.1.1.cmml"><mi id="S5.SS3.SSS2.p6.2.m2.1.1.2" xref="S5.SS3.SSS2.p6.2.m2.1.1.2.cmml">𝐪</mi><mi id="S5.SS3.SSS2.p6.2.m2.1.1.3" xref="S5.SS3.SSS2.p6.2.m2.1.1.3.cmml">R</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS2.p6.2.m2.1b"><apply id="S5.SS3.SSS2.p6.2.m2.1.1.cmml" xref="S5.SS3.SSS2.p6.2.m2.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS2.p6.2.m2.1.1.1.cmml" xref="S5.SS3.SSS2.p6.2.m2.1.1">subscript</csymbol><ci id="S5.SS3.SSS2.p6.2.m2.1.1.2.cmml" xref="S5.SS3.SSS2.p6.2.m2.1.1.2">𝐪</ci><ci id="S5.SS3.SSS2.p6.2.m2.1.1.3.cmml" xref="S5.SS3.SSS2.p6.2.m2.1.1.3">𝑅</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS2.p6.2.m2.1c">\mathbf{q}_{R}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS2.p6.2.m2.1d">bold_q start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT</annotation></semantics></math>. This approach is facilitated by the forklift’s symmetric geometry and smooth transitions between the segments are handled by the behavior tree. An example of bi-directional path following, including a turning pose, is shown in Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.F18" title="Figure 18 ‣ 5.3.2 Navigation ‣ 5.3 Motion Planning and Control ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">18</span></a>.</p> </div> <div class="ltx_para" id="S5.SS3.SSS2.p7"> <p class="ltx_p" id="S5.SS3.SSS2.p7.2">In addition to controlling the vehicle base, the path-following module utilizes the simplified fork control loop, see Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.F16" title="Figure 16 ‣ 5.3.1 Cascaded control ‣ 5.3 Motion Planning and Control ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">16</span></a>b, without FTT) to ensure that the forks maintain a safe height and angle, particularly when transporting a load. This is achieved by directly applying the predefined setpoint values <math alttext="l^{d},s^{d}" class="ltx_Math" display="inline" id="S5.SS3.SSS2.p7.1.m1.2"><semantics id="S5.SS3.SSS2.p7.1.m1.2a"><mrow id="S5.SS3.SSS2.p7.1.m1.2.2.2" xref="S5.SS3.SSS2.p7.1.m1.2.2.3.cmml"><msup id="S5.SS3.SSS2.p7.1.m1.1.1.1.1" xref="S5.SS3.SSS2.p7.1.m1.1.1.1.1.cmml"><mi id="S5.SS3.SSS2.p7.1.m1.1.1.1.1.2" xref="S5.SS3.SSS2.p7.1.m1.1.1.1.1.2.cmml">l</mi><mi id="S5.SS3.SSS2.p7.1.m1.1.1.1.1.3" xref="S5.SS3.SSS2.p7.1.m1.1.1.1.1.3.cmml">d</mi></msup><mo id="S5.SS3.SSS2.p7.1.m1.2.2.2.3" xref="S5.SS3.SSS2.p7.1.m1.2.2.3.cmml">,</mo><msup id="S5.SS3.SSS2.p7.1.m1.2.2.2.2" xref="S5.SS3.SSS2.p7.1.m1.2.2.2.2.cmml"><mi id="S5.SS3.SSS2.p7.1.m1.2.2.2.2.2" xref="S5.SS3.SSS2.p7.1.m1.2.2.2.2.2.cmml">s</mi><mi id="S5.SS3.SSS2.p7.1.m1.2.2.2.2.3" xref="S5.SS3.SSS2.p7.1.m1.2.2.2.2.3.cmml">d</mi></msup></mrow><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS2.p7.1.m1.2b"><list id="S5.SS3.SSS2.p7.1.m1.2.2.3.cmml" xref="S5.SS3.SSS2.p7.1.m1.2.2.2"><apply id="S5.SS3.SSS2.p7.1.m1.1.1.1.1.cmml" xref="S5.SS3.SSS2.p7.1.m1.1.1.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS2.p7.1.m1.1.1.1.1.1.cmml" xref="S5.SS3.SSS2.p7.1.m1.1.1.1.1">superscript</csymbol><ci id="S5.SS3.SSS2.p7.1.m1.1.1.1.1.2.cmml" xref="S5.SS3.SSS2.p7.1.m1.1.1.1.1.2">𝑙</ci><ci id="S5.SS3.SSS2.p7.1.m1.1.1.1.1.3.cmml" xref="S5.SS3.SSS2.p7.1.m1.1.1.1.1.3">𝑑</ci></apply><apply id="S5.SS3.SSS2.p7.1.m1.2.2.2.2.cmml" xref="S5.SS3.SSS2.p7.1.m1.2.2.2.2"><csymbol cd="ambiguous" id="S5.SS3.SSS2.p7.1.m1.2.2.2.2.1.cmml" xref="S5.SS3.SSS2.p7.1.m1.2.2.2.2">superscript</csymbol><ci id="S5.SS3.SSS2.p7.1.m1.2.2.2.2.2.cmml" xref="S5.SS3.SSS2.p7.1.m1.2.2.2.2.2">𝑠</ci><ci id="S5.SS3.SSS2.p7.1.m1.2.2.2.2.3.cmml" xref="S5.SS3.SSS2.p7.1.m1.2.2.2.2.3">𝑑</ci></apply></list></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS2.p7.1.m1.2c">l^{d},s^{d}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS2.p7.1.m1.2d">italic_l start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_s start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT</annotation></semantics></math> and <math alttext="\beta^{d}" class="ltx_Math" display="inline" id="S5.SS3.SSS2.p7.2.m2.1"><semantics id="S5.SS3.SSS2.p7.2.m2.1a"><msup id="S5.SS3.SSS2.p7.2.m2.1.1" xref="S5.SS3.SSS2.p7.2.m2.1.1.cmml"><mi id="S5.SS3.SSS2.p7.2.m2.1.1.2" xref="S5.SS3.SSS2.p7.2.m2.1.1.2.cmml">β</mi><mi id="S5.SS3.SSS2.p7.2.m2.1.1.3" xref="S5.SS3.SSS2.p7.2.m2.1.1.3.cmml">d</mi></msup><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS2.p7.2.m2.1b"><apply id="S5.SS3.SSS2.p7.2.m2.1.1.cmml" xref="S5.SS3.SSS2.p7.2.m2.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS2.p7.2.m2.1.1.1.cmml" xref="S5.SS3.SSS2.p7.2.m2.1.1">superscript</csymbol><ci id="S5.SS3.SSS2.p7.2.m2.1.1.2.cmml" xref="S5.SS3.SSS2.p7.2.m2.1.1.2">𝛽</ci><ci id="S5.SS3.SSS2.p7.2.m2.1.1.3.cmml" xref="S5.SS3.SSS2.p7.2.m2.1.1.3">𝑑</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS2.p7.2.m2.1c">\beta^{d}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS2.p7.2.m2.1d">italic_β start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT</annotation></semantics></math> for the respective joints.</p> </div> </section> <section class="ltx_subsubsection" id="S5.SS3.SSS3"> <h4 class="ltx_title ltx_title_subsubsection"> <span class="ltx_tag ltx_tag_subsubsection">5.3.3 </span>Manipulation</h4> <div class="ltx_para" id="S5.SS3.SSS3.p1"> <p class="ltx_p" id="S5.SS3.SSS3.p1.2">The <span class="ltx_text ltx_font_italic" id="S5.SS3.SSS3.p1.2.1">Manipulation</span> action involves the correct pick-up and drop-off of the pallets. The high-level task planning framework controls this action by selecting a suitable target pallet based on spatial proximity and accessibility and then executing a controlled approach. To ensure correct pallet pickup, both the vehicle base and fork cascaded control loops from Section <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.SS3.SSS1" title="5.3.1 Cascaded control ‣ 5.3 Motion Planning and Control ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">5.3.1</span></a> are necessary. The aim is to minimize the error between the pallet pose and the vehicle’s rear axle. The target pose for the vehicle base control is now the center of the front face of the pallet (<math alttext="\mathbf{q}^{d}=\mathbf{q}_{P}" class="ltx_Math" display="inline" id="S5.SS3.SSS3.p1.1.m1.1"><semantics id="S5.SS3.SSS3.p1.1.m1.1a"><mrow id="S5.SS3.SSS3.p1.1.m1.1.1" xref="S5.SS3.SSS3.p1.1.m1.1.1.cmml"><msup id="S5.SS3.SSS3.p1.1.m1.1.1.2" xref="S5.SS3.SSS3.p1.1.m1.1.1.2.cmml"><mi id="S5.SS3.SSS3.p1.1.m1.1.1.2.2" xref="S5.SS3.SSS3.p1.1.m1.1.1.2.2.cmml">𝐪</mi><mi id="S5.SS3.SSS3.p1.1.m1.1.1.2.3" xref="S5.SS3.SSS3.p1.1.m1.1.1.2.3.cmml">d</mi></msup><mo id="S5.SS3.SSS3.p1.1.m1.1.1.1" xref="S5.SS3.SSS3.p1.1.m1.1.1.1.cmml">=</mo><msub id="S5.SS3.SSS3.p1.1.m1.1.1.3" xref="S5.SS3.SSS3.p1.1.m1.1.1.3.cmml"><mi id="S5.SS3.SSS3.p1.1.m1.1.1.3.2" xref="S5.SS3.SSS3.p1.1.m1.1.1.3.2.cmml">𝐪</mi><mi id="S5.SS3.SSS3.p1.1.m1.1.1.3.3" xref="S5.SS3.SSS3.p1.1.m1.1.1.3.3.cmml">P</mi></msub></mrow><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS3.p1.1.m1.1b"><apply id="S5.SS3.SSS3.p1.1.m1.1.1.cmml" xref="S5.SS3.SSS3.p1.1.m1.1.1"><eq id="S5.SS3.SSS3.p1.1.m1.1.1.1.cmml" xref="S5.SS3.SSS3.p1.1.m1.1.1.1"></eq><apply id="S5.SS3.SSS3.p1.1.m1.1.1.2.cmml" xref="S5.SS3.SSS3.p1.1.m1.1.1.2"><csymbol cd="ambiguous" id="S5.SS3.SSS3.p1.1.m1.1.1.2.1.cmml" xref="S5.SS3.SSS3.p1.1.m1.1.1.2">superscript</csymbol><ci id="S5.SS3.SSS3.p1.1.m1.1.1.2.2.cmml" xref="S5.SS3.SSS3.p1.1.m1.1.1.2.2">𝐪</ci><ci id="S5.SS3.SSS3.p1.1.m1.1.1.2.3.cmml" xref="S5.SS3.SSS3.p1.1.m1.1.1.2.3">𝑑</ci></apply><apply id="S5.SS3.SSS3.p1.1.m1.1.1.3.cmml" xref="S5.SS3.SSS3.p1.1.m1.1.1.3"><csymbol cd="ambiguous" id="S5.SS3.SSS3.p1.1.m1.1.1.3.1.cmml" xref="S5.SS3.SSS3.p1.1.m1.1.1.3">subscript</csymbol><ci id="S5.SS3.SSS3.p1.1.m1.1.1.3.2.cmml" xref="S5.SS3.SSS3.p1.1.m1.1.1.3.2">𝐪</ci><ci id="S5.SS3.SSS3.p1.1.m1.1.1.3.3.cmml" xref="S5.SS3.SSS3.p1.1.m1.1.1.3.3">𝑃</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS3.p1.1.m1.1c">\mathbf{q}^{d}=\mathbf{q}_{P}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS3.p1.1.m1.1d">bold_q start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = bold_q start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT</annotation></semantics></math>) and the vehicle origin is the center of the rear axle <math alttext="\mathbf{q}_{R}" class="ltx_Math" display="inline" id="S5.SS3.SSS3.p1.2.m2.1"><semantics id="S5.SS3.SSS3.p1.2.m2.1a"><msub id="S5.SS3.SSS3.p1.2.m2.1.1" xref="S5.SS3.SSS3.p1.2.m2.1.1.cmml"><mi id="S5.SS3.SSS3.p1.2.m2.1.1.2" xref="S5.SS3.SSS3.p1.2.m2.1.1.2.cmml">𝐪</mi><mi id="S5.SS3.SSS3.p1.2.m2.1.1.3" xref="S5.SS3.SSS3.p1.2.m2.1.1.3.cmml">R</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS3.p1.2.m2.1b"><apply id="S5.SS3.SSS3.p1.2.m2.1.1.cmml" xref="S5.SS3.SSS3.p1.2.m2.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS3.p1.2.m2.1.1.1.cmml" xref="S5.SS3.SSS3.p1.2.m2.1.1">subscript</csymbol><ci id="S5.SS3.SSS3.p1.2.m2.1.1.2.cmml" xref="S5.SS3.SSS3.p1.2.m2.1.1.2">𝐪</ci><ci id="S5.SS3.SSS3.p1.2.m2.1.1.3.cmml" xref="S5.SS3.SSS3.p1.2.m2.1.1.3">𝑅</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS3.p1.2.m2.1c">\mathbf{q}_{R}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS3.p1.2.m2.1d">bold_q start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT</annotation></semantics></math><span class="ltx_note ltx_role_footnote" id="footnote6"><sup class="ltx_note_mark">6</sup><span class="ltx_note_outer"><span class="ltx_note_content"><sup class="ltx_note_mark">6</sup><span class="ltx_tag ltx_tag_note">6</span>Remember that the forks are mounted at the rear of the vehicle.</span></span></span>, as illustrated in Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.F19.sf2" title="In Figure 19 ‣ 5.3.2 Navigation ‣ 5.3 Motion Planning and Control ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">19(b)</span></a>.</p> </div> <div class="ltx_para" id="S5.SS3.SSS3.p2"> <p class="ltx_p" id="S5.SS3.SSS3.p2.3">During the pallet approach phase, the FTT component from Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.F16" title="Figure 16 ‣ 5.3.1 Cascaded control ‣ 5.3 Motion Planning and Control ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">16</span></a>b is crucial to align the fork tips with the pallet openings, before and while the vehicle is moving onto the pallet. The reverse action of placing the pallet follows a process similar to pickup. Here, a virtual pallet called <span class="ltx_text ltx_font_italic" id="S5.SS3.SSS3.p2.3.1">slot</span> defines the target location, guiding the system to the desired position. Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.F20" title="Figure 20 ‣ 5.3.3 Manipulation ‣ 5.3 Motion Planning and Control ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">20</span></a> illustrates data from a successful pallet manipulation maneuver, showing the process of placing a pallet into a slot on the truck. The critical moment for loading the pallet, highlighted by a dashed gray line, occurs when the fork tips reach the front of the (virtual) pallet, and the forks must properly engage with the pallet pockets. The vehicle stops moving (<math alttext="v^{d}=0" class="ltx_Math" display="inline" id="S5.SS3.SSS3.p2.1.m1.1"><semantics id="S5.SS3.SSS3.p2.1.m1.1a"><mrow id="S5.SS3.SSS3.p2.1.m1.1.1" xref="S5.SS3.SSS3.p2.1.m1.1.1.cmml"><msup id="S5.SS3.SSS3.p2.1.m1.1.1.2" xref="S5.SS3.SSS3.p2.1.m1.1.1.2.cmml"><mi id="S5.SS3.SSS3.p2.1.m1.1.1.2.2" xref="S5.SS3.SSS3.p2.1.m1.1.1.2.2.cmml">v</mi><mi id="S5.SS3.SSS3.p2.1.m1.1.1.2.3" xref="S5.SS3.SSS3.p2.1.m1.1.1.2.3.cmml">d</mi></msup><mo id="S5.SS3.SSS3.p2.1.m1.1.1.1" xref="S5.SS3.SSS3.p2.1.m1.1.1.1.cmml">=</mo><mn id="S5.SS3.SSS3.p2.1.m1.1.1.3" xref="S5.SS3.SSS3.p2.1.m1.1.1.3.cmml">0</mn></mrow><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS3.p2.1.m1.1b"><apply id="S5.SS3.SSS3.p2.1.m1.1.1.cmml" xref="S5.SS3.SSS3.p2.1.m1.1.1"><eq id="S5.SS3.SSS3.p2.1.m1.1.1.1.cmml" xref="S5.SS3.SSS3.p2.1.m1.1.1.1"></eq><apply id="S5.SS3.SSS3.p2.1.m1.1.1.2.cmml" xref="S5.SS3.SSS3.p2.1.m1.1.1.2"><csymbol cd="ambiguous" id="S5.SS3.SSS3.p2.1.m1.1.1.2.1.cmml" xref="S5.SS3.SSS3.p2.1.m1.1.1.2">superscript</csymbol><ci id="S5.SS3.SSS3.p2.1.m1.1.1.2.2.cmml" xref="S5.SS3.SSS3.p2.1.m1.1.1.2.2">𝑣</ci><ci id="S5.SS3.SSS3.p2.1.m1.1.1.2.3.cmml" xref="S5.SS3.SSS3.p2.1.m1.1.1.2.3">𝑑</ci></apply><cn id="S5.SS3.SSS3.p2.1.m1.1.1.3.cmml" type="integer" xref="S5.SS3.SSS3.p2.1.m1.1.1.3">0</cn></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS3.p2.1.m1.1c">v^{d}=0</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS3.p2.1.m1.1d">italic_v start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = 0</annotation></semantics></math>) at <math alttext="x_{P}^{\prime}=-d_{F}" class="ltx_Math" display="inline" id="S5.SS3.SSS3.p2.2.m2.1"><semantics id="S5.SS3.SSS3.p2.2.m2.1a"><mrow id="S5.SS3.SSS3.p2.2.m2.1.1" xref="S5.SS3.SSS3.p2.2.m2.1.1.cmml"><msubsup id="S5.SS3.SSS3.p2.2.m2.1.1.2" xref="S5.SS3.SSS3.p2.2.m2.1.1.2.cmml"><mi id="S5.SS3.SSS3.p2.2.m2.1.1.2.2.2" xref="S5.SS3.SSS3.p2.2.m2.1.1.2.2.2.cmml">x</mi><mi id="S5.SS3.SSS3.p2.2.m2.1.1.2.2.3" xref="S5.SS3.SSS3.p2.2.m2.1.1.2.2.3.cmml">P</mi><mo id="S5.SS3.SSS3.p2.2.m2.1.1.2.3" xref="S5.SS3.SSS3.p2.2.m2.1.1.2.3.cmml">′</mo></msubsup><mo id="S5.SS3.SSS3.p2.2.m2.1.1.1" xref="S5.SS3.SSS3.p2.2.m2.1.1.1.cmml">=</mo><mrow id="S5.SS3.SSS3.p2.2.m2.1.1.3" xref="S5.SS3.SSS3.p2.2.m2.1.1.3.cmml"><mo id="S5.SS3.SSS3.p2.2.m2.1.1.3a" xref="S5.SS3.SSS3.p2.2.m2.1.1.3.cmml">−</mo><msub id="S5.SS3.SSS3.p2.2.m2.1.1.3.2" xref="S5.SS3.SSS3.p2.2.m2.1.1.3.2.cmml"><mi id="S5.SS3.SSS3.p2.2.m2.1.1.3.2.2" xref="S5.SS3.SSS3.p2.2.m2.1.1.3.2.2.cmml">d</mi><mi id="S5.SS3.SSS3.p2.2.m2.1.1.3.2.3" xref="S5.SS3.SSS3.p2.2.m2.1.1.3.2.3.cmml">F</mi></msub></mrow></mrow><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS3.p2.2.m2.1b"><apply id="S5.SS3.SSS3.p2.2.m2.1.1.cmml" xref="S5.SS3.SSS3.p2.2.m2.1.1"><eq id="S5.SS3.SSS3.p2.2.m2.1.1.1.cmml" xref="S5.SS3.SSS3.p2.2.m2.1.1.1"></eq><apply id="S5.SS3.SSS3.p2.2.m2.1.1.2.cmml" xref="S5.SS3.SSS3.p2.2.m2.1.1.2"><csymbol cd="ambiguous" id="S5.SS3.SSS3.p2.2.m2.1.1.2.1.cmml" xref="S5.SS3.SSS3.p2.2.m2.1.1.2">superscript</csymbol><apply id="S5.SS3.SSS3.p2.2.m2.1.1.2.2.cmml" xref="S5.SS3.SSS3.p2.2.m2.1.1.2"><csymbol cd="ambiguous" id="S5.SS3.SSS3.p2.2.m2.1.1.2.2.1.cmml" xref="S5.SS3.SSS3.p2.2.m2.1.1.2">subscript</csymbol><ci id="S5.SS3.SSS3.p2.2.m2.1.1.2.2.2.cmml" xref="S5.SS3.SSS3.p2.2.m2.1.1.2.2.2">𝑥</ci><ci id="S5.SS3.SSS3.p2.2.m2.1.1.2.2.3.cmml" xref="S5.SS3.SSS3.p2.2.m2.1.1.2.2.3">𝑃</ci></apply><ci id="S5.SS3.SSS3.p2.2.m2.1.1.2.3.cmml" xref="S5.SS3.SSS3.p2.2.m2.1.1.2.3">′</ci></apply><apply id="S5.SS3.SSS3.p2.2.m2.1.1.3.cmml" xref="S5.SS3.SSS3.p2.2.m2.1.1.3"><minus id="S5.SS3.SSS3.p2.2.m2.1.1.3.1.cmml" xref="S5.SS3.SSS3.p2.2.m2.1.1.3"></minus><apply id="S5.SS3.SSS3.p2.2.m2.1.1.3.2.cmml" xref="S5.SS3.SSS3.p2.2.m2.1.1.3.2"><csymbol cd="ambiguous" id="S5.SS3.SSS3.p2.2.m2.1.1.3.2.1.cmml" xref="S5.SS3.SSS3.p2.2.m2.1.1.3.2">subscript</csymbol><ci id="S5.SS3.SSS3.p2.2.m2.1.1.3.2.2.cmml" xref="S5.SS3.SSS3.p2.2.m2.1.1.3.2.2">𝑑</ci><ci id="S5.SS3.SSS3.p2.2.m2.1.1.3.2.3.cmml" xref="S5.SS3.SSS3.p2.2.m2.1.1.3.2.3">𝐹</ci></apply></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS3.p2.2.m2.1c">x_{P}^{\prime}=-d_{F}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS3.p2.2.m2.1d">italic_x start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = - italic_d start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT</annotation></semantics></math>, where <math alttext="d_{F}" class="ltx_Math" display="inline" id="S5.SS3.SSS3.p2.3.m3.1"><semantics id="S5.SS3.SSS3.p2.3.m3.1a"><msub id="S5.SS3.SSS3.p2.3.m3.1.1" xref="S5.SS3.SSS3.p2.3.m3.1.1.cmml"><mi id="S5.SS3.SSS3.p2.3.m3.1.1.2" xref="S5.SS3.SSS3.p2.3.m3.1.1.2.cmml">d</mi><mi id="S5.SS3.SSS3.p2.3.m3.1.1.3" xref="S5.SS3.SSS3.p2.3.m3.1.1.3.cmml">F</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS3.p2.3.m3.1b"><apply id="S5.SS3.SSS3.p2.3.m3.1.1.cmml" xref="S5.SS3.SSS3.p2.3.m3.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS3.p2.3.m3.1.1.1.cmml" xref="S5.SS3.SSS3.p2.3.m3.1.1">subscript</csymbol><ci id="S5.SS3.SSS3.p2.3.m3.1.1.2.cmml" xref="S5.SS3.SSS3.p2.3.m3.1.1.2">𝑑</ci><ci id="S5.SS3.SSS3.p2.3.m3.1.1.3.cmml" xref="S5.SS3.SSS3.p2.3.m3.1.1.3">𝐹</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS3.p2.3.m3.1c">d_{F}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS3.p2.3.m3.1d">italic_d start_POSTSUBSCRIPT italic_F end_POSTSUBSCRIPT</annotation></semantics></math> corresponds to the length of the forks or if the fork-mounted laser sensor indicates successful pallet insertion.</p> </div> <figure class="ltx_figure" id="S5.F20"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_square" height="875" id="S5.F20.g1" src="x22.png" width="831"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S5.F20.6.3.1" style="font-size:90%;">Figure 20</span>: </span><span class="ltx_text" id="S5.F20.4.2" style="font-size:90%;">Exemplary data for placing a pallet in a slot on the truck. Cyan lines indicate setpoint signals, red lines measurements, and the gray dashed line marks the time when the fork tip reaches the front of the slot. The standstill time (<math alttext="\dot{x}^{\prime}_{P}=0" class="ltx_Math" display="inline" id="S5.F20.3.1.m1.1"><semantics id="S5.F20.3.1.m1.1b"><mrow id="S5.F20.3.1.m1.1.1" xref="S5.F20.3.1.m1.1.1.cmml"><msubsup id="S5.F20.3.1.m1.1.1.2" xref="S5.F20.3.1.m1.1.1.2.cmml"><mover accent="true" id="S5.F20.3.1.m1.1.1.2.2.2" xref="S5.F20.3.1.m1.1.1.2.2.2.cmml"><mi id="S5.F20.3.1.m1.1.1.2.2.2.2" xref="S5.F20.3.1.m1.1.1.2.2.2.2.cmml">x</mi><mo id="S5.F20.3.1.m1.1.1.2.2.2.1" xref="S5.F20.3.1.m1.1.1.2.2.2.1.cmml">˙</mo></mover><mi id="S5.F20.3.1.m1.1.1.2.3" xref="S5.F20.3.1.m1.1.1.2.3.cmml">P</mi><mo id="S5.F20.3.1.m1.1.1.2.2.3" xref="S5.F20.3.1.m1.1.1.2.2.3.cmml">′</mo></msubsup><mo id="S5.F20.3.1.m1.1.1.1" xref="S5.F20.3.1.m1.1.1.1.cmml">=</mo><mn id="S5.F20.3.1.m1.1.1.3" xref="S5.F20.3.1.m1.1.1.3.cmml">0</mn></mrow><annotation-xml encoding="MathML-Content" id="S5.F20.3.1.m1.1c"><apply id="S5.F20.3.1.m1.1.1.cmml" xref="S5.F20.3.1.m1.1.1"><eq id="S5.F20.3.1.m1.1.1.1.cmml" xref="S5.F20.3.1.m1.1.1.1"></eq><apply id="S5.F20.3.1.m1.1.1.2.cmml" xref="S5.F20.3.1.m1.1.1.2"><csymbol cd="ambiguous" id="S5.F20.3.1.m1.1.1.2.1.cmml" xref="S5.F20.3.1.m1.1.1.2">subscript</csymbol><apply id="S5.F20.3.1.m1.1.1.2.2.cmml" xref="S5.F20.3.1.m1.1.1.2"><csymbol cd="ambiguous" id="S5.F20.3.1.m1.1.1.2.2.1.cmml" xref="S5.F20.3.1.m1.1.1.2">superscript</csymbol><apply id="S5.F20.3.1.m1.1.1.2.2.2.cmml" xref="S5.F20.3.1.m1.1.1.2.2.2"><ci id="S5.F20.3.1.m1.1.1.2.2.2.1.cmml" xref="S5.F20.3.1.m1.1.1.2.2.2.1">˙</ci><ci id="S5.F20.3.1.m1.1.1.2.2.2.2.cmml" xref="S5.F20.3.1.m1.1.1.2.2.2.2">𝑥</ci></apply><ci id="S5.F20.3.1.m1.1.1.2.2.3.cmml" xref="S5.F20.3.1.m1.1.1.2.2.3">′</ci></apply><ci id="S5.F20.3.1.m1.1.1.2.3.cmml" xref="S5.F20.3.1.m1.1.1.2.3">𝑃</ci></apply><cn id="S5.F20.3.1.m1.1.1.3.cmml" type="integer" xref="S5.F20.3.1.m1.1.1.3">0</cn></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.F20.3.1.m1.1d">\dot{x}^{\prime}_{P}=0</annotation><annotation encoding="application/x-llamapun" id="S5.F20.3.1.m1.1e">over˙ start_ARG italic_x end_ARG start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT = 0</annotation></semantics></math>) of <math alttext="\approx 10" class="ltx_Math" display="inline" id="S5.F20.4.2.m2.1"><semantics id="S5.F20.4.2.m2.1b"><mrow id="S5.F20.4.2.m2.1.1" xref="S5.F20.4.2.m2.1.1.cmml"><mi id="S5.F20.4.2.m2.1.1.2" xref="S5.F20.4.2.m2.1.1.2.cmml"></mi><mo id="S5.F20.4.2.m2.1.1.1" xref="S5.F20.4.2.m2.1.1.1.cmml">≈</mo><mn id="S5.F20.4.2.m2.1.1.3" xref="S5.F20.4.2.m2.1.1.3.cmml">10</mn></mrow><annotation-xml encoding="MathML-Content" id="S5.F20.4.2.m2.1c"><apply id="S5.F20.4.2.m2.1.1.cmml" xref="S5.F20.4.2.m2.1.1"><approx id="S5.F20.4.2.m2.1.1.1.cmml" xref="S5.F20.4.2.m2.1.1.1"></approx><csymbol cd="latexml" id="S5.F20.4.2.m2.1.1.2.cmml" xref="S5.F20.4.2.m2.1.1.2">absent</csymbol><cn id="S5.F20.4.2.m2.1.1.3.cmml" type="integer" xref="S5.F20.4.2.m2.1.1.3">10</cn></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.F20.4.2.m2.1d">\approx 10</annotation><annotation encoding="application/x-llamapun" id="S5.F20.4.2.m2.1e">≈ 10</annotation></semantics></math> seconds results from the waiting time required for the forks to reach the desired height.</span></figcaption> </figure> <div class="ltx_para" id="S5.SS3.SSS3.p3"> <p class="ltx_p" id="S5.SS3.SSS3.p3.2">Initial iterations of ADAPT have shown that placing the pallet on its designated slot purely by estimating its z-position based on the ground plane or a truck loading edge is not sufficiently robust. Thus, we introduce a simple improvement procedure based on measuring the hydraulic pressure in the fork lifting cylinder, as follows:</p> <ol class="ltx_enumerate" id="S5.I2"> <li class="ltx_item" id="S5.I2.i1" style="list-style-type:none;"> <span class="ltx_tag ltx_tag_item">1.</span> <div class="ltx_para" id="S5.I2.i1.p1"> <p class="ltx_p" id="S5.I2.i1.p1.1">The forklift enters the selected slot at a safe height above the estimated pose.</p> </div> </li> <li class="ltx_item" id="S5.I2.i2" style="list-style-type:none;"> <span class="ltx_tag ltx_tag_item">2.</span> <div class="ltx_para" id="S5.I2.i2.p1"> <p class="ltx_p" id="S5.I2.i2.p1.1">After reaching the desired pose in x and y, the vehicle stops.</p> </div> </li> <li class="ltx_item" id="S5.I2.i3" style="list-style-type:none;"> <span class="ltx_tag ltx_tag_item">3.</span> <div class="ltx_para" id="S5.I2.i3.p1"> <p class="ltx_p" id="S5.I2.i3.p1.1">The forks are slowly lowered until the hydraulic pressure of the lifting cylinder drops, indicating that the fork is in contact with the underlying ground.</p> </div> </li> <li class="ltx_item" id="S5.I2.i4" style="list-style-type:none;"> <span class="ltx_tag ltx_tag_item">4.</span> <div class="ltx_para" id="S5.I2.i4.p1"> <p class="ltx_p" id="S5.I2.i4.p1.1">Finally, the fork is lifted again by half the height of the pallet to safely retract from the pallet.</p> </div> </li> </ol> <p class="ltx_p" id="S5.SS3.SSS3.p3.1">The method for estimating the fork contact <math alttext="f_{c}" class="ltx_Math" display="inline" id="S5.SS3.SSS3.p3.1.m1.1"><semantics id="S5.SS3.SSS3.p3.1.m1.1a"><msub id="S5.SS3.SSS3.p3.1.m1.1.1" xref="S5.SS3.SSS3.p3.1.m1.1.1.cmml"><mi id="S5.SS3.SSS3.p3.1.m1.1.1.2" xref="S5.SS3.SSS3.p3.1.m1.1.1.2.cmml">f</mi><mi id="S5.SS3.SSS3.p3.1.m1.1.1.3" xref="S5.SS3.SSS3.p3.1.m1.1.1.3.cmml">c</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS3.p3.1.m1.1b"><apply id="S5.SS3.SSS3.p3.1.m1.1.1.cmml" xref="S5.SS3.SSS3.p3.1.m1.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS3.p3.1.m1.1.1.1.cmml" xref="S5.SS3.SSS3.p3.1.m1.1.1">subscript</csymbol><ci id="S5.SS3.SSS3.p3.1.m1.1.1.2.cmml" xref="S5.SS3.SSS3.p3.1.m1.1.1.2">𝑓</ci><ci id="S5.SS3.SSS3.p3.1.m1.1.1.3.cmml" xref="S5.SS3.SSS3.p3.1.m1.1.1.3">𝑐</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS3.p3.1.m1.1c">f_{c}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS3.p3.1.m1.1d">italic_f start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT</annotation></semantics></math> is explained in Algorithm <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#alg1" title="Algorithm 1 ‣ 5.3.3 Manipulation ‣ 5.3 Motion Planning and Control ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">1</span></a>.</p> </div> <figure class="ltx_float ltx_float_algorithm ltx_framed ltx_framed_top" id="alg1"> <figcaption class="ltx_caption"><span class="ltx_tag ltx_tag_float"><span class="ltx_text ltx_font_bold" id="alg1.6.1.1">Algorithm 1</span> </span> Fork contact detection.</figcaption><div class="ltx_flex_figure"> <div class="ltx_flex_cell ltx_flex_size_1"> <p class="ltx_p ltx_figure_panel" id="alg1.4"><span class="ltx_text ltx_font_bold" id="alg1.4.1">Input:</span> Lifting pressure <math alttext="p_{l}" class="ltx_Math" display="inline" id="alg1.1.m1.1"><semantics id="alg1.1.m1.1a"><msub id="alg1.1.m1.1.1" xref="alg1.1.m1.1.1.cmml"><mi id="alg1.1.m1.1.1.2" xref="alg1.1.m1.1.1.2.cmml">p</mi><mi id="alg1.1.m1.1.1.3" xref="alg1.1.m1.1.1.3.cmml">l</mi></msub><annotation-xml encoding="MathML-Content" id="alg1.1.m1.1b"><apply id="alg1.1.m1.1.1.cmml" xref="alg1.1.m1.1.1"><csymbol cd="ambiguous" id="alg1.1.m1.1.1.1.cmml" xref="alg1.1.m1.1.1">subscript</csymbol><ci id="alg1.1.m1.1.1.2.cmml" xref="alg1.1.m1.1.1.2">𝑝</ci><ci id="alg1.1.m1.1.1.3.cmml" xref="alg1.1.m1.1.1.3">𝑙</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="alg1.1.m1.1c">p_{l}</annotation><annotation encoding="application/x-llamapun" id="alg1.1.m1.1d">italic_p start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT</annotation></semantics></math>. <br class="ltx_break"/><span class="ltx_text ltx_font_bold" id="alg1.4.2">Output:</span> <math alttext="f_{c}" class="ltx_Math" display="inline" id="alg1.2.m2.1"><semantics id="alg1.2.m2.1a"><msub id="alg1.2.m2.1.1" xref="alg1.2.m2.1.1.cmml"><mi id="alg1.2.m2.1.1.2" xref="alg1.2.m2.1.1.2.cmml">f</mi><mi id="alg1.2.m2.1.1.3" xref="alg1.2.m2.1.1.3.cmml">c</mi></msub><annotation-xml encoding="MathML-Content" id="alg1.2.m2.1b"><apply id="alg1.2.m2.1.1.cmml" xref="alg1.2.m2.1.1"><csymbol cd="ambiguous" id="alg1.2.m2.1.1.1.cmml" xref="alg1.2.m2.1.1">subscript</csymbol><ci id="alg1.2.m2.1.1.2.cmml" xref="alg1.2.m2.1.1.2">𝑓</ci><ci id="alg1.2.m2.1.1.3.cmml" xref="alg1.2.m2.1.1.3">𝑐</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="alg1.2.m2.1c">f_{c}</annotation><annotation encoding="application/x-llamapun" id="alg1.2.m2.1d">italic_f start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT</annotation></semantics></math>: <math alttext="true" class="ltx_Math" display="inline" id="alg1.3.m3.1"><semantics id="alg1.3.m3.1a"><mrow id="alg1.3.m3.1.1" xref="alg1.3.m3.1.1.cmml"><mi id="alg1.3.m3.1.1.2" xref="alg1.3.m3.1.1.2.cmml">t</mi><mo id="alg1.3.m3.1.1.1" xref="alg1.3.m3.1.1.1.cmml"></mo><mi id="alg1.3.m3.1.1.3" xref="alg1.3.m3.1.1.3.cmml">r</mi><mo id="alg1.3.m3.1.1.1a" xref="alg1.3.m3.1.1.1.cmml"></mo><mi id="alg1.3.m3.1.1.4" xref="alg1.3.m3.1.1.4.cmml">u</mi><mo id="alg1.3.m3.1.1.1b" xref="alg1.3.m3.1.1.1.cmml"></mo><mi id="alg1.3.m3.1.1.5" xref="alg1.3.m3.1.1.5.cmml">e</mi></mrow><annotation-xml encoding="MathML-Content" id="alg1.3.m3.1b"><apply id="alg1.3.m3.1.1.cmml" xref="alg1.3.m3.1.1"><times id="alg1.3.m3.1.1.1.cmml" xref="alg1.3.m3.1.1.1"></times><ci id="alg1.3.m3.1.1.2.cmml" xref="alg1.3.m3.1.1.2">𝑡</ci><ci id="alg1.3.m3.1.1.3.cmml" xref="alg1.3.m3.1.1.3">𝑟</ci><ci id="alg1.3.m3.1.1.4.cmml" xref="alg1.3.m3.1.1.4">𝑢</ci><ci id="alg1.3.m3.1.1.5.cmml" xref="alg1.3.m3.1.1.5">𝑒</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="alg1.3.m3.1c">true</annotation><annotation encoding="application/x-llamapun" id="alg1.3.m3.1d">italic_t italic_r italic_u italic_e</annotation></semantics></math> if fork in contact, <math alttext="false" class="ltx_Math" display="inline" id="alg1.4.m4.1"><semantics id="alg1.4.m4.1a"><mrow id="alg1.4.m4.1.1" xref="alg1.4.m4.1.1.cmml"><mi id="alg1.4.m4.1.1.2" xref="alg1.4.m4.1.1.2.cmml">f</mi><mo id="alg1.4.m4.1.1.1" xref="alg1.4.m4.1.1.1.cmml"></mo><mi id="alg1.4.m4.1.1.3" xref="alg1.4.m4.1.1.3.cmml">a</mi><mo id="alg1.4.m4.1.1.1a" xref="alg1.4.m4.1.1.1.cmml"></mo><mi id="alg1.4.m4.1.1.4" xref="alg1.4.m4.1.1.4.cmml">l</mi><mo id="alg1.4.m4.1.1.1b" xref="alg1.4.m4.1.1.1.cmml"></mo><mi id="alg1.4.m4.1.1.5" xref="alg1.4.m4.1.1.5.cmml">s</mi><mo id="alg1.4.m4.1.1.1c" xref="alg1.4.m4.1.1.1.cmml"></mo><mi id="alg1.4.m4.1.1.6" xref="alg1.4.m4.1.1.6.cmml">e</mi></mrow><annotation-xml encoding="MathML-Content" id="alg1.4.m4.1b"><apply id="alg1.4.m4.1.1.cmml" xref="alg1.4.m4.1.1"><times id="alg1.4.m4.1.1.1.cmml" xref="alg1.4.m4.1.1.1"></times><ci id="alg1.4.m4.1.1.2.cmml" xref="alg1.4.m4.1.1.2">𝑓</ci><ci id="alg1.4.m4.1.1.3.cmml" xref="alg1.4.m4.1.1.3">𝑎</ci><ci id="alg1.4.m4.1.1.4.cmml" xref="alg1.4.m4.1.1.4">𝑙</ci><ci id="alg1.4.m4.1.1.5.cmml" xref="alg1.4.m4.1.1.5">𝑠</ci><ci id="alg1.4.m4.1.1.6.cmml" xref="alg1.4.m4.1.1.6">𝑒</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="alg1.4.m4.1c">false</annotation><annotation encoding="application/x-llamapun" id="alg1.4.m4.1d">italic_f italic_a italic_l italic_s italic_e</annotation></semantics></math> otherwise.</p> </div> <div class="ltx_flex_break"></div> <div class="ltx_flex_cell ltx_flex_size_1"> <div class="ltx_listing ltx_figure_panel ltx_listing" id="alg1.7"> <div class="ltx_listingline" id="alg1.l1"> <span class="ltx_tag ltx_tag_listingline"><span class="ltx_text" id="alg1.l1.1.1.1" style="font-size:80%;">1:</span></span><span class="ltx_text ltx_font_bold" id="alg1.l1.2">if</span> <math alttext="p\leq p_{pc}" class="ltx_Math" display="inline" id="alg1.l1.m1.1"><semantics id="alg1.l1.m1.1a"><mrow id="alg1.l1.m1.1.1" xref="alg1.l1.m1.1.1.cmml"><mi id="alg1.l1.m1.1.1.2" xref="alg1.l1.m1.1.1.2.cmml">p</mi><mo id="alg1.l1.m1.1.1.1" xref="alg1.l1.m1.1.1.1.cmml">≤</mo><msub id="alg1.l1.m1.1.1.3" xref="alg1.l1.m1.1.1.3.cmml"><mi id="alg1.l1.m1.1.1.3.2" xref="alg1.l1.m1.1.1.3.2.cmml">p</mi><mrow id="alg1.l1.m1.1.1.3.3" xref="alg1.l1.m1.1.1.3.3.cmml"><mi id="alg1.l1.m1.1.1.3.3.2" xref="alg1.l1.m1.1.1.3.3.2.cmml">p</mi><mo id="alg1.l1.m1.1.1.3.3.1" xref="alg1.l1.m1.1.1.3.3.1.cmml"></mo><mi id="alg1.l1.m1.1.1.3.3.3" xref="alg1.l1.m1.1.1.3.3.3.cmml">c</mi></mrow></msub></mrow><annotation-xml encoding="MathML-Content" id="alg1.l1.m1.1b"><apply id="alg1.l1.m1.1.1.cmml" xref="alg1.l1.m1.1.1"><leq id="alg1.l1.m1.1.1.1.cmml" xref="alg1.l1.m1.1.1.1"></leq><ci id="alg1.l1.m1.1.1.2.cmml" xref="alg1.l1.m1.1.1.2">𝑝</ci><apply id="alg1.l1.m1.1.1.3.cmml" xref="alg1.l1.m1.1.1.3"><csymbol cd="ambiguous" id="alg1.l1.m1.1.1.3.1.cmml" xref="alg1.l1.m1.1.1.3">subscript</csymbol><ci id="alg1.l1.m1.1.1.3.2.cmml" xref="alg1.l1.m1.1.1.3.2">𝑝</ci><apply id="alg1.l1.m1.1.1.3.3.cmml" xref="alg1.l1.m1.1.1.3.3"><times id="alg1.l1.m1.1.1.3.3.1.cmml" xref="alg1.l1.m1.1.1.3.3.1"></times><ci id="alg1.l1.m1.1.1.3.3.2.cmml" xref="alg1.l1.m1.1.1.3.3.2">𝑝</ci><ci id="alg1.l1.m1.1.1.3.3.3.cmml" xref="alg1.l1.m1.1.1.3.3.3">𝑐</ci></apply></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="alg1.l1.m1.1c">p\leq p_{pc}</annotation><annotation encoding="application/x-llamapun" id="alg1.l1.m1.1d">italic_p ≤ italic_p start_POSTSUBSCRIPT italic_p italic_c end_POSTSUBSCRIPT</annotation></semantics></math> <span class="ltx_text ltx_font_bold" id="alg1.l1.3">then</span> </div> <div class="ltx_listingline" id="alg1.l2"> <span class="ltx_tag ltx_tag_listingline"><span class="ltx_text" id="alg1.l2.1.1.1" style="font-size:80%;">2:</span></span> <math alttext="crit\_cnt\leftarrow crit\_cnt+1" class="ltx_Math" display="inline" id="alg1.l2.m1.1"><semantics id="alg1.l2.m1.1a"><mrow id="alg1.l2.m1.1.1" xref="alg1.l2.m1.1.1.cmml"><mrow id="alg1.l2.m1.1.1.2" xref="alg1.l2.m1.1.1.2.cmml"><mi id="alg1.l2.m1.1.1.2.2" xref="alg1.l2.m1.1.1.2.2.cmml">c</mi><mo id="alg1.l2.m1.1.1.2.1" xref="alg1.l2.m1.1.1.2.1.cmml"></mo><mi id="alg1.l2.m1.1.1.2.3" xref="alg1.l2.m1.1.1.2.3.cmml">r</mi><mo id="alg1.l2.m1.1.1.2.1a" xref="alg1.l2.m1.1.1.2.1.cmml"></mo><mi id="alg1.l2.m1.1.1.2.4" xref="alg1.l2.m1.1.1.2.4.cmml">i</mi><mo id="alg1.l2.m1.1.1.2.1b" xref="alg1.l2.m1.1.1.2.1.cmml"></mo><mi id="alg1.l2.m1.1.1.2.5" xref="alg1.l2.m1.1.1.2.5.cmml">t</mi><mo id="alg1.l2.m1.1.1.2.1c" xref="alg1.l2.m1.1.1.2.1.cmml"></mo><mi id="alg1.l2.m1.1.1.2.6" mathvariant="normal" xref="alg1.l2.m1.1.1.2.6.cmml">_</mi><mo id="alg1.l2.m1.1.1.2.1d" xref="alg1.l2.m1.1.1.2.1.cmml"></mo><mi id="alg1.l2.m1.1.1.2.7" xref="alg1.l2.m1.1.1.2.7.cmml">c</mi><mo id="alg1.l2.m1.1.1.2.1e" xref="alg1.l2.m1.1.1.2.1.cmml"></mo><mi id="alg1.l2.m1.1.1.2.8" xref="alg1.l2.m1.1.1.2.8.cmml">n</mi><mo id="alg1.l2.m1.1.1.2.1f" xref="alg1.l2.m1.1.1.2.1.cmml"></mo><mi id="alg1.l2.m1.1.1.2.9" xref="alg1.l2.m1.1.1.2.9.cmml">t</mi></mrow><mo id="alg1.l2.m1.1.1.1" stretchy="false" xref="alg1.l2.m1.1.1.1.cmml">←</mo><mrow id="alg1.l2.m1.1.1.3" xref="alg1.l2.m1.1.1.3.cmml"><mrow id="alg1.l2.m1.1.1.3.2" xref="alg1.l2.m1.1.1.3.2.cmml"><mi id="alg1.l2.m1.1.1.3.2.2" xref="alg1.l2.m1.1.1.3.2.2.cmml">c</mi><mo id="alg1.l2.m1.1.1.3.2.1" xref="alg1.l2.m1.1.1.3.2.1.cmml"></mo><mi id="alg1.l2.m1.1.1.3.2.3" xref="alg1.l2.m1.1.1.3.2.3.cmml">r</mi><mo id="alg1.l2.m1.1.1.3.2.1a" xref="alg1.l2.m1.1.1.3.2.1.cmml"></mo><mi id="alg1.l2.m1.1.1.3.2.4" xref="alg1.l2.m1.1.1.3.2.4.cmml">i</mi><mo id="alg1.l2.m1.1.1.3.2.1b" xref="alg1.l2.m1.1.1.3.2.1.cmml"></mo><mi id="alg1.l2.m1.1.1.3.2.5" xref="alg1.l2.m1.1.1.3.2.5.cmml">t</mi><mo id="alg1.l2.m1.1.1.3.2.1c" xref="alg1.l2.m1.1.1.3.2.1.cmml"></mo><mi id="alg1.l2.m1.1.1.3.2.6" mathvariant="normal" xref="alg1.l2.m1.1.1.3.2.6.cmml">_</mi><mo id="alg1.l2.m1.1.1.3.2.1d" xref="alg1.l2.m1.1.1.3.2.1.cmml"></mo><mi id="alg1.l2.m1.1.1.3.2.7" xref="alg1.l2.m1.1.1.3.2.7.cmml">c</mi><mo id="alg1.l2.m1.1.1.3.2.1e" xref="alg1.l2.m1.1.1.3.2.1.cmml"></mo><mi id="alg1.l2.m1.1.1.3.2.8" xref="alg1.l2.m1.1.1.3.2.8.cmml">n</mi><mo id="alg1.l2.m1.1.1.3.2.1f" xref="alg1.l2.m1.1.1.3.2.1.cmml"></mo><mi id="alg1.l2.m1.1.1.3.2.9" xref="alg1.l2.m1.1.1.3.2.9.cmml">t</mi></mrow><mo id="alg1.l2.m1.1.1.3.1" xref="alg1.l2.m1.1.1.3.1.cmml">+</mo><mn id="alg1.l2.m1.1.1.3.3" xref="alg1.l2.m1.1.1.3.3.cmml">1</mn></mrow></mrow><annotation-xml encoding="MathML-Content" id="alg1.l2.m1.1b"><apply id="alg1.l2.m1.1.1.cmml" xref="alg1.l2.m1.1.1"><ci id="alg1.l2.m1.1.1.1.cmml" xref="alg1.l2.m1.1.1.1">←</ci><apply id="alg1.l2.m1.1.1.2.cmml" xref="alg1.l2.m1.1.1.2"><times id="alg1.l2.m1.1.1.2.1.cmml" xref="alg1.l2.m1.1.1.2.1"></times><ci id="alg1.l2.m1.1.1.2.2.cmml" xref="alg1.l2.m1.1.1.2.2">𝑐</ci><ci id="alg1.l2.m1.1.1.2.3.cmml" xref="alg1.l2.m1.1.1.2.3">𝑟</ci><ci id="alg1.l2.m1.1.1.2.4.cmml" xref="alg1.l2.m1.1.1.2.4">𝑖</ci><ci id="alg1.l2.m1.1.1.2.5.cmml" xref="alg1.l2.m1.1.1.2.5">𝑡</ci><ci id="alg1.l2.m1.1.1.2.6.cmml" xref="alg1.l2.m1.1.1.2.6">_</ci><ci id="alg1.l2.m1.1.1.2.7.cmml" xref="alg1.l2.m1.1.1.2.7">𝑐</ci><ci id="alg1.l2.m1.1.1.2.8.cmml" xref="alg1.l2.m1.1.1.2.8">𝑛</ci><ci id="alg1.l2.m1.1.1.2.9.cmml" xref="alg1.l2.m1.1.1.2.9">𝑡</ci></apply><apply id="alg1.l2.m1.1.1.3.cmml" xref="alg1.l2.m1.1.1.3"><plus id="alg1.l2.m1.1.1.3.1.cmml" xref="alg1.l2.m1.1.1.3.1"></plus><apply id="alg1.l2.m1.1.1.3.2.cmml" xref="alg1.l2.m1.1.1.3.2"><times id="alg1.l2.m1.1.1.3.2.1.cmml" xref="alg1.l2.m1.1.1.3.2.1"></times><ci id="alg1.l2.m1.1.1.3.2.2.cmml" xref="alg1.l2.m1.1.1.3.2.2">𝑐</ci><ci id="alg1.l2.m1.1.1.3.2.3.cmml" xref="alg1.l2.m1.1.1.3.2.3">𝑟</ci><ci id="alg1.l2.m1.1.1.3.2.4.cmml" xref="alg1.l2.m1.1.1.3.2.4">𝑖</ci><ci id="alg1.l2.m1.1.1.3.2.5.cmml" xref="alg1.l2.m1.1.1.3.2.5">𝑡</ci><ci id="alg1.l2.m1.1.1.3.2.6.cmml" xref="alg1.l2.m1.1.1.3.2.6">_</ci><ci id="alg1.l2.m1.1.1.3.2.7.cmml" xref="alg1.l2.m1.1.1.3.2.7">𝑐</ci><ci id="alg1.l2.m1.1.1.3.2.8.cmml" xref="alg1.l2.m1.1.1.3.2.8">𝑛</ci><ci id="alg1.l2.m1.1.1.3.2.9.cmml" xref="alg1.l2.m1.1.1.3.2.9">𝑡</ci></apply><cn id="alg1.l2.m1.1.1.3.3.cmml" type="integer" xref="alg1.l2.m1.1.1.3.3">1</cn></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="alg1.l2.m1.1c">crit\_cnt\leftarrow crit\_cnt+1</annotation><annotation encoding="application/x-llamapun" id="alg1.l2.m1.1d">italic_c italic_r italic_i italic_t _ italic_c italic_n italic_t ← italic_c italic_r italic_i italic_t _ italic_c italic_n italic_t + 1</annotation></semantics></math>, <math alttext="f_{pc}\leftarrow" class="ltx_Math" display="inline" id="alg1.l2.m2.1"><semantics id="alg1.l2.m2.1a"><mrow id="alg1.l2.m2.1.1" xref="alg1.l2.m2.1.1.cmml"><msub id="alg1.l2.m2.1.1.2" xref="alg1.l2.m2.1.1.2.cmml"><mi id="alg1.l2.m2.1.1.2.2" xref="alg1.l2.m2.1.1.2.2.cmml">f</mi><mrow id="alg1.l2.m2.1.1.2.3" xref="alg1.l2.m2.1.1.2.3.cmml"><mi id="alg1.l2.m2.1.1.2.3.2" xref="alg1.l2.m2.1.1.2.3.2.cmml">p</mi><mo id="alg1.l2.m2.1.1.2.3.1" xref="alg1.l2.m2.1.1.2.3.1.cmml"></mo><mi id="alg1.l2.m2.1.1.2.3.3" xref="alg1.l2.m2.1.1.2.3.3.cmml">c</mi></mrow></msub><mo id="alg1.l2.m2.1.1.1" stretchy="false" xref="alg1.l2.m2.1.1.1.cmml">←</mo><mi id="alg1.l2.m2.1.1.3" xref="alg1.l2.m2.1.1.3.cmml"></mi></mrow><annotation-xml encoding="MathML-Content" id="alg1.l2.m2.1b"><apply id="alg1.l2.m2.1.1.cmml" xref="alg1.l2.m2.1.1"><ci id="alg1.l2.m2.1.1.1.cmml" xref="alg1.l2.m2.1.1.1">←</ci><apply id="alg1.l2.m2.1.1.2.cmml" xref="alg1.l2.m2.1.1.2"><csymbol cd="ambiguous" id="alg1.l2.m2.1.1.2.1.cmml" xref="alg1.l2.m2.1.1.2">subscript</csymbol><ci id="alg1.l2.m2.1.1.2.2.cmml" xref="alg1.l2.m2.1.1.2.2">𝑓</ci><apply id="alg1.l2.m2.1.1.2.3.cmml" xref="alg1.l2.m2.1.1.2.3"><times id="alg1.l2.m2.1.1.2.3.1.cmml" xref="alg1.l2.m2.1.1.2.3.1"></times><ci id="alg1.l2.m2.1.1.2.3.2.cmml" xref="alg1.l2.m2.1.1.2.3.2">𝑝</ci><ci id="alg1.l2.m2.1.1.2.3.3.cmml" xref="alg1.l2.m2.1.1.2.3.3">𝑐</ci></apply></apply><csymbol cd="latexml" id="alg1.l2.m2.1.1.3.cmml" xref="alg1.l2.m2.1.1.3">absent</csymbol></apply></annotation-xml><annotation encoding="application/x-tex" id="alg1.l2.m2.1c">f_{pc}\leftarrow</annotation><annotation encoding="application/x-llamapun" id="alg1.l2.m2.1d">italic_f start_POSTSUBSCRIPT italic_p italic_c end_POSTSUBSCRIPT ←</annotation></semantics></math><math alttext="true" class="ltx_Math" display="inline" id="alg1.l2.m3.1"><semantics id="alg1.l2.m3.1a"><mrow id="alg1.l2.m3.1.1" xref="alg1.l2.m3.1.1.cmml"><mi id="alg1.l2.m3.1.1.2" xref="alg1.l2.m3.1.1.2.cmml">t</mi><mo id="alg1.l2.m3.1.1.1" xref="alg1.l2.m3.1.1.1.cmml"></mo><mi id="alg1.l2.m3.1.1.3" xref="alg1.l2.m3.1.1.3.cmml">r</mi><mo id="alg1.l2.m3.1.1.1a" xref="alg1.l2.m3.1.1.1.cmml"></mo><mi id="alg1.l2.m3.1.1.4" xref="alg1.l2.m3.1.1.4.cmml">u</mi><mo id="alg1.l2.m3.1.1.1b" xref="alg1.l2.m3.1.1.1.cmml"></mo><mi id="alg1.l2.m3.1.1.5" xref="alg1.l2.m3.1.1.5.cmml">e</mi></mrow><annotation-xml encoding="MathML-Content" id="alg1.l2.m3.1b"><apply id="alg1.l2.m3.1.1.cmml" xref="alg1.l2.m3.1.1"><times id="alg1.l2.m3.1.1.1.cmml" xref="alg1.l2.m3.1.1.1"></times><ci id="alg1.l2.m3.1.1.2.cmml" xref="alg1.l2.m3.1.1.2">𝑡</ci><ci id="alg1.l2.m3.1.1.3.cmml" xref="alg1.l2.m3.1.1.3">𝑟</ci><ci id="alg1.l2.m3.1.1.4.cmml" xref="alg1.l2.m3.1.1.4">𝑢</ci><ci id="alg1.l2.m3.1.1.5.cmml" xref="alg1.l2.m3.1.1.5">𝑒</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="alg1.l2.m3.1c">true</annotation><annotation encoding="application/x-llamapun" id="alg1.l2.m3.1d">italic_t italic_r italic_u italic_e</annotation></semantics></math> </div> <div class="ltx_listingline" id="alg1.l3"> <span class="ltx_tag ltx_tag_listingline"><span class="ltx_text" id="alg1.l3.1.1.1" style="font-size:80%;">3:</span></span><span class="ltx_text ltx_font_bold" id="alg1.l3.2">else</span> </div> <div class="ltx_listingline" id="alg1.l4"> <span class="ltx_tag ltx_tag_listingline"><span class="ltx_text" id="alg1.l4.1.1.1" style="font-size:80%;">4:</span></span> <math alttext="crit\_cnt\leftarrow 0" class="ltx_Math" display="inline" id="alg1.l4.m1.1"><semantics id="alg1.l4.m1.1a"><mrow id="alg1.l4.m1.1.1" xref="alg1.l4.m1.1.1.cmml"><mrow id="alg1.l4.m1.1.1.2" xref="alg1.l4.m1.1.1.2.cmml"><mi id="alg1.l4.m1.1.1.2.2" xref="alg1.l4.m1.1.1.2.2.cmml">c</mi><mo id="alg1.l4.m1.1.1.2.1" xref="alg1.l4.m1.1.1.2.1.cmml"></mo><mi id="alg1.l4.m1.1.1.2.3" xref="alg1.l4.m1.1.1.2.3.cmml">r</mi><mo id="alg1.l4.m1.1.1.2.1a" xref="alg1.l4.m1.1.1.2.1.cmml"></mo><mi id="alg1.l4.m1.1.1.2.4" xref="alg1.l4.m1.1.1.2.4.cmml">i</mi><mo id="alg1.l4.m1.1.1.2.1b" xref="alg1.l4.m1.1.1.2.1.cmml"></mo><mi id="alg1.l4.m1.1.1.2.5" xref="alg1.l4.m1.1.1.2.5.cmml">t</mi><mo id="alg1.l4.m1.1.1.2.1c" xref="alg1.l4.m1.1.1.2.1.cmml"></mo><mi id="alg1.l4.m1.1.1.2.6" mathvariant="normal" xref="alg1.l4.m1.1.1.2.6.cmml">_</mi><mo id="alg1.l4.m1.1.1.2.1d" xref="alg1.l4.m1.1.1.2.1.cmml"></mo><mi id="alg1.l4.m1.1.1.2.7" xref="alg1.l4.m1.1.1.2.7.cmml">c</mi><mo id="alg1.l4.m1.1.1.2.1e" xref="alg1.l4.m1.1.1.2.1.cmml"></mo><mi id="alg1.l4.m1.1.1.2.8" xref="alg1.l4.m1.1.1.2.8.cmml">n</mi><mo id="alg1.l4.m1.1.1.2.1f" xref="alg1.l4.m1.1.1.2.1.cmml"></mo><mi id="alg1.l4.m1.1.1.2.9" xref="alg1.l4.m1.1.1.2.9.cmml">t</mi></mrow><mo id="alg1.l4.m1.1.1.1" stretchy="false" xref="alg1.l4.m1.1.1.1.cmml">←</mo><mn id="alg1.l4.m1.1.1.3" xref="alg1.l4.m1.1.1.3.cmml">0</mn></mrow><annotation-xml encoding="MathML-Content" id="alg1.l4.m1.1b"><apply id="alg1.l4.m1.1.1.cmml" xref="alg1.l4.m1.1.1"><ci id="alg1.l4.m1.1.1.1.cmml" xref="alg1.l4.m1.1.1.1">←</ci><apply id="alg1.l4.m1.1.1.2.cmml" xref="alg1.l4.m1.1.1.2"><times id="alg1.l4.m1.1.1.2.1.cmml" xref="alg1.l4.m1.1.1.2.1"></times><ci id="alg1.l4.m1.1.1.2.2.cmml" xref="alg1.l4.m1.1.1.2.2">𝑐</ci><ci id="alg1.l4.m1.1.1.2.3.cmml" xref="alg1.l4.m1.1.1.2.3">𝑟</ci><ci id="alg1.l4.m1.1.1.2.4.cmml" xref="alg1.l4.m1.1.1.2.4">𝑖</ci><ci id="alg1.l4.m1.1.1.2.5.cmml" xref="alg1.l4.m1.1.1.2.5">𝑡</ci><ci id="alg1.l4.m1.1.1.2.6.cmml" xref="alg1.l4.m1.1.1.2.6">_</ci><ci id="alg1.l4.m1.1.1.2.7.cmml" xref="alg1.l4.m1.1.1.2.7">𝑐</ci><ci id="alg1.l4.m1.1.1.2.8.cmml" xref="alg1.l4.m1.1.1.2.8">𝑛</ci><ci id="alg1.l4.m1.1.1.2.9.cmml" xref="alg1.l4.m1.1.1.2.9">𝑡</ci></apply><cn id="alg1.l4.m1.1.1.3.cmml" type="integer" xref="alg1.l4.m1.1.1.3">0</cn></apply></annotation-xml><annotation encoding="application/x-tex" id="alg1.l4.m1.1c">crit\_cnt\leftarrow 0</annotation><annotation encoding="application/x-llamapun" id="alg1.l4.m1.1d">italic_c italic_r italic_i italic_t _ italic_c italic_n italic_t ← 0</annotation></semantics></math>, <math alttext="f_{pc}\leftarrow" class="ltx_Math" display="inline" id="alg1.l4.m2.1"><semantics id="alg1.l4.m2.1a"><mrow id="alg1.l4.m2.1.1" xref="alg1.l4.m2.1.1.cmml"><msub id="alg1.l4.m2.1.1.2" xref="alg1.l4.m2.1.1.2.cmml"><mi id="alg1.l4.m2.1.1.2.2" xref="alg1.l4.m2.1.1.2.2.cmml">f</mi><mrow id="alg1.l4.m2.1.1.2.3" xref="alg1.l4.m2.1.1.2.3.cmml"><mi id="alg1.l4.m2.1.1.2.3.2" xref="alg1.l4.m2.1.1.2.3.2.cmml">p</mi><mo id="alg1.l4.m2.1.1.2.3.1" xref="alg1.l4.m2.1.1.2.3.1.cmml"></mo><mi id="alg1.l4.m2.1.1.2.3.3" xref="alg1.l4.m2.1.1.2.3.3.cmml">c</mi></mrow></msub><mo id="alg1.l4.m2.1.1.1" stretchy="false" xref="alg1.l4.m2.1.1.1.cmml">←</mo><mi id="alg1.l4.m2.1.1.3" xref="alg1.l4.m2.1.1.3.cmml"></mi></mrow><annotation-xml encoding="MathML-Content" id="alg1.l4.m2.1b"><apply id="alg1.l4.m2.1.1.cmml" xref="alg1.l4.m2.1.1"><ci id="alg1.l4.m2.1.1.1.cmml" xref="alg1.l4.m2.1.1.1">←</ci><apply id="alg1.l4.m2.1.1.2.cmml" xref="alg1.l4.m2.1.1.2"><csymbol cd="ambiguous" id="alg1.l4.m2.1.1.2.1.cmml" xref="alg1.l4.m2.1.1.2">subscript</csymbol><ci id="alg1.l4.m2.1.1.2.2.cmml" xref="alg1.l4.m2.1.1.2.2">𝑓</ci><apply id="alg1.l4.m2.1.1.2.3.cmml" xref="alg1.l4.m2.1.1.2.3"><times id="alg1.l4.m2.1.1.2.3.1.cmml" xref="alg1.l4.m2.1.1.2.3.1"></times><ci id="alg1.l4.m2.1.1.2.3.2.cmml" xref="alg1.l4.m2.1.1.2.3.2">𝑝</ci><ci id="alg1.l4.m2.1.1.2.3.3.cmml" xref="alg1.l4.m2.1.1.2.3.3">𝑐</ci></apply></apply><csymbol cd="latexml" id="alg1.l4.m2.1.1.3.cmml" xref="alg1.l4.m2.1.1.3">absent</csymbol></apply></annotation-xml><annotation encoding="application/x-tex" id="alg1.l4.m2.1c">f_{pc}\leftarrow</annotation><annotation encoding="application/x-llamapun" id="alg1.l4.m2.1d">italic_f start_POSTSUBSCRIPT italic_p italic_c end_POSTSUBSCRIPT ←</annotation></semantics></math><math alttext="false" class="ltx_Math" display="inline" id="alg1.l4.m3.1"><semantics id="alg1.l4.m3.1a"><mrow id="alg1.l4.m3.1.1" xref="alg1.l4.m3.1.1.cmml"><mi id="alg1.l4.m3.1.1.2" xref="alg1.l4.m3.1.1.2.cmml">f</mi><mo id="alg1.l4.m3.1.1.1" xref="alg1.l4.m3.1.1.1.cmml"></mo><mi id="alg1.l4.m3.1.1.3" xref="alg1.l4.m3.1.1.3.cmml">a</mi><mo id="alg1.l4.m3.1.1.1a" xref="alg1.l4.m3.1.1.1.cmml"></mo><mi id="alg1.l4.m3.1.1.4" xref="alg1.l4.m3.1.1.4.cmml">l</mi><mo id="alg1.l4.m3.1.1.1b" xref="alg1.l4.m3.1.1.1.cmml"></mo><mi id="alg1.l4.m3.1.1.5" xref="alg1.l4.m3.1.1.5.cmml">s</mi><mo id="alg1.l4.m3.1.1.1c" xref="alg1.l4.m3.1.1.1.cmml"></mo><mi id="alg1.l4.m3.1.1.6" xref="alg1.l4.m3.1.1.6.cmml">e</mi></mrow><annotation-xml encoding="MathML-Content" id="alg1.l4.m3.1b"><apply id="alg1.l4.m3.1.1.cmml" xref="alg1.l4.m3.1.1"><times id="alg1.l4.m3.1.1.1.cmml" xref="alg1.l4.m3.1.1.1"></times><ci id="alg1.l4.m3.1.1.2.cmml" xref="alg1.l4.m3.1.1.2">𝑓</ci><ci id="alg1.l4.m3.1.1.3.cmml" xref="alg1.l4.m3.1.1.3">𝑎</ci><ci id="alg1.l4.m3.1.1.4.cmml" xref="alg1.l4.m3.1.1.4">𝑙</ci><ci id="alg1.l4.m3.1.1.5.cmml" xref="alg1.l4.m3.1.1.5">𝑠</ci><ci id="alg1.l4.m3.1.1.6.cmml" xref="alg1.l4.m3.1.1.6">𝑒</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="alg1.l4.m3.1c">false</annotation><annotation encoding="application/x-llamapun" id="alg1.l4.m3.1d">italic_f italic_a italic_l italic_s italic_e</annotation></semantics></math> </div> <div class="ltx_listingline" id="alg1.l5"> <span class="ltx_tag ltx_tag_listingline"><span class="ltx_text" id="alg1.l5.1.1.1" style="font-size:80%;">5:</span></span><span class="ltx_text ltx_font_bold" id="alg1.l5.2">end</span> <span class="ltx_text ltx_font_bold" id="alg1.l5.3">if</span> </div> <div class="ltx_listingline" id="alg1.l6"> <span class="ltx_tag ltx_tag_listingline"><span class="ltx_text" id="alg1.l6.1.1.1" style="font-size:80%;">6:</span></span><span class="ltx_text ltx_font_bold" id="alg1.l6.2">if</span> <math alttext="crit\_cnt>crit\_tout" class="ltx_Math" display="inline" id="alg1.l6.m1.1"><semantics id="alg1.l6.m1.1a"><mrow id="alg1.l6.m1.1.1" xref="alg1.l6.m1.1.1.cmml"><mrow id="alg1.l6.m1.1.1.2" xref="alg1.l6.m1.1.1.2.cmml"><mi id="alg1.l6.m1.1.1.2.2" xref="alg1.l6.m1.1.1.2.2.cmml">c</mi><mo id="alg1.l6.m1.1.1.2.1" xref="alg1.l6.m1.1.1.2.1.cmml"></mo><mi id="alg1.l6.m1.1.1.2.3" xref="alg1.l6.m1.1.1.2.3.cmml">r</mi><mo id="alg1.l6.m1.1.1.2.1a" xref="alg1.l6.m1.1.1.2.1.cmml"></mo><mi id="alg1.l6.m1.1.1.2.4" xref="alg1.l6.m1.1.1.2.4.cmml">i</mi><mo id="alg1.l6.m1.1.1.2.1b" xref="alg1.l6.m1.1.1.2.1.cmml"></mo><mi id="alg1.l6.m1.1.1.2.5" xref="alg1.l6.m1.1.1.2.5.cmml">t</mi><mo id="alg1.l6.m1.1.1.2.1c" xref="alg1.l6.m1.1.1.2.1.cmml"></mo><mi id="alg1.l6.m1.1.1.2.6" mathvariant="normal" xref="alg1.l6.m1.1.1.2.6.cmml">_</mi><mo id="alg1.l6.m1.1.1.2.1d" xref="alg1.l6.m1.1.1.2.1.cmml"></mo><mi id="alg1.l6.m1.1.1.2.7" xref="alg1.l6.m1.1.1.2.7.cmml">c</mi><mo id="alg1.l6.m1.1.1.2.1e" xref="alg1.l6.m1.1.1.2.1.cmml"></mo><mi id="alg1.l6.m1.1.1.2.8" xref="alg1.l6.m1.1.1.2.8.cmml">n</mi><mo id="alg1.l6.m1.1.1.2.1f" xref="alg1.l6.m1.1.1.2.1.cmml"></mo><mi id="alg1.l6.m1.1.1.2.9" xref="alg1.l6.m1.1.1.2.9.cmml">t</mi></mrow><mo id="alg1.l6.m1.1.1.1" xref="alg1.l6.m1.1.1.1.cmml">></mo><mrow id="alg1.l6.m1.1.1.3" xref="alg1.l6.m1.1.1.3.cmml"><mi id="alg1.l6.m1.1.1.3.2" xref="alg1.l6.m1.1.1.3.2.cmml">c</mi><mo id="alg1.l6.m1.1.1.3.1" xref="alg1.l6.m1.1.1.3.1.cmml"></mo><mi id="alg1.l6.m1.1.1.3.3" xref="alg1.l6.m1.1.1.3.3.cmml">r</mi><mo id="alg1.l6.m1.1.1.3.1a" xref="alg1.l6.m1.1.1.3.1.cmml"></mo><mi id="alg1.l6.m1.1.1.3.4" xref="alg1.l6.m1.1.1.3.4.cmml">i</mi><mo id="alg1.l6.m1.1.1.3.1b" xref="alg1.l6.m1.1.1.3.1.cmml"></mo><mi id="alg1.l6.m1.1.1.3.5" xref="alg1.l6.m1.1.1.3.5.cmml">t</mi><mo id="alg1.l6.m1.1.1.3.1c" xref="alg1.l6.m1.1.1.3.1.cmml"></mo><mi id="alg1.l6.m1.1.1.3.6" mathvariant="normal" xref="alg1.l6.m1.1.1.3.6.cmml">_</mi><mo id="alg1.l6.m1.1.1.3.1d" xref="alg1.l6.m1.1.1.3.1.cmml"></mo><mi id="alg1.l6.m1.1.1.3.7" xref="alg1.l6.m1.1.1.3.7.cmml">t</mi><mo id="alg1.l6.m1.1.1.3.1e" xref="alg1.l6.m1.1.1.3.1.cmml"></mo><mi id="alg1.l6.m1.1.1.3.8" xref="alg1.l6.m1.1.1.3.8.cmml">o</mi><mo id="alg1.l6.m1.1.1.3.1f" xref="alg1.l6.m1.1.1.3.1.cmml"></mo><mi id="alg1.l6.m1.1.1.3.9" xref="alg1.l6.m1.1.1.3.9.cmml">u</mi><mo id="alg1.l6.m1.1.1.3.1g" xref="alg1.l6.m1.1.1.3.1.cmml"></mo><mi id="alg1.l6.m1.1.1.3.10" xref="alg1.l6.m1.1.1.3.10.cmml">t</mi></mrow></mrow><annotation-xml encoding="MathML-Content" id="alg1.l6.m1.1b"><apply id="alg1.l6.m1.1.1.cmml" xref="alg1.l6.m1.1.1"><gt id="alg1.l6.m1.1.1.1.cmml" xref="alg1.l6.m1.1.1.1"></gt><apply id="alg1.l6.m1.1.1.2.cmml" xref="alg1.l6.m1.1.1.2"><times id="alg1.l6.m1.1.1.2.1.cmml" xref="alg1.l6.m1.1.1.2.1"></times><ci id="alg1.l6.m1.1.1.2.2.cmml" xref="alg1.l6.m1.1.1.2.2">𝑐</ci><ci id="alg1.l6.m1.1.1.2.3.cmml" xref="alg1.l6.m1.1.1.2.3">𝑟</ci><ci id="alg1.l6.m1.1.1.2.4.cmml" xref="alg1.l6.m1.1.1.2.4">𝑖</ci><ci id="alg1.l6.m1.1.1.2.5.cmml" xref="alg1.l6.m1.1.1.2.5">𝑡</ci><ci id="alg1.l6.m1.1.1.2.6.cmml" xref="alg1.l6.m1.1.1.2.6">_</ci><ci id="alg1.l6.m1.1.1.2.7.cmml" xref="alg1.l6.m1.1.1.2.7">𝑐</ci><ci id="alg1.l6.m1.1.1.2.8.cmml" xref="alg1.l6.m1.1.1.2.8">𝑛</ci><ci id="alg1.l6.m1.1.1.2.9.cmml" xref="alg1.l6.m1.1.1.2.9">𝑡</ci></apply><apply id="alg1.l6.m1.1.1.3.cmml" xref="alg1.l6.m1.1.1.3"><times id="alg1.l6.m1.1.1.3.1.cmml" xref="alg1.l6.m1.1.1.3.1"></times><ci id="alg1.l6.m1.1.1.3.2.cmml" xref="alg1.l6.m1.1.1.3.2">𝑐</ci><ci id="alg1.l6.m1.1.1.3.3.cmml" xref="alg1.l6.m1.1.1.3.3">𝑟</ci><ci id="alg1.l6.m1.1.1.3.4.cmml" xref="alg1.l6.m1.1.1.3.4">𝑖</ci><ci id="alg1.l6.m1.1.1.3.5.cmml" xref="alg1.l6.m1.1.1.3.5">𝑡</ci><ci id="alg1.l6.m1.1.1.3.6.cmml" xref="alg1.l6.m1.1.1.3.6">_</ci><ci id="alg1.l6.m1.1.1.3.7.cmml" xref="alg1.l6.m1.1.1.3.7">𝑡</ci><ci id="alg1.l6.m1.1.1.3.8.cmml" xref="alg1.l6.m1.1.1.3.8">𝑜</ci><ci id="alg1.l6.m1.1.1.3.9.cmml" xref="alg1.l6.m1.1.1.3.9">𝑢</ci><ci id="alg1.l6.m1.1.1.3.10.cmml" xref="alg1.l6.m1.1.1.3.10">𝑡</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="alg1.l6.m1.1c">crit\_cnt>crit\_tout</annotation><annotation encoding="application/x-llamapun" id="alg1.l6.m1.1d">italic_c italic_r italic_i italic_t _ italic_c italic_n italic_t > italic_c italic_r italic_i italic_t _ italic_t italic_o italic_u italic_t</annotation></semantics></math> <span class="ltx_text ltx_font_bold" id="alg1.l6.3">or</span> <math alttext="p_{l}<p_{c}" class="ltx_Math" display="inline" id="alg1.l6.m2.1"><semantics id="alg1.l6.m2.1a"><mrow id="alg1.l6.m2.1.1" xref="alg1.l6.m2.1.1.cmml"><msub id="alg1.l6.m2.1.1.2" xref="alg1.l6.m2.1.1.2.cmml"><mi id="alg1.l6.m2.1.1.2.2" xref="alg1.l6.m2.1.1.2.2.cmml">p</mi><mi id="alg1.l6.m2.1.1.2.3" xref="alg1.l6.m2.1.1.2.3.cmml">l</mi></msub><mo id="alg1.l6.m2.1.1.1" xref="alg1.l6.m2.1.1.1.cmml"><</mo><msub id="alg1.l6.m2.1.1.3" xref="alg1.l6.m2.1.1.3.cmml"><mi id="alg1.l6.m2.1.1.3.2" xref="alg1.l6.m2.1.1.3.2.cmml">p</mi><mi id="alg1.l6.m2.1.1.3.3" xref="alg1.l6.m2.1.1.3.3.cmml">c</mi></msub></mrow><annotation-xml encoding="MathML-Content" id="alg1.l6.m2.1b"><apply id="alg1.l6.m2.1.1.cmml" xref="alg1.l6.m2.1.1"><lt id="alg1.l6.m2.1.1.1.cmml" xref="alg1.l6.m2.1.1.1"></lt><apply id="alg1.l6.m2.1.1.2.cmml" xref="alg1.l6.m2.1.1.2"><csymbol cd="ambiguous" id="alg1.l6.m2.1.1.2.1.cmml" xref="alg1.l6.m2.1.1.2">subscript</csymbol><ci id="alg1.l6.m2.1.1.2.2.cmml" xref="alg1.l6.m2.1.1.2.2">𝑝</ci><ci id="alg1.l6.m2.1.1.2.3.cmml" xref="alg1.l6.m2.1.1.2.3">𝑙</ci></apply><apply id="alg1.l6.m2.1.1.3.cmml" xref="alg1.l6.m2.1.1.3"><csymbol cd="ambiguous" id="alg1.l6.m2.1.1.3.1.cmml" xref="alg1.l6.m2.1.1.3">subscript</csymbol><ci id="alg1.l6.m2.1.1.3.2.cmml" xref="alg1.l6.m2.1.1.3.2">𝑝</ci><ci id="alg1.l6.m2.1.1.3.3.cmml" xref="alg1.l6.m2.1.1.3.3">𝑐</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="alg1.l6.m2.1c">p_{l}<p_{c}</annotation><annotation encoding="application/x-llamapun" id="alg1.l6.m2.1d">italic_p start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT < italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT</annotation></semantics></math> <span class="ltx_text ltx_font_bold" id="alg1.l6.4">then</span> </div> <div class="ltx_listingline" id="alg1.l7"> <span class="ltx_tag ltx_tag_listingline"><span class="ltx_text" id="alg1.l7.1.1.1" style="font-size:80%;">7:</span></span> <math alttext="f_{c}\leftarrow" class="ltx_Math" display="inline" id="alg1.l7.m1.1"><semantics id="alg1.l7.m1.1a"><mrow id="alg1.l7.m1.1.1" xref="alg1.l7.m1.1.1.cmml"><msub id="alg1.l7.m1.1.1.2" xref="alg1.l7.m1.1.1.2.cmml"><mi id="alg1.l7.m1.1.1.2.2" xref="alg1.l7.m1.1.1.2.2.cmml">f</mi><mi id="alg1.l7.m1.1.1.2.3" xref="alg1.l7.m1.1.1.2.3.cmml">c</mi></msub><mo id="alg1.l7.m1.1.1.1" stretchy="false" xref="alg1.l7.m1.1.1.1.cmml">←</mo><mi id="alg1.l7.m1.1.1.3" xref="alg1.l7.m1.1.1.3.cmml"></mi></mrow><annotation-xml encoding="MathML-Content" id="alg1.l7.m1.1b"><apply id="alg1.l7.m1.1.1.cmml" xref="alg1.l7.m1.1.1"><ci id="alg1.l7.m1.1.1.1.cmml" xref="alg1.l7.m1.1.1.1">←</ci><apply id="alg1.l7.m1.1.1.2.cmml" xref="alg1.l7.m1.1.1.2"><csymbol cd="ambiguous" id="alg1.l7.m1.1.1.2.1.cmml" xref="alg1.l7.m1.1.1.2">subscript</csymbol><ci id="alg1.l7.m1.1.1.2.2.cmml" xref="alg1.l7.m1.1.1.2.2">𝑓</ci><ci id="alg1.l7.m1.1.1.2.3.cmml" xref="alg1.l7.m1.1.1.2.3">𝑐</ci></apply><csymbol cd="latexml" id="alg1.l7.m1.1.1.3.cmml" xref="alg1.l7.m1.1.1.3">absent</csymbol></apply></annotation-xml><annotation encoding="application/x-tex" id="alg1.l7.m1.1c">f_{c}\leftarrow</annotation><annotation encoding="application/x-llamapun" id="alg1.l7.m1.1d">italic_f start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ←</annotation></semantics></math><math alttext="true" class="ltx_Math" display="inline" id="alg1.l7.m2.1"><semantics id="alg1.l7.m2.1a"><mrow id="alg1.l7.m2.1.1" xref="alg1.l7.m2.1.1.cmml"><mi id="alg1.l7.m2.1.1.2" xref="alg1.l7.m2.1.1.2.cmml">t</mi><mo id="alg1.l7.m2.1.1.1" xref="alg1.l7.m2.1.1.1.cmml"></mo><mi id="alg1.l7.m2.1.1.3" xref="alg1.l7.m2.1.1.3.cmml">r</mi><mo id="alg1.l7.m2.1.1.1a" xref="alg1.l7.m2.1.1.1.cmml"></mo><mi id="alg1.l7.m2.1.1.4" xref="alg1.l7.m2.1.1.4.cmml">u</mi><mo id="alg1.l7.m2.1.1.1b" xref="alg1.l7.m2.1.1.1.cmml"></mo><mi id="alg1.l7.m2.1.1.5" xref="alg1.l7.m2.1.1.5.cmml">e</mi></mrow><annotation-xml encoding="MathML-Content" id="alg1.l7.m2.1b"><apply id="alg1.l7.m2.1.1.cmml" xref="alg1.l7.m2.1.1"><times id="alg1.l7.m2.1.1.1.cmml" xref="alg1.l7.m2.1.1.1"></times><ci id="alg1.l7.m2.1.1.2.cmml" xref="alg1.l7.m2.1.1.2">𝑡</ci><ci id="alg1.l7.m2.1.1.3.cmml" xref="alg1.l7.m2.1.1.3">𝑟</ci><ci id="alg1.l7.m2.1.1.4.cmml" xref="alg1.l7.m2.1.1.4">𝑢</ci><ci id="alg1.l7.m2.1.1.5.cmml" xref="alg1.l7.m2.1.1.5">𝑒</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="alg1.l7.m2.1c">true</annotation><annotation encoding="application/x-llamapun" id="alg1.l7.m2.1d">italic_t italic_r italic_u italic_e</annotation></semantics></math>, <math alttext="f_{pc}\leftarrow" class="ltx_Math" display="inline" id="alg1.l7.m3.1"><semantics id="alg1.l7.m3.1a"><mrow id="alg1.l7.m3.1.1" xref="alg1.l7.m3.1.1.cmml"><msub id="alg1.l7.m3.1.1.2" xref="alg1.l7.m3.1.1.2.cmml"><mi id="alg1.l7.m3.1.1.2.2" xref="alg1.l7.m3.1.1.2.2.cmml">f</mi><mrow id="alg1.l7.m3.1.1.2.3" xref="alg1.l7.m3.1.1.2.3.cmml"><mi id="alg1.l7.m3.1.1.2.3.2" xref="alg1.l7.m3.1.1.2.3.2.cmml">p</mi><mo id="alg1.l7.m3.1.1.2.3.1" xref="alg1.l7.m3.1.1.2.3.1.cmml"></mo><mi id="alg1.l7.m3.1.1.2.3.3" xref="alg1.l7.m3.1.1.2.3.3.cmml">c</mi></mrow></msub><mo id="alg1.l7.m3.1.1.1" stretchy="false" xref="alg1.l7.m3.1.1.1.cmml">←</mo><mi id="alg1.l7.m3.1.1.3" xref="alg1.l7.m3.1.1.3.cmml"></mi></mrow><annotation-xml encoding="MathML-Content" id="alg1.l7.m3.1b"><apply id="alg1.l7.m3.1.1.cmml" xref="alg1.l7.m3.1.1"><ci id="alg1.l7.m3.1.1.1.cmml" xref="alg1.l7.m3.1.1.1">←</ci><apply id="alg1.l7.m3.1.1.2.cmml" xref="alg1.l7.m3.1.1.2"><csymbol cd="ambiguous" id="alg1.l7.m3.1.1.2.1.cmml" xref="alg1.l7.m3.1.1.2">subscript</csymbol><ci id="alg1.l7.m3.1.1.2.2.cmml" xref="alg1.l7.m3.1.1.2.2">𝑓</ci><apply id="alg1.l7.m3.1.1.2.3.cmml" xref="alg1.l7.m3.1.1.2.3"><times id="alg1.l7.m3.1.1.2.3.1.cmml" xref="alg1.l7.m3.1.1.2.3.1"></times><ci id="alg1.l7.m3.1.1.2.3.2.cmml" xref="alg1.l7.m3.1.1.2.3.2">𝑝</ci><ci id="alg1.l7.m3.1.1.2.3.3.cmml" xref="alg1.l7.m3.1.1.2.3.3">𝑐</ci></apply></apply><csymbol cd="latexml" id="alg1.l7.m3.1.1.3.cmml" xref="alg1.l7.m3.1.1.3">absent</csymbol></apply></annotation-xml><annotation encoding="application/x-tex" id="alg1.l7.m3.1c">f_{pc}\leftarrow</annotation><annotation encoding="application/x-llamapun" id="alg1.l7.m3.1d">italic_f start_POSTSUBSCRIPT italic_p italic_c end_POSTSUBSCRIPT ←</annotation></semantics></math><math alttext="true" class="ltx_Math" display="inline" id="alg1.l7.m4.1"><semantics id="alg1.l7.m4.1a"><mrow id="alg1.l7.m4.1.1" xref="alg1.l7.m4.1.1.cmml"><mi id="alg1.l7.m4.1.1.2" xref="alg1.l7.m4.1.1.2.cmml">t</mi><mo id="alg1.l7.m4.1.1.1" xref="alg1.l7.m4.1.1.1.cmml"></mo><mi id="alg1.l7.m4.1.1.3" xref="alg1.l7.m4.1.1.3.cmml">r</mi><mo id="alg1.l7.m4.1.1.1a" xref="alg1.l7.m4.1.1.1.cmml"></mo><mi id="alg1.l7.m4.1.1.4" xref="alg1.l7.m4.1.1.4.cmml">u</mi><mo id="alg1.l7.m4.1.1.1b" xref="alg1.l7.m4.1.1.1.cmml"></mo><mi id="alg1.l7.m4.1.1.5" xref="alg1.l7.m4.1.1.5.cmml">e</mi></mrow><annotation-xml encoding="MathML-Content" id="alg1.l7.m4.1b"><apply id="alg1.l7.m4.1.1.cmml" xref="alg1.l7.m4.1.1"><times id="alg1.l7.m4.1.1.1.cmml" xref="alg1.l7.m4.1.1.1"></times><ci id="alg1.l7.m4.1.1.2.cmml" xref="alg1.l7.m4.1.1.2">𝑡</ci><ci id="alg1.l7.m4.1.1.3.cmml" xref="alg1.l7.m4.1.1.3">𝑟</ci><ci id="alg1.l7.m4.1.1.4.cmml" xref="alg1.l7.m4.1.1.4">𝑢</ci><ci id="alg1.l7.m4.1.1.5.cmml" xref="alg1.l7.m4.1.1.5">𝑒</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="alg1.l7.m4.1c">true</annotation><annotation encoding="application/x-llamapun" id="alg1.l7.m4.1d">italic_t italic_r italic_u italic_e</annotation></semantics></math> </div> <div class="ltx_listingline" id="alg1.l8"> <span class="ltx_tag ltx_tag_listingline"><span class="ltx_text" id="alg1.l8.1.1.1" style="font-size:80%;">8:</span></span><span class="ltx_text ltx_font_bold" id="alg1.l8.2">else</span> </div> <div class="ltx_listingline" id="alg1.l9"> <span class="ltx_tag ltx_tag_listingline"><span class="ltx_text" id="alg1.l9.1.1.1" style="font-size:80%;">9:</span></span> <math alttext="f_{c}\leftarrow" class="ltx_Math" display="inline" id="alg1.l9.m1.1"><semantics id="alg1.l9.m1.1a"><mrow id="alg1.l9.m1.1.1" xref="alg1.l9.m1.1.1.cmml"><msub id="alg1.l9.m1.1.1.2" xref="alg1.l9.m1.1.1.2.cmml"><mi id="alg1.l9.m1.1.1.2.2" xref="alg1.l9.m1.1.1.2.2.cmml">f</mi><mi id="alg1.l9.m1.1.1.2.3" xref="alg1.l9.m1.1.1.2.3.cmml">c</mi></msub><mo id="alg1.l9.m1.1.1.1" stretchy="false" xref="alg1.l9.m1.1.1.1.cmml">←</mo><mi id="alg1.l9.m1.1.1.3" xref="alg1.l9.m1.1.1.3.cmml"></mi></mrow><annotation-xml encoding="MathML-Content" id="alg1.l9.m1.1b"><apply id="alg1.l9.m1.1.1.cmml" xref="alg1.l9.m1.1.1"><ci id="alg1.l9.m1.1.1.1.cmml" xref="alg1.l9.m1.1.1.1">←</ci><apply id="alg1.l9.m1.1.1.2.cmml" xref="alg1.l9.m1.1.1.2"><csymbol cd="ambiguous" id="alg1.l9.m1.1.1.2.1.cmml" xref="alg1.l9.m1.1.1.2">subscript</csymbol><ci id="alg1.l9.m1.1.1.2.2.cmml" xref="alg1.l9.m1.1.1.2.2">𝑓</ci><ci id="alg1.l9.m1.1.1.2.3.cmml" xref="alg1.l9.m1.1.1.2.3">𝑐</ci></apply><csymbol cd="latexml" id="alg1.l9.m1.1.1.3.cmml" xref="alg1.l9.m1.1.1.3">absent</csymbol></apply></annotation-xml><annotation encoding="application/x-tex" id="alg1.l9.m1.1c">f_{c}\leftarrow</annotation><annotation encoding="application/x-llamapun" id="alg1.l9.m1.1d">italic_f start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ←</annotation></semantics></math><math alttext="false" class="ltx_Math" display="inline" id="alg1.l9.m2.1"><semantics id="alg1.l9.m2.1a"><mrow id="alg1.l9.m2.1.1" xref="alg1.l9.m2.1.1.cmml"><mi id="alg1.l9.m2.1.1.2" xref="alg1.l9.m2.1.1.2.cmml">f</mi><mo id="alg1.l9.m2.1.1.1" xref="alg1.l9.m2.1.1.1.cmml"></mo><mi id="alg1.l9.m2.1.1.3" xref="alg1.l9.m2.1.1.3.cmml">a</mi><mo id="alg1.l9.m2.1.1.1a" xref="alg1.l9.m2.1.1.1.cmml"></mo><mi id="alg1.l9.m2.1.1.4" xref="alg1.l9.m2.1.1.4.cmml">l</mi><mo id="alg1.l9.m2.1.1.1b" xref="alg1.l9.m2.1.1.1.cmml"></mo><mi id="alg1.l9.m2.1.1.5" xref="alg1.l9.m2.1.1.5.cmml">s</mi><mo id="alg1.l9.m2.1.1.1c" xref="alg1.l9.m2.1.1.1.cmml"></mo><mi id="alg1.l9.m2.1.1.6" xref="alg1.l9.m2.1.1.6.cmml">e</mi></mrow><annotation-xml encoding="MathML-Content" id="alg1.l9.m2.1b"><apply id="alg1.l9.m2.1.1.cmml" xref="alg1.l9.m2.1.1"><times id="alg1.l9.m2.1.1.1.cmml" xref="alg1.l9.m2.1.1.1"></times><ci id="alg1.l9.m2.1.1.2.cmml" xref="alg1.l9.m2.1.1.2">𝑓</ci><ci id="alg1.l9.m2.1.1.3.cmml" xref="alg1.l9.m2.1.1.3">𝑎</ci><ci id="alg1.l9.m2.1.1.4.cmml" xref="alg1.l9.m2.1.1.4">𝑙</ci><ci id="alg1.l9.m2.1.1.5.cmml" xref="alg1.l9.m2.1.1.5">𝑠</ci><ci id="alg1.l9.m2.1.1.6.cmml" xref="alg1.l9.m2.1.1.6">𝑒</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="alg1.l9.m2.1c">false</annotation><annotation encoding="application/x-llamapun" id="alg1.l9.m2.1d">italic_f italic_a italic_l italic_s italic_e</annotation></semantics></math> </div> <div class="ltx_listingline" id="alg1.l10"> <span class="ltx_tag ltx_tag_listingline"><span class="ltx_text" id="alg1.l10.1.1.1" style="font-size:80%;">10:</span></span><span class="ltx_text ltx_font_bold" id="alg1.l10.2">end</span> <span class="ltx_text ltx_font_bold" id="alg1.l10.3">if</span> </div> </div> </div> </div> </figure> <div class="ltx_para" id="S5.SS3.SSS3.p4"> <p class="ltx_p" id="S5.SS3.SSS3.p4.2">A graphical description based on exemplary pallet unloading measurements is shown in Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.F21" title="Figure 21 ‣ 5.3.3 Manipulation ‣ 5.3 Motion Planning and Control ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">21</span></a>. In addition to ensuring that a pallet is placed at the correct height, this method also serves as a safety feature to prevent dangerous downward fork movement in case the forks come into contact with the environment. The threshold levels indicating possible (<math alttext="p_{pc}" class="ltx_Math" display="inline" id="S5.SS3.SSS3.p4.1.m1.1"><semantics id="S5.SS3.SSS3.p4.1.m1.1a"><msub id="S5.SS3.SSS3.p4.1.m1.1.1" xref="S5.SS3.SSS3.p4.1.m1.1.1.cmml"><mi id="S5.SS3.SSS3.p4.1.m1.1.1.2" xref="S5.SS3.SSS3.p4.1.m1.1.1.2.cmml">p</mi><mrow id="S5.SS3.SSS3.p4.1.m1.1.1.3" xref="S5.SS3.SSS3.p4.1.m1.1.1.3.cmml"><mi id="S5.SS3.SSS3.p4.1.m1.1.1.3.2" xref="S5.SS3.SSS3.p4.1.m1.1.1.3.2.cmml">p</mi><mo id="S5.SS3.SSS3.p4.1.m1.1.1.3.1" xref="S5.SS3.SSS3.p4.1.m1.1.1.3.1.cmml"></mo><mi id="S5.SS3.SSS3.p4.1.m1.1.1.3.3" xref="S5.SS3.SSS3.p4.1.m1.1.1.3.3.cmml">c</mi></mrow></msub><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS3.p4.1.m1.1b"><apply id="S5.SS3.SSS3.p4.1.m1.1.1.cmml" xref="S5.SS3.SSS3.p4.1.m1.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS3.p4.1.m1.1.1.1.cmml" xref="S5.SS3.SSS3.p4.1.m1.1.1">subscript</csymbol><ci id="S5.SS3.SSS3.p4.1.m1.1.1.2.cmml" xref="S5.SS3.SSS3.p4.1.m1.1.1.2">𝑝</ci><apply id="S5.SS3.SSS3.p4.1.m1.1.1.3.cmml" xref="S5.SS3.SSS3.p4.1.m1.1.1.3"><times id="S5.SS3.SSS3.p4.1.m1.1.1.3.1.cmml" xref="S5.SS3.SSS3.p4.1.m1.1.1.3.1"></times><ci id="S5.SS3.SSS3.p4.1.m1.1.1.3.2.cmml" xref="S5.SS3.SSS3.p4.1.m1.1.1.3.2">𝑝</ci><ci id="S5.SS3.SSS3.p4.1.m1.1.1.3.3.cmml" xref="S5.SS3.SSS3.p4.1.m1.1.1.3.3">𝑐</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS3.p4.1.m1.1c">p_{pc}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS3.p4.1.m1.1d">italic_p start_POSTSUBSCRIPT italic_p italic_c end_POSTSUBSCRIPT</annotation></semantics></math>) and definite fork contact (<math alttext="p_{c}" class="ltx_Math" display="inline" id="S5.SS3.SSS3.p4.2.m2.1"><semantics id="S5.SS3.SSS3.p4.2.m2.1a"><msub id="S5.SS3.SSS3.p4.2.m2.1.1" xref="S5.SS3.SSS3.p4.2.m2.1.1.cmml"><mi id="S5.SS3.SSS3.p4.2.m2.1.1.2" xref="S5.SS3.SSS3.p4.2.m2.1.1.2.cmml">p</mi><mi id="S5.SS3.SSS3.p4.2.m2.1.1.3" xref="S5.SS3.SSS3.p4.2.m2.1.1.3.cmml">c</mi></msub><annotation-xml encoding="MathML-Content" id="S5.SS3.SSS3.p4.2.m2.1b"><apply id="S5.SS3.SSS3.p4.2.m2.1.1.cmml" xref="S5.SS3.SSS3.p4.2.m2.1.1"><csymbol cd="ambiguous" id="S5.SS3.SSS3.p4.2.m2.1.1.1.cmml" xref="S5.SS3.SSS3.p4.2.m2.1.1">subscript</csymbol><ci id="S5.SS3.SSS3.p4.2.m2.1.1.2.cmml" xref="S5.SS3.SSS3.p4.2.m2.1.1.2">𝑝</ci><ci id="S5.SS3.SSS3.p4.2.m2.1.1.3.cmml" xref="S5.SS3.SSS3.p4.2.m2.1.1.3">𝑐</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.SS3.SSS3.p4.2.m2.1c">p_{c}</annotation><annotation encoding="application/x-llamapun" id="S5.SS3.SSS3.p4.2.m2.1d">italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT</annotation></semantics></math>) are empirically selected as a trade-off between operational robustness and safety.</p> </div> <figure class="ltx_figure" id="S5.F21"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_landscape" height="548" id="S5.F21.g1" src="x23.png" width="830"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S5.F21.10.5.1" style="font-size:90%;">Figure 21</span>: </span><span class="ltx_text" id="S5.F21.8.4" style="font-size:90%;">Fork contact detection. Hydraulic pressure in the lifting cylinder <math alttext="p_{l}" class="ltx_Math" display="inline" id="S5.F21.5.1.m1.1"><semantics id="S5.F21.5.1.m1.1b"><msub id="S5.F21.5.1.m1.1.1" xref="S5.F21.5.1.m1.1.1.cmml"><mi id="S5.F21.5.1.m1.1.1.2" xref="S5.F21.5.1.m1.1.1.2.cmml">p</mi><mi id="S5.F21.5.1.m1.1.1.3" xref="S5.F21.5.1.m1.1.1.3.cmml">l</mi></msub><annotation-xml encoding="MathML-Content" id="S5.F21.5.1.m1.1c"><apply id="S5.F21.5.1.m1.1.1.cmml" xref="S5.F21.5.1.m1.1.1"><csymbol cd="ambiguous" id="S5.F21.5.1.m1.1.1.1.cmml" xref="S5.F21.5.1.m1.1.1">subscript</csymbol><ci id="S5.F21.5.1.m1.1.1.2.cmml" xref="S5.F21.5.1.m1.1.1.2">𝑝</ci><ci id="S5.F21.5.1.m1.1.1.3.cmml" xref="S5.F21.5.1.m1.1.1.3">𝑙</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.F21.5.1.m1.1d">p_{l}</annotation><annotation encoding="application/x-llamapun" id="S5.F21.5.1.m1.1e">italic_p start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT</annotation></semantics></math> below a certain level indicates fork contact with environment (<math alttext="f_{c}=true" class="ltx_Math" display="inline" id="S5.F21.6.2.m2.1"><semantics id="S5.F21.6.2.m2.1b"><mrow id="S5.F21.6.2.m2.1.1" xref="S5.F21.6.2.m2.1.1.cmml"><msub id="S5.F21.6.2.m2.1.1.2" xref="S5.F21.6.2.m2.1.1.2.cmml"><mi id="S5.F21.6.2.m2.1.1.2.2" xref="S5.F21.6.2.m2.1.1.2.2.cmml">f</mi><mi id="S5.F21.6.2.m2.1.1.2.3" xref="S5.F21.6.2.m2.1.1.2.3.cmml">c</mi></msub><mo id="S5.F21.6.2.m2.1.1.1" xref="S5.F21.6.2.m2.1.1.1.cmml">=</mo><mrow id="S5.F21.6.2.m2.1.1.3" xref="S5.F21.6.2.m2.1.1.3.cmml"><mi id="S5.F21.6.2.m2.1.1.3.2" xref="S5.F21.6.2.m2.1.1.3.2.cmml">t</mi><mo id="S5.F21.6.2.m2.1.1.3.1" xref="S5.F21.6.2.m2.1.1.3.1.cmml"></mo><mi id="S5.F21.6.2.m2.1.1.3.3" xref="S5.F21.6.2.m2.1.1.3.3.cmml">r</mi><mo id="S5.F21.6.2.m2.1.1.3.1b" xref="S5.F21.6.2.m2.1.1.3.1.cmml"></mo><mi id="S5.F21.6.2.m2.1.1.3.4" xref="S5.F21.6.2.m2.1.1.3.4.cmml">u</mi><mo id="S5.F21.6.2.m2.1.1.3.1c" xref="S5.F21.6.2.m2.1.1.3.1.cmml"></mo><mi id="S5.F21.6.2.m2.1.1.3.5" xref="S5.F21.6.2.m2.1.1.3.5.cmml">e</mi></mrow></mrow><annotation-xml encoding="MathML-Content" id="S5.F21.6.2.m2.1c"><apply id="S5.F21.6.2.m2.1.1.cmml" xref="S5.F21.6.2.m2.1.1"><eq id="S5.F21.6.2.m2.1.1.1.cmml" xref="S5.F21.6.2.m2.1.1.1"></eq><apply id="S5.F21.6.2.m2.1.1.2.cmml" xref="S5.F21.6.2.m2.1.1.2"><csymbol cd="ambiguous" id="S5.F21.6.2.m2.1.1.2.1.cmml" xref="S5.F21.6.2.m2.1.1.2">subscript</csymbol><ci id="S5.F21.6.2.m2.1.1.2.2.cmml" xref="S5.F21.6.2.m2.1.1.2.2">𝑓</ci><ci id="S5.F21.6.2.m2.1.1.2.3.cmml" xref="S5.F21.6.2.m2.1.1.2.3">𝑐</ci></apply><apply id="S5.F21.6.2.m2.1.1.3.cmml" xref="S5.F21.6.2.m2.1.1.3"><times id="S5.F21.6.2.m2.1.1.3.1.cmml" xref="S5.F21.6.2.m2.1.1.3.1"></times><ci id="S5.F21.6.2.m2.1.1.3.2.cmml" xref="S5.F21.6.2.m2.1.1.3.2">𝑡</ci><ci id="S5.F21.6.2.m2.1.1.3.3.cmml" xref="S5.F21.6.2.m2.1.1.3.3">𝑟</ci><ci id="S5.F21.6.2.m2.1.1.3.4.cmml" xref="S5.F21.6.2.m2.1.1.3.4">𝑢</ci><ci id="S5.F21.6.2.m2.1.1.3.5.cmml" xref="S5.F21.6.2.m2.1.1.3.5">𝑒</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.F21.6.2.m2.1d">f_{c}=true</annotation><annotation encoding="application/x-llamapun" id="S5.F21.6.2.m2.1e">italic_f start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT = italic_t italic_r italic_u italic_e</annotation></semantics></math>). The threshold levels indicate possible fork contact (<math alttext="p_{pc}" class="ltx_Math" display="inline" id="S5.F21.7.3.m3.1"><semantics id="S5.F21.7.3.m3.1b"><msub id="S5.F21.7.3.m3.1.1" xref="S5.F21.7.3.m3.1.1.cmml"><mi id="S5.F21.7.3.m3.1.1.2" xref="S5.F21.7.3.m3.1.1.2.cmml">p</mi><mrow id="S5.F21.7.3.m3.1.1.3" xref="S5.F21.7.3.m3.1.1.3.cmml"><mi id="S5.F21.7.3.m3.1.1.3.2" xref="S5.F21.7.3.m3.1.1.3.2.cmml">p</mi><mo id="S5.F21.7.3.m3.1.1.3.1" xref="S5.F21.7.3.m3.1.1.3.1.cmml"></mo><mi id="S5.F21.7.3.m3.1.1.3.3" xref="S5.F21.7.3.m3.1.1.3.3.cmml">c</mi></mrow></msub><annotation-xml encoding="MathML-Content" id="S5.F21.7.3.m3.1c"><apply id="S5.F21.7.3.m3.1.1.cmml" xref="S5.F21.7.3.m3.1.1"><csymbol cd="ambiguous" id="S5.F21.7.3.m3.1.1.1.cmml" xref="S5.F21.7.3.m3.1.1">subscript</csymbol><ci id="S5.F21.7.3.m3.1.1.2.cmml" xref="S5.F21.7.3.m3.1.1.2">𝑝</ci><apply id="S5.F21.7.3.m3.1.1.3.cmml" xref="S5.F21.7.3.m3.1.1.3"><times id="S5.F21.7.3.m3.1.1.3.1.cmml" xref="S5.F21.7.3.m3.1.1.3.1"></times><ci id="S5.F21.7.3.m3.1.1.3.2.cmml" xref="S5.F21.7.3.m3.1.1.3.2">𝑝</ci><ci id="S5.F21.7.3.m3.1.1.3.3.cmml" xref="S5.F21.7.3.m3.1.1.3.3">𝑐</ci></apply></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.F21.7.3.m3.1d">p_{pc}</annotation><annotation encoding="application/x-llamapun" id="S5.F21.7.3.m3.1e">italic_p start_POSTSUBSCRIPT italic_p italic_c end_POSTSUBSCRIPT</annotation></semantics></math>) and definite fork contact (<math alttext="p_{c}" class="ltx_Math" display="inline" id="S5.F21.8.4.m4.1"><semantics id="S5.F21.8.4.m4.1b"><msub id="S5.F21.8.4.m4.1.1" xref="S5.F21.8.4.m4.1.1.cmml"><mi id="S5.F21.8.4.m4.1.1.2" xref="S5.F21.8.4.m4.1.1.2.cmml">p</mi><mi id="S5.F21.8.4.m4.1.1.3" xref="S5.F21.8.4.m4.1.1.3.cmml">c</mi></msub><annotation-xml encoding="MathML-Content" id="S5.F21.8.4.m4.1c"><apply id="S5.F21.8.4.m4.1.1.cmml" xref="S5.F21.8.4.m4.1.1"><csymbol cd="ambiguous" id="S5.F21.8.4.m4.1.1.1.cmml" xref="S5.F21.8.4.m4.1.1">subscript</csymbol><ci id="S5.F21.8.4.m4.1.1.2.cmml" xref="S5.F21.8.4.m4.1.1.2">𝑝</ci><ci id="S5.F21.8.4.m4.1.1.3.cmml" xref="S5.F21.8.4.m4.1.1.3">𝑐</ci></apply></annotation-xml><annotation encoding="application/x-tex" id="S5.F21.8.4.m4.1d">p_{c}</annotation><annotation encoding="application/x-llamapun" id="S5.F21.8.4.m4.1e">italic_p start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT</annotation></semantics></math>).</span></figcaption> </figure> </section> </section> </section> <section class="ltx_section" id="S6"> <h2 class="ltx_title ltx_title_section"> <span class="ltx_tag ltx_tag_section">6 </span>Validation and Evaluation</h2> <div class="ltx_para" id="S6.p1"> <p class="ltx_p" id="S6.p1.1">This section describes the experimental setup in our outdoor large-scale robotics lab followed by a detailed analysis of the robust long-term operation together with a direct comparison with an experienced human operator. At the end, lessons learnt of the development and testing process are presented to improve development for future work.</p> </div> <section class="ltx_subsection" id="S6.SS1"> <h3 class="ltx_title ltx_title_subsection"> <span class="ltx_tag ltx_tag_subsection">6.1 </span>Experimental Setup</h3> <div class="ltx_para" id="S6.SS1.p1"> <p class="ltx_p" id="S6.SS1.p1.1">The experiment is designed to evaluate the long-term operational robustness and performance of ADAPT across close-to-real loading scenarios. Three distinct operational modes were tested: ground-to-ground (G to G) pallet loading, ground-to-truck (G to T) pallet loading, and truck-to-ground (T to G) pallet unloading. In this context, the experimental setup involved a truck loaded with four Euro-pallets, each carrying varying types of loads to simulate real-world handling conditions. The initial location for the forklift and the truck parking location are unchanged in all experiments, to allow for a fair comparison between baseline data collected from an expert operator and data collected from autonomous operation. Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S6.F22" title="Figure 22 ‣ 6.1 Experimental Setup ‣ 6 Validation and Evaluation ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">22</span></a> shows the test site with an overlay of the configuration of the ground loading zones (Zone 1 & Zone 2) as well as the truck location.</p> </div> <figure class="ltx_figure" id="S6.F22"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_landscape" height="473" id="S6.F22.g1" src="x24.png" width="664"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S6.F22.2.1.1" style="font-size:90%;">Figure 22</span>: </span><span class="ltx_text" id="S6.F22.3.2" style="font-size:90%;">Satellite image showing the test site with an overlay for the configuration of the loading zones (Zone 1 & Zone 2) as well as the truck location used for the experiments.</span></figcaption> </figure> <div class="ltx_para" id="S6.SS1.p2"> <p class="ltx_p" id="S6.SS1.p2.1">Note that neither the ground loading zones nor the truck have predefined pallet positions. Pallets can be placed anywhere within these areas, with the restriction that they must be accessible by the forklift. Example situations for ground loading zones are shown in Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S6.F23" title="Figure 23 ‣ 6.1 Experimental Setup ‣ 6 Validation and Evaluation ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">23</span></a> from the view of the pallet detector camera on top of the lift mast. For unloading in Zone 1, all four pallets were arranged in a single row, whereas in Zone 2 they were arranged in two rows with two pallets in each row.</p> </div> <figure class="ltx_figure" id="S6.F23"> <div class="ltx_flex_figure"> <div class="ltx_flex_cell ltx_flex_size_2"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_figure_panel ltx_img_landscape" height="160" id="S6.F23.g1" src="extracted/6290360/figures/eval_pallets_GtG1.png" width="287"/></div> <div class="ltx_flex_cell ltx_flex_size_2"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_figure_panel ltx_img_landscape" height="159" id="S6.F23.g2" src="extracted/6290360/figures/eval_pallets_GtG2.png" width="275"/></div> </div> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S6.F23.2.1.1" style="font-size:90%;">Figure 23</span>: </span><span class="ltx_text" id="S6.F23.3.2" style="font-size:90%;">Pallets from the camera on top of the lift mast for Zone 1 (left) and 2 (right).</span></figcaption> </figure> <div class="ltx_para" id="S6.SS1.p3"> <p class="ltx_p" id="S6.SS1.p3.1">As noted above, one of the purposes of this work is to evaluate the automated system under varying weather conditions. Therefore, the baseline data, as well as the data from autonomous operation, are collected under different weather conditions including sunny, cloudy, and rainy weather. All ground-to-ground loading scenarios were carried out in rainy conditions as illustrated in Fig. <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S6.F24" title="Figure 24 ‣ 6.1 Experimental Setup ‣ 6 Validation and Evaluation ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">24</span></a>.</p> </div> <figure class="ltx_figure" id="S6.F24"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_square" height="345" id="S6.F24.g1" src="extracted/6290360/figures/eval_rainy.png" width="419"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S6.F24.2.1.1" style="font-size:90%;">Figure 24</span>: </span><span class="ltx_text" id="S6.F24.3.2" style="font-size:90%;">Rainy environment conditions for the ground to ground scenario with reflective puddles.</span></figcaption> </figure> </section> <section class="ltx_subsection" id="S6.SS2"> <h3 class="ltx_title ltx_title_subsection"> <span class="ltx_tag ltx_tag_subsection">6.2 </span>Baseline data collection</h3> <div class="ltx_para" id="S6.SS2.p1"> <p class="ltx_p" id="S6.SS2.p1.1">To be able to assess the efficiency, accuracy and general performance of the autonomous forklift during typical loading scenarios, data from manual operation were collected. The baseline data was collected through an experienced and external forklift operator with more than 20 years of experience in handling this type of forklift. The data collection process was supervised by an engineering team over a three-day period, encompassing a variety of weather conditions. The study included multiple test scenarios, covering both loading and unloading from a truck as well as ground-level pallet handling. Each scenario was repeated across several cycles to generate statistically significant results. Overall, 280 minutes of consecutive driving were collected.</p> </div> </section> <section class="ltx_subsection" id="S6.SS3"> <h3 class="ltx_title ltx_title_subsection"> <span class="ltx_tag ltx_tag_subsection">6.3 </span>Performance Criteria</h3> <div class="ltx_para" id="S6.SS3.p1"> <p class="ltx_p" id="S6.SS3.p1.1">To compare the performance of ADAPT with an experienced operator, manual operation was recorded with the same forklift. The maximum velocity in autonomous operation was limited to the legally maximum allowed velocity of <math alttext="v_{max}=6" class="ltx_Math" display="inline" id="S6.SS3.p1.1.m1.1"><semantics id="S6.SS3.p1.1.m1.1a"><mrow id="S6.SS3.p1.1.m1.1.1" xref="S6.SS3.p1.1.m1.1.1.cmml"><msub id="S6.SS3.p1.1.m1.1.1.2" xref="S6.SS3.p1.1.m1.1.1.2.cmml"><mi id="S6.SS3.p1.1.m1.1.1.2.2" xref="S6.SS3.p1.1.m1.1.1.2.2.cmml">v</mi><mrow id="S6.SS3.p1.1.m1.1.1.2.3" xref="S6.SS3.p1.1.m1.1.1.2.3.cmml"><mi id="S6.SS3.p1.1.m1.1.1.2.3.2" xref="S6.SS3.p1.1.m1.1.1.2.3.2.cmml">m</mi><mo id="S6.SS3.p1.1.m1.1.1.2.3.1" xref="S6.SS3.p1.1.m1.1.1.2.3.1.cmml"></mo><mi id="S6.SS3.p1.1.m1.1.1.2.3.3" xref="S6.SS3.p1.1.m1.1.1.2.3.3.cmml">a</mi><mo id="S6.SS3.p1.1.m1.1.1.2.3.1a" xref="S6.SS3.p1.1.m1.1.1.2.3.1.cmml"></mo><mi id="S6.SS3.p1.1.m1.1.1.2.3.4" xref="S6.SS3.p1.1.m1.1.1.2.3.4.cmml">x</mi></mrow></msub><mo id="S6.SS3.p1.1.m1.1.1.1" xref="S6.SS3.p1.1.m1.1.1.1.cmml">=</mo><mn id="S6.SS3.p1.1.m1.1.1.3" xref="S6.SS3.p1.1.m1.1.1.3.cmml">6</mn></mrow><annotation-xml encoding="MathML-Content" id="S6.SS3.p1.1.m1.1b"><apply id="S6.SS3.p1.1.m1.1.1.cmml" xref="S6.SS3.p1.1.m1.1.1"><eq id="S6.SS3.p1.1.m1.1.1.1.cmml" xref="S6.SS3.p1.1.m1.1.1.1"></eq><apply id="S6.SS3.p1.1.m1.1.1.2.cmml" xref="S6.SS3.p1.1.m1.1.1.2"><csymbol cd="ambiguous" id="S6.SS3.p1.1.m1.1.1.2.1.cmml" xref="S6.SS3.p1.1.m1.1.1.2">subscript</csymbol><ci id="S6.SS3.p1.1.m1.1.1.2.2.cmml" xref="S6.SS3.p1.1.m1.1.1.2.2">𝑣</ci><apply id="S6.SS3.p1.1.m1.1.1.2.3.cmml" xref="S6.SS3.p1.1.m1.1.1.2.3"><times id="S6.SS3.p1.1.m1.1.1.2.3.1.cmml" xref="S6.SS3.p1.1.m1.1.1.2.3.1"></times><ci id="S6.SS3.p1.1.m1.1.1.2.3.2.cmml" xref="S6.SS3.p1.1.m1.1.1.2.3.2">𝑚</ci><ci id="S6.SS3.p1.1.m1.1.1.2.3.3.cmml" xref="S6.SS3.p1.1.m1.1.1.2.3.3">𝑎</ci><ci id="S6.SS3.p1.1.m1.1.1.2.3.4.cmml" xref="S6.SS3.p1.1.m1.1.1.2.3.4">𝑥</ci></apply></apply><cn id="S6.SS3.p1.1.m1.1.1.3.cmml" type="integer" xref="S6.SS3.p1.1.m1.1.1.3">6</cn></apply></annotation-xml><annotation encoding="application/x-tex" id="S6.SS3.p1.1.m1.1c">v_{max}=6</annotation><annotation encoding="application/x-llamapun" id="S6.SS3.p1.1.m1.1d">italic_v start_POSTSUBSCRIPT italic_m italic_a italic_x end_POSTSUBSCRIPT = 6</annotation></semantics></math>km/h. The following performance criteria are selected for evaluation:</p> </div> <div class="ltx_para" id="S6.SS3.p2"> <p class="ltx_p" id="S6.SS3.p2.1"><span class="ltx_text ltx_font_bold" id="S6.SS3.p2.1.1">Time Taken for Full Loading Cycle:</span> Total time taken to complete the entire pallet loading and unloading process, from the first pallet pick-up to the last pallet placement. This provides a direct measure of throughput, allowing a clear comparison of speed and productivity between the automated system and the human operator.</p> </div> <div class="ltx_para" id="S6.SS3.p3"> <p class="ltx_p" id="S6.SS3.p3.1"><span class="ltx_text ltx_font_bold" id="S6.SS3.p3.1.1">Distance Driven:</span> Total distance traveled for the full load task. This enables a comparison between the route efficiency of the automated system’s algorithms and the decision-making of an expert operator. Lower travel distances also equal less energy consumption.</p> </div> <div class="ltx_para" id="S6.SS3.p4"> <p class="ltx_p" id="S6.SS3.p4.1"><span class="ltx_text ltx_font_bold" id="S6.SS3.p4.1.1">Manual Interventions:</span> Quantity and severity of manual interventions required during autonomous operation. The goal is to analyze the autonomy of the system and its need of human involvement to correct errors, manage obstacles, or ensure safety.</p> </div> <div class="ltx_para" id="S6.SS3.p5"> <p class="ltx_p" id="S6.SS3.p5.1">Using these criteria, it is possible to conduct a comprehensive, quantitative and qualitative comparison of ADAPT and an expert operator, with an emphasis on efficiency and operational performance. </p> </div> </section> <section class="ltx_subsection" id="S6.SS4"> <h3 class="ltx_title ltx_title_subsection"> <span class="ltx_tag ltx_tag_subsection">6.4 </span>Performance Analysis</h3> <figure class="ltx_figure" id="S6.F25"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_landscape" height="482" id="S6.F25.g1" src="x25.png" width="829"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S6.F25.2.1.1" style="font-size:90%;">Figure 25</span>: </span><span class="ltx_text" id="S6.F25.3.2" style="font-size:90%;">Overall mean time for the three scenarios ground-to-ground (G to G), ground-to-truck (G to T) and truck-to-ground (T to G) for autonomous operation (red) and the expert operator (turquoise). Time spent driving in darker, standstill in lighter color.</span></figcaption> </figure> <div class="ltx_para" id="S6.SS4.p1"> <p class="ltx_p" id="S6.SS4.p1.1"><span class="ltx_text ltx_font_bold" id="S6.SS4.p1.1.1">Time Taken for Full Loading Cycle:</span> Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S6.F25" title="Figure 25 ‣ 6.4 Performance Analysis ‣ 6 Validation and Evaluation ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">25</span></a> compares the overall task completion times for autonomous and manual operations across three scenarios: ground-to-ground (G to G), ground-to-truck (G to T), and truck-to-ground (T to G). The figure further distinguishes between time spent driving (shown in a darker shade) and non-driving task execution (shown in a lighter shade). Overall, the experienced operator completed the loading tasks in 82.5% of the time required by ADAPT. </p> </div> <div class="ltx_para" id="S6.SS4.p2"> <p class="ltx_p" id="S6.SS4.p2.1">In the simpler G to G scenario, the autonomous system achieves approximately 88% of expert-level performance, demonstrating its strong potential for timely deployment in commercial operations. In the more complex task of loading onto the truck, the autonomous system remains competitive, showing a time difference of 14% compared to the performance of experts. The largest discrepancy, 26%, is observed in the loading-from-truck scenario. The extended standstill times observed in ADAPT primarily result from computational and detection delays, as well as inefficiencies associated with the sequential execution of tasks, as discussed in detail later. </p> </div> <div class="ltx_para" id="S6.SS4.p3"> <p class="ltx_p" id="S6.SS4.p3.1">To evaluate the potential for performance and improvement in more detail, Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S6.F26" title="Figure 26 ‣ 6.4 Performance Analysis ‣ 6 Validation and Evaluation ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">26</span></a> provides a statistical time analysis based on the subtasks of autonomous operation. The missions are defined as discussed in Section <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5" title="5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">5</span></a> as <span class="ltx_text ltx_font_italic" id="S6.SS4.p3.1.1">ApproachPallet</span>, <span class="ltx_text ltx_font_italic" id="S6.SS4.p3.1.2">LoadPallet</span>, <span class="ltx_text ltx_font_italic" id="S6.SS4.p3.1.3">ApproachSlot</span> and <span class="ltx_text ltx_font_italic" id="S6.SS4.p3.1.4">UnloadPallet</span>. The two submissions <span class="ltx_text ltx_font_italic" id="S6.SS4.p3.1.5">FindPallets</span> and <span class="ltx_text ltx_font_italic" id="S6.SS4.p3.1.6">SelectPallets</span> are included in <span class="ltx_text ltx_font_italic" id="S6.SS4.p3.1.7">ApproachPallet</span> to increase readability. The two <span class="ltx_text ltx_font_italic" id="S6.SS4.p3.1.8">Approach</span> missions consist mostly of typical navigation movement, whereas the load and unload missions deal mostly with manipulation.</p> </div> <figure class="ltx_figure" id="S6.F26"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_square" height="929" id="S6.F26.g1" src="x26.png" width="830"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S6.F26.2.1.1" style="font-size:90%;">Figure 26</span>: </span><span class="ltx_text" id="S6.F26.3.2" style="font-size:90%;">Time evaluation of the sub-missions for ground-to-ground (G to G), ground-to-truck (G to T) and truck-to-ground (T to G) loading for autonomous operation (red) and the forklift operator (cyan).</span></figcaption> </figure> <div class="ltx_para" id="S6.SS4.p4"> <p class="ltx_p" id="S6.SS4.p4.1">For the <span class="ltx_text ltx_font_italic" id="S6.SS4.p4.1.1">ApproachPallet</span>, a longer time and a higher variance for ADAPT can be observed. This arises mostly from two properties of the pallet detection: Firstly, when no pallets are known to the system, ADAPT stops for several seconds in front of the loading zone to obtain a stable object list. Secondly, as the position and orientation of the pallets are not known in advance, a new approach of pallets is sometimes mandatory for correct loading which takes up to 30 seconds. Especially for the G to G scenario, this occurred multiple times resulting in the larger variance for the approach. In the G to T case, the performance of ADAPT and the expert is very similar because the expert operator chooses a suboptimal path as detailed in the latter. For the <span class="ltx_text ltx_font_italic" id="S6.SS4.p4.1.2">ApproachSlot</span> mission, ADAPT achieves a very similar performance, even though more changes in driving direction were made. </p> </div> <div class="ltx_para" id="S6.SS4.p5"> <p class="ltx_p" id="S6.SS4.p5.1">For the manipulation subtasks, ADAPT performs very consistently for all scenarios. For loading, the performance of G to G and G to T is very similar to that of the human operator. The loading of the truck takes longer for ADAPT. This mostly arises from the time needed to raise the forks to the height of the loading platform and the additional pallet detection check when the pallet is located in a plane different from the movement plane. The unloading of the pallets is close to a standardized task and thus can be done with accurate timing with hardly any variance by the autonomous system. The key difference from manual operation is that the autonomous system raises the forks while stationary, as shown in Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S5.F20" title="Figure 20 ‣ 5.3.3 Manipulation ‣ 5.3 Motion Planning and Control ‣ 5 Planning and Control ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">20</span></a>, while a human operator simultaneously manipulates the forks and drives to maximize efficiency. This illustrates a case where ADAPT is not yet optimized for timing performance. </p> </div> <figure class="ltx_figure" id="S6.F27"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_landscape" height="420" id="S6.F27.g1" src="x27.png" width="830"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S6.F27.4.1.1" style="font-size:90%;">Figure 27</span>: </span><span class="ltx_text" id="S6.F27.5.2" style="font-size:90%;">Paths for autonomous (red) and manual (cyan) operation for all 3 scenarios for <span class="ltx_text ltx_font_italic" id="S6.F27.5.2.1">ApproachPallet</span> (top) and <span class="ltx_text ltx_font_italic" id="S6.F27.5.2.2">ApproachSlot</span> (bottom).</span></figcaption> </figure> <div class="ltx_para" id="S6.SS4.p6"> <p class="ltx_p" id="S6.SS4.p6.1"><span class="ltx_text ltx_font_bold" id="S6.SS4.p6.1.1">Distance Driven:</span> Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S6.F27" title="Figure 27 ‣ 6.4 Performance Analysis ‣ 6 Validation and Evaluation ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">27</span></a> illustrates an overlay of the manual and autonomous paths for a representative loading cycle in each scenario. In general, it can be observed that the expert operator shows a superior utilization of the free space available for turning compared to the autonomous planning system. This results in fewer changes in driving direction during manual operation. In contrast, the autonomous vehicle tends to navigate closer to obstacles, such as bushes, allowing it to effectively cut corners. These opposing behaviors nearly compensate for each other, resulting in comparable path lengths, as summarized in Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S6.F28" title="Figure 28 ‣ 6.4 Performance Analysis ‣ 6 Validation and Evaluation ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">28</span></a>. Contrary to our intuition, the expert operator performs impressively consistent with a very low variance of the path length. For ADAPT, the variance in path length is greater as a result of the heuristic nature of the hybrid A* path planner. This can also be seen in the plotted paths in Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S6.F27" title="Figure 27 ‣ 6.4 Performance Analysis ‣ 6 Validation and Evaluation ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">27</span></a>, where the paths of the human operator are impressively equal within one scenario.</p> </div> <div class="ltx_para" id="S6.SS4.p7"> <p class="ltx_p" id="S6.SS4.p7.1">Across different scenarios, a notable change in human operator behavior was observed, see Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S6.F27" title="Figure 27 ‣ 6.4 Performance Analysis ‣ 6 Validation and Evaluation ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">27</span></a>. After the first recorded scenario, ground-to-truck loading, the expert operator adapted his turning strategy. Instead of turning immediately after loading, the operator used the corner as a natural pivot point to change the driving direction. This adjustment was shown to be significantly faster, as evidenced by the reduced driving time in the <span class="ltx_text ltx_font_italic" id="S6.SS4.p7.1.1">ApproachPallet</span> phase compared to the truck-to-ground scenario. These observations highlight the dependency of performance on the skill level of the forklift operator. Less skilled operators not only take longer to load and unload pallets but also tend to select suboptimal driving paths, further impacting overall efficiency.</p> </div> <figure class="ltx_figure" id="S6.F28"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_landscape" height="418" id="S6.F28.g1" src="x28.png" width="706"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S6.F28.2.1.1" style="font-size:90%;">Figure 28</span>: </span><span class="ltx_text" id="S6.F28.3.2" style="font-size:90%;">Path length evaluation for autonomous (red) and manual (turquoise) operation. Text denotes the absolute path length.</span></figcaption> </figure> <div class="ltx_para" id="S6.SS4.p8"> <p class="ltx_p" id="S6.SS4.p8.1"><span class="ltx_text ltx_font_bold" id="S6.SS4.p8.1.1">Manual Interventions:</span> During the recorded operation period of more than 3 hours of autonomous functionality, during which 60 pallets were loaded, a total of 17 manual interventions were required. These manual interventions were classified into three categories: Collision Detection, Manipulation and Navigation. The distribution of types of manual intervention is illustrated on the left-hand side of Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S6.F29" title="Figure 29 ‣ 6.4 Performance Analysis ‣ 6 Validation and Evaluation ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">29</span></a>.</p> </div> <figure class="ltx_figure" id="S6.F29"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_landscape" height="296" id="S6.F29.g1" src="x29.png" width="829"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S6.F29.2.1.1" style="font-size:90%;">Figure 29</span>: </span><span class="ltx_text" id="S6.F29.3.2" style="font-size:90%;">Overall manual interventions for the autonomous loading operation categorized for their type and their intervention severity.</span></figcaption> </figure> <div class="ltx_para" id="S6.SS4.p9"> <p class="ltx_p" id="S6.SS4.p9.1">Notably, nearly 60% of these interventions were attributed to the collision avoidance module, which requires human clearance for any detected potential collision. Many of these collision warnings occurred near the boundary of the map, where the distance from the collision is shorter if approaching an obstacle or boundary of the map. This issue, resulting from stringent safety constraints in the laboratory environment, could potentially be alleviated by implementing obstacle-classification-based warning distances, assigning larger safety margins for humans and moving obstacles, and smaller margins for static obstacles. Additionally, collision warnings were correctly triggered when humans, including the safety operator, were detected in the vehicle’s path, although such incidents were rare. The second category involves inaccuracies in the detection and manipulation modules, which result in failed pallet load and unload attempts. Implementing recovery routines could reduce the number of necessary manual interventions, albeit at the cost of longer execution times. Lastly, navigation and localization interventions occur when no path to a desired position could be planned or when the localization module fails. On the right-hand side of Figure <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S6.F29" title="Figure 29 ‣ 6.4 Performance Analysis ‣ 6 Validation and Evaluation ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">29</span></a>, the severity of manual interventions is classified. To this end, three categories of expertise are introduced: 1) <span class="ltx_text ltx_font_italic" id="S6.SS4.p9.1.1">Worker</span> for a typical worker on site with little knowledge of the machine, 2) <span class="ltx_text ltx_font_italic" id="S6.SS4.p9.1.2">Operator</span> which denotes an educated forklift operator capable of driving the machine manually and 3) <span class="ltx_text ltx_font_italic" id="S6.SS4.p9.1.3">Engineer</span> as a robotic engineer with in-depth knowledge of the autonomy framework. Most interventions can be handled by a regular worker by simply ensuring that the corridor in front of the autonomous vehicle is free of obstacles. For ADAPT this is verified by pressing a conformation button once. Approximately one third of interventions require an operator for forklift operations to assist in navigation or manipulation. In our tests, there was one instance where an engineer with knowledge of the autonomous functions was needed, due to a failure in the GNSS localization system. Fig. <a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#S6.F30" title="Figure 30 ‣ 6.4 Performance Analysis ‣ 6 Validation and Evaluation ‣ ADAPT: An Autonomous Forklift for Construction Site Operation1footnote 11footnote 1This document is the result of the research project AWARD funded by the European H2020 program, No. 101006817."><span class="ltx_text ltx_ref_tag">30</span></a> presents the time analysis of manual interventions during autonomous operation. During a total of 233 minutes of autonomous operation, only 12 minutes were spent in manual control, accounting for less than 5% of the total operation time. Most of this manual intervention, 10 minutes, was dedicated to resolving a GNSS localization issue, which is primarily a prototype-related challenge. All other combined manual interventions accounted for just 2 minutes, representing less than 1% of the total operation time. These results highlight the substantial reduction in manual labor required for material transport, demonstrating the efficiency of ADAPT. </p> </div> <figure class="ltx_figure" id="S6.F30"><img alt="Refer to caption" class="ltx_graphics ltx_centering ltx_img_landscape" height="322" id="S6.F30.g1" src="x30.png" width="831"/> <figcaption class="ltx_caption ltx_centering"><span class="ltx_tag ltx_tag_figure"><span class="ltx_text" id="S6.F30.2.1.1" style="font-size:90%;">Figure 30</span>: </span><span class="ltx_text" id="S6.F30.3.2" style="font-size:90%;">Left: Time spent on autonomous operation (red) compared to manual interventions (cyan). Right: Time spent for the manual interventions categories in severity.</span></figcaption> </figure> </section> <section class="ltx_subsection" id="S6.SS5"> <h3 class="ltx_title ltx_title_subsection"> <span class="ltx_tag ltx_tag_subsection">6.5 </span>Lessons Learned</h3> <div class="ltx_para" id="S6.SS5.p1"> <p class="ltx_p" id="S6.SS5.p1.1">This section outlines key lessons learned from the development and testing of ADAPT, providing insights that we hope will assist fellow researchers in the advancement of autonomous machine technology and the enhancement of the reliability of the system. </p> </div> <div class="ltx_para" id="S6.SS5.p2"> <p class="ltx_p" id="S6.SS5.p2.1"><span class="ltx_text ltx_font_bold" id="S6.SS5.p2.1.1">All-weather Operation:</span> The initial iteration of our collision avoidance system was based on a wide-angle stereo camera and was tested in an artificial outdoor rain facility designed for autonomous vehicle evaluation. The tests showed that our system performed better in rainy conditions than comparable LiDAR-based solutions, probably due to algorithmic advantages (<em class="ltx_emph ltx_font_italic" id="S6.SS5.p2.1.2">i.e.</em>, a stereo-based rain filter) and mechanical rain protection. For the current iteration, we integrated a LiDAR system with overhead rain protection. Its wider field of view enhances obstacle detection and enables mapping, which stereo cameras alone cannot provide. Additionally, the stereo camera system faced reliability issues in sub-zero temperatures due to USB controller failures, which were mitigated by switching to LiDAR.</p> </div> <div class="ltx_para" id="S6.SS5.p3"> <p class="ltx_p" id="S6.SS5.p3.1">In contrast, at high temperatures (above 30°C), we encountered overheating problems with an earlier iteration of the switch cabinet, as its unavoidable placement near the exhaust of the diesel engine exposed it to excessive heat. The current design addresses this problem with an improved inlet for air flow required by the active air-cooling system.</p> </div> <div class="ltx_para" id="S6.SS5.p4"> <p class="ltx_p" id="S6.SS5.p4.1"><span class="ltx_text ltx_font_bold" id="S6.SS5.p4.1.1">RTK Evaluation:</span> During an earlier system iteration, inconsistent RTK positioning was observed. Extensive investigation revealed that the vehicle’s internal environment contributed significantly to signal interference. Notably, reducing the number of active electronic devices — particularly a USB 3.0 stereo camera connected via a 5-meter cable — mitigated interference. Further research showed that USB 3.0 devices can disrupt GNSS signals, see, <em class="ltx_emph ltx_font_italic" id="S6.SS5.p4.1.2">e.g.</em>, <cite class="ltx_cite ltx_citemacro_cite">[<a class="ltx_ref" href="https://arxiv.org/html/2503.14331v1#bib.bib80" title="">80</a>]</cite>. The replacement of the USB 3.0 cable with a fiber optic cable for data transmission while maintaining a metallic power supply effectively eliminated interference, leading to a significant improvement in the reliability of the RTK positioning.</p> </div> <div class="ltx_para" id="S6.SS5.p5"> <p class="ltx_p" id="S6.SS5.p5.1"><span class="ltx_text ltx_font_bold" id="S6.SS5.p5.1.1">Multi-sensor Calibration:</span> The factory ZED2i calibration did not meet our needs in terms of accuracy, hence intrinsic camera and stereo calibration have been performed with our proprietary calibration pipeline. In addition, semi-automatic sensor-to-sensor calibrations save time during hardware iterations and can be used to correct aging drift.</p> </div> <div class="ltx_para" id="S6.SS5.p6"> <p class="ltx_p" id="S6.SS5.p6.1"><span class="ltx_text ltx_font_bold" id="S6.SS5.p6.1.1">Positioning Accuracy:</span> A measurement campaign revealed that in 80% of unloading cases, the global positioning accuracy of ADAPT was sufficient to unload pallets within a 5 cm tolerance without requiring additional local measurements. However, the remaining 20% cases require the continued use of additional local correction mechanisms, such as repeated loading edge detection or local control mechanisms that rely on the LiDAR sensor mounted on a fork.</p> </div> <div class="ltx_para" id="S6.SS5.p7"> <p class="ltx_p" id="S6.SS5.p7.1"><span class="ltx_text ltx_font_bold" id="S6.SS5.p7.1.1">Simulative Verification and Testing:</span> A significant part of the development and testing of autonomous functionality for ADAPT was carried out in simulation environments. The initial approach aimed for a holistic simulation to test all functionalities in one environment. However, this proved counterproductive, as different tasks have distinct requirements (e.g., photorealism for perception versus real physics for motion control). To address this, specialized simulation tools were used: Gazebo<span class="ltx_note ltx_role_footnote" id="footnote7"><sup class="ltx_note_mark">7</sup><span class="ltx_note_outer"><span class="ltx_note_content"><sup class="ltx_note_mark">7</sup><span class="ltx_tag ltx_tag_note">7</span>https://classic.gazebosim.org (accessed 2025-02-28)</span></span></span> for task and motion planning and control algorithms, and Blender<span class="ltx_note ltx_role_footnote" id="footnote8"><sup class="ltx_note_mark">8</sup><span class="ltx_note_outer"><span class="ltx_note_content"><sup class="ltx_note_mark">8</sup><span class="ltx_tag ltx_tag_note">8</span>https://www.blender.org (accessed 2025-02-28)</span></span></span> for object detection evaluation. This approach offered a cost-effective and safe way to validate autonomous functionalities before real-world deployment, especially considering the extensive setup time for prototype tests. Another advantage of simulation was the isolated testing of individual functions, which improved the identification of error sources and was often challenging on the real prototype.</p> </div> </section> </section> <section class="ltx_section" id="S7"> <h2 class="ltx_title ltx_title_section"> <span class="ltx_tag ltx_tag_section">7 </span>Conclusion and Outlook</h2> <div class="ltx_para" id="S7.p1"> <p class="ltx_p" id="S7.p1.1">This article presented the autonomous outdoor forklift ADAPT, a system capable of operating in the complex and unstructured environments of construction sites, even in challenging conditions, including low to medium rain. By integrating a forklift-specific sensor suite with a tailored software stack, the system achieves fully autonomous pallet loading and transportation. Extensive real-world testing demonstrated that the autonomous forklift operates at near-human efficiency, achieving more than 80% of expert level performance in the demonstrated scenarios, while requiring minimal operator intervention.</p> </div> <div class="ltx_para" id="S7.p2"> <p class="ltx_p" id="S7.p2.1">A key contribution of this work is the novel factor-graph-based joint optimization approach for vehicle localization and pallet mapping, specifically tailored for object manipulation tasks such as pallet loading. This method enhances the system’s adaptability and accuracy in dynamic construction site environments. Additionally, the integration of a novel fork contact measurement based on pressure feedback significantly improves robustness and safety during object manipulation while remaining cost-effective and simple to implement.</p> </div> <div class="ltx_para" id="S7.p3"> <p class="ltx_p" id="S7.p3.1">A detailed long-term evaluation compared the autonomous forklift’s performance to that of an expert human operator with over 20 years of experience. The analysis provided insights into performance, robustness, and the nature and frequency of required human interventions. These findings highlight the system’s potential to improve efficiency and safety in material handling for construction sites, addressing labor shortages and reducing operational risks.</p> </div> <div class="ltx_para" id="S7.p4"> <p class="ltx_p" id="S7.p4.1">Future improvements will focus on motion planning in dynamic environments to enhance safety while maintaining operational efficiency. Additionally, the incorporation of semantic information into the environment mapping approach will complement the existing geometric model, allowing the forklift to prioritize stable surfaces such as concrete roads over more challenging terrains like gravel or soil. Further efforts will be directed toward increasing robustness when navigating through challenging terrain and extreme weather conditions. Recurring hardware updates, particularly those involving processing components, will allow for either replacing existing hardware with more compact, resource-efficient alternatives or utilizing higher-performance components to improve overall timing-related performance. By addressing these aspects, the system can continue to evolve toward a fully integrated, intelligent solution for autonomous material handling in demanding construction environments.</p> </div> </section> <section class="ltx_section" id="Sx1"> <h2 class="ltx_title ltx_title_section">CRediT authorship contribution statement</h2> <div class="ltx_para" id="Sx1.p1"> <p class="ltx_p" id="Sx1.p1.1"><span class="ltx_text ltx_font_bold" id="Sx1.p1.1.1">Johannes Huemer:</span> Writing – Original Draft, Methodology, Conceptualization, Software, Hardware. <span class="ltx_text ltx_font_bold" id="Sx1.p1.1.2">Markus Murschitz:</span> Conceptualization, Supervision, Writing – Original Draft, Methodology, Software. <span class="ltx_text ltx_font_bold" id="Sx1.p1.1.3">Benedikt Widy:</span> Methodology, Hardware. <span class="ltx_text ltx_font_bold" id="Sx1.p1.1.4">Matthias Schörghuber:</span> Writing – Original Draft, Methodology, Software. <span class="ltx_text ltx_font_bold" id="Sx1.p1.1.5">Marcel Zeilinger:</span> Methodology, Software. <span class="ltx_text ltx_font_bold" id="Sx1.p1.1.6">Thomas Kadiofsky:</span> Writing – Original Draft, Methodology, Software. <span class="ltx_text ltx_font_bold" id="Sx1.p1.1.7">Christoph Weidinger:</span> Methodology, Software. <span class="ltx_text ltx_font_bold" id="Sx1.p1.1.8">Lukas Reisinger:</span> Methodology, Software, Data curation. <span class="ltx_text ltx_font_bold" id="Sx1.p1.1.9">Csaba Beleznai:</span> Writing – Original Draft, Methodology, Data curation. <span class="ltx_text ltx_font_bold" id="Sx1.p1.1.10">Mario Niedermeyer:</span> Software, Hardware, Validation. <span class="ltx_text ltx_font_bold" id="Sx1.p1.1.11">Tobias Glück:</span> Writing - Review & Editing, Funding acquisition. <span class="ltx_text ltx_font_bold" id="Sx1.p1.1.12">Andreas Kugi:</span> Writing - Review & Editing, Funding acquisition. <span class="ltx_text ltx_font_bold" id="Sx1.p1.1.13">Patrik Zips:</span> Writing – Original Draft, Methodology, Formal analysis, Investigation, Project administration.</p> </div> </section> <section class="ltx_section" id="Sx2"> <h2 class="ltx_title ltx_title_section">Declaration of competing interest</h2> <div class="ltx_para" id="Sx2.p1"> <p class="ltx_p" id="Sx2.p1.1">The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.</p> </div> </section> <section class="ltx_section" id="Sx3"> <h2 class="ltx_title ltx_title_section">Declaration of generative AI and AI-assisted technologies in the writing process</h2> <div class="ltx_para" id="Sx3.p1"> <p class="ltx_p" id="Sx3.p1.1">During the preparation of this work the authors used ChatGPT and DeepL to improve the readability and reduce spelling errors. After using this tool, the authors reviewed and edited the content as needed and take full responsibility for the content of the published article.</p> </div> </section> <section class="ltx_section" id="Sx4"> <h2 class="ltx_title ltx_title_section">Acknowledgments</h2> <div class="ltx_para" id="Sx4.p1"> <p class="ltx_p" id="Sx4.p1.1">This work was funded by the European Union’s Horizon 2020 research and innovation program under Grant Agreement No. 101006817. Additionally, it received support from the Austrian Research Promotion Agency (FFG) through the ICT of the Future program under Project No. 873987. We would also like to express our gratitude to our collaboration partners FH OÖ, Wolfgang Pointner, and Palfinger as well as Florian Wimmer for the initial version of the loading platform detection.</p> </div> </section> <section class="ltx_bibliography" id="bib"> <h2 class="ltx_title ltx_title_bibliography">References</h2> <ul class="ltx_biblist"> <li class="ltx_bibitem" id="bib.bib1"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[1]</span> <span class="ltx_bibblock"> C. H. Caldas, C. L. Menches, P. M. Reyes, L. Navarro, and D. M. Vargas, “Materials Management Practices in the Construction Industry,” <em class="ltx_emph ltx_font_italic" id="bib.bib1.1.1">Practice Periodical on Structural Design and Construction</em>, vol. 20, no. 3, p. 04014039, 2015. </span> </li> <li class="ltx_bibitem" id="bib.bib2"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[2]</span> <span class="ltx_bibblock"> H. R. Thomas, D. R. Riley, and J. I. Messner, “Fundamental Principles of Site Material Management,” <em class="ltx_emph ltx_font_italic" id="bib.bib2.1.1">Journal of Construction Engineering and Management</em>, vol. 131, no. 7, pp. 808–815, 2005. </span> </li> <li class="ltx_bibitem" id="bib.bib3"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[3]</span> <span class="ltx_bibblock"> S. Donyavi and R. Flanagan, “The impact of effective material management on construction site performance for small and medium sized construction enterprises,” in <em class="ltx_emph ltx_font_italic" id="bib.bib3.1.1">Proceedings of the 25th Annual ARCOM Conference, Nottingham, UK</em>, 2009, pp. 11–20. </span> </li> <li class="ltx_bibitem" id="bib.bib4"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[4]</span> <span class="ltx_bibblock"> Khursheed, Salman, Sharma, Sumit, Paul, Virendra Kumar, Alzubaidi, Laith H, and Israilova, Dildora, “Review of the Factors Inducing Delay in Construction Project Material Management,” <em class="ltx_emph ltx_font_italic" id="bib.bib4.1.1">E3S Web Conf.</em>, vol. 563, p. 02044, 2024. </span> </li> <li class="ltx_bibitem" id="bib.bib5"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[5]</span> <span class="ltx_bibblock"> G. Barbosa, F. Andrade, C. Biotto, and B. Mota, “Heijunka system to level telescopic forklift activities using tablets in construction site,” in <em class="ltx_emph ltx_font_italic" id="bib.bib5.1.1">Proc. of XXI IGLC Ann. Conf</em>, 2013, pp. 821–830. </span> </li> <li class="ltx_bibitem" id="bib.bib6"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[6]</span> <span class="ltx_bibblock"> R. L. Neitzel, N. S. Seixas, and K. K. Ren, “A Review of Crane Safety in the Construction Industry,” <em class="ltx_emph ltx_font_italic" id="bib.bib6.1.1">Applied Occupational and Environmental Hygiene</em>, vol. 16, no. 12, pp. 1106–1117, 2001. </span> </li> <li class="ltx_bibitem" id="bib.bib7"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[7]</span> <span class="ltx_bibblock"> D. Jud, S. Kerscher, M. Wermelinger, E. Jelavic, P. Egli, P. Leemann, G. Hottiger, and M. Hutter, “HEAP - The autonomous walking excavator,” <em class="ltx_emph ltx_font_italic" id="bib.bib7.1.1">Automation in Construction</em>, vol. 129, p. 103783, 2021. </span> </li> <li class="ltx_bibitem" id="bib.bib8"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[8]</span> <span class="ltx_bibblock"> E. Jelavic, T. Kapgen, S. Kerscher, D. Jud, and M. Hutter, “Harveri : A Small (Semi-)Autonomous Precision Tree Harvester.” ETH Zurich, 2022. </span> </li> <li class="ltx_bibitem" id="bib.bib9"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[9]</span> <span class="ltx_bibblock"> R. Meyer, “The Journey to Regular Operation of a Fully Automatic Terminal Tractor at a Depot in Mixed Operation,” in <em class="ltx_emph ltx_font_italic" id="bib.bib9.1.1">Automatisiertes Fahren 2024</em>, A. Heintzel, Ed. Wiesbaden: Springer Fachmedien Wiesbaden, 2024, pp. 63–76. </span> </li> <li class="ltx_bibitem" id="bib.bib10"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[10]</span> <span class="ltx_bibblock"> A. Tews, C. Pradalier, and J. Roberts, “Autonomous Hot Metal Carrier,” in <em class="ltx_emph ltx_font_italic" id="bib.bib10.1.1">Proceedings 2007 IEEE International Conference on Robotics and Automation</em>, 2007, pp. 1176–1182. </span> </li> <li class="ltx_bibitem" id="bib.bib11"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[11]</span> <span class="ltx_bibblock"> T. A. Tamba, B. Hong, and K.-S. Hong, “A path following control of an unmanned autonomous forklift,” <em class="ltx_emph ltx_font_italic" id="bib.bib11.1.1">International Journal of Control, Automation and Systems</em>, vol. 7, no. 1, pp. 113–122, 2009. </span> </li> <li class="ltx_bibitem" id="bib.bib12"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[12]</span> <span class="ltx_bibblock"> M. R. Walter, M. Antone, E. Chuangsuwanich, A. Correa, R. Davis, L. Fletcher, E. Frazzoli, Y. Friedman, J. Glass, J. P. How <em class="ltx_emph ltx_font_italic" id="bib.bib12.1.1">et al.</em>, “A Situationally Aware Voice-commandable Robotic Forklift Working Alongside People in Unstructured Outdoor Environments,” <em class="ltx_emph ltx_font_italic" id="bib.bib12.2.2">Journal of Field Robotics</em>, vol. 32, no. 4, pp. 590–628, 2015. </span> </li> <li class="ltx_bibitem" id="bib.bib13"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[13]</span> <span class="ltx_bibblock"> R. Iinuma, Y. Kojima, H. Onoyama, T. Fukao, S. Hattori, and Y. Nonogaki, “Pallet Handling System with an Autonomous Forklift for Outdoor Fields,” <em class="ltx_emph ltx_font_italic" id="bib.bib13.1.1">Journal of Robotics and Mechatronics</em>, vol. 32, no. 5, pp. 1071–1079, 2020. </span> </li> <li class="ltx_bibitem" id="bib.bib14"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[14]</span> <span class="ltx_bibblock"> “On the path to autonomous outdoor operation of forklift trucks,” <a class="ltx_ref ltx_url ltx_font_typewriter" href="https://www.kiongroup.com/en/News-Stories/Stories/Automation/On-the-path-to-autonomous-outdoor-operation-of-forklift-trucks.html" title="">https://www.kiongroup.com/en/News-Stories/Stories/Automation/On-the-path-to-autonomous-outdoor-operation-of-forklift-trucks.html</a>, 2024, [Accessed February 25, 2025]. </span> </li> <li class="ltx_bibitem" id="bib.bib15"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[15]</span> <span class="ltx_bibblock"> M. G. Dissanayake, P. Newman, S. Clark, H. F. Durrant-Whyte, and M. Csorba, “A solution to the simultaneous localization and map building (SLAM) problem,” <em class="ltx_emph ltx_font_italic" id="bib.bib15.1.1">IEEE Transactions on robotics and automation</em>, vol. 17, no. 3, pp. 229–241, 2001. </span> </li> <li class="ltx_bibitem" id="bib.bib16"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[16]</span> <span class="ltx_bibblock"> C. Cadena, L. Carlone, H. Carrillo, Y. Latif, D. Scaramuzza, J. Neira, I. Reid, and J. J. Leonard, “Past, present, and future of simultaneous localization and mapping: Toward the robust-perception age,” <em class="ltx_emph ltx_font_italic" id="bib.bib16.1.1">IEEE Transactions on robotics</em>, vol. 32, no. 6, pp. 1309–1332, 2016. </span> </li> <li class="ltx_bibitem" id="bib.bib17"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[17]</span> <span class="ltx_bibblock"> K. Ebadi, L. Bernreiter, H. Biggie, G. Catt, Y. Chang, A. Chatterjee, C. E. Denniston, S.-P. Deschênes, K. Harlow, S. Khattak, L. Nogueira, M. Palieri, P. Petráček, M. Petrlík, A. Reinke, V. Krátký, S. Zhao, A.-a. Agha-mohammadi, K. Alexis, C. Heckman, K. Khosoussi, N. Kottege, B. Morrell, M. Hutter, F. Pauling, F. Pomerleau, M. Saska, S. Scherer, R. Siegwart, J. L. Williams, and L. Carlone, “Present and future of slam in extreme environments: The darpa subt challenge,” <em class="ltx_emph ltx_font_italic" id="bib.bib17.1.1">IEEE Transactions on Robotics</em>, vol. 40, pp. 936–959, 2024. </span> </li> <li class="ltx_bibitem" id="bib.bib18"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[18]</span> <span class="ltx_bibblock"> F. Wang, E. Lü, Y. Wang, G. Qiu, and H. Lu, “Efficient Stereo Visual Simultaneous Localization and Mapping for an Autonomous Unmanned Forklift in an Unstructured Warehouse,” <em class="ltx_emph ltx_font_italic" id="bib.bib18.1.1">Applied Sciences</em>, vol. 10, no. 2, 2020. </span> </li> <li class="ltx_bibitem" id="bib.bib19"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[19]</span> <span class="ltx_bibblock"> A. Hornung, K. M. Wurm, M. Bennewitz, C. Stachniss, and W. Burgard, “OctoMap: an efficient probabilistic 3D mapping framework based on octrees,” <em class="ltx_emph ltx_font_italic" id="bib.bib19.1.1">Autonomous Robots</em>, vol. 34, no. 3, pp. 189–206, 2013. </span> </li> <li class="ltx_bibitem" id="bib.bib20"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[20]</span> <span class="ltx_bibblock"> S. Macenski, D. Tsai, and M. Feinberg, “Spatio-temporal voxel layer: A view on robot perception for the dynamic world,” <em class="ltx_emph ltx_font_italic" id="bib.bib20.1.1">International Journal of Advanced Robotic Systems</em>, vol. 17, no. 2, 2020. </span> </li> <li class="ltx_bibitem" id="bib.bib21"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[21]</span> <span class="ltx_bibblock"> M. G. Besselmann, L. Puck, L. Steffen, A. Roennau, and R. Dillmann, “VDB-Mapping: A High Resolution and Real-Time Capable 3D Mapping Framework for Versatile Mobile Robots,” in <em class="ltx_emph ltx_font_italic" id="bib.bib21.1.1">2021 IEEE 17th International Conference on Automation Science and Engineering (CASE)</em>, 2021, pp. 448–454. </span> </li> <li class="ltx_bibitem" id="bib.bib22"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[22]</span> <span class="ltx_bibblock"> P. Krüsi, P. Furgale, M. Bosse, and R. Siegwart, “Driving on Point Clouds: Motion Planning, Trajectory Optimization, and Terrain Assessment in Generic Nonplanar Environments,” <em class="ltx_emph ltx_font_italic" id="bib.bib22.1.1">Journal of Field Robotics</em>, vol. 34, no. 5, pp. 940–984, 2017. </span> </li> <li class="ltx_bibitem" id="bib.bib23"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[23]</span> <span class="ltx_bibblock"> T. Whelan, M. Kaess, H. Johannsson, M. Fallon, J. J. Leonard, and J. McDonald, “Real-time large-scale dense RGB-D SLAM with volumetric fusion,” <em class="ltx_emph ltx_font_italic" id="bib.bib23.1.1">The International Journal of Robotics Research</em>, vol. 34, no. 4-5, pp. 598–626, 2015. </span> </li> <li class="ltx_bibitem" id="bib.bib24"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[24]</span> <span class="ltx_bibblock"> H. Oleynikova, Z. Taylor, M. Fehr, J. Nieto, and R. Siegwart, “Voxblox: Incremental 3D Euclidean Signed Distance Fields for On-Board MAV Planning,” in <em class="ltx_emph ltx_font_italic" id="bib.bib24.1.1">2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)</em>, 2017, pp. 1366–1373. </span> </li> <li class="ltx_bibitem" id="bib.bib25"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[25]</span> <span class="ltx_bibblock"> I. Vizzo, T. Guadagnino, J. Behley, and C. Stachniss, “VDBFusion: Flexible and Efficient TSDF Integration of Range Sensor Data,” <em class="ltx_emph ltx_font_italic" id="bib.bib25.1.1">Sensors</em>, vol. 22, no. 3, p. 1296, 2022. </span> </li> <li class="ltx_bibitem" id="bib.bib26"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[26]</span> <span class="ltx_bibblock"> P. Borges, T. Peynot, S. Liang, B. Arain, M. Wildie, M. Minareci, S. Lichman, G. Samvedi, I. Sa, N. Hudson, M. Milford, P. Moghadam, and P. Corke, “A Survey on Terrain Traversability Analysis for Autonomous Ground Vehicles: Methods, Sensors, and Challenges,” <em class="ltx_emph ltx_font_italic" id="bib.bib26.1.1">Field Robotics</em>, vol. 2, no. 1, pp. 1567–1627, 2022. </span> </li> <li class="ltx_bibitem" id="bib.bib27"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[27]</span> <span class="ltx_bibblock"> D. J. Yeong, G. Velasco-Hernandez, J. Barry, and J. Walsh, “Sensor and sensor fusion technology in autonomous vehicles: A review,” <em class="ltx_emph ltx_font_italic" id="bib.bib27.1.1">Sensors</em>, vol. 21, no. 6, p. 2140, 2021. </span> </li> <li class="ltx_bibitem" id="bib.bib28"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[28]</span> <span class="ltx_bibblock"> M. N. Ahangar, Q. Z. Ahmed, F. A. Khan, and M. Hafeez, “A survey of autonomous vehicles: Enabling communication technologies and challenges,” <em class="ltx_emph ltx_font_italic" id="bib.bib28.1.1">Sensors</em>, vol. 21, no. 3, p. 706, 2021. </span> </li> <li class="ltx_bibitem" id="bib.bib29"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[29]</span> <span class="ltx_bibblock"> F. Dellaert, M. Kaess <em class="ltx_emph ltx_font_italic" id="bib.bib29.1.1">et al.</em>, “Factor graphs for robot perception,” <em class="ltx_emph ltx_font_italic" id="bib.bib29.2.2">Foundations and Trends® in Robotics</em>, vol. 6, no. 1-2, pp. 1–139, 2017. </span> </li> <li class="ltx_bibitem" id="bib.bib30"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[30]</span> <span class="ltx_bibblock"> R. Jung and S. Weiss, “Modular multi-sensor fusion: A collaborative state estimation perspective,” <em class="ltx_emph ltx_font_italic" id="bib.bib30.1.1">IEEE Robotics and Automation Letters</em>, vol. 6, no. 4, pp. 6891–6898, 2021. </span> </li> <li class="ltx_bibitem" id="bib.bib31"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[31]</span> <span class="ltx_bibblock"> W. Talbot, J. Nubert, T. Tuna, C. Cadena, F. Dümbgen, J. Tordesillas, T. D. Barfoot, and M. Hutter, “Continuous-time state estimation methods in robotics: A survey,” 2024. </span> </li> <li class="ltx_bibitem" id="bib.bib32"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[32]</span> <span class="ltx_bibblock"> J. Nubert, S. Khattak, and M. Hutter, “Graph-based multi-sensor fusion for consistent localization of autonomous construction robots,” in <em class="ltx_emph ltx_font_italic" id="bib.bib32.1.1">IEEE International Conference on Robotics and Automation (ICRA)</em>, 2022, pp. 10 048–10 054. </span> </li> <li class="ltx_bibitem" id="bib.bib33"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[33]</span> <span class="ltx_bibblock"> M. Kaess, H. Johannsson, R. Roberts, V. Ila, J. J. Leonard, and F. Dellaert, “iSAM2: Incremental smoothing and mapping using the Bayes tree,” <em class="ltx_emph ltx_font_italic" id="bib.bib33.1.1">The International Journal of Robotics Research</em>, vol. 31, no. 2, pp. 216–235, 2012. </span> </li> <li class="ltx_bibitem" id="bib.bib34"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[34]</span> <span class="ltx_bibblock"> J. Xiao, H. Lu, L. Zhang, and J. Zhang, “Pallet recognition and localization using an RGB-D camera,” <em class="ltx_emph ltx_font_italic" id="bib.bib34.1.1">International Journal of Advanced Robotic Systems</em>, vol. 14, 2017. </span> </li> <li class="ltx_bibitem" id="bib.bib35"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[35]</span> <span class="ltx_bibblock"> Y. Shao, Z. Fan, B. Zhu, J. Lu, and Y. Lang, “A Point Cloud Data-Driven Pallet Pose Estimation Method Using an Active Binocular Vision Sensor,” <em class="ltx_emph ltx_font_italic" id="bib.bib35.1.1">Sensors</em>, vol. 23, no. 3, 2023. </span> </li> <li class="ltx_bibitem" id="bib.bib36"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[36]</span> <span class="ltx_bibblock"> M. Sundermeyer, T. Hodaň, Y. Labbé, G. Wang, E. Brachmann, B. Drost, C. Rother, and J. Matas, “BOP Challenge 2022 on Detection, Segmentation and Pose Estimation of Specific Rigid Objects,” in <em class="ltx_emph ltx_font_italic" id="bib.bib36.1.1">IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops</em>, 2023, pp. 2785–2794. </span> </li> <li class="ltx_bibitem" id="bib.bib37"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[37]</span> <span class="ltx_bibblock"> V.-D. Vu, D.-D. Hoang, P. Tan, V.-T. Nguyen, T.-U. Nguyen, N.-A. Hoang, K.-T. Phan, D.-T. Tran, D.-Q. Vu, P.-Q. Ngo, Q.-T. Duong, N. Nhat, and D.-C. Hoang, “Occlusion-Robust Pallet Pose Estimation for Warehouse Automation,” <em class="ltx_emph ltx_font_italic" id="bib.bib37.1.1">IEEE Access</em>, vol. 12, pp. 1927–1942, 2024. </span> </li> <li class="ltx_bibitem" id="bib.bib38"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[38]</span> <span class="ltx_bibblock"> NVIDIA-AI-IOT, “SDG Pallet Model,” <a class="ltx_ref ltx_url ltx_font_typewriter" href="https://github.com/NVIDIA-AI-IOT/sdg_pallet_model/" title="">https://github.com/NVIDIA-AI-IOT/sdg_pallet_model/</a>, 2023, [Accessed January 16, 2025]. </span> </li> <li class="ltx_bibitem" id="bib.bib39"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[39]</span> <span class="ltx_bibblock"> N. Kai, H. Yoshida, and T. Shibata, “Pallet Pose Estimation Based on Front Face Shot,” <em class="ltx_emph ltx_font_italic" id="bib.bib39.1.1">IEEE Access</em>, 2025. </span> </li> <li class="ltx_bibitem" id="bib.bib40"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[40]</span> <span class="ltx_bibblock"> C. Beleznai, L. Reisinger, W. Pointner, and M. Murschitz, “Pallet detection and 3D pose estimation via geometric cues learned from synthetic data,” in <em class="ltx_emph ltx_font_italic" id="bib.bib40.1.1">Proceedings of the 4th International Conference on Pattern Recognition and Artificial Intelligence, ICPRAI 2024</em>. Springer Singapore, Dec. 2024, pp. 281–295. </span> </li> <li class="ltx_bibitem" id="bib.bib41"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[41]</span> <span class="ltx_bibblock"> R. Ghzouli, T. Berger, E. B. Johnsen, A. Wasowski, and S. Dragule, “Behavior Trees and State Machines in Robotics Applications,” <em class="ltx_emph ltx_font_italic" id="bib.bib41.1.1">IEEE Transactions on Software Engineering</em>, vol. 49, no. 9, pp. 4243–4267, 2023. </span> </li> <li class="ltx_bibitem" id="bib.bib42"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[42]</span> <span class="ltx_bibblock"> C. R. Garrett, R. Chitnis, R. Holladay, B. Kim, T. Silver, L. P. Kaelbling, and T. Lozano-Pérez, “Integrated Task and Motion Planning,” <em class="ltx_emph ltx_font_italic" id="bib.bib42.1.1">Annual Review of Control, Robotics, and Autonomous Systems</em>, vol. 4, no. 1, pp. 265–293, 2021. </span> </li> <li class="ltx_bibitem" id="bib.bib43"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[43]</span> <span class="ltx_bibblock"> V. N. Hartmann, O. S. Oguz, D. Driess, M. Toussaint, and A. Menges, “Robust Task and Motion Planning for Long-Horizon Architectural Construction Planning,” in <em class="ltx_emph ltx_font_italic" id="bib.bib43.1.1">2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)</em>, 2020, pp. 6886–6893. </span> </li> <li class="ltx_bibitem" id="bib.bib44"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[44]</span> <span class="ltx_bibblock"> S. Li, D. Park, Y. Sung, J. A. Shah, and N. Roy, “Reactive Task and Motion Planning under Temporal Logic Specifications,” in <em class="ltx_emph ltx_font_italic" id="bib.bib44.1.1">2021 IEEE International Conference on Robotics and Automation (ICRA)</em>. IEEE Press, 2021, pp. 12 618–12 624. </span> </li> <li class="ltx_bibitem" id="bib.bib45"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[45]</span> <span class="ltx_bibblock"> J. Huang, A. Tao, R. Marco, M. Bogdanovic, J. Kelly, and F. Shkurti, “Automated Planning Domain Inference for Task and Motion Planning,” <em class="ltx_emph ltx_font_italic" id="bib.bib45.1.1">arXiv preprint arXiv:2410.16445</em>, 2024. </span> </li> <li class="ltx_bibitem" id="bib.bib46"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[46]</span> <span class="ltx_bibblock"> T. Birr, C. Pohl, A. Younes, and T. Asfour, “AutoGPT+ P: Affordance-based Task Planning with Large Language Models,” <em class="ltx_emph ltx_font_italic" id="bib.bib46.1.1">arXiv preprint arXiv:2402.10778</em>, 2024. </span> </li> <li class="ltx_bibitem" id="bib.bib47"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[47]</span> <span class="ltx_bibblock"> L. Guan, K. Valmeekam, S. Sreedharan, and S. Kambhampati, “Leveraging Pre-trained Large Language Models to Construct and Utilize World Models for Model-based Task Planning,” <em class="ltx_emph ltx_font_italic" id="bib.bib47.1.1">Advances in Neural Information Processing Systems</em>, vol. 36, pp. 79 081–79 094, 2023. </span> </li> <li class="ltx_bibitem" id="bib.bib48"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[48]</span> <span class="ltx_bibblock"> L. Wang, C. Ma, X. Feng, Z. Zhang, H. Yang, J. Zhang, Z. Chen, J. Tang, X. Chen, Y. Lin <em class="ltx_emph ltx_font_italic" id="bib.bib48.1.1">et al.</em>, “A Survey on Large Language Model based Autonomous Agents,” <em class="ltx_emph ltx_font_italic" id="bib.bib48.2.2">Frontiers of Computer Science</em>, vol. 18, no. 6, p. 186345, 2024. </span> </li> <li class="ltx_bibitem" id="bib.bib49"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[49]</span> <span class="ltx_bibblock"> S. Hu, T. Huang, F. Ilhan, S. Tekin, G. Liu, R. Kompella, and L. Liu, “A Survey on Large Language Model-Based Game Agents,” <em class="ltx_emph ltx_font_italic" id="bib.bib49.1.1">arXiv preprint arXiv:2404.02039</em>, 2024. </span> </li> <li class="ltx_bibitem" id="bib.bib50"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[50]</span> <span class="ltx_bibblock"> X. Wang, Y. Chen, L. Yuan, Y. Zhang, Y. Li, H. Peng, and H. Ji, “Executable Code Actions Elicit Better LLM Agents,” <em class="ltx_emph ltx_font_italic" id="bib.bib50.1.1">arXiv preprint arXiv:2402.01030</em>, 2024. </span> </li> <li class="ltx_bibitem" id="bib.bib51"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[51]</span> <span class="ltx_bibblock"> B. Liu, Y. Jiang, X. Zhang, Q. Liu, S. Zhang, J. Biswas, and P. Stone, “LLM+P: Empowering Large Language Models with Optimal Planning Proficiency,” <em class="ltx_emph ltx_font_italic" id="bib.bib51.1.1">arXiv preprint arXiv:2304.11477</em>, 2023. </span> </li> <li class="ltx_bibitem" id="bib.bib52"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[52]</span> <span class="ltx_bibblock"> S. Sahoo and B. Choudhury, “A review of methodologies for path planning and optimization of mobile robots,” <em class="ltx_emph ltx_font_italic" id="bib.bib52.1.1">Journal of Process Management and New Technologies</em>, vol. 11, no. 1-2, pp. 122–140, 2023. </span> </li> <li class="ltx_bibitem" id="bib.bib53"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[53]</span> <span class="ltx_bibblock"> J.-P. Laumond, S. Sekhavat, and F. Lamiraux, <em class="ltx_emph ltx_font_italic" id="bib.bib53.1.1">Guidelines in Nonholonomic Motion Planning for Mobile Robots</em>. Springer Berlin Heidelberg, 2006, vol. 299, pp. 1–53. </span> </li> <li class="ltx_bibitem" id="bib.bib54"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[54]</span> <span class="ltx_bibblock"> X. Tong, C. Siwei, W. Dong, W. Ti, X. Yang, and Z. Weigong, “A Novel Path Planning Method for Articulated Road Roller Using Support Vector Machine and Longest Accessible Path With Course Correction,” <em class="ltx_emph ltx_font_italic" id="bib.bib54.1.1">IEEE Access</em>, vol. 7, pp. 182 784–182 795, 2019. </span> </li> <li class="ltx_bibitem" id="bib.bib55"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[55]</span> <span class="ltx_bibblock"> B. J. Alshaer, T. T. Darabseh, and M. A. Alhanouti, “Path planning, modeling and simulation of an autonomous articulated heavy construction machine performing a loading cycle,” <em class="ltx_emph ltx_font_italic" id="bib.bib55.1.1">Applied Mathematical Modelling</em>, vol. 37, no. 7, pp. 5315–5325, 2013. </span> </li> <li class="ltx_bibitem" id="bib.bib56"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[56]</span> <span class="ltx_bibblock"> T. Nayl, G. Nikolakopoulos, and T. Gustafsson, “Effect of kinematic parameters on MPC based on-line motion planning for an articulated vehicle,” <em class="ltx_emph ltx_font_italic" id="bib.bib56.1.1">Robotics and Autonomous Systems</em>, vol. 70, pp. 16–24, 2015. </span> </li> <li class="ltx_bibitem" id="bib.bib57"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[57]</span> <span class="ltx_bibblock"> J. Hu, F. Yang, F. Nan, and M. Hutter, “Motion Primitives Planning For Center-Articulated Vehicles,” in <em class="ltx_emph ltx_font_italic" id="bib.bib57.1.1">2024 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)</em>, 2024, pp. 12 702–12 709. </span> </li> <li class="ltx_bibitem" id="bib.bib58"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[58]</span> <span class="ltx_bibblock"> N. Belov, C. E. V. Barbosa, F. Keppler, J. Kolb, G. Nitzsche, and S. Wagner, “TruckTrix® Path-Planning in the helyOS Operating System for Yard Automation,” in <em class="ltx_emph ltx_font_italic" id="bib.bib58.1.1">2021 IEEE 19th International Conference on Industrial Informatics (INDIN)</em>. IEEE, 2021, pp. 1–6. </span> </li> <li class="ltx_bibitem" id="bib.bib59"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[59]</span> <span class="ltx_bibblock"> Y. Bian, M. Yang, X. Fang, and X. Wang, “Kinematics and Path Following Control of an Articulated Drum Roller,” <em class="ltx_emph ltx_font_italic" id="bib.bib59.1.1">Chinese Journal of Mechanical Engineering</em>, vol. 30, no. 4, pp. 888–899, 2017. </span> </li> <li class="ltx_bibitem" id="bib.bib60"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[60]</span> <span class="ltx_bibblock"> D. Dolgov, S. Thrun, M. Montemerlo, and J. Diebel, “Path Planning for Autonomous Vehicles in Unknown Semi-structured Environments,” <em class="ltx_emph ltx_font_italic" id="bib.bib60.1.1">The International Journal of Robotics Research</em>, vol. 29, no. 5, pp. 485–501, 2010. </span> </li> <li class="ltx_bibitem" id="bib.bib61"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[61]</span> <span class="ltx_bibblock"> B. Molter and J. Fottner, “Semi-Automatic Pallet Pick-up as an Advanced Driver Assistance System for Forklifts,” in <em class="ltx_emph ltx_font_italic" id="bib.bib61.1.1">2019 IEEE Intelligent Transportation Systems Conference (ITSC)</em>, 2019, pp. 4464–4469. </span> </li> <li class="ltx_bibitem" id="bib.bib62"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[62]</span> <span class="ltx_bibblock"> L. Baglivo, N. Biasi, F. Biral, N. Bellomo, E. Bertolazzi, M. Da Lio, and M. de Cecco, “Autonomous pallet localization and picking for industrial forklifts: a robust range and look method,” <em class="ltx_emph ltx_font_italic" id="bib.bib62.1.1">Measurement Science and Technology</em>, vol. 22, no. 8, p. 085502, 2011. </span> </li> <li class="ltx_bibitem" id="bib.bib63"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[63]</span> <span class="ltx_bibblock"> E. Tsiogas, I. Kleitsiotis, I. Kostavelis, A. Kargakos, D. Giakoumis, M. Bosch-Jorge, R. J. Ros, R. L. Tarazon, S. Likothanassis, and D. Tzovaras, “Pallet detection and docking strategy for autonomous pallet truck AGV operation,” in <em class="ltx_emph ltx_font_italic" id="bib.bib63.1.1">2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)</em>, 2021, pp. 3444–3451. </span> </li> <li class="ltx_bibitem" id="bib.bib64"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[64]</span> <span class="ltx_bibblock"> N. Kita and T. Kato, “Image Measurement Method for Automatic Insertion of Forks into Inclined Pallet,” in <em class="ltx_emph ltx_font_italic" id="bib.bib64.1.1">2022 17th International Conference on Control, Automation, Robotics and Vision (ICARCV)</em>, 2022, pp. 441–448. </span> </li> <li class="ltx_bibitem" id="bib.bib65"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[65]</span> <span class="ltx_bibblock"> S. Macenski, T. Foote, B. Gerkey, C. Lalancette, and W. Woodall, “Robot Operating System 2: Design, architecture, and uses in the wild,” <em class="ltx_emph ltx_font_italic" id="bib.bib65.1.1">Science Robotics</em>, vol. 7, no. 66, p. eabm6074, 2022. </span> </li> <li class="ltx_bibitem" id="bib.bib66"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[66]</span> <span class="ltx_bibblock"> F. R. Kschischang, B. J. Frey, and H.-A. Loeliger, “Factor Graphs and the Sum-Product Algorithm,” <em class="ltx_emph ltx_font_italic" id="bib.bib66.1.1">IEEE Transactions on Information Theory</em>, vol. 47, no. 2, pp. 498–519, 2001. </span> </li> <li class="ltx_bibitem" id="bib.bib67"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[67]</span> <span class="ltx_bibblock"> “Reprint of: Mahalanobis, P.C. (1936) ”On the Generalised Distance in Statistics.”,” <em class="ltx_emph ltx_font_italic" id="bib.bib67.1.1">Sankhya A</em>, vol. 80, no. 1, pp. 1–7. </span> </li> <li class="ltx_bibitem" id="bib.bib68"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[68]</span> <span class="ltx_bibblock"> StereoLabs, “ZED 2 stereo camera,” <a class="ltx_ref ltx_url ltx_font_typewriter" href="https://www.stereolabs.com/zed-2/" title="">https://www.stereolabs.com/zed-2/</a>, 2025, [Accessed January 16, 2025]. </span> </li> <li class="ltx_bibitem" id="bib.bib69"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[69]</span> <span class="ltx_bibblock"> X. Zhou, D. Wang, and P. Krähenbühl, “Objects as Points,” <em class="ltx_emph ltx_font_italic" id="bib.bib69.1.1">arXiv preprint arXiv:1904.07850</em>, 2019. </span> </li> <li class="ltx_bibitem" id="bib.bib70"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[70]</span> <span class="ltx_bibblock"> R. M. Haralick, C.-N. Lee, K. Ottenberg, and M. Nolle, “Review and Analysis of Solutions of the Three Point Perspective Pose Estimation Problem,” <em class="ltx_emph ltx_font_italic" id="bib.bib70.1.1">International Journal of Computer Vision</em>, vol. 13, no. 3, pp. 331–356, 1994. </span> </li> <li class="ltx_bibitem" id="bib.bib71"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[71]</span> <span class="ltx_bibblock"> M. Schwingshackl, F. F. Oberweger, and M. Murschitz, “Few-shot Structure-Informed Machinery Part Segmentation with Foundation Models and Graph Neural Networks,” in <em class="ltx_emph ltx_font_italic" id="bib.bib71.1.1">Proceedings of the Winter Conference on Applications of Computer Vision (WACV)</em>, February 2025, pp. 1989–1998. </span> </li> <li class="ltx_bibitem" id="bib.bib72"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[72]</span> <span class="ltx_bibblock"> J. Weichselbaum, C. Zinner, O. Gebauer, and W. Pree, “Accurate 3D-vision-based obstacle detection for an autonomous train,” <em class="ltx_emph ltx_font_italic" id="bib.bib72.1.1">Computers in Industry</em>, vol. 64, no. 9, pp. 1209–1220, 2013. </span> </li> <li class="ltx_bibitem" id="bib.bib73"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[73]</span> <span class="ltx_bibblock"> L. Fel, C. Zinner, T. Kadiofsky, W. Pointner, J. Weichselbaum, and C. Reisner, “ODAS-An anti-collision assistance system for light rail vehicles and further developments,” in <em class="ltx_emph ltx_font_italic" id="bib.bib73.1.1">7th Transport Research Arena TRA 2018</em>, 2018. </span> </li> <li class="ltx_bibitem" id="bib.bib74"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[74]</span> <span class="ltx_bibblock"> M. Ester, H.-P. Kriegel, J. Sander, and X. Xu, “A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise,” in <em class="ltx_emph ltx_font_italic" id="bib.bib74.1.1">Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96)</em>. AAAI Press, 1996, pp. 226–231. </span> </li> <li class="ltx_bibitem" id="bib.bib75"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[75]</span> <span class="ltx_bibblock"> M. Colledanchise and P. Ogren, <em class="ltx_emph ltx_font_italic" id="bib.bib75.1.1">Behavior Trees in Robotics and AI: An Introduction</em>. CRC Press, 2018. </span> </li> <li class="ltx_bibitem" id="bib.bib76"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[76]</span> <span class="ltx_bibblock"> D. Faconti and M. Colledanchise, “BehaviorTree.CPP,” <a class="ltx_ref ltx_url ltx_font_typewriter" href="https://github.com/BehaviorTree/BehaviorTree.CPP" title="">https://github.com/BehaviorTree/BehaviorTree.CPP</a>, 2018, [Accessed January 2, 2025]. </span> </li> <li class="ltx_bibitem" id="bib.bib77"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[77]</span> <span class="ltx_bibblock"> S. Macenski, T. Moore, D. Lu, A. Merzlyakov, and M. Ferguson, “From the desks of ROS maintainers: A survey of modern & capable mobile robotics algorithms in the robot operating system 2,” <em class="ltx_emph ltx_font_italic" id="bib.bib77.1.1">Robotics and Autonomous Systems</em>, p. 104493, 2023. </span> </li> <li class="ltx_bibitem" id="bib.bib78"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[78]</span> <span class="ltx_bibblock"> S. Zafari, F. Steiner, M. Huber, K. Kassem, P. Zips, and M. Tscheligi, “A gesture-based interactive system for automated material handling vehicles: Implementation and comparative study,” in <em class="ltx_emph ltx_font_italic" id="bib.bib78.1.1">Proceedings of the 12th International Conference on Human-Agent Interaction</em>, ser. HAI ’24. New York, NY, USA: Association for Computing Machinery, 2024, p. 176–184. </span> </li> <li class="ltx_bibitem" id="bib.bib79"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[79]</span> <span class="ltx_bibblock"> S. Macenski, M. Booker, and J. Wallace, “Open-Source, Cost-Aware Kinematically Feasible Planning for Mobile and Surface Robotics,” <em class="ltx_emph ltx_font_italic" id="bib.bib79.1.1">arXiv preprint arXiv:2401.13078</em>, 2024. </span> </li> <li class="ltx_bibitem" id="bib.bib80"> <span class="ltx_tag ltx_role_refnum ltx_tag_bibitem">[80]</span> <span class="ltx_bibblock"> Intel, “USB 3.0* Radio Frequency Interference Impact on 2.4 GHz Wireless Devices,” Intel Corporation, White Paper, 2012. [Online]. Available: <a class="ltx_ref ltx_url ltx_font_typewriter" href="https://www.usb.org/sites/default/files/327216.pdf" title="">https://www.usb.org/sites/default/files/327216.pdf</a> </span> </li> </ul> </section> <div class="ltx_pagination ltx_role_newpage"></div> </article> </div> <footer class="ltx_page_footer"> <div class="ltx_page_logo">Generated on Tue Mar 18 14:32:51 2025 by <a class="ltx_LaTeXML_logo" href="http://dlmf.nist.gov/LaTeXML/"><span style="letter-spacing:-0.2em; margin-right:0.1em;">L<span class="ltx_font_smallcaps" style="position:relative; bottom:2.2pt;">a</span>T<span class="ltx_font_smallcaps" style="font-size:120%;position:relative; bottom:-0.2ex;">e</span></span><span style="font-size:90%; position:relative; bottom:-0.2ex;">XML</span><img alt="Mascot Sammy" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAOCAYAAAD5YeaVAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9wKExQZLWTEaOUAAAAddEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIFRoZSBHSU1Q72QlbgAAAdpJREFUKM9tkL+L2nAARz9fPZNCKFapUn8kyI0e4iRHSR1Kb8ng0lJw6FYHFwv2LwhOpcWxTjeUunYqOmqd6hEoRDhtDWdA8ApRYsSUCDHNt5ul13vz4w0vWCgUnnEc975arX6ORqN3VqtVZbfbTQC4uEHANM3jSqXymFI6yWazP2KxWAXAL9zCUa1Wy2tXVxheKA9YNoR8Pt+aTqe4FVVVvz05O6MBhqUIBGk8Hn8HAOVy+T+XLJfLS4ZhTiRJgqIoVBRFIoric47jPnmeB1mW/9rr9ZpSSn3Lsmir1fJZlqWlUonKsvwWwD8ymc/nXwVBeLjf7xEKhdBut9Hr9WgmkyGEkJwsy5eHG5vN5g0AKIoCAEgkEkin0wQAfN9/cXPdheu6P33fBwB4ngcAcByHJpPJl+fn54mD3Gg0NrquXxeLRQAAwzAYj8cwTZPwPH9/sVg8PXweDAauqqr2cDjEer1GJBLBZDJBs9mE4zjwfZ85lAGg2+06hmGgXq+j3+/DsixYlgVN03a9Xu8jgCNCyIegIAgx13Vfd7vdu+FweG8YRkjXdWy329+dTgeSJD3ieZ7RNO0VAXAPwDEAO5VKndi2fWrb9jWl9Esul6PZbDY9Go1OZ7PZ9z/lyuD3OozU2wAAAABJRU5ErkJggg=="/></a> </div></footer> </div> </body> </html>