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-25.6.0.110-cp312-cp312-win_amd64.whl (166.5 kB view details)

Uploaded CPython 3.12Windows x86-64

marinholab_working_needlemanipulation-25.6.0.110-cp312-cp312-manylinux_2_39_x86_64.whl (258.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

marinholab_working_needlemanipulation-25.6.0.110-cp311-cp311-win_amd64.whl (163.5 kB view details)

Uploaded CPython 3.11Windows x86-64

marinholab_working_needlemanipulation-25.6.0.110-cp311-cp311-manylinux_2_39_x86_64.whl (257.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ x86-64

marinholab_working_needlemanipulation-25.6.0.110-cp310-cp310-win_amd64.whl (160.9 kB view details)

Uploaded CPython 3.10Windows x86-64

marinholab_working_needlemanipulation-25.6.0.110-cp310-cp310-manylinux_2_39_x86_64.whl (256.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ x86-64

File details

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-25.6.0.110-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b3c3a1dc3f9341073b4eb06393e6be189f0aba9a51ab861b22cb499793079e5d
MD5 1fbb9521c01feb86cea9c31ba1c15642
BLAKE2b-256 2054c8b2b966ca5a0f9ed2785f5ee5435df83bb9aaf73d3aa5f64d787670ad2a

See more details on using hashes here.

Provenance

The following attestation bundles were made for marinholab_working_needlemanipulation-25.6.0.110-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-25.6.0.110-cp312-cp312-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-25.6.0.110-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 ce28f35a1168eaf27a4f3a0498abd55b19848e91a6c223394667660f5ac10095
MD5 70ffc7d9fd3876dfc08d6a0d0270fcdc
BLAKE2b-256 19fc9d5c1c2880b9546e6decc279b06e33466519210e379cdf5beafa2890a641

See more details on using hashes here.

Provenance

The following attestation bundles were made for marinholab_working_needlemanipulation-25.6.0.110-cp312-cp312-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-25.6.0.110-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-25.6.0.110-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 db031ba48bf15dcbadbca0a46299546f396a1e66f731c84c23fa144bd5d0eb39
MD5 51d177b9975e9f671a80be491a6d388a
BLAKE2b-256 6bfb2c77059f2c0e065a6a0d9bd717c915fa971af40712a62b7d7980f93ea8fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for marinholab_working_needlemanipulation-25.6.0.110-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-25.6.0.110-cp311-cp311-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-25.6.0.110-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 e6ad56ac9d38fae29dd2d10b20660e69bf474e6c28dbbdb5c0a55ffe9fdf7cfd
MD5 1afc2060af846a0069d6b62609c13a26
BLAKE2b-256 2ccc2cc5d381ac646f4da9b282ccb40a70568fb2285ab4e62ba3df59e4e8f338

See more details on using hashes here.

Provenance

The following attestation bundles were made for marinholab_working_needlemanipulation-25.6.0.110-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-25.6.0.110-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-25.6.0.110-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 588ee6f3ba3bb6276dc9b3f7c25ead25585139d8aea3b5aa6ca7be5607bb54fe
MD5 f7076cd25e62a62a05dd349715a962ba
BLAKE2b-256 75f216c2c7d662977484222b9556e0a48680e75b38041fd2acdab65a5325d27c

See more details on using hashes here.

Provenance

The following attestation bundles were made for marinholab_working_needlemanipulation-25.6.0.110-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-25.6.0.110-cp310-cp310-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-25.6.0.110-cp310-cp310-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 5d22464ed3419b88c0ec8037136d0ee9770077730c8eef0213b62206642165b6
MD5 089b02b50d4571e387a9aaee18764552
BLAKE2b-256 f6de419ecbc5247f030b0b3c5cd07bde9dea277cb84d1f40c9a64baf05efc4be

See more details on using hashes here.

Provenance

The following attestation bundles were made for marinholab_working_needlemanipulation-25.6.0.110-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

26.8.0.20

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

This release

25.6.0.110 This release

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