thomas-haslwanter / scikit-kinematics

Python functions for working with 3D kinematics.
Other
126 stars 45 forks source link

Title

scikit-kinematics

scikit-kinematics primarily contains functions for working with 3D kinematics, e.g quaternions and rotation matrices. This includes utilities to read in data from the following IMU-sensors: - polulu - XSens - xio - xio-NGIMU - YEI

Compatible with Python >= 3.5

Dependencies

numpy, scipy, matplotlib, pandas, sympy, easygui

Homepage

http://work.thaslwanter.at/skinematics/html/

Author: Thomas Haslwanter Date: 11-07-2024 Ver: 0.9.3 Licence: BSD 2-Clause License (http://opensource.org/licenses/BSD-2-Clause) Copyright (c) 2024, Thomas Haslwanter All rights reserved.

Installation

You can install scikit-kinematics with

pip install scikit-kinematics

and upgrade to a new version with

pip install --upgrade --no-deps scikit-kinematics

IMUs

Analysis of signals from IMUs (intertial-measurement-units). Read in data, calculate orientation (with one of the algorithms below)

MARG Systems

Markers

Analysis of signals from video-based marker-recordings of 3D movements

Quaternions

Note that all these functions work with single quaternions and quaternion vectors, as well as with arrays containing these.

Quaternion class

Functions for working with quaternions

Conversion routines - quaternions --------------------------------=

Rotation Matrices

Definition of rotation matrices ------------------------------=

Conversion Routines - rotation matrices --------------------------------------=

Symbolic matrices

For example, you can e.g. generate a Fick-matrix, with

>>> R_Fick = R_s(2, 'theta') * R_s(1, 'phi') * R_s(0, 'psi')

Spatial Transformation Matrices

Denavit-Hartenberg Transformations

Vectors

Routines for working with vectors These routines can be used with vectors, as well as with matrices containing a vector in each row.

Interactive Data Analysis ========================-

Simulations

Errata

The file Errata.pdf contains the a list of mistakes in the manuscript, and the corresponding corrections.