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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.10Windows x86-64

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.18-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d33d5afead5621c5f7aaf2be5699af74aae81489804c7f3f84cc943b93400aa1
MD5 45a70bf78830c48e64716717bab62ee2
BLAKE2b-256 98aaf0c8e404c2de40e485e7caf0b3a929a239aa5cb4b016ded6fed23f8f4c5a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.18-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 5f9c60372ffff4db4ee92a590a9b928cafa29a24d589c5fe8fecd458f298c0b5
MD5 94940154738d8ba083d306dada50f6e0
BLAKE2b-256 454f6409990c8a3f3579543692736d7b9892b4900efe5cbd37c3e47bffcb45d1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.18-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8bbed11ca5931dacb25e9706878d6697f23f3e2938eada00ca463b3a1dff4e51
MD5 abbfb299fe3dece55dd399d02ae98c83
BLAKE2b-256 dc4abf09163ea4239a7aaae2e6231f5370bd06ee220cadbb47018c8648ea3819

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.18-cp311-cp311-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 71913158eb3467fcd9d1fd8ddbbc06318c533e3456bc7c8fd35132c2ec7ec10d
MD5 bc701e3663e3f9a8c7141a29fa8026fe
BLAKE2b-256 4cdb8b85983828f1a45c23843fed790f9f55dbd4ac36426734e6cc764799b2a6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.18-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6a251e75542e89dccdffc523f1763623f05252b339a8bf20097ab6bd31590cbc
MD5 dfe74c84e3db970525d835be63125530
BLAKE2b-256 8ef929952dd3a663798fdcb0c75569dbbf1a330b825f45c989ca3a5e6524f669

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-26.8.0.18-cp310-cp310-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 3048e091a480db3a102e7616f70c2a8badbe605d20abf159030f1493498acc6a
MD5 41ecabbbdc2c91be2989e23b872468ab
BLAKE2b-256 d30d28e6dfdaa662bed87b8d878e8ca0029e5ab21b027586dcff365463ca8fcd

See more details on using hashes here.

Provenance

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

This release

26.8.0.18 This release

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

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