Working Project: Needle Manipulation
A University of Manchester (UoM) and University of Tokyo (UTokyo) collaboration, on dual-quaternion (DQ) control for needle insertion. Built on DQRobotics, it provides a QP-based task-space controller with remote-centre-of-motion (RCM) and joint-limit constraints, extended with violation-field constraints that keep a needle within a safe band around vessel primitives (with optional angular insertion constraints).
Installation
pip install marinholab-working-needlemanipulation
Building from source needs cmake, ninja, g++, Eigen3 and initialised git
submodules — see AGENTS.md.
Usage
The public API is exposed at the package root:
from marinholab.working.needlemanipulation import (
ICRA19TaskSpaceController, # QP task-space control (RCM + joint limits)
NeedleController, # adds vessel VFI + insertion constraints
M3_SerialManipulatorSimulatorFriendly, # serial-manipulator model
)
Three examples are installed as commands:
needlemanipulation_example— build a small robot and (ifmatplotlibis available) plot it in 3D.needlemanipulation_example_create_needle_controller— build aNeedleControllerfrom the bundledleft_robot.yaml.needlemanipulation_example_load_from_file— run the base controller on the bundled model for a short trajectory (records an MP4 whenmatplotlibis available).
The live end-to-end insertion simulations against the pediatric simulator live
in saul/ and require a running simulator instance; they are not part
of the installed package.
License
See LICENSE for details.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file marinholab_working_needlemanipulation-26.8.0.20-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: marinholab_working_needlemanipulation-26.8.0.20-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 166.2 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5de26797c016286c1293b56aa8a2e3674ec07725175a6b696093d4de75210b45
|
|
| MD5 |
e85cad09e30aea6ea79c4b80bb4a87ac
|
|
| BLAKE2b-256 |
35d76a68a5f4dcec7ca3aab57f8120b8d7950a3d931c3eb1fd0268ee2084a4c0
|
Provenance
The following attestation bundles were made for marinholab_working_needlemanipulation-26.8.0.20-cp312-cp312-win_amd64.whl:
Publisher:
python-publish.yml on MarinhoLab/working-needlemanipulation
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
marinholab_working_needlemanipulation-26.8.0.20-cp312-cp312-win_amd64.whl -
Subject digest:
5de26797c016286c1293b56aa8a2e3674ec07725175a6b696093d4de75210b45 - Sigstore transparency entry: 2623848602
- Sigstore integration time:
-
Permalink:
MarinhoLab/working-needlemanipulation@55ab79c55428a2d147d502cd2a2aa30980445810 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/MarinhoLab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@55ab79c55428a2d147d502cd2a2aa30980445810 -
Trigger Event:
push
-
Statement type:
File details
Details for the file marinholab_working_needlemanipulation-26.8.0.20-cp312-cp312-manylinux_2_39_aarch64.whl.
File metadata
- Download URL: marinholab_working_needlemanipulation-26.8.0.20-cp312-cp312-manylinux_2_39_aarch64.whl
- Upload date:
- Size: 227.5 kB
- Tags: CPython 3.12, manylinux: glibc 2.39+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a7c6b744625c085b2b923a9810b7bb16103b64597c762385c8ff7a11ff55e876
|
|
| MD5 |
e167991e2846e7b1cb8eee5b0a38232b
|
|
| BLAKE2b-256 |
19da7eb3bfa52d5874c2d49c64d097a886731f08f177e08c9a408e81fd8f8b69
|
Provenance
The following attestation bundles were made for marinholab_working_needlemanipulation-26.8.0.20-cp312-cp312-manylinux_2_39_aarch64.whl:
Publisher:
python-publish.yml on MarinhoLab/working-needlemanipulation
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
marinholab_working_needlemanipulation-26.8.0.20-cp312-cp312-manylinux_2_39_aarch64.whl -
Subject digest:
a7c6b744625c085b2b923a9810b7bb16103b64597c762385c8ff7a11ff55e876 - Sigstore transparency entry: 2623848597
- Sigstore integration time:
-
Permalink:
MarinhoLab/working-needlemanipulation@55ab79c55428a2d147d502cd2a2aa30980445810 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/MarinhoLab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@55ab79c55428a2d147d502cd2a2aa30980445810 -
Trigger Event:
push
-
Statement type:
File details
Details for the file marinholab_working_needlemanipulation-26.8.0.20-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: marinholab_working_needlemanipulation-26.8.0.20-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 163.2 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1bcc8a955cfaa94f188dbe46ef1e2fbf162cf5e1d62ed4c4a1623c244d1c7c8
|
|
| MD5 |
5f3b653c91addc8b3007b776796c183d
|
|
| BLAKE2b-256 |
fc69cf457685370773744ed1718acf8a274ca1681b27b120f1c82b8395bb6f02
|
Provenance
The following attestation bundles were made for marinholab_working_needlemanipulation-26.8.0.20-cp311-cp311-win_amd64.whl:
Publisher:
python-publish.yml on MarinhoLab/working-needlemanipulation
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
marinholab_working_needlemanipulation-26.8.0.20-cp311-cp311-win_amd64.whl -
Subject digest:
a1bcc8a955cfaa94f188dbe46ef1e2fbf162cf5e1d62ed4c4a1623c244d1c7c8 - Sigstore transparency entry: 2623848640
- Sigstore integration time:
-
Permalink:
MarinhoLab/working-needlemanipulation@55ab79c55428a2d147d502cd2a2aa30980445810 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/MarinhoLab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@55ab79c55428a2d147d502cd2a2aa30980445810 -
Trigger Event:
push
-
Statement type:
File details
Details for the file marinholab_working_needlemanipulation-26.8.0.20-cp311-cp311-manylinux_2_39_x86_64.whl.
File metadata
- Download URL: marinholab_working_needlemanipulation-26.8.0.20-cp311-cp311-manylinux_2_39_x86_64.whl
- Upload date:
- Size: 257.0 kB
- Tags: CPython 3.11, manylinux: glibc 2.39+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b3b943d552e28776bc6e24339d62ba09ac50e2885fb25ec8acb929e4eea1f56c
|
|
| MD5 |
67142d0744eb9047607988a658d5a8da
|
|
| BLAKE2b-256 |
ee80817766d5b710eae3c358f97b452e97e864b0120eb64532c8fe2d676c7e13
|
Provenance
The following attestation bundles were made for marinholab_working_needlemanipulation-26.8.0.20-cp311-cp311-manylinux_2_39_x86_64.whl:
Publisher:
python-publish.yml on MarinhoLab/working-needlemanipulation
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
marinholab_working_needlemanipulation-26.8.0.20-cp311-cp311-manylinux_2_39_x86_64.whl -
Subject digest:
b3b943d552e28776bc6e24339d62ba09ac50e2885fb25ec8acb929e4eea1f56c - Sigstore transparency entry: 2623848585
- Sigstore integration time:
-
Permalink:
MarinhoLab/working-needlemanipulation@55ab79c55428a2d147d502cd2a2aa30980445810 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/MarinhoLab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@55ab79c55428a2d147d502cd2a2aa30980445810 -
Trigger Event:
push
-
Statement type:
File details
Details for the file marinholab_working_needlemanipulation-26.8.0.20-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: marinholab_working_needlemanipulation-26.8.0.20-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 160.7 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
723404d432cd5086322b71d7dd4fdaaed39bf035798fb50e828f08e0b65b9b77
|
|
| MD5 |
4219aa72b794f5282591b39ef44e6436
|
|
| BLAKE2b-256 |
25b789e96f9c3c6edc3e9a1da0b7a15b7e5756a5b1b9d9e0b3710f8e4c163170
|
Provenance
The following attestation bundles were made for marinholab_working_needlemanipulation-26.8.0.20-cp310-cp310-win_amd64.whl:
Publisher:
python-publish.yml on MarinhoLab/working-needlemanipulation
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
marinholab_working_needlemanipulation-26.8.0.20-cp310-cp310-win_amd64.whl -
Subject digest:
723404d432cd5086322b71d7dd4fdaaed39bf035798fb50e828f08e0b65b9b77 - Sigstore transparency entry: 2623848591
- Sigstore integration time:
-
Permalink:
MarinhoLab/working-needlemanipulation@55ab79c55428a2d147d502cd2a2aa30980445810 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/MarinhoLab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@55ab79c55428a2d147d502cd2a2aa30980445810 -
Trigger Event:
push
-
Statement type:
File details
Details for the file marinholab_working_needlemanipulation-26.8.0.20-cp310-cp310-manylinux_2_39_x86_64.whl.
File metadata
- Download URL: marinholab_working_needlemanipulation-26.8.0.20-cp310-cp310-manylinux_2_39_x86_64.whl
- Upload date:
- Size: 256.3 kB
- Tags: CPython 3.10, manylinux: glibc 2.39+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94d4ab6fe4c592373c800fb2576913e291f4ec0550d558c4a2a6a12ef847077b
|
|
| MD5 |
c97c1ee1a6ccbf72c542f33edbcd448a
|
|
| BLAKE2b-256 |
54a87292b24813ed82051e4569dd3919b9801b852686f683d71ec36b6ec25b29
|
Provenance
The following attestation bundles were made for marinholab_working_needlemanipulation-26.8.0.20-cp310-cp310-manylinux_2_39_x86_64.whl:
Publisher:
python-publish.yml on MarinhoLab/working-needlemanipulation
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
marinholab_working_needlemanipulation-26.8.0.20-cp310-cp310-manylinux_2_39_x86_64.whl -
Subject digest:
94d4ab6fe4c592373c800fb2576913e291f4ec0550d558c4a2a6a12ef847077b - Sigstore transparency entry: 2623848626
- Sigstore integration time:
-
Permalink:
MarinhoLab/working-needlemanipulation@55ab79c55428a2d147d502cd2a2aa30980445810 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/MarinhoLab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@55ab79c55428a2d147d502cd2a2aa30980445810 -
Trigger Event:
push
-
Statement type: