1 Introduction and organization

motionToolkit is a suite of R packages (in progress) facilitating the preprocessing and analysis of three dimensional kinematic data from motion tracking experiments. It is geared specifically towards the use of dual quaternions to simultaneously represent position and rotation data in three dimensions.

1.1 Packages

1.1.1 seathree

The seathree package implements operations in the space of dual quaternions (esp. unit dual quaternions), which are used to encode elements of the special Euclidean group SE(3) – representing rigid body displacements in three dimensions.

The package implements operations such as multiplication, conjugation, and inversion; as well as conversion between dual quaternions and other methods of representing rigid body displacements, such as vector/quaternion pairs and screw displacement.

Dual quaternions are so far treated simply as numeric vectors of length eight (i.e. not as an S3/S4 class, though that may change in the future), and the syntax is designed to be roughly consistent with the way quaternions are handled in the RSpincalc package.

1.1.2 motionImport

The motionImport package contains a set of convenience functions for importing .exp file output of an Innovative Sports Training MotionMonitor system, containing position (coordinate) and rotation (quaternion) data for each sensor during each experimental trial.

The package is tighly linked to the specific format of these data, and is unlikely to be useful to those not using an identical system. In that case, the user can simply write their own import function, as long as it structures the data in the same format.

1.1.3 seacurve (in progress)

The seacurve package implements an R6 class representing a smooth trajectory in SE(3) through the use of dual quaternions. Includes methods for plotting, interpolation, and smoothing.