# Model-Based Real-Time Motion Tracking Using Dynamical Inverse Kinematics
## 1 Introduction  
Nowadays, real-time motion tracking has many established applications in different fields such as medicine, virtual reality, and computer gaming. Moreover, in the field of robotics there is a growing interest in human motion retargeting and imitation [1, 2]. Different tracking technologies and algorithms are currently available. Among these, optical tracking techniques are more spread and have been available since the 1980s [3]. Inertial/magnetic tracking technologies have been available only with the advent of micromachined sensors, and ensure higher frequency of data and lower latency, that makes them suited for demanding real-time motion tracking applications [4, 5]. The objective of motion tracking algorithms is to find the human configuration given a set of inertial measurements. Tracking algorithms can use human body representations with different levels of complexity, spacing from contours [6, 7], stick figure [8, 9], and volumes [10, 11]. For some techniques it is not required to know a priori the shape of the model, and model identification is part of the algorithm [6, 8]. When the human is modeled as a kinematic chain, the solution of the model inverse kinematics has a major role in the algorithm [12, 13, 14, 15], hence, strategies to solve it efficiently are required. In the field of robotics, a common inverse kinematics problem consists in finding the mapping between the end-effector of a manipulator (task space) and the corresponding joint angles (configuration space). Compared to industrial manipulators, solving the inverse kinematics for a human kinematic model can be demanding as humans can be modelled as highly articulate kinematicchains. Human kinematics is redundant, it generally has a high number of degrees of freedom (DoF), and it should also take into account musculoskeletal constraints in order to ensure realistic motion. Moreover, a human moving in the space is a floating base system, which means that the configuration space lies on a differentiable manifold [16]. Since finding an analytical closed-form solution for the inverse kinematics of a human model is not always either possible or efficient, a numerical solution is often preferred. One of the most common approaches for solving inverse kinematics consists in formulating the problem as a non-linear optimization problem, that can be solved via iterative algorithms [17; 18]. This class of algorithms can be referred to as _instantaneous optimization_ since they aim to converge to a stable solution instantaneously at each time step. Although instantaneous optimization algorithms can converge fast to a solution in common robotics applications, the capability of finding an accurate solution for a human model, at a sufficient rate, can still be the bottleneck for some time-critical applications. However, there are many examples in which optimization is used for offline processing [19; 20]. In some cases, better performances are achieved using heuristic iterative algorithms [21], learning algorithms [22], or combining analytical and numerical methods [23]. An alternative approach consists of embedding the static non-linear inverse kinematics problem into a dynamical one [24; 25; 26]. In order to underline the fact that, with this approach, a dynamic solution to the problem is found, we will refer to it as _dynamical inverse-kinematics optimization_. Note that this approach has been presented in literature also with other names such as _motion rate control_[27] and _closed-loop inverse kinematics_[28]. In practice, with this approach, the inverse kinematics problem is rephrased as a control problem, aiming to control the model configuration in order to converge to the sensors measurements. From a computational point of view, the main advantage of this approach is the fact that the solution can be computed directly at each time-step with a single iteration.