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

Uploaded CPython 3.12Windows x86-64

marinholab_working_needlemanipulation-26.8.0.7-cp312-cp312-manylinux_2_39_aarch64.whl (227.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ ARM64

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

Uploaded CPython 3.11Windows x86-64

marinholab_working_needlemanipulation-26.8.0.7-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.7-cp310-cp310-win_amd64.whl (160.6 kB view details)

Uploaded CPython 3.10Windows x86-64

marinholab_working_needlemanipulation-26.8.0.7-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.7-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f2c2e9045f0f53dcc0df5482ee18c2ae132792b3f4cbaea96dd1ec29267f418f
MD5 216ea444ae59770d0c1e926239976722
BLAKE2b-256 870152c06b0fa057735b7f14018829fd83bb552477072a055f698e19efeb5dc7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.7-cp312-cp312-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 9c7a2a7b66f0a1e6ba0132bd1a8676f6136a313e80c55b9ee9c18ae976a62244
MD5 a3570b6c899b0e45f4e8aad5796c126b
BLAKE2b-256 83b5d036ee3666713ff5cfbe6a89280ef0146f26fbc91ac356979cf15e59b99e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 bcbfac6e8e73fb9d1a0383819de4ab776d9bcd840d5a810e70f58cc58582d586
MD5 efdabbbc5d257f037f99fc1993aaa8e4
BLAKE2b-256 71ea69a4ee3c7ae86e0f8703bc7670adb397d18a8894b088335f87c1cfbf32dc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.7-cp311-cp311-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 b9098006fbc89db2348c298f844f27db1af3184c5f66596571860c09081e69aa
MD5 65d2af13f7ac3f3ca603f0bc04350529
BLAKE2b-256 e838a78475fdf2b150f285b9c1ec42bd7602237b277c979570d1be39f1e63bf7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 11737d359d3a01fb448cae0a960ec7774d54d92b1f066caac0694a83570cbe3f
MD5 36b705c348625853ce15e2e727dda165
BLAKE2b-256 7d7d9bcfe13c99d6cb0de23ea25af9267ca5339613c4f6c3884951d57b974c60

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.7-cp310-cp310-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 5c7d985305ad1a4702a40dc4edb61a4c03d34b7d8a5bd6541658ca7451081b3c
MD5 d9f1f772b46f73ac4f37600341bfb5d2
BLAKE2b-256 97e68ee5d823e3fe5a41b7b1bb59a88961594c2f058bfc95d66843439b0388c3

See more details on using hashes here.

Provenance

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

This release

26.8.0.7 This release

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