motor-drive-layer native payload
This distribution contains the compiled Motor-Drive-Layer libraries only:
libmotor_abi.so: generic transport, controller, motor and Damiao C ABI.libarticore_runtime.so: fixed Yunyi dual-arm Runtime, robot model and gravity-compensation C ABI.- Redistributable DM Device runtime dependencies for the target platform.
It intentionally installs no Python module and exports no Python API. Python product SDKs own
their ctypes declarations, value types and user-facing interfaces. In particular,
Articore-SDK locates this distribution through importlib.metadata and calls the stable native
ABI without importing motor_drive_layer.
The supported product entry point is articore_runtime_create_yunyi(mode, with_grippers). Product clients do not pass a product identifier, Controller,
Motor handle, mapping table, gripper profile, gravity binding, or control rate.
Product trajectories are likewise planned and executed entirely by the C++
Runtime through the stable trajectory C ABI; the wheel contains no Python
interpolator or realtime playback loop.
Version 0.10.27 doubles the built-in yunyi_gripper_v1 command strength at
every public force level (1 through 10), without changing the product C ABI.
Version 0.10.28 adds the ABI 2.25 product gripper v2 command with protected and direct (no contact/stall or overload-retreat) modes and a 0-through-10 strength scale. Runtime-wide safety remains active in both modes.
Version 0.10.29 guarantees that Yunyi grippers remain in MIT mode regardless of whether the fourteen arm joints use PV or MIT control.
Version 0.10.30 multiplies both Kp and Kd by ten in direct gripper mode only; protected mode and zero strength remain unchanged.
Version 0.10.31 adds native asynchronous Cartesian point-to-point motion for
the Yunyi product Runtime. articore_runtime_move_pose() performs C++ IK and
quintic safety validation before returning a motion id. New valid point targets
replace the current point motion atomically; rejected targets leave it running.
The same release also adds Cartesian-linear motion with straight XYZ
interpolation and shortest-path quaternion SLERP. Sequential native IK validates
the complete path before its precomputed joint polynomials enter the realtime
worker. PTP and linear targets may replace each other; the existing
multi-waypoint trajectory API remains strict and ordered.
Version 0.10.31 also includes three-pose circular motion. Start, via and end
XYZ values define the traversed arc, while their attitudes are joined with
piecewise shortest-path quaternion SLERP. Duplicate, collinear, start-mismatch,
unreachable, discontinuous and over-limit paths are rejected before install.
PTP, linear and circular Cartesian product motion are all PV-only; MIT product
Runtimes reject these calls without replacing an active motion.
Trajectory and Cartesian COMPLETED now means feedback-confirmed physical
arrival, not only expiration of the planned duration. The Runtime holds the
final setpoint while it requires consecutive fresh position/velocity samples;
an internal arrival timeout marks the motion failed and writes diagnostics to
health without switching the Motors into a fault mode.
The required Pinocchio C++ template implementations are compiled into
libarticore_runtime.so with hidden visibility. The installed runtime has no dynamic dependency
on Pinocchio or Boost, so a ROS 2 LD_LIBRARY_PATH cannot substitute an incompatible robotics
library.
The payload is installed under:
motor_drive_layer_native/
└── lib/
├── libmotor_abi.so
├── libarticore_runtime.so
└── dm_device/
Use the headers and CMake package from the native SDK artifact for C/C++ development. Install Articore-SDK for the supported Python product interface.
Metadata
Release files for motor-drive-layer 0.10.31
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| motor_drive_layer-0.10.31-py3-none-manylinux_2_35_aarch64.whl | Python 3 | none | Linux glibc 2.35+ ARM64 | Details |
| motor_drive_layer-0.10.31-py3-none-manylinux_2_34_x86_64.whl | Python 3 | none | Linux glibc 2.34+ x86-64 | Details |
Total release size: 3.1 MB
Release files / motor_drive_layer-0.10.31-py3-none-manylinux_2_35_aarch64.whl
| Download URL | motor_drive_layer-0.10.31-py3-none-manylinux_2_35_aarch64.whl |
|---|---|
| Size | 1.0 MB |
| Tags | Linux glibc 2.35+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
03d4f2a869948d693dda982bd8553d6fd94710c38195252d9db8f2591d186798
|
|
BLAKE2b-256 checksum How to use checksums |
acef97b3b1752a9c5993710f2540ce6b7667583aa157f326f7bc8e85ed98cacc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.12
|
Release files / motor_drive_layer-0.10.31-py3-none-manylinux_2_34_x86_64.whl
| Download URL | motor_drive_layer-0.10.31-py3-none-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | Linux glibc 2.34+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
55334904c014ae3bcb6a649d6fa182884437516f01ff3020b6c4833cd3bb7c7a
|
|
BLAKE2b-256 checksum How to use checksums |
1369a43d5c3233cd288e470f000b010d9add05ffe1f871a52a0ff972f596d520
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.12
|