Next Article in Journal
On the Choice of Access Point Selection Criterion and Other Position Estimation Characteristics for WLAN-Based Indoor Positioning
Next Article in Special Issue
Domotics Project Housing Block
Previous Article in Journal
GLORI: A GNSS-R Dual Polarization Airborne Instrument for Land Surface Monitoring
Previous Article in Special Issue
Measurement of Moisture in Wood for Application in the Restoration of Old Buildings
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

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

iCub Facility Department at Istituto Italiano di Tecnologia, Via Morego 30, Genova, Italy
*
Author to whom correspondence should be addressed.
This paper is an extended version of our paper published in SciforumElectronic Conference Series, Proceedings of the 2nd International Electronic Conference on Sensors and Applications, 15–30 November 2015; Volume 2, S4004; doi:10.3390/ecsa-2-S4004.
Sensors 2016, 16(5), 727; https://doi.org/10.3390/s16050727
Submission received: 31 March 2016 / Revised: 7 May 2016 / Accepted: 13 May 2016 / Published: 20 May 2016

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.

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 s p a t i a l 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 N B moving links numbering from 1 to N B (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 S i R 6 × n i , being n i the number of DOF of the joint i and n = n 1 + + n N B 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:
v i
velocity of link i;
a i
acceleration of link i;
f i
force transmitted from λ ( i ) to body i;
f i B
net force on link i;
f i x
external force acting on link i;
q i
joint i position;
q i ˙
joint i velocity;
q i ¨
joint i acceleration;
τ i
joint i torque;
v J i
velocity across joint i.
All variables are expressed in body i coordinates, except for f i x which is convenient to express in absolute (i.e., body 0) coordinates. To each link i, a spatial inertia tensor is also associated:
I i = I C , i + m i c i × c i m i c i × m i c i × m i I 3 × 3 ,
where I C , i is the spatial inertia tensor with respect to (w.r.t.) the link center of mass, m i is the total mass, c i 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 = r x r y r z r × = r x r y r z × = 0 r z r y r z 0 r x r y r x 0 .
Its dual operator × * is the force cross product operator. The motion vector transformation B X A from A to B coordinates and its analogous transformation for a force vector B X A * are, respectively:
B X A = B R A 0 3 × 3 B R A ( A r × ) B R A , B X A * = B R A B R A ( A r × ) 0 3 × 3 B R A .
A homogeneous transformation matrix from A to B is also described as follows:
B T A = B R A B R A ( A r ) 0 1 .
Throughout the paper, we denoted with A x ˙ the temporal first order derivative and with A x ¨ 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 E x [ 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 [ x x ] . The probability density function of a multivariate Gaussian distribution x R n is p ( x ) N ( μ x , Σ x ) :
p ( x ) = ( 2 π ) n 2 Σ x 1 2 exp 1 2 x μ x Σ x 1 x μ x ,
where Σ x denotes the determinant of the matrix Σ x R n × 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 ( m o d e l , q , q ˙ , q ¨ , f x )
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 j X i , j X i * and the velocities v J i , v i which can be efficiently computed with the following recursive equation:
v J i = S i q i ˙
v i = i X λ ( i ) v λ ( i ) + v J i .
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:
a i = i X λ ( i ) a λ ( i ) + S i q ¨ i + v i × v J i
f i B = I i a i + v i × * I i v i
f i = f i B i X 0 * f i x + j μ ( i ) i X j * f j
τ i = S i f i
Equations (1a), (1b) and (2a) are propagated from i = 1 to N B with initial conditions v 0 = 0 and a 0 = a g , 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 = N B 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 = d 1 d 2 d N B R 24 N B + 2 n
d i = a i f i B f i τ i f i x q ¨ i R 24 + 2 n i
Given Equation (3), Equation (2) can be compactly written in the following matrix equation:
D ( q , q ˙ ) d + b D ( q , q ˙ ) = 0
where D is a block matrix R ( 18 N B + n ) × d and b D is a vector R 18 N B + n . Let us define how to build D matrix and b D vector:
D = D 1 , 1 D 1 , N B D N B , 1 D N B , N B , b D = b 1 b N B .
In particular:
D i , i = 1 0 0 0 0 S i I i 1 0 0 0 0 0 1 1 0 i X 0 * 0 0 0 S i 1 0 0 , j μ ( i ) D i , j = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 i X j * 0 0 0 0 0 0 0 0 0 , j = λ ( i ) D i , j = i X λ ( i ) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 , if   λ ( i ) = 0 b i = i X 0 a 0 + v i × S i q i ˙ v i × * I i v i 0 0 , if   λ ( i ) 0 b i = v i × S i q i ˙ v i × * I i v i 0 0 .
Remarkably, Equation (4) represents the set of linear constraints in d and, in a sense, inverse dynamic computation consists of computing d given f i x 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 R y the values vector measured by sensors:
Y ( q , q ˙ ) d + b Y ( q , q ˙ ) = y
The structure of Y matrix depends on the number of sensors N S used for each link i as follows:
Y = Y 1 Y N B R N S × d , Y i = Y i , 1 Y i , N S i R N S i × d i ,
being N S = i N S i the amount of sensors. With the same methodology, the structure of the bias vector b Y is also defined:
b Y = b Y 1 b Y N B R N S , b Y i = b Y i , 1 b Y i , N S i R N S i .

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 ) f x .
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: a 1 . . a N B , f 1 B . . f N B B , f 1 . . f N B , q ¨ 1 . . q ¨ N B , f 1 x . . f N B x and τ 1 . . τ N B . The resulting D and b are:
Sensors 16 00727 i001
With this reorganization, the Euler–Lagrange equation can be obtained as follows:
D a , f , f B ( 2 d ) D a , f , f B ( 2 a ) ( 2 c ) 1 b D ( 2 a ) ( 2 c ) D q ¨ ( 2 a ) ( 2 c ) q ¨ D f x ( 2 a ) ( 2 c ) f x D τ ( 2 a ) ( 2 c ) τ + D q ¨ ( 2 d ) q ¨ + D f x ( 2 d ) f x + D τ ( 2 d ) τ + b D ( 2 d ) = 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 + b Y ( q , q ˙ ) b D ( q , q ˙ ) = y 0
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:
d M A P = arg max d p ( d | y ) arg max d p ( 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 + b Y ,
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 ) exp 1 2 ( y μ y ) Σ y 1 ( y μ y )
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 ) exp 1 2 e ( d ) Σ D 1 e ( d )
taking into account constraints in Equation (4) with e ( d ) = D ( q , q ˙ ) d + b D .
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 ) exp 1 2 [ e ( d ) Σ D 1 e ( d ) + ( d μ d ) Σ d 1 ( d μ d ) ]
with
Σ ¯ D = D Σ D 1 D + Σ d 1 1
μ ¯ D = Σ ¯ D ( Σ d 1 μ d D Σ D 1 b D )
Given Equations (7) and (9), we can build the joint probability as p ( d | y ) N μ d | y , Σ d | y being
Σ d | y = Σ ¯ D 1 + Y Σ y 1 Y 1
μ d | y = Σ d | y Y Σ y 1 ( y b Y ) + Σ ¯ D 1 μ ¯ D
where Equation (11b) is exactly the estimation d M A P .

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 Σ D 1 D + Σ d 1 + Y Σ y 1 Y 1
Assuming multiple measurements y 1 = Y 1 d + b Y 1 , , y m = Y m d + b Y m statistically independent, this implies a diagonal structure to the matrix Σ y 1 . Thus, we have:
Y Σ y 1 Y = Y 1 Y m Σ y 1 1 0 0 Σ y m 1 Y 1 Y m Y Σ y 1 Y = Y 1 Σ y 1 1 Y 1 + + Y m Σ y m 1 Y m .
With an abuse of notation, let us denote with d | y i the estimator which exploits all measurements up to i-th, i.e., y 1 , , y i . The addition of one measurement induces changes in the associated covariance matrix according to the following recursive equation:
Σ d | y i 1 = Σ d | y i 1 1 + Y i Σ y i 1 Y i
where, for i = 1 , the initial condition is Σ d | y 0 1 = D Σ D 1 D + Σ d 1 .
Considering the Weyl inequality for the largest eigenvalue λ 1 of Equation (13) (see Appendix B):
λ N ( Σ d | y i 1 ) 1 + λ N ( Σ d | y i 1 ) λ 1 ( Y i Σ y i 1 Y i ) λ 1 Σ d | y i 1 L 1 , L 1 = max i + j = N + 1 1 λ N i + 1 ( Σ d | y i 1 ) + λ j ( Y i Σ y i 1 Y i ) .
The maximum benefit is obtained by lowering the upper bound on λ 1 Σ d | y i . Trivially, this can be obtained by choosing high values for all the eigenvalues of Y i Σ y i 1 Y i . Obviously, this is not always possible and benefits can be obtained by maximizing L 1 .

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.

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 ( N B = 2 , d R 52 ) 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 ( P 0 , P 1 , P 2 , P 3 ) 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 P 0 , P 1 , P 2 , P 3 represent the origin of the reference frames associated to each link (with the exception for P 3 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.

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 d 1 ( a 1 , f 1 B , f 1 , τ 1 , f 1 x , q ¨ 1 ) and d 2 ( a 2 , f 2 B , f 2 , τ 2 , f 2 x , q ¨ 2 ) . In the proposed experiment, q = [ q 1 q 2 ] was obtained from Vicon marker analysis with a frequency filtering in order to smooth acquisition noise. Joint velocities q ˙ = [ q ˙ 1 q ˙ 2 ] and accelerations q ¨ = [ q ¨ 1 q ¨ 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, f x = [ f 1 x f 2 x ] 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).
Similarly, from the sensor equations :
y 1 , f p = f p X 0 * ( 0 X 1 * f 1 I 0 0 a g ) , y 2 , a c c = ( i m u X 2 a 2 ) l i n + ( i m u X 2 v 2 ) a n g × ( i m u X 2 v 2 ) l i n , y 2 , g y r o = ( i m u X 2 v 2 ) a n g ,
we built the measurements Equation (5) for three different cases: (1) y = [ q ¨ ] ; (2) y = [ q ¨ y 1 ] ; (3) y = [ q ¨ y 1 y 2 ] . It is worth noticing that the gyroscope measurement has been numerically differentiated to obtain a measurement for the angular part of a i (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.
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.

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:
τ ( m o d e l + 5 k g ) τ ( m o d e l ) = τ ( 5 k g )
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 ( y subject + 5 kg ) and the measurements during the task without the weight ( y subject ), as follows:
τ R N E A ( m o d e l , y s u b j e c t + 5 k g ) τ R N E A ( m o d e l , y s u b j e c t ) = τ ^ R N E A ( 5 k g )
τ M A P ( m o d e l , y s u b j e c t + 5 k g ) τ M A P ( m o d e l , y s u b j e c t ) = τ ^ M A P ( 5 k g )
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 | τ ( 5 k g ) τ ^ R N E A ( 5 k g ) | (on the left part of each figure) and | τ ( 5 k g ) τ ^ M A P ( 5 k g ) | (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., ( q 1 + q 2 ) , 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.

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.

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.

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 = v d by choosing x ^ = v d ^ . The estimator variance is given by:
σ ( x ^ ) = v Σ d ^ v v 2 · λ 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 R N × N matrices, A = A > 0 and B = B 0 ; 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:
L k λ k ( A + B ) U k
L k = max i + j = 1 + N λ i ( A ) + λ j ( B ) , U k = min i + j = 1 + k λ i ( A ) + λ j ( B ) ,
where L k and U k are the lower and the upper bounds, respectively. Without loss of consistency, let us assume k = 1 ; thus, Equation (B1) becomes:
L 1 λ 1 ( A + B ) U 1
L 1 = max i + j = 1 + N λ i ( A ) + λ j ( B ) , U 1 = min i + j = 1 + 1 λ i ( A ) + λ j ( B ) .
If A and B are non-singular matrices and λ 1 0 , then 1 λ 1 is an eigenvalue of A 1 . Thus, in Equation (B2):
1 λ 1 ( A ) + λ 1 ( B ) λ 1 ( A + B ) 1 1 L 1 , L 1 = max i + j = N + 1 λ i ( A ) + λ j ( B )
Substituting in Equation (B3) A = Σ d | y i 1 1 and B = Y i Σ y i 1 Y i :
1 λ 1 ( Σ d | y i 1 1 ) + λ 1 ( Y i Σ y i 1 Y i ) λ 1 Σ d | y i 1 L 1 , L 1 = max i + j = N + 1 λ i ( Σ d | y i 1 1 ) + λ j ( Y i Σ y i 1 Y i ) .
Since λ i ( Σ d | y i 1 1 ) = 1 λ N i + 1 ( Σ d | y i 1 ) :
λ N ( Σ d | y i 1 ) 1 + λ N ( Σ d | y i 1 ) λ 1 ( Y i Σ y i 1 Y i ) λ 1 Σ d | y i 1 L 1 , L 1 = max i + j = N + 1 1 λ N i + 1 ( Σ d | y i 1 ) + λ j ( Y i Σ y i 1 Y i ) .

References

  1. Roetenberg, D.; Luinge, H.; Slycke, P. Xsens mvn: Full 6DOF human motion tracking using miniature inertial sensors. In Xsens Motion Technologies BV, Techology Report; Enschede, The Netherlands, 8 April 2009. [Google Scholar]
  2. Zhang, Z.Y. Microsoft Kinect sensor and its effect. IEEE MultiMed. 2012, 19, 4–12. [Google Scholar] [CrossRef] [Green Version]
  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. In Proceedings of the 2013 IEEE International Conference on Robotics and Automation (ICRA), Karlsruhe, Germany, 6–10 May 2013; pp. 5309–5316.
  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. [Google Scholar] [CrossRef]
  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. In Proceedings of the 2011 IEEE International Conference on Robotics and Automation (ICRA), Shanghai, China, 9–13 May 2011; pp. 2249–2254.
  6. Wei, X.; Chai, J. Videomocap: Modelling phisically realistic human motion from monocular video sequences. ACM Trans. Graph. 2010, 29. [Google Scholar] [CrossRef]
  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. [Google Scholar] [CrossRef] [PubMed]
  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. [Google Scholar] [CrossRef]
  9. Drillis, R.; Contini, R.; Bluestein, M. Body segment parameters; a survey of measurement techniques. Artif. Limbs 1964, 8, 44–66. [Google Scholar] [PubMed]
  10. Nori, F.; Kuppuswamy, N.; Traversaro, S. Simultaneous state and dynamics estimation in articulated structures. In Proceedings of the 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Hamburg, Germany, 28 September–2 October 2015; pp. 3380–3386.
  11. Featherstone, R. Rigid Body Dynamics Algorithms; Springer: New York, NY, USA, 2008. [Google Scholar]
  12. Siciliano, B.; Sciavicco, L.; Villani, L.; Oriolo, G. Robotics: Modelling, Planning and Control. In Advanced Textbooks in Control and Signal Processing; Springer: London, UK, 2009. [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. [Google Scholar] [CrossRef]
  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. [Google Scholar] [CrossRef]
  15. Hettich, G.; Fennel, L.; Mergner, T. Double inverted pendulum model of reactive human stance control. In Proceedings of the Multibody Dynamics 2011, ECCOMAS Thematic Conference, Brussels, Belgium, 4–7 July 2011.
  16. Featherstone, R. Spatial Vector and Rigid-Body Dynamics Software. Available online: http://royfeatherstone.org/spatial/v2/index.html (accessed on 18 May 2016).
Figure 1. Graphical representation of an articulated rigid body as an oriented kinematic tree.
Figure 1. Graphical representation of an articulated rigid body as an oriented kinematic tree.
Sensors 16 00727 g001
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 2. Sensors used in the experiment: a force platform AMTI OR6 (a) and an inertial sensor Xsens MTx comprising both accelerometer and gyroscope (b).
Sensors 16 00727 g002
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.
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.
Sensors 16 00727 g003
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.
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.
Sensors 16 00727 g004
Figure 5. Representation of a trial composed of three repetitive bows (on top). Joint quantities: angles q 1 and q 2 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).
Figure 5. Representation of a trial composed of three repetitive bows (on top). Joint quantities: angles q 1 and q 2 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).
Sensors 16 00727 g005
Figure 6. Considering three MAP computation cases with one sensor ( y = q ¨ ), two sensors ( y = q ¨ , y 1 ), and all sensors ( y = q ¨ , y 1 , y 2 ), we computed standard deviation of (a) Σ τ 1 | y and Σ τ 2 | y ; (b,c) Σ f 1 | y and Σ f 2 | y for both angular ( μ ) and linear (f) components; (d,e) Σ a 1 | y and Σ a 2 | 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.
Figure 6. Considering three MAP computation cases with one sensor ( y = q ¨ ), two sensors ( y = q ¨ , y 1 ), and all sensors ( y = q ¨ , y 1 , y 2 ), we computed standard deviation of (a) Σ τ 1 | y and Σ τ 2 | y ; (b,c) Σ f 1 | y and Σ f 2 | y for both angular ( μ ) and linear (f) components; (d,e) Σ a 1 | y and Σ a 2 | 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.
Sensors 16 00727 g006
Figure 7. Mean (μ) and standard deviation (2σ) for the estimation of τ increasing the number of sensors.
Figure 7. Mean (μ) and standard deviation (2σ) for the estimation of τ increasing the number of sensors.
Sensors 16 00727 g007
Figure 8. Error on torque estimation comparing RNEA and MAP methods on τ 1 (a) and τ 2 (b), (* p-value < 0.05).
Figure 8. Error on torque estimation comparing RNEA and MAP methods on τ 1 (a) and τ 2 (b), (* p-value < 0.05).
Sensors 16 00727 g008
Table 1. Standard deviation σ from sensors’ datasheets.
Table 1. Standard deviation σ from sensors’ datasheets.
Angular PartLinear Part
σ q ¨ 2 . 57 × 10 3 rad / s 2
σ y 1 1.5  Nm 1.5  Nm 0.7483  Nm 7.68  N 7.68  N N
σ y 2 7 . 1 × 10 3 rad / s 2 (gyro) 3 . 33 × 10 2 m / s 2 (acc)
Table 2. Standard deviation of estimated variables for link 1.
Table 2. Standard deviation of estimated variables for link 1.
σ τ 1 σ μ 1 ( 1 ) σ μ 1 ( 2 ) σ μ 1 ( 3 ) σ f 1 ( 1 ) σ f 1 ( 2 ) σ f 1 ( 3 ) σ ω ˙ 1 ( 1 ) σ ω ˙ 1 ( 2 ) σ ω ˙ 1 ( 3 ) σ a 1 ( 1 ) σ a 1 ( 2 ) σ a 1 ( 3 )
q ¨ 4.9902.0751.1532.0882.4232.2792.3710.0280.0270.0290.0250.0270.028
q ¨ , y 1 1.3401.1180.6361.1451.5582.0991.6000.0250.0260.0250.0210.0260.024
q ¨ , y 1 , y 2 0.9701.0200.6330.9771.3641.6591.3820.0190.0200.0190.0190.0220.022
Table 3. Standard deviation of estimated variables for link 2.
Table 3. Standard deviation of estimated variables for link 2.
σ τ 2 σ μ 2 ( 1 ) σ μ 2 ( 2 ) σ μ 2 ( 3 ) σ f 2 ( 1 ) σ f 2 ( 2 ) σ f 2 ( 3 ) σ ω ˙ 2 ( 1 ) σ ω ˙ 2 ( 2 ) σ ω ˙ 2 ( 3 ) σ a 2 ( 1 ) σ a 2 ( 2 ) σ a 2 ( 3 )
q ¨ 0.5100.8480.7580.7581.8171.5441.6960.0400.0370.0410.0430.0400.042
q ¨ , y 1 0.3560.6500.6690.6151.4231.2381.1000.0380.0360.0370.0350.0330.030
q ¨ , y 1 , y 2 0.3050.6430.6570.5681.0921.0260.9180.0130.0130.0130.0230.0230.022

Share and Cite

MDPI and ACS Style

Latella, C.; Kuppuswamy, N.; Romano, F.; Traversaro, S.; Nori, F. Whole-Body Human Inverse Dynamics with Distributed Micro-Accelerometers, Gyros and Force Sensing. Sensors 2016, 16, 727. https://doi.org/10.3390/s16050727

AMA Style

Latella C, Kuppuswamy N, Romano F, Traversaro S, Nori F. Whole-Body Human Inverse Dynamics with Distributed Micro-Accelerometers, Gyros and Force Sensing. Sensors. 2016; 16(5):727. https://doi.org/10.3390/s16050727

Chicago/Turabian Style

Latella, Claudia, Naveen Kuppuswamy, Francesco Romano, Silvio Traversaro, and Francesco Nori. 2016. "Whole-Body Human Inverse Dynamics with Distributed Micro-Accelerometers, Gyros and Force Sensing" Sensors 16, no. 5: 727. https://doi.org/10.3390/s16050727

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop