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

Uploaded CPython 3.12Windows x86-64

marinholab_working_needlemanipulation-25.6.0.105-cp312-cp312-manylinux_2_39_aarch64.whl (227.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ ARM64

marinholab_working_needlemanipulation-25.6.0.105-cp311-cp311-win_amd64.whl (162.8 kB view details)

Uploaded CPython 3.11Windows x86-64

marinholab_working_needlemanipulation-25.6.0.105-cp311-cp311-manylinux_2_39_aarch64.whl (226.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ ARM64

marinholab_working_needlemanipulation-25.6.0.105-cp310-cp310-win_amd64.whl (160.2 kB view details)

Uploaded CPython 3.10Windows x86-64

marinholab_working_needlemanipulation-25.6.0.105-cp310-cp310-manylinux_2_39_aarch64.whl (225.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ ARM64

File details

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-25.6.0.105-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a62ac9fa5245dda69065303b9ba7c95e6d494be1853972b22789691fb35de27c
MD5 e71c8fbd8aca26b72dee3821da5da3d5
BLAKE2b-256 67e8421852735d0fd006f922dd227659c0ab58103fa15ad832fb988bbd3ed28a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-25.6.0.105-cp312-cp312-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 cd830718229fde49b1ae16dccd3be6bf0cae6f5051d78cb0806a5ad14983d3f9
MD5 222c0f232bcb4c536ba99e77f911d943
BLAKE2b-256 04e523981b857fea521c88a8a0124a4f729bc43f1d1422b45d9a62c119fa5267

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-25.6.0.105-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 cc7cb922c8844a8388c17a605ecfc4276666d2323dcfafd7f51f0d8308c5b16f
MD5 aae81f6fd445ce711e0e5365961ee345
BLAKE2b-256 a0d37c087d369faf51fe6d7344c882d5e869b56ef4a672cb7351e71670d649ae

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-25.6.0.105-cp311-cp311-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 fe071ec2bdfef30db3c25b9e00bea3f18c50dd8b47321e02e179f011a1dd2ef1
MD5 5dda1d35c479da02ed0047a4665be9b0
BLAKE2b-256 51d65095ae27c187042f46cf112857fb33b37e5d0696521c5fefcdeaedff4fcf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-25.6.0.105-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 32d0ad7d3919783947bd2acddf8ee891f9259756c27d5b35b0ee87c13de8e181
MD5 1d4ccec8a8505c2b1ae1b7174cbab091
BLAKE2b-256 a82ae0a315add56037995684321dd46980a512b46d32c59846926bc0f6e7bca6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for marinholab_working_needlemanipulation-25.6.0.105-cp310-cp310-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 48be0089b55f2fec2bdd0d2b3b25478a4f8d2d330992d8fa3e5af7f0db3a562a
MD5 7e9693de2f2565e1b1ac4a2bc0108ec3
BLAKE2b-256 63de4a6e712458d80986d4f389ff36d28ada95d9241af33ac132696e36b3ca5b

See more details on using hashes here.

Provenance

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

26.8.0.7

6 files

25.6.0.110

6 files

25.6.0.107

6 files

25.6.0.106

6 files

This release

25.6.0.105 This release

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