space-robot-dq - a Python library for dual quaternion kinematics, dynamics, and control of free-floating space robot manipulators
| dc.contributor.author | Jahanshahi, Hadi | |
| dc.contributor.author | Zhu, Zheng Hong | |
| dc.date.accessioned | 2026-11-14T06:56:25Z | |
| dc.date.available | 2026-11-14T06:56:25Z | |
| dc.date.issued | 2026-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.abstract | This 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.sponsorship | This 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.citation | Jahanshahi 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.issn | 2673-5075 | |
| dc.identifier.uri | https://doi.org/10.3389/frspt.2026.1955127 | |
| dc.identifier.uri | https://hdl.handle.net/10315/44377 | |
| dc.language.iso | en | |
| dc.publisher | Frontiers Media | |
| dc.rights | Attribution 4.0 International (CC-BY 4.0) | |
| dc.rights.uri | https://creativecommons.org/licenses/by/4.0/ | |
| dc.subject | Dual quaternion | |
| dc.subject | Free-floating manipulator | |
| dc.subject | Generalized Jacobian | |
| dc.subject | Momentum conservation | |
| dc.subject | Python | |
| dc.subject | Resolved-rate control | |
| dc.subject | Space robotics | |
| dc.subject | Tumbling target capture | |
| dc.subject | On-orbit servicing | |
| dc.subject | Active debris removal | |
| dc.subject | Space manipulator dynamics | |
| dc.subject | Open-source robotics software | |
| dc.subject | Satellite capture | |
| dc.title | space-robot-dq - a Python library for dual quaternion kinematics, dynamics, and control of free-floating space robot manipulators | |
| dc.type | Article |
Files
Original bundle
1 - 1 of 1
Loading...
- 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
1 - 1 of 1
Loading...
- Name:
- license.txt
- Size:
- 1.83 KB
- Format:
- Item-specific license agreed upon to submission
- Description: