Skip to main content

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 (if matplotlib is available) plot it in 3D.
  • needlemanipulation_example_create_needle_controller — build a NeedleController from the bundled left_robot.yaml.
  • needlemanipulation_example_load_from_file — run the base controller on the bundled model for a short trajectory (records an MP4 when matplotlib is 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

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

marinholab_working_needlemanipulation-26.8.0.20-cp312-cp312-win_amd64.whl (166.2 kB view details)

Uploaded CPython 3.12Windows x86-64

marinholab_working_needlemanipulation-26.8.0.20-cp312-cp312-manylinux_2_39_aarch64.whl (227.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ ARM64

marinholab_working_needlemanipulation-26.8.0.20-cp311-cp311-win_amd64.whl (163.2 kB view details)

Uploaded CPython 3.11Windows x86-64

marinholab_working_needlemanipulation-26.8.0.20-cp311-cp311-manylinux_2_39_x86_64.whl (257.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ x86-64

marinholab_working_needlemanipulation-26.8.0.20-cp310-cp310-win_amd64.whl (160.7 kB view details)

Uploaded CPython 3.10Windows x86-64

marinholab_working_needlemanipulation-26.8.0.20-cp310-cp310-manylinux_2_39_x86_64.whl (256.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ x86-64

File details

Details for the file marinholab_working_needlemanipulation-26.8.0.20-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.20-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5de26797c016286c1293b56aa8a2e3674ec07725175a6b696093d4de75210b45
MD5 e85cad09e30aea6ea79c4b80bb4a87ac
BLAKE2b-256 35d76a68a5f4dcec7ca3aab57f8120b8d7950a3d931c3eb1fd0268ee2084a4c0

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file marinholab_working_needlemanipulation-26.8.0.20-cp312-cp312-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.20-cp312-cp312-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 a7c6b744625c085b2b923a9810b7bb16103b64597c762385c8ff7a11ff55e876
MD5 e167991e2846e7b1cb8eee5b0a38232b
BLAKE2b-256 19da7eb3bfa52d5874c2d49c64d097a886731f08f177e08c9a408e81fd8f8b69

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file marinholab_working_needlemanipulation-26.8.0.20-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.20-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a1bcc8a955cfaa94f188dbe46ef1e2fbf162cf5e1d62ed4c4a1623c244d1c7c8
MD5 5f3b653c91addc8b3007b776796c183d
BLAKE2b-256 fc69cf457685370773744ed1718acf8a274ca1681b27b120f1c82b8395bb6f02

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file marinholab_working_needlemanipulation-26.8.0.20-cp311-cp311-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.20-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 b3b943d552e28776bc6e24339d62ba09ac50e2885fb25ec8acb929e4eea1f56c
MD5 67142d0744eb9047607988a658d5a8da
BLAKE2b-256 ee80817766d5b710eae3c358f97b452e97e864b0120eb64532c8fe2d676c7e13

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file marinholab_working_needlemanipulation-26.8.0.20-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.20-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 723404d432cd5086322b71d7dd4fdaaed39bf035798fb50e828f08e0b65b9b77
MD5 4219aa72b794f5282591b39ef44e6436
BLAKE2b-256 25b789e96f9c3c6edc3e9a1da0b7a15b7e5756a5b1b9d9e0b3710f8e4c163170

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file marinholab_working_needlemanipulation-26.8.0.20-cp310-cp310-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.20-cp310-cp310-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 94d4ab6fe4c592373c800fb2576913e291f4ec0550d558c4a2a6a12ef847077b
MD5 c97c1ee1a6ccbf72c542f33edbcd448a
BLAKE2b-256 54a87292b24813ed82051e4569dd3919b9801b852686f683d71ec36b6ec25b29

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

26.8.0.20 This release

6 files

26.8.0.18

6 files

26.8.0.17

6 files

26.8.0.16

6 files

26.8.0.7

6 files

25.6.0.110

6 files

25.6.0.107

6 files

25.6.0.106

6 files

25.6.0.105

6 files

25.6.0.100

6 files

25.6.0.97

6 files

25.6.0.96

6 files

25.6.0.95

6 files

25.6.0.94

6 files

25.6.0.93

6 files

25.6.0.92

6 files

25.6.0.83

5 files

25.6.0.81

5 files

25.6.0.79

5 files

25.6.0.78

3 files

25.6.0.68

3 files

25.6.0.66

3 files

25.6.0.65

3 files

25.6.0.64

3 files

25.6.0.63

3 files

25.6.0.61

3 files

25.6.0.60

3 files

25.6.0.59

3 files

25.6.0.58

3 files

25.6.0.52

3 files

25.6.0.51

3 files

25.6.0.50

3 files

25.6.0.49

3 files

25.6.0.48

3 files

25.6.0.47

3 files

25.6.0.46

3 files

25.6.0.44

3 files

25.6.0.43

3 files

25.6.0.42

3 files

25.6.0.41

3 files

25.6.0.40

3 files

25.6.0.39

3 files

25.6.0.38

3 files

25.6.0.37

15 files

25.6.0.36

15 files

25.6.0.35

12 files

25.6.0.31

15 files

25.6.0.30

15 files

25.6.0.29

15 files

25.6.0.28

15 files

25.6.0.26

15 files

25.6.0.25

15 files

25.6.0.24

15 files

25.6.0.23

15 files

25.6.0.22

15 files

25.6.0.21

15 files

25.6.0.20

15 files

25.6.0.19

15 files

25.6.0.16

15 files

25.6.0.15

15 files

25.6.0.14

12 files

25.6.0.13

9 files

25.6.0.12

12 files

0.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page