Skip to main content

ARX X5 Robot Arm Python SDK

Project description

ARX X5 SDK

Python bindings for the ARX X5 robot arm SDK. This package provides a Python interface to control ARX X5 robot arms.

Prerequisites

sudo apt install build-essential cmake python3-dev

Python dependencies (pybind11) are installed automatically during build.

Installation

From PyPI (Recommended)

pip install arx-x5-sdk

From Source

git clone https://github.com/uma-robots/arx-x5-sdk.git
cd arx-x5-sdk
pip install .

Development Mode

For active development:

pip install -e .

All installation methods automatically build the C++ extension using CMake.

Usage

Simple API (Recommended)

The easiest way to use the SDK with automatic URDF selection:

import arx_x5_sdk
from arx_x5_sdk import ArmType

# Create interface using enum (recommended)
interface = arx_x5_sdk.ArxInterface("can0", ArmType.X5_2025)

# Or use the default (X5_2025)
interface = arx_x5_sdk.ArxInterface("can0")

# Available arm types:
# - ArmType.FOLLOWER  : Follower arm (x5.urdf)
# - ArmType.LEADER    : Leader arm (x5_master.urdf)
# - ArmType.X5_2025   : X5 2025 model (x5_2025.urdf, default)

Advanced API

For more control, use the low-level C++ interface directly:

import arx_x5_sdk
from arx_x5_sdk import ArmType

# Get URDF path by type
urdf_path = arx_x5_sdk.get_urdf_path_by_type(ArmType.X5_2025)

# Or get URDF path by filename
urdf_path = arx_x5_sdk.get_urdf_path("x5_2025.urdf")

# Create interface with explicit URDF path
interface = arx_x5_sdk.C_ArxInterface(urdf_path, "can0", ArmType.X5_2025)

# Integers still work for backwards compatibility
interface = arx_x5_sdk.ArxInterface("can0", 2)  # equivalent to ArmType.X5_2025

Development

Manual Build (Advanced)

If you need to rebuild just the C++ extension:

python setup.py build_ext --inplace

This builds the extension in-place without installing.

Architecture Support

The build automatically detects your system architecture:

  • x86_64: Uses libarx_x5_src.so
  • ARM64/aarch64: Uses libarx_x5_src-arm64.so

Troubleshooting

Build errors

Ensure prerequisites are installed:

sudo apt install build-essential cmake python3-dev

Import errors

Make sure the package is installed:

pip install -e .

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

arx_x5_sdk-0.1.2.tar.gz (4.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arx_x5_sdk-0.1.2-py3-none-any.whl (3.5 MB view details)

Uploaded Python 3

File details

Details for the file arx_x5_sdk-0.1.2.tar.gz.

File metadata

  • Download URL: arx_x5_sdk-0.1.2.tar.gz
  • Upload date:
  • Size: 4.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.8

File hashes

Hashes for arx_x5_sdk-0.1.2.tar.gz
Algorithm Hash digest
SHA256 9094a34427b9ddb817a0d6f9567bfcc5ad612964d4005bd5926c62e4948cbcbb
MD5 aa9f8dfa3bc0a2422953f732670380d3
BLAKE2b-256 4bc7a54a5faa96e5b3e52a7e304fb8673cfbf9201ec7f11b1a3a937adf34d3ea

See more details on using hashes here.

File details

Details for the file arx_x5_sdk-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for arx_x5_sdk-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cdab24d9571199e0c0882b6b206a8eaeb81f68963594412f02b8bf5d14d6f183
MD5 a8265b5d404cefdf7cd6ceb11e097c83
BLAKE2b-256 192a28cc595587fa215cda58dcdf948e8d72a91011b3f05892f957715e6efe3d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page