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

Uploaded CPython 3.12Windows x86-64

marinholab_working_needlemanipulation-26.8.0.17-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.17-cp311-cp311-win_amd64.whl (163.2 kB view details)

Uploaded CPython 3.11Windows x86-64

marinholab_working_needlemanipulation-26.8.0.17-cp311-cp311-manylinux_2_39_aarch64.whl (227.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ ARM64

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

Uploaded CPython 3.10Windows x86-64

marinholab_working_needlemanipulation-26.8.0.17-cp310-cp310-manylinux_2_39_x86_64.whl (256.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ x86-64

File details

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.17-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d05fa195270462c945caefb20c2d794747b8acc579e01038d8ff12f0a7297cca
MD5 dc29e0d420d10d0b7f39847c28d14593
BLAKE2b-256 4dad9f851cc4078da53acc099d74ed384aab5d492f4cf684ad2da7dea8891e69

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.17-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 17bbd375bb38d82c0a447b3bf1344d8d14e5fe3c0eec344fb8f17413723e7e2d
MD5 ff2f13737d3b2ffad40c8f930b0cd608
BLAKE2b-256 0f5f2fb4203791b94ffc5cf3527dd3d83cf2b9da187c6059f17ce4bc2900b485

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.17-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e676ddfda11d741de7c75b24b57712df80e94652d414d894b085d30ad00c8dd7
MD5 23f0a511a6b274471294c57e87bbb981
BLAKE2b-256 488f89ccae889ef2294ddf9f692ccf6dc8e0bc528e15ca095cfbb9aa7f8a1090

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.17-cp311-cp311-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 bc45e340e84910046c5c2c28a6c3a474c67e3b61e6ac4042baa01dd41c12b937
MD5 a6bc349d6a4ce1ae887a3229429fcdcf
BLAKE2b-256 c978c71ef72f07c4f24e4f3c1ebde3f7495761f25dbb5e0c831b07ba72cb2278

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.17-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3172885a2eda227ea6d6b91b079756cb9a43e06df1d04184be3df65c4b05742a
MD5 50973a59bd0fde07b3d7a71ab99b54f8
BLAKE2b-256 2ac7c921aeb41e6b992dd7c76234d1ffd05ad606021c21a020bbf2fdc8843e51

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.17-cp310-cp310-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 003a1b21f1a58161309a4a16719a4638f337d488edbab68632b370dcc366b169
MD5 b023919e83a27994524d1ddf0363703a
BLAKE2b-256 308ff0c3969b2769ca9d25d3b5ec95464f1c777796e4ee8c6eae499c32330579

See more details on using hashes here.

Provenance

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

This release

26.8.0.17 This release

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

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