Skip to main content
Sensors (Basel, Switzerland) logoLink to Sensors (Basel, Switzerland)
. 2016 May 20;16(5):727. doi: 10.3390/s16050727

Whole-Body Human Inverse Dynamics with Distributed Micro-Accelerometers, Gyros and Force Sensing

Claudia Latella 1, Naveen Kuppuswamy 1, Francesco Romano 1, Silvio Traversaro 1, Francesco Nori 1,*
Editor: Stefano Mariani1
PMCID: PMC4883418  PMID: 27213394

Abstract

Human motion tracking is a powerful tool used in a large range of applications that require human movement analysis. Although it is a well-established technique, its main limitation is the lack of estimation of real-time kinetics information such as forces and torques during the motion capture. In this paper, we present a novel approach for a human soft wearable force tracking for the simultaneous estimation of whole-body forces along with the motion. The early stage of our framework encompasses traditional passive marker based methods, inertial and contact force sensor modalities and harnesses a probabilistic computational technique for estimating dynamic quantities, originally proposed in the domain of humanoid robot control. We present experimental analysis on subjects performing a two degrees-of-freedom bowing task, and we estimate the motion and kinetics quantities. The results demonstrate the validity of the proposed method. We discuss the possible use of this technique in the design of a novel soft wearable force tracking device and its potential applications.

Keywords: whole-body force tracking, human wearable dynamics, human inverse dynamics

1. Introduction

Human whole-body motion tracking is nowadays a well-established tool in the analysis of human movements. This tool has found a wide variety of real-world applications ranging from entertainment (movies and games) to sport and rehabilitation frameworks. Several commercial solutions for whole-body motion tracking are available. Well known examples include: a wearable marker-less technology suitable for outdoor motion capturing produced by Xsens [1] (Xsens Technologies B.V., Enschede, Netherlands), a state-of-the-art marker-based technology for in-lab applications produced by Vicon (Vicon Motion Systems Ltd, Oxford, UK) and Microsoft Kinect depth camera system (Microsoft Corporation, Redmond, Washington), which allows marker-less low-cost whole-body motion tracking for indoor applications [2]. In biomechanics, soft wearable and stretchable systems have been proposed for measuring human body motion [3,4], as well as in health activity monitoring [5]. Combinations of different technologies have also been used for detecting human motion: in [6], a video-based motion technique was adopted for capturing realistic human motion from video sequences. Although existing technologies provide a high level of accuracy in computing motion quantities, they have several limitations in their ability to measure kinetic quantities in real-time (kinetics considers forces that cause movements). A key problem lies in the fact that motion capture methods typically employ only kinematic measurement modalities (position, velocities and accelerations) [7] and do not include information on the kinetics of human movements.

The importance of including and exploiting all dynamic information is a crucial point in several research areas such as ergonomics for industrial scenarios, developing prosthetic devices and exoskeleton systems in rehabilitation fields, or in human-robot interaction. For these reasons, whole-body force tracking is not a new challenge for the scientific community, but the topic has been seldom explored in situ due to the computational difficulties of the analysis and even more rarely analyzed in real-time modality. Although several recent studies are going in this direction, it is limited to prototypical and non-wearable technologies. Typical non-wearable technologies involve the combination of a motion capture system (e.g., a Vicon camera system ), with commercial force plates and Newtonian physics to perform inverse dynamics computations . Some recent prototypes [8] have been proposed for kinematics and dynamics motion capture. The suggested approach involves a Kinect-like sensing and pressure-sensing shoes to reconstruct the whole-body dynamics.

To obtain forces and torques acting on a body, accurate data on the mass, center of mass and inertias of each body segment are needed. Different methods for the determination of body segment parameters can be described in [9], but the real difficulty is that a universal acknowledged procedure for estimating inertial parameters with accuracy does not exist yet. In this framework, it is fundamental to specify exactly what the kinematics and external boundaries are.

Towards compensating for aforementioned drawbacks, one approach is to supplement or even replace standard marker-based technologies in several applications with a system design embedding a combination of Inertial Measurement Unit (IMU) sensors and force sensing for evaluating contact forces. However, in order to properly model and understand the role of dynamic quantities, an appropriate understanding of the dynamic interaction between the elements of the models (such as reaction and contact forces, accelerations of links and forces exchanged between them) is needed.

Inspired by a recent research study on sensor fusion for whole-body estimation on the humanoid iCub robot [10] (Istituto Italiano di Tecnologia, Genova, Italy), in this paper, we propose a novel framework for wearable dynamics (WearDY) aiming to bridge the gap in dynamics analysis by fusing motion and force capture. The novelty of the approach consists of framing computations in a probabilistic Gaussian framework in the presence of redundant (and noisy) measurements. In this way, sensors play an active role in the computation since the classical boundary condition in recursive Newton–Euler algorithms (i.e., linear-angular velocities and acceleration at the base link and forces–torques at the end-effector) are replaced with measurements coming from sensors. WearDY is an attempt at combining dynamic computations with stochastic estimation of dynamics variables. The early stage of WearDY tool encompass different modules: (1) a motion capture system computing human joint model configuration and kinematics; (2) an additional inertial sensor; (3) force platform sensing; and (4) a probabilistic algorithm framework. The final prototype will replace the motion capture system with a soft wearable suit embedding sensing structure.

In this paper, we focus mainly on describing the fourth module and its integration into the physical tool. We test the WearDY prototype on human subjects performing a two Degrees-of-Freedom (DOF) bowing task. The subjects are equipped with the basic elements of the proposed suit in the form of a chest-mounted IMU, a conventional motion capture system along with a force plate. The Gaussian algorithm is then applied to compute joint torques as well as other dynamic quantities such as link accelerations and transmission forces throughout the motion. The results demonstrate the applicability of the proposed method for the simultaneous force and motion tracking in dynamic motion.

The paper is structured as follows. Section 2 presents an overview of some important definitions of the algebraic notation used for computations along with the assumptions on the dynamic model. Section 3 provides an analytic statement of dynamic analysis wherein the probabilistic computation is framed. In Section 4, the probabilistic estimation theory is shown. The experimental analysis on human subjects is presented in Section 4 followed by concluding remarks in Section 4.

2. Notation

2.1. Spatial Algebra Description

The notation adopted in WearDY architecture mirrors that in [11] (readers already familiar with the notation can jump to Section III): all variables are spatial vectors (six dimensional vectors including angular quantities in the first three components and the rest as linear quantities). Within this notation, an articulated rigid body is a system modeled as an oriented kinematic tree (Figure 1) with NB moving links numbering from 1 to NB (0 is the fixed base). Each link in the model is associated with a unique node in the tree. Node numbers can be always selected in a topological order so that each node i has a higher number than its unique parent λ(i) and a smaller number than all the nodes in the set of its children μ(i). Links i and its parent λ(i) are coupled with joint i according to Denavit–Hartenberg convention for joint numbering [12]. Joint i motion freedom subspace is modeled with SiR6×ni, being ni the number of DOF of the joint i and n=n1++nNB the total number of DOFs of the system excluding the fixed base. For each link i and joint i, the following spatial quantities are defined:

  • vi

    velocity of link i;

  • ai

    acceleration of link i;

  • fi

    force transmitted from λ(i) to body i;

  • fiB

    net force on link i;

  • fix

    external force acting on link i;

  • qi

    joint i position;

  • qi˙

    joint i velocity;

  • qi¨

    joint i acceleration;

  • τi

    joint i torque;

  • vJi

    velocity across joint i.

Figure 1.

Figure 1

Graphical representation of an articulated rigid body as an oriented kinematic tree.

All variables are expressed in body i coordinates, except for fix which is convenient to express in absolute (i.e., body 0) coordinates. To each link i, a spatial inertia tensor is also associated:

Ii=IC,i+mici×cimici×mici×miI3×3,

where IC,i is the spatial inertia tensor with respect to (w.r.t.) the link center of mass, mi is the total mass, ci is the relative displacement between the center of mass and the origin of the reference frame associated to the link. Within this spatial framework, in the paper, the following operations are adopted: × is the motion cross product operator such as, if

r=rxryrzr×=rxryrz×=0rzryrz0rxryrx0.

Its dual operator ×* is the force cross product operator. The motion vector transformation BXA from A to B coordinates and its analogous transformation for a force vector BXA* are, respectively:

BXA=BRA03×3BRA(Ar×)BRA,BXA*=BRABRA(Ar×)03×3BRA.

A homogeneous transformation matrix from A to B is also described as follows:

BTA=BRABRA(Ar)01.

Throughout the paper, we denoted with Ax˙ the temporal first order derivative and with Ax¨ the temporal second order derivative of a generic vector x in A coordinates.

2.2. Stochastic Notation

Given a stochastic variable x, we denote with p(x) its probability density and with p(x|y) the conditional probability density of x given the assumption that another stochastic variable y has occurred. Since y is associated to a deterministic function f(x), with Ex[f(x)] we denote the expected value of f(x) w.r.t. the probability distribution p(x). With μx, Σx, we denote the mean and covariance of x, i.e., μx=E[x] and Σx=E[xx]. The probability density function of a multivariate Gaussian distribution xRn is p(x)N(μx,Σx):

p(x)=(2π)n2Σx12exp12xμxΣx1xμx,

where Σx denotes the determinant of the matrix ΣxRn×n. It is worth to notice that when in a multivariate normal distribution the covariance Σ is not a full-rank matrix, then the distribution is degenerate and does not have a density. In order to avoid the problem, it can be useful restrict the problem on a subset of Σ such that the covariance matrix for this subset is positive definite.

3. Problem Statement and Formulation

The dynamic estimation algorithm has been originally developed in [10] as a framework for the probabilistic estimation of whole-body robot dynamics with redundant measurements. The methodology was here adapted to fit the needs of the human motion. The present section discusses the estimation problem in details. After discussing the recursive Newton–Euler algorithm for inverse dynamics computation in Section 3.1, we arrange the resulting equations in a matrix formulation (Section 3.2). Section 3.3 introduces the estimation problem by discussing the case in which the boundary conditions of the Newton–Euler algorithm are replaced with a set of redundant measurements expressed in a new equation form.

3.1. Recursive Newton–Euler Algorithm

In [11], the inverse dynamics problem is formulated as the problem of finding the forces required to produce a given acceleration. It can be summarized by the following function:

τ=InvD(model,q,q˙,q¨,fx)

In biomechanics literature, different inverse dynamics approach are used [13]. Let us assume use of a "top-down" approach. We will assume that all quantities depending on q and q˙ have been precomputed, including the transformation matrices jXi, jXi* and the velocities vJi, vi which can be efficiently computed with the following recursive equation:

vJi=Siqi˙ (1a)
vi=iXλ(i)vλ(i)+vJi. (1b)

A classical efficient numerical solution of inverse dynamics problem is given by the recursive Newton–Euler algorithm (RNEA) consisting of the following steps, expressed in body i coordinates:

ai=iXλ(i)aλ(i)+Siq¨i+vi×vJi (2a)
fiB=Iiai+vi×*Iivi (2b)
fi=fiBiX0*fix+jμ(i)iXj*fj (2c)
τi=Sifi (2d)

Equations (1a), (1b) and (2a) are propagated from i=1 to NB with initial conditions v0=0 and a0=ag, which corresponds to the gravitational spatial acceleration vector expressed in the body frame 0 (null in its first three components and equal to the gravitational acceleration in the last three). Equations (2b)–(2d) are propagated from i=NB to 1.

3.2. RNEA Matrix Formulation and the Measurements Equation

In this section, a matrix arrangement of the RNEA is presented. Equation (2) can be seen as a set of equations which the below listed dynamic variables have to satisfy. Let us first define a spatial vector d of dynamic variables as follows:

d=d1d2dNBR24NB+2n (3a)
di=aifiBfiτifixq¨iR24+2ni (3b)

Given Equation (3), Equation (2) can be compactly written in the following matrix equation:

D(q,q˙)d+bD(q,q˙)=0 (4)

where D is a block matrix R(18NB+n)×d and bD is a vector R18NB+n. Let us define how to build D matrix and bD vector:

D=D1,1D1,NBDNB,1DNB,NB,bD=b1bNB.

In particular:

Di,i=10000SiIi100000110iX0*000Si100,jμ(i)Di,j=00000000000000iXj*000000000,j=λ(i)Di,j=iXλ(i)00000000000000000000000,if λ(i)=0bi=iX0a0+vi×Siqi˙vi×*Iivi00,if λ(i)0bi=vi×Siqi˙vi×*Iivi00.

Remarkably, Equation (4) represents the set of linear constraints in d and, in a sense, inverse dynamic computation consists of computing d given fix and q¨i. Our contribution is in moving away from this classical approach replacing RNEA boundary conditions with measurements coming from sensors. For this purpose, let us also define an explicit equation for measurements by indicating with y Ry the values vector measured by sensors:

Y(q,q˙)d+bY(q,q˙)=y (5)

The structure of Y matrix depends on the number of sensors NS used for each link i as follows:

Y=Y1YNBRNS×d,Yi=Yi,1Yi,NSiRNSi×di,

being NS=iNSi the amount of sensors. With the same methodology, the structure of the bias vector bY is also defined:

bY=bY1bYNBRNS,bYi=bYi,1bYi,NSiRNSi.

3.3. Considerations on the Representation

Equation (4) is one of many possible representations of the system dynamics. A common alternative description is the one obtained with the Euler–Lagrange formalisms [12]:

M(q)q¨+C(q,q˙)q˙+g(q)=τ+J(q)fx.

These equations can be obtained from Equation (4) as hereafter described. First, the vector d and the columns of D should be rearranged so that they respect the following order: a1..aNB, f1B..fNBB, f1..fNB, q¨1..q¨NB, f1x..fNBx and τ1..τNB. The resulting D and b are:

graphic file with name sensors-16-00727-i001.jpg

With this reorganization, the Euler–Lagrange equation can be obtained as follows:

Da,f,fB(2d)Da,f,fB(2a)(2c)1bD(2a)(2c)Dq¨(2a)(2c)q¨Dfx(2a)(2c)fxDτ(2a)(2c)τ+Dq¨(2d)q¨+Dfx(2d)fx+Dτ(2d)τ+bD(2d)=0.

There are two reasons for preferring Equation (4) to alternative formulations such as the Euler–Lagrange equation. On the one hand, Equation (4) can be used to represent uncertainties that capture relevant modeling approximations (see also Section 3.4). In particular, approximations result from the fact that human bones coupling is neither rigid nor purely rotational and these can be captured with additive noise Equation (9) on Equation (2). More accurate models would be possible [14], but Equation (9) would still capture approximations on bone couplings, which are often relevant and meaningful. On the other hand, there are numerical advantages associated to Equation (4). In the case of inverse and forward dynamics, the numerical advantages are exactly those obtained by algorithms like the RNEA and the ABA (Articulated-Body Algorithm) presented in [11] and whose relations to Equation (4) is discussed in [10].

3.4. Over Constrained RNEA

Combining properly Equations (4) and (5), we obtain:

Y(q,q˙)D(q,q˙)d+bY(q,q˙)bD(q,q˙)=y0 (6)

Since our main purpose is to make WearDY a versatile and flexible tool, we consider the incorporation of redundant (and noisy) measurements involved in the analysis. Within this new framework, there might be conditions in which Equation (6) becomes overdetermined and an exact solution does not exist. If there is a valid reason to assume that all the constraints have equal relevance, we can use the Moore–Penrose pseudo-inverse to obtain a least square solution. Otherwise, if we have good reason for weighting differently the constraints, we can use the weighted pseudo-inverse to obtain a weighted square solution. However, finding proper weights might be not an easy task. Our solution, proposed in the next section, is framing the estimation of d given y in a Gaussian framework by means of a minimum-variance estimator.

4. Maximum a Posteriori (MAP) Estimator

The first assumption for adopting the Maximum a Posteriori (MAP) estimation approach is to consider d and y as stochastic variables with Gaussian distributions. Let us first define their suitable joint probability density using the factorization p(d,y)=p(d)p(y|d) being p(·) the probability density and p(·|·) its conditioned version. Given p(d,y), we can compute an estimation of d using a MAP estimator (which, in Gaussian distributions, coincides with the mean of the distribution) as follows:

dMAP=argmaxdp(d|y)argmaxdp(d,y),

where we applied Bayes’ rule, i.e., p(d|y)=p(d,y)/p(y), and where we omitted the term p(y) since it does not depend on d and does not contribute to the optimization.

Let us first give an expression for p(y|d):

p(y|d)Nμy,Σy,μy=Y(q,q˙)d+bY,

which implicitly makes the assumption that the measurements from Equation (5) are affected by a Gaussian noise with zero mean and covariance Σy. Its probability distribution is:

p(y|d)exp12(yμy)Σy1(yμy) (7)

The second assumption is to define a probability density for d. Pursuing the same methodology, we would like to have the following distribution p(d)NμD,ΣD :

p(d)exp12e(d)ΣD1e(d) (8)

taking into account constraints in Equation (4) with e(d)=D(q,q˙)d+bD.

However, this intuitive choice leads to a degenerate normal distribution and a term of regularization has to be adopted. For example, if we have a Gaussian prior knowledge on d in the form of p(d)Nμd,Σd distribution, we can reformulate Equation (8) as p(d)Nμ¯D,Σ¯D:

p(d)exp12[e(d)ΣD1e(d)+(dμd)Σd1(dμd)] (9)

with

Σ¯D=DΣD1D+Σd11 (10a)
μ¯D=Σ¯D(Σd1μdDΣD1bD) (10b)

Given Equations (7) and (9), we can build the joint probability as p(d|y)Nμd|y,Σd|y being

Σd|y=Σ¯D1+YΣy1Y1 (11a)
μd|y=Σd|yYΣy1(ybY)+Σ¯D1μ¯D (11b)

where Equation (11b) is exactly the estimation dMAP.

On the Benefits of MAP Dynamics

In this section, we discuss the benefits of multi-sensor data fusion for solving the dynamic estimation problem by characterizing the effects of data fusion on the covariance of associated estimator. The general idea we would like to pursue is that the more sensors we use in the estimation, the better the estimation itself will be (see Appendix A for the metric used for the estimation quality). Since we are interested in the analytic solution of MAP, the estimator must have the following covariance (combining Equations (11a) and (10a)):

Σd|y=DΣD1D+Σd1+YΣy1Y1 (12)

Assuming multiple measurements y1=Y1d+bY1, , ym=Ymd+bYm statistically independent, this implies a diagonal structure to the matrix Σy1. Thus, we have:

YΣy1Y=Y1YmΣy1100Σym1Y1YmYΣy1Y=Y1Σy11Y1++YmΣym1Ym.

With an abuse of notation, let us denote with d|yi the estimator which exploits all measurements up to i-th, i.e., y1,,yi. The addition of one measurement induces changes in the associated covariance matrix according to the following recursive equation:

Σd|yi1=Σd|yi11+YiΣyi1Yi (13)

where, for i=1 , the initial condition is Σd|y01=DΣD1D+Σd1.

Considering the Weyl inequality for the largest eigenvalue λ1 of Equation (13) (see Appendix B):

λN(Σd|yi1)1+λN(Σd|yi1)λ1(YiΣyi1Yi)λ1Σd|yi1L1,L1=maxi+j=N+11λNi+1(Σd|yi1)+λj(YiΣyi1Yi).

The maximum benefit is obtained by lowering the upper bound on λ1Σd|yi. Trivially, this can be obtained by choosing high values for all the eigenvalues of YiΣyi1Yi. Obviously, this is not always possible and benefits can be obtained by maximizing L1.

5. Experimental Results

5.1. Experimental Set-up

Experiments have been conducted on 12 adult healthy subjects (nine males and three females). Subjects provided their written informative consent before becoming involved in the research. Motion data were collected at Istituto Italiano di Tecnologia (IIT), Genova, Italy, using a motion capture system (Vicon Motion Systems Ltd, Oxford, UK) with eight infrared cameras, at a sampling rate of 100 Hz. A total of 14 passive retro-reflective markers were attached to each participant at key anatomical landmarks. Markers are properly positioned in order to capture the pitch motion on the sagittal plane. Lower body markers are placed in the following positions: left and right back of the foot (heel), left and right outside of the ankle, left and right 2nd toe of the foot, left and right hip joint. For the upper body, they are placed on the bony prominence on top of both shoulders and one in the center of the upper torso. No arm and head motions are evaluated in this experiment. Kinematics information are recorded at a sampling rate of 100 Hz using an inertial sensor unit (Xsens Technologies B.V., Enschede, Netherlands) attached with an elastic strip on the trunk, including an accelerometer and a gyroscope (Figure 2b). Three markers are placed on the IMU external surface in order to compare data from the Vicon system and the inertial sensor. The task is performed on a standard force platform AMTI OR6 (Advanced Mechanical Technology Inc., Watertown, USA) synchronized with the Vicon system and data are recorded at a sampling rate of 1 kHz (Figure 2a). Each subject is asked to perform a bowing task without bending the knee in order to assume legs as a rigid link. Each participant experiment session consisted of four trials each composed of three bows. A general scheme of the experimental set-up is summarized in Figure 3.

Figure 2.

Figure 2

Sensors used in the experiment: a force platform AMTI OR6 (a) and an inertial sensor Xsens MTx comprising both accelerometer and gyroscope (b).

Figure 3.

Figure 3

General scheme of the experimental set-up including a motion capture system and a block of sensors. Data coming from the motion system were used as inputs for each Maximum-a-Posteriori (MAP) computation and, progressively, sensor measurements (q¨, force plate sensing and inertial sensor IMU) were added to compute a more complete version of MAP. Although only three sensors are used (the ‘multiple sensors’ block is not present in this version of experiment), in general, the set-up can embed n sensors and exploit their measurements to enhance the dynamic estimation of d.

5.2. Human Body Modeling

Inspired by state-of-the-art human stance modeling [15], the human body was modeled as a double-inverted-pendulum (DIP). A two DOF (NB=2, dR52) model of the human body for each subject was developed by using the Universal Robot Description Format (URDF) which is an XML-based file format for representing kinematics and dynamics of multibody systems. The location of four imaginary points in the body (P0,P1,P2,P3) are computed by averaging the location of Vicon markers. The final model consists of three rigid links representing the feet (link 0 or fixed base), legs (link 1) and torso (link 2) and two revolute joints positioned at ankle (joint 1) and hip (joint 2) and subjected to gravity. Points P0,P1,P2,P3 represent the origin of the reference frames associated to each link (with the exception for P3 as link 3 does not exist). In particular, reference frames have the same orientation of the body to which they are associated. No rigid links for head or arms were considered. Figure 4 shows human modeling passing from a marker-like Figure 4a to a URDF-like model Figure 4b.

Figure 4.

Figure 4

Human body modeling: generic representation of a marker-like model for a subject (a); its representation with reference frames associated to points (P0, P1, P2, P3) and to sensors (b). Reference frames are denoted by using the RGB (Red-Green-Blue) convention for x-y-z axis.

5.3. Proof of Concept

Analysis is performed on MATLAB using a toolbox released by Roy Featherstone [16] and freely available under an open source licence. The core of the experiment consists in using the MAP algorithm to estimate for both links in the model the dynamic vectors d1(a1,f1B,f1,τ1,f1x,q¨1) and d2(a2,f2B,f2,τ2,f2x,q¨2). In the proposed experiment, q=[q1q2] was obtained from Vicon marker analysis with a frequency filtering in order to smooth acquisition noise. Joint velocities q˙=[q˙1q˙2] and accelerations q¨=[q¨1q¨2] have been computed using a weighted sum of windows of elements, with a third-order polynomial Savitzky–Golay filtering (as shown in Figure 5). Considering that during the experiment no external force was applied, fx=[f1xf2x] was null and was simulated by associating a null measurement. Above-obtained variables and the dynamic model were used in building the constraint Equation (4).

Figure 5.

Figure 5

Representation of a trial composed of three repetitive bows (on top). Joint quantities: angles q1 and q2 have been obtained from motion capture acquisition with a frequency filtering; velocities q˙1 and q˙2 have been computed using a third-order polynomial Savitzky–Golay filtering; torques have been computed using MAP estimation exploiting all sensors involved in the analysis (on bottom).

Similarly, from the sensor equations :

y1,fp=fpX0*(0X1*f1I00ag),y2,acc=(imuX2a2)lin+(imuX2v2)ang×(imuX2v2)lin,y2,gyro=(imuX2v2)ang,

we built the measurements Equation (5) for three different cases: (1) y=[q¨]; (2) y=[q¨y1]; (3) y=[q¨y1y2]. It is worth noticing that the gyroscope measurement has been numerically differentiated to obtain a measurement for the angular part of ai (i.e., ω˙i). Since the final MAP estimation μd|y is built as a weighted sum of a priori distribution and sensor measurements, it has required defining ΣD and Σd (in order to establish how much the dynamic model was reliable) and Σy to properly weight the contribution of each sensor. In the present analysis, the standard deviations σ have been chosen from sensors’ datasheets, and their values are reported in Table 1.

Table 1.

Standard deviation σ from sensors’ datasheets.

Angular Part Linear Part
σq¨ 2.57×103rad/s2
σy1 1.5 Nm 1.5 Nm 0.7483 Nm 7.68 N 7.68 N N
σy2 7.1×103rad/s2 (gyro) 3.33×102m/s2 (acc)

The experiment was conducted to prove exactly what was described in Section 4.1: passing progressively from sensor case 1 to case 3, the variance associated to each variable in the estimated vector μd|y decrease. Figure 6 shows the σ decreasing behavior for three variables (στ|y, σf|y and σa|y) using MAP computation as sensors have risen. Variance data are reported in Table 2 for link 1 and Table 3 for link 2. In Figure 7, we focused on the estimated μτ|y for both links in the model. Estimations are represented with their standard deviations (2σ). It is worth noticing that, while the estimations for τ2 are very comparable, estimations for τ1 are less similar due to the fact that, in a sense, τ1 is almost a direct measurement to compensate for the model error in the computation.

Figure 6.

Figure 6

Considering three MAP computation cases with one sensor (y=q¨), two sensors (y=q¨,y1), and all sensors (y=q¨,y1,y2), we computed standard deviation of (a) Στ1|y and Στ2|y ; (b,c) Σf1|y and Σf2|y for both angular (μ) and linear (f) components; (d,e) Σa1|y and Σa2|y for both angular (ω˙) and linear (a) components. These plots show that when increasing the number of sensors in the analysis, the standard deviation of each variable estimated in the vector μd|y progressively decrease.

Table 2.

Standard deviation of estimated variables for link 1.

στ1 σμ1(1) σμ1(2) σμ1(3) σf1(1) σf1(2) σf1(3) σω˙1(1) σω˙1(2) σω˙1(3) σa1(1) σa1(2) σa1(3)
q¨ 4.990 2.075 1.153 2.088 2.423 2.279 2.371 0.028 0.027 0.029 0.025 0.027 0.028
q¨,y1 1.340 1.118 0.636 1.145 1.558 2.099 1.600 0.025 0.026 0.025 0.021 0.026 0.024
q¨,y1,y2 0.970 1.020 0.633 0.977 1.364 1.659 1.382 0.019 0.020 0.019 0.019 0.022 0.022

Table 3.

Standard deviation of estimated variables for link 2.

στ2 σμ2(1) σμ2(2) σμ2(3) σf2(1) σf2(2) σf2(3) σω˙2(1) σω˙2(2) σω˙2(3) σa2(1) σa2(2) σa2(3)
q¨ 0.510 0.848 0.758 0.758 1.817 1.544 1.696 0.040 0.037 0.041 0.043 0.040 0.042
q¨,y1 0.356 0.650 0.669 0.615 1.423 1.238 1.100 0.038 0.036 0.037 0.035 0.033 0.030
q¨,y1,y2 0.305 0.643 0.657 0.568 1.092 1.026 0.918 0.013 0.013 0.013 0.023 0.023 0.022

Figure 7.

Figure 7

Mean (μ) and standard deviation (2σ) for the estimation of τ increasing the number of sensors.

5.4. Method Robustness Test

This section describes the analysis we performed to test the robustness w.r.t. modeling errors of the MAP and RNEA. As in the previous experiments, we performed a bowing task. This time, the subject repeated the experiment in two different configurations, that is with and without an additional weight of 5 kg roughly positioned in correspondence of the center of mass (COM) of the torso. By exploiting the linearity property of the system, we started by considering the expression for the torques:

τ(model+5kg)τ(model)=τ(5kg) (15)

where we denoted with model+5kg the kinematic and dynamic model of the subject with the additional 5 kg mass on the torso, and with model the model of the subject without the weight. The above expression exploits the property of linearity of the model w.r.t. a set of dynamic parameters [12], and it is in general described by the following equation:

τ=Y(q,q˙,q¨)π,

where π is a vector of constant parameters and Y, usually known as regressor, is the matrix function of joint positions, velocities and accelerations.

To assess the robustness property of the two algorithms w.r.t. modeling errors, we then computed the inverse dynamics by using, respectively, RNEA and MAP, considering both the measurements collected while the subject was performing the task with the 5 kg weight (ysubject+5kg) and the measurements during the task without the weight (ysubject), as follows:

τRNEA(model,ysubject+5kg)τRNEA(model,ysubject)=τ^RNEA(5kg) (16)
τMAP(model,ysubject+5kg)τMAP(model,ysubject)=τ^MAP(5kg) (17)

Then, we compare the right-hand side of Equations (16) and (17) with the right-hand one of Equation (15). Figure 8 show mean and standard deviation for the error, respectively, on τ1 and τ2 comparing |τ(5kg)τ^RNEA(5kg)| (on the left part of each figure) and |τ(5kg)τ^MAP(5kg)| (on the right part). It is worth noticing that the error on the estimation of τ2 is statistically significant different (p-value < 0.05) because τ2 is more influenced by the additional weight on the torso. It is also worth remarking that, in order to compare the obtained torques in the different trials, we expressed them w.r.t. a linear combination of configuration variables instead of expressing them w.r.t. the time. Indeed, it was not possible to evaluate, in time t, the comparison between torques of different trials because the same subject performed the trials in different times; thus, the estimation of τ2 has been parameterized with a linear combination of the joint positions, i.e., (q1+q2), with the primary assumption that q˙ and q¨ could be neglected as they induced a small change on the τ estimation. We can observe that the error on the τ estimation is lower in MAP than in RNEA since our procedure is able to represent the model uncertainties. From this point of view, RNEA is, in a sense, more sensitive to the modeling errors. Conversely, MAP takes into account these errors because a variance is also associated to the model itself.

Figure 8.

Figure 8

Error on torque estimation comparing RNEA and MAP methods on τ1 (a) and τ2 (b), (* p-value < 0.05).

6. Conclusions

In this paper, we presented a novel methodology to estimate dynamics quantities along with human motion in order to exploit fusion of sensor information on a probabilistic framework. The framework is based on the idea of building a joint probability for all dynamic variables d and measurements y coming from multiple sensors. The probability density p(d,y) incorporates the dynamic constraints among variables. Preliminary results show that adding the i-th measurement induces changes in its covariance matrix according to Equation (13) for all variables estimated. We demonstrate that the variance of each estimated variable in μd|y decreases as the number of considered measurements (sensors) increase. Moreover, it should be necessary to implement a procedure (Expectation-Maximization (EM) algorithm) to estimate sensor variance from data; in a sense, the goal is to build a data-driven variance estimation overcoming datasheet variance. While this paper presents a proof of concept of the theory behind WearDY, future works will be aimed at real-time implementation, at the design of the wearable garment and at the improvement of the sensor architecture in order to make the system reliable in situ. Computationally, it will be fundamental to integrate MAP dynamics with a state estimator such as an Extended Kalman filter combining obtained a posteriori estimates with a priori estimates of the filter state. From a design perspective, the wearable system will be comprised of a soft sensing garment with embedded sensors that facilitate free movement of the subject. The suit design will ideally exploit the material compliance in order to improve sensor reliability through elimination of the error introduced by the interface between the garment and the subject’s skin. Another important future objective concerns the possibility of using electromyography (EMG) analysis to provide information on muscular activity that is related to joint torques. Possible future applications of WearDY include rehabilitation monitoring where a wearable garment will be used for monitoring patients or creating more ergonomic and compliant prosthesis and exoskeleton systems. The proposed suit and the forthcoming improvements would permit substantial enhancements in the analysis of human movements in motion.

Acknowledgments

This paper was supported by the FP7 EU projects CoDyCo (No. 600716 ICT 2011.2.1 Cognitive Systems and Robotics), and Koroibot (No. 611909 ICT-2013.2.1 Cognitive Systems and Robotics). Special thanks to Marco Jacono and Robotics, Brain and Cognitive Science (RBCS) Department for the technical support for the Vicon acquisition.

Appendix A

Given two estimators d^1 and d^2, the first is better than the second if:

λ1(Σd^1)<λ1(Σd^2),

Σx being the covariance matrix of the stochastic variable x and λ1(A) the maximum eigenvalue of the matrix A. The motivation behind this choice lies in the fact that the maximum eigenvalue bounds the variance of any other linear combination of d. Let us assume that we are interested in estimating x=vd by choosing x^=vd^. The estimator variance is given by:

σ(x^)=vΣd^vv2·λ1(Σd^),

with the inequality being an identity when v equals the eigenvector associated to the maximum eigenvalue.

Appendix B

Let A,B be Hermitian RN×N matrices, A=A>0 and B=B0; thus, we have A+B>0. Let λ(A),λ(B) be eigenvalues of A and B, respectively. Consider also an eigenvalue decreasing numbering for each matrix, from the largest to the smallest one. We can apply the Weyl inequality being k the k-th largest eigenvalue as follows:

Lkλk(A+B)Uk (B1)
Lk=maxi+j=1+Nλi(A)+λj(B),Uk=mini+j=1+kλi(A)+λj(B),

where Lk and Uk are the lower and the upper bounds, respectively. Without loss of consistency, let us assume k=1; thus, Equation (B1) becomes:

L1λ1(A+B)U1 (B2)
L1=maxi+j=1+Nλi(A)+λj(B),U1=mini+j=1+1λi(A)+λj(B).

If A and B are non-singular matrices and λ10, then 1λ1 is an eigenvalue of A1. Thus, in Equation (B2):

1λ1(A)+λ1(B)λ1(A+B)11L1,L1=maxi+j=N+1λi(A)+λj(B) (B3)

Substituting in Equation (B3) A=Σd|yi11 and B=YiΣyi1Yi:

1λ1(Σd|yi11)+λ1(YiΣyi1Yi)λ1Σd|yi1L1,L1=maxi+j=N+1λi(Σd|yi11)+λj(YiΣyi1Yi).

Since λi(Σd|yi11)=1λNi+1(Σd|yi1) :

λN(Σd|yi1)1+λN(Σd|yi1)λ1(YiΣyi1Yi)λ1Σd|yi1L1,L1=maxi+j=N+11λNi+1(Σd|yi1)+λj(YiΣyi1Yi).

Author Contributions

F.N. developed the theoretical part of the estimation framework; C.L. and F.N. conceived and designed the experimental protocol; C.L. and N.K. performed the experiments; C.L., F.R. and S.T analyzed data; C.L. and F.N. wrote the paper.

Conflicts of Interest

The authors declare no conflict of interest. The founding sponsors had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, and in the decision to publish the results.

References

  • 1.Roetenberg D., Luinge H., Slycke P. Xsens Motion Technologies BV, Techology Report. Enschede, The Netherlands: Apr 8, 2009. Xsens mvn: Full 6DOF human motion tracking using miniature inertial sensors. [Google Scholar]
  • 2.Zhang Z.Y. Microsoft Kinect sensor and its effect. IEEE MultiMed. 2012;19:4–12. doi: 10.1109/MMUL.2012.24. [DOI] [Google Scholar]
  • 3.Mengüç Y., Park Y.-L., Martinez-Villalpando E., Aubin P., Zisook M., Stirling L., Wood R.J., Walsh C.J. Soft wearable motion sensing suit for lower limb biomechanics measurements; Proceedings of the 2013 IEEE International Conference on Robotics and Automation (ICRA); Karlsruhe, Germany. 6–10 May 2013; pp. 5309–5316. [Google Scholar]
  • 4.Mengüç Y., Park Y.-L., Pei H., Vogt D., Aubin P.M., Winchell E., Fluke L., Stirling L., Wood R.J., Walsh C.J. Wearable soft sensing suit for human gait measurement. Robot. Res. 2014;33:1748–1764. doi: 10.1177/0278364914543793. [DOI] [Google Scholar]
  • 5.Gallego J.A., Rocon E., Ibanez J., Dideriksen J.L., Koutsou A.D., Paradiso R., Popovic M.B., Belda-Lois J.M., Gianfelici F., Farina D., et al. A soft wearable robot for tremor assessment and suppression; Proceedings of the 2011 IEEE International Conference on Robotics and Automation (ICRA); Shanghai, China. 9–13 May 2011; pp. 2249–2254. [Google Scholar]
  • 6.Wei X., Chai J. Videomocap: Modelling phisically realistic human motion from monocular video sequences. ACM Trans. Graph. 2010;29 doi: 10.1145/1778765.1778779. [DOI] [Google Scholar]
  • 7.Bonnet V., Mazza C., Fraisse P., Cappozzo A. Real time estimate of body kinematics during a planar squat task using a single inertial measurement unit. IEEE Trans. Biomed. Eng. 2013;60:1920–1926. doi: 10.1109/TBME.2013.2245131. [DOI] [PubMed] [Google Scholar]
  • 8.Zhang P., Siu K., Zhang J., Liu C.K., Chai J. Leveraging depth cameras and wearable pressure sensors for full-body kinematics and dynamics capture. ACM Trans. Graph. 2014;33:221. doi: 10.1145/2661229.2661286. [DOI] [Google Scholar]
  • 9.Drillis R., Contini R., Bluestein M. Body segment parameters; a survey of measurement techniques. Artif. Limbs. 1964;8:44–66. [PubMed] [Google Scholar]
  • 10.Nori F., Kuppuswamy N., Traversaro S. Simultaneous state and dynamics estimation in articulated structures; Proceedings of the 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS); Hamburg, Germany. 28 September–2 October 2015; pp. 3380–3386. [Google Scholar]
  • 11.Featherstone R. Rigid Body Dynamics Algorithms. Springer; New York, NY, USA: 2008. [Google Scholar]
  • 12.Siciliano B., Sciavicco L., Villani L., Oriolo G. Advanced Textbooks in Control and Signal Processing. Springer; London, UK: 2009. Robotics: Modelling, Planning and Control. [Google Scholar]
  • 13.Guelton K., Delprat S., Guerra T.-M. An alternative to inverse dynamics joint torques estimation in human stance based on takagi-sugeno unknown-inputs observer in the descriptor form. Control Eng. Pract. 2008;16:1414–1426. doi: 10.1016/j.conengprac.2008.04.002. [DOI] [Google Scholar]
  • 14.Lloyd D.G., Besier T.F. An emg-driven musculoskeletal model to estimate muscle forces and knee joint moments in vivo. Biomechanics. 2003;36:765–776. doi: 10.1016/S0021-9290(03)00010-1. [DOI] [PubMed] [Google Scholar]
  • 15.Hettich G., Fennel L., Mergner T. Double inverted pendulum model of reactive human stance control; Proceedings of the Multibody Dynamics 2011, ECCOMAS Thematic Conference; Brussels, Belgium. 4–7 July 2011. [Google Scholar]
  • 16.Featherstone R. Spatial Vector and Rigid-Body Dynamics Software. [(accessed on 18 May 2016)]. Available online: http://royfeatherstone.org/spatial/v2/index.html.

Articles from Sensors (Basel, Switzerland) are provided here courtesy of Multidisciplinary Digital Publishing Institute (MDPI)

RESOURCES