space-robot-dq - a Python library for dual quaternion kinematics, dynamics, and control of free-floating space robot manipulators

dc.contributor.authorJahanshahi, Hadi
dc.contributor.authorZhu, Zheng Hong
dc.date.accessioned2026-11-14T06:56:25Z
dc.date.available2026-11-14T06:56:25Z
dc.date.issued2026-11-11
dc.description© 2026 Jahanshahi and Zhu. This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.
dc.description.abstractThis article presents space-robot-dq, an open-source Python library for the kinematics, dynamics, and resolved-rate control of free-floating space robot manipulators using dual quaternion algebra. Unlike ground-based robots, space manipulators operate on platforms with no fixed base. When the arm moves, the spacecraft reacts to conserve momentum, changing the mapping between joint motion and end-effector motion. The library implements Product of Exponentials forward kinematics in dual quaternion arithmetic, numerical and analytical Jacobians, optimization-based inverse kinematics, the Umetani–Yoshida generalized Jacobian for momentum-coupled systems, and closed-loop resolved-rate controllers for a momentum-conserving free-floating plant with base pose propagation. It supports arbitrary N-DOF serial chains of revolute joints through a declarative configuration interface. The implementation is verified by 153 unit tests across four robot architectures and a 19-check benchmark suite. Independent validation covers forward-kinematics agreement below 10–11 m against two reference implementations that share no code with the library and first-order-convergent stationarity of the system’s center of mass, while construction-level consistency checks confirm momentum residuals at the 10–15 level. Two control studies quantify the practical consequences of the free-floating coupling. In Cartesian tracking of a 0.27 m maneuver, a controller using the fixed-base Jacobian accumulates 26.372 mm root mean square (RMS) error even with feedback, whereas the generalized-Jacobian controller tracks at 0.2512 mm RMS (a 105-fold difference that measures the cost of the model mismatch alone, because both controllers run on the same plant). In a capture-approach scenario, the end-effector maintains a full 6-DOF grasp pose against a client tumbling at 5° per second, holding 0.008429 mm and 0.000581° RMS with the generalized Jacobian versus 4.267 mm and 0.22° with the fixed-base model (506-fold and 379-fold differences attributable to the neglected coupling), while the spacecraft base drifts 2.4°, an attitude cost the library quantifies for mission design. All figures and numbers in this article are reproduced by a single, deterministic script included in the repository.
dc.description.sponsorshipThis work was supported by the Discovery Grant (RGPIN-2024-06290) and Collaborative Research and Training Experience Program Grant (555425-2021) of the Natural Sciences and Engineering Research Council of Canada, awarded to ZHZ. HJ acknowledges support from the Natural Sciences and Engineering Research Council of Canada (NSERC) through a Postgraduate Scholarship–Doctoral (PGS D), reference number 601200. HJ remercie le Conseil de recherches en sciences naturelles et en génie du Canada (CRSNG) de son soutien par l’entremise d’une bourse d'études supérieures du CRSNG–doctorat (ES D), numéro de référence 601200.
dc.identifier.citationJahanshahi H and Zhu ZH (2026) space-robot-dq: a Python library for dual quaternion kinematics, dynamics, and control of free-floating space robot manipulators. Front. Space Technol. 7:1955127. doi: 10.3389/frspt.2026.1955127
dc.identifier.issn2673-5075
dc.identifier.urihttps://doi.org/10.3389/frspt.2026.1955127
dc.identifier.urihttps://hdl.handle.net/10315/44377
dc.language.isoen
dc.publisherFrontiers Media
dc.rightsAttribution 4.0 International (CC-BY 4.0)
dc.rights.urihttps://creativecommons.org/licenses/by/4.0/
dc.subjectDual quaternion
dc.subjectFree-floating manipulator
dc.subjectGeneralized Jacobian
dc.subjectMomentum conservation
dc.subjectPython
dc.subjectResolved-rate control
dc.subjectSpace robotics
dc.subjectTumbling target capture
dc.subjectOn-orbit servicing
dc.subjectActive debris removal
dc.subjectSpace manipulator dynamics
dc.subjectOpen-source robotics software
dc.subjectSatellite capture
dc.titlespace-robot-dq - a Python library for dual quaternion kinematics, dynamics, and control of free-floating space robot manipulators
dc.typeArticle

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
space-robot-dq a Python library for dual quaternion kinematics, dynamics, and control of free-floating space robot manipulators.pdf
Size:
3.99 MB
Format:
Adobe Portable Document Format

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
1.83 KB
Format:
Item-specific license agreed upon to submission
Description: