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

Uploaded CPython 3.12Windows x86-64

marinholab_working_needlemanipulation-26.8.0.16-cp312-cp312-manylinux_2_39_x86_64.whl (258.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

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

Uploaded CPython 3.11Windows x86-64

marinholab_working_needlemanipulation-26.8.0.16-cp311-cp311-manylinux_2_39_aarch64.whl (227.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ ARM64

marinholab_working_needlemanipulation-26.8.0.16-cp310-cp310-win_amd64.whl (160.6 kB view details)

Uploaded CPython 3.10Windows x86-64

marinholab_working_needlemanipulation-26.8.0.16-cp310-cp310-manylinux_2_39_aarch64.whl (226.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ ARM64

File details

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.16-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0dbce46fcac929efaa337efd3a3700eca5bb5449204d47eb48947162953e4f34
MD5 e56aee725e37baf05c581a7e9d694366
BLAKE2b-256 c044560835bd97e3e1d0257a8309a1116416eb1364de7b76fba098ced03167af

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.16-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 42902a6fe351c70f013e95f46f9501bb1594f1291828beaaf47d07b2da686b83
MD5 78dae3813ccefd9fefafc9d265d35550
BLAKE2b-256 51bf515e8a07e4730ef05b33662a55e67a32d952418f70ff883a2b98e545f455

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.16-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 781da166d8442a33902c9affeadd059100e270a545e437b48fce6e2b160b61a5
MD5 feb8f0a0ed00ad0afa3aa33f215803c4
BLAKE2b-256 524f5843ff4934c7b7659b48c7a0c509322f60c4f919a32c348a2d9b55af13a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for marinholab_working_needlemanipulation-26.8.0.16-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.16-cp311-cp311-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.16-cp311-cp311-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 7cee99882013926f26f51f0f897ff30b88e25a6060e7b83dc710451fcaf2e023
MD5 a35f42babfe99769e42062e3c839eced
BLAKE2b-256 1175d40dc5233a4161d6eb8d09c7407db1c0251e983678199304504bc98946b2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.16-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 570bc62184c48b53790c5c74623d58adf591800427c8637c3fa07b0d8b554d82
MD5 f38a68338795600504e6a6db7c5b1b73
BLAKE2b-256 6de0c13fd46c0dff97c8047cc8bcc3379627de18cc6d5f51fa4787ed9f4d9b9f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.16-cp310-cp310-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 df579a396f527932594c55ebf2ee91c27888551fe9050d0c424675565e06b23c
MD5 8fea8ccb02c6dbb593822133759c1a18
BLAKE2b-256 8ccec06a83d7accbce57bef9a8a65fbac8d8feff0da0279483558035d293f533

See more details on using hashes here.

Provenance

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

This release

26.8.0.16 This release

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