A fast inverse kinematics (IK) solver for xArm7 with/without the linear rail and base rotation offset support
Project description
Fast Inverse Kinematics Solver for xArm7
This package provides a fast inverse kinematics (IK) solver for the xArm7 robotic arm, capable of running at approximately 150 Hz on a laptop with an i7-11800H CPU. It supports both standard 7-DOF xArm7 and configurations with a linear rail (8-DOF).
Features
- Fast inverse kinematics for xArm7 (7-DOF) and xArm7 with linear rail (8-DOF)
- Supports quaternion, Euler angle, and axis-angle rotation representations
- Lightweight and easy to integrate
Installation
Requirements:
Install via pip:
pip install xarm7-ik
Or clone this repo and:
pip install .
# or, for example dependencies (Mujoco):
pip install .[examples]
Usage
To use the IK solver in your own code:
-
Import the solver and rotation representation:
from xarm7_ik.solver import InverseKinematicsSolver
-
Create an instance of the solver:
- For a standard xArm7 (7-DOF):
ik_solver = InverseKinematicsSolver(use_linear_motor=False, rotation_repr="quaternion")
- For xArm7 with linear rail (8-DOF):
ik_solver = InverseKinematicsSolver(use_linear_motor=True, rotation_repr="quaternion")
- For a standard xArm7 (7-DOF):
-
Call the inverse kinematics method:
result = ik_solver.inverse_kinematics( initial_configuration, # np.ndarray of joint angles (7 or 8 elements) target_gripper_pos, # np.ndarray, shape (3,) target_gripper_rot, # np.ndarray, shape depends on the rotation representation # Quaternions are in the W-X-Y-Z order # Euler angles are X-Y-Z # Axis-angle representations are (axis, angle) ) # result: np.ndarray of joint angles
For more complete usage and simulation integration, see the scripts in the examples/ folder.
\
Citation
This project was originally developed for our paper that uses xArm7. If you find this project useful, please consider citing our paper:
@article{sun2025dynamic,
title={Dynamic Rank Adjustment in Diffusion Policies for Efficient and Flexible Training},
author={Sun, Xiatao and Yang, Shuo and Chen, Yinxing and Fan, Francis and Liang, Yiyan and Rakita, Daniel},
journal={arXiv preprint arXiv:2502.03822},
year={2025}
}
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file xarm7_ik-0.3.1.tar.gz.
File metadata
- Download URL: xarm7_ik-0.3.1.tar.gz
- Upload date:
- Size: 8.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a00ec1f7de9ca4eb19cb08aad30d1ec79321ae65a7894a5a46cc929d3aba090b
|
|
| MD5 |
4f80f7b51fc3a37c8feb6d47f1cb3234
|
|
| BLAKE2b-256 |
10ac7afdfca36b30efb9d3151754a78d67eaca653ea20a238fa90d40cfeeb750
|
File details
Details for the file xarm7_ik-0.3.1-py3-none-any.whl.
File metadata
- Download URL: xarm7_ik-0.3.1-py3-none-any.whl
- Upload date:
- Size: 8.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
444d6f1aabd85637c3f07f3221ab6979cf62916b33532eaf43d02f956799ad5a
|
|
| MD5 |
92bba855686cdc1f2c40661f6e79540f
|
|
| BLAKE2b-256 |
1bd6c79709a22d46a00949fa5b5561abbafb432e7160ba26a92881bf57a7f7f8
|