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

Uploaded CPython 3.12Windows x86-64

marinholab_working_needlemanipulation-25.6.0.107-cp312-cp312-manylinux_2_39_aarch64.whl (227.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ ARM64

marinholab_working_needlemanipulation-25.6.0.107-cp311-cp311-win_amd64.whl (163.3 kB view details)

Uploaded CPython 3.11Windows x86-64

marinholab_working_needlemanipulation-25.6.0.107-cp311-cp311-manylinux_2_39_x86_64.whl (257.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ x86-64

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

Uploaded CPython 3.10Windows x86-64

marinholab_working_needlemanipulation-25.6.0.107-cp310-cp310-manylinux_2_39_aarch64.whl (226.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ ARM64

File details

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-25.6.0.107-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c87cec216c5e91169bcad3aa1642052f0e8d02ca3b373daf897240639eabb419
MD5 22b10024a5512beea9f6f15bf378f336
BLAKE2b-256 b3151baf1bf6eabd9b32afab5bf018bd6822dcfa85fea38a04f6300c76ef3f3f

See more details on using hashes here.

Provenance

The following attestation bundles were made for marinholab_working_needlemanipulation-25.6.0.107-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.107-cp312-cp312-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-25.6.0.107-cp312-cp312-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 e3bc04a236bec85ede42f8d358e5f3179462a4abc475c238dda263fed3b357db
MD5 99b4e39ea59d1b78ee2d6c17b1c53905
BLAKE2b-256 cf7a2517b538151ba1095c3756a837f654e6cd2769f067f679e324ef48224fe9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-25.6.0.107-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5ddde2bc79d92ae2de27fd3adb4fc19c98e971524579939f3765e60fe030345e
MD5 206b80ac83c530a6a6842b76f7d1dee3
BLAKE2b-256 3d292ae98ca9fbc87950675cd1bde7918862a3ea597ed020d9ad20fb3d4b44ed

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-25.6.0.107-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 f017f12518880562270df0a56d93e6c933ea19360c08921c9455eaeb13db8e82
MD5 c09ded6a95d9c136d6f5e74674381701
BLAKE2b-256 43c944bb068083854854e7b2d53f6b16f6df19e5f0706dc345aa56c9fb0f2818

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-25.6.0.107-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7fae6156d581f6df80ac8f53a1add1d5bae86b6ab78d1d2b768bae071fde8ea3
MD5 f387f82edd9331e47f4f229383486f10
BLAKE2b-256 a7dfb2e954c0fe34c4488bd1d99b03d6413192bba312eefd5dc6b48fc1a7e82e

See more details on using hashes here.

Provenance

The following attestation bundles were made for marinholab_working_needlemanipulation-25.6.0.107-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.107-cp310-cp310-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-25.6.0.107-cp310-cp310-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 820c573d4e577555a5e28f9b922c666ab466af17d29cfbfd3031adb557e61d0f
MD5 183e131769630ffa3f3627257faead03
BLAKE2b-256 5250dc174f80ec812eeeb2522a265f19f3192fa5b05a1142b5462220fc79a21d

See more details on using hashes here.

Provenance

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

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

25.6.0.110

6 files

This release

25.6.0.107 This release

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