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

Uploaded CPython 3.12Windows x86-64

marinholab_working_needlemanipulation-25.6.0.106-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.106-cp311-cp311-win_amd64.whl (163.3 kB view details)

Uploaded CPython 3.11Windows x86-64

marinholab_working_needlemanipulation-25.6.0.106-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.106-cp310-cp310-win_amd64.whl (160.7 kB view details)

Uploaded CPython 3.10Windows x86-64

marinholab_working_needlemanipulation-25.6.0.106-cp310-cp310-manylinux_2_39_x86_64.whl (256.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ x86-64

File details

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-25.6.0.106-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 165228d58e43da8208ca376fb7878c03b32a02232c4d01a22f889bb8e0a7d1cc
MD5 fad14089bbfb8d1e8b24073e45589431
BLAKE2b-256 3e57f2758f2f299a0a139b4136c4d8fac403ab5274e9fe7f964bdbb719105a02

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-25.6.0.106-cp312-cp312-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 07f6a4c6ac123ce7f10b8a50e597dafe5db5b75e336bf84030b04c5494dd680c
MD5 cdaf28829b6609d5efcba2d58aa79e13
BLAKE2b-256 a47a343c44bc2f1e226bc85d94d6bd8712a2ebc737dae6eef49d9fa8aa98eb0b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-25.6.0.106-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 de3b444d7f9bdd5990db55c49ca4df717301a27dd103bc2708f62a354d7c865d
MD5 81f81081b3c0cc85dcb32dde8376da69
BLAKE2b-256 1cf442c3a724eb9f38fc4a93b0c0151cb8e7a205a58c8781964ad5d54fc1ebd3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-25.6.0.106-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 aeb9c6655dba82659a624439e5fdbbbd87083d874ebaa3ee4e190b2d4d266177
MD5 6bf04dc697ffa8ca1de3edcfd28350ed
BLAKE2b-256 62734ce6d1c839d50fd57ddf34d845178c904e0a1bc04e2568d8c4897a8455d0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-25.6.0.106-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ec0b97eccfd2b77e35c1032b0ae0836866cdb5c9d0c419f5c55bfe297ad4ef5d
MD5 c93f574d7e0827c301bdc2b683646149
BLAKE2b-256 65ec070e1d99ccda5c85de5850dc04b57b2a8fab28cd3eb21932f806ee7c13cc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-25.6.0.106-cp310-cp310-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 bf94fd66dd45c38bfb399d33dbb7c18f5f1f8101fa3b6c0cf08be1b8756e816b
MD5 6fd2eccb48522c7cb9f86caa1ed6faca
BLAKE2b-256 f7aa9d60bb69929f8604e4fa1483f3460cca0037c81fa4b530bf7cf3f8ceb82f

See more details on using hashes here.

Provenance

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

25.6.0.110

6 files

25.6.0.107

6 files

This release

25.6.0.106 This release

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