Analytic Franka IK
Project description
FRANTIK: nanobind wrapper for analytic Franka IK
A Python wrapper for an analytical Inverse Kinematics (IK) solver for Franka written with nanobind. The solver is modified from franka_analytic_ik, which has the following citation:
@InProceedings{HeLiu2021,
author = {Yanhao He and Steven Liu},
booktitle = {2021 9th International Conference on Control, Mechatronics and Automation (ICCMA2021)},
title = {Analytical Inverse Kinematics for {F}ranka {E}mika {P}anda -- a Geometrical Solver for 7-{DOF} Manipulators with Unconventional Design},
year = {2021},
month = nov,
publisher = {{IEEE}},
doi = {10.1109/ICCMA54375.2021.9646185},
}
Installation
Simply clone the repository and pip install:
git clone git@github.com:CoMMALab/frantik.git
cd frantik
pip install .
You will need Eigen3 installed.
To install on Ubuntu 22.04, sudo apt install libeigen3-dev.
Usage Notes
This module provides two functions:
ik(tf, q7, qc)which takes as input the target frame (a 4x4 TF matrix), the desired value of joint 7 in radians, and the current configuration of the robot. It returns all four solutions (if they exist) to the IK problem.cc_ik(tf, q7, qc)which takes in the same input as above, but only returns the solution closest to the current configuration.
Note that the functions take numpy arrays as input.
[!WARNING] Note that both functions assume that Franka Hand is installed and the solution is regarding to the end effector frame. If the Cartesian pose of the flange frame is to be used as input, according to Franka documentation you can change the const variable d7e to 0.107 and remove the 45 degree offset in q7.
TODO
- Line search for q7 values
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file frantik-0.1.tar.gz.
File metadata
- Download URL: frantik-0.1.tar.gz
- Upload date:
- Size: 2.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f4ee395708157fde58597b66ac807b7462014344c69f1bc5d7bb9bb944558d41
|
|
| MD5 |
c99cfa57536780412e7e29d5011ccc8d
|
|
| BLAKE2b-256 |
b8fbd0c5e0bc30fffe582bf0d6271288568f4434b5cf94b4603b8ca63b848dfd
|
Provenance
The following attestation bundles were made for frantik-0.1.tar.gz:
Publisher:
wheels.yml on CoMMALab/frantik
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
frantik-0.1.tar.gz -
Subject digest:
f4ee395708157fde58597b66ac807b7462014344c69f1bc5d7bb9bb944558d41 - Sigstore transparency entry: 453471720
- Sigstore integration time:
-
Permalink:
CoMMALab/frantik@aa0be0d67fe98f8aeb750bdea6e7596d0627b4c6 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/CoMMALab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@aa0be0d67fe98f8aeb750bdea6e7596d0627b4c6 -
Trigger Event:
workflow_dispatch
-
Statement type: