Skip to main content

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

This version

0.1

Download files

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

Source Distribution

frantik-0.1.tar.gz (2.7 MB view details)

Uploaded Source

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

Hashes for frantik-0.1.tar.gz
Algorithm Hash digest
SHA256 f4ee395708157fde58597b66ac807b7462014344c69f1bc5d7bb9bb944558d41
MD5 c99cfa57536780412e7e29d5011ccc8d
BLAKE2b-256 b8fbd0c5e0bc30fffe582bf0d6271288568f4434b5cf94b4603b8ca63b848dfd

See more details on using hashes here.

Provenance

The following attestation bundles were made for frantik-0.1.tar.gz:

Publisher: wheels.yml on CoMMALab/frantik

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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