1 Introduction

Body area motion capture systems generate motion data representing the posture changes of human body. Human body is typically modelled as a system of rigid links connected by rotary joints. Motion capture attempts to approximate human body by a rigid-body model with a limited number of rotational degrees of freedom (DOF) which is the number of independent parameters that define its configuration. A rigid body is an idealization of a solid body of finite size in which deformation is neglected [1]. In general, there are two kinds of modelling technique: dependent and independent of sensors or markers placement. In modelling techniques that are dependent on marker placement, marker placement should be precise and the ones that are independent of marker placement, there is no need for the precise marker set-up, but they require a calibration process, which takes time [2]. These modelling techniques will be reviewed in this paper.

For motion capture to derive angles of joints on the modelled human body, there are different techniques depending on the used sensors technologies [3]. Visual marker and magnetic based systems derive the position of sensors and other ones such as inertial and mechanical systems derive the orientation of sensors [4]. Techniques for motion capture try to solve the inverse kinematics problem to find the angles of joints from sensors position or to solve the kinematics problem to find the body configuration or position from sensors orientation. For this purpose, measurement protocols define landmarks on the rigid body model where sensors or markers are placed. Movement of sensors is described within a reference coordinate system and from their position and orientation motion data are derived in a post processing stage. Reviewing the techniques shows that most of the motion capture techniques are highly dependent on accurate positioning of sensors and require calibration before measurement [3]. In general, body motion sensing systems are sensitive to sensor positioning and bulky with large batteries [5]. Accurate sensor placement with respect to anatomical landmarks is one of the main factors determining the accuracy of motion capture systems [6]. Changes in the position of the sensors cause increased variability in the motion data, so isolating the characteristic features that represent the most important motion patterns from those affected by such kind of changes is a main concern. In this paper, an automated computation approach is validated to address the mentioned challenges in a controlled environment. As accurate sensor placement is time-consuming and hard to achieve, a signal processing technique is employed enabling salient data to be isolated. The goal is to permit a more flexible motion capture system to be developed whilst compensating for the effect of changes in the position of sensors. Furthermore, functional data analysis is deployed allowing the sampling rate to be reduced in a motion capture trial therefore increasing energy efficiency. This would permit the use of smaller batteries and thus increase the wearer’s comfort.

The approach considers the Shannon’s theorem stating the sampling rate must be at least twice the maximum frequency present in the signal, which is called Nyquist rate. For some signals, that are not naturally band-limited, the sampling rate is dictated not by the Shannon theorem but by the desired temporal or spatial resolution. However, it is common in such systems to use an antialiasing low-pass filter to band-limit the signal before sampling, and so Shannon’s theorem plays an implicit role [5]. Reduction in sampling frequency is utilised in this paper up until Nyquist rate leading to less power consumption without missing information. Applying the technique, results show as the motion capture sampling frequency decreases to reduce the power consumption, variations in the motion pattern increase. However, after applying the signal processing technique, the variations are significantly reduced from 30.04% for 200 Hz to 47.01% for 25 Hz which is just below the Nyquist frequency.

In this paper after presenting body models and their approximation by link-segment models, kinematics and inverse kinematics problems are introduced for determining motion. Different sensor technologies and related motion capture systems are then discussed. It is shown how motion data is derived from sensors’ position and orientation for different motion capture technologies. Then the wearability challenges are discussed in the same section. The methodology used to address the challenges is presented in Sect. 3 followed by the results and discussions in Sect. 4 validating the hypothesis in a controlled setup. The paper is concluded in chapter 5 summarising how the utilised approach addresses the mentioned challenges.

2 Background

2.1 Human Body Modelling for Motion Capture

In motion capture, an articulated figure is often modelled as a set of rigid segments connected by joints which are constrained on the geometric relationship between two adjacent segments. The relationship is expressed with parameters called joint angles measured in a number of planes. With careful selection of joints and segments a tree structure is formed which is a collection of the joint angles of all the joints corresponds exactly to a configuration of a figure. Human motion capture techniques are categorised according to the intended degree of abstraction imposed between the subject and the animated figure. Efforts to accurately represent human motion depend on limiting the degree of abstraction to a feasible minimum. Human body motion modelled by a rigid body model typically is approximated with a limited number of rotational degrees of freedom [2]. This correspondence provides an immediate computer representation of an articulated figure as shown in Fig. 1.

Fig. 1
figure 1

The controlled degree of freedom of human model [2]

Two connected rigid bodies is called a kinematic pair if they move with respect to each other via a mechanical constraint (joint) between the two bodies with one or more degrees of freedom. Rigid body segments are connected through several kinematic pairs forming a kinematic chain. A non-rigid or deformable body may be thought of as a collection of many particles (infinite number of DOFs) approximated by a finite DOF system. A deformable body may be approximated as a rigid body in order to simplify the analysis. In motion analysis, modelling techniques determine the positions of bones of the subject or fitting of the skeleton. Depending on which activities are going to be modelled, there are several body segment representations of human motion. A local coordinate system is established at the ends of the inboard bone centre, which is located near the body mass centre, for each joint. The movement of the outboard bone is represented as an orientation with respect to this local coordinate system creating a hierarchical structure [2].

In modelling techniques, which are dependent on marker placement, data may be acquired unilaterally or bilaterally for the calculation of internal joint centres, such as the hip, knee, and ankle joints in case of modelling gait. Their three dimensional (3D) internal rotations can be calculated in addition to the 3D orientations of the pelvis and foot. This process can be done by using a special marker set which includes a pelvic frame, thigh wands and shank wands. Additional data is required for the calculation of internal joint centres and for the inverse dynamic calculation of joint moments and powers. This can be acquired from subject data and includes subject age and weight, joint widths, and leg-segment data (segment length, mass-ratio, centre-of-mass position, radius of gyration).

Modelling techniques independent from marker placement are decomposed into three stages: partitioning the markers into rigid segment sets, estimating the position of joints, and deriving the corresponding skeleton dimensions respectively. In the first stage it needs to be specified which marker belongs to which segment. This can be done manually by reference to the anatomic skeleton and making associations, or automatically. In the automatic method, an algorithm computes the distances between markers. It selects the biggest sets of markers in which all distance variations between all pairs of markers are under a certain threshold. This condition defines a rigid segment set [2].

The position and orientation of a segment in space is completely defined by three points because a segment is modelled as a surface. Afterwards, the movement of the markers can be computed on adjacent segments defined by these markers in the reference model; therefore, estimating their centres of rotation. From their position in space the lengths of the segments can be computed as the distances between them. The joint positions are estimated as the centres of rotation weighted by the associated marker weight and the radius of the sphere. The geometrical properties of each body segment are derived from three non-collinear points bearing particular anatomical relationships to the given segment. Body reference points are rigid model anatomical sites calculated from the marker positions in conjunction with information about subject data joint information as shown in Fig. 2. The skeleton of the user is obtained automatically from centre of joints locations, the measured joints’ range of motion, and using 3 coordinates of reference points [3].

Fig. 2
figure 2

Marker position and reference points derived from the marker positions [3]

2.2 Sensor Technologies for Motion Capture

There are two categories of sensor technologies for motion capture: visual and non-visual. Visual technologies can be marker-based or markerless, while non-visual tracking sensors are inertial, magnetic, and electromechanical [7], (see Fig. 3). In this section, these technologies are reviewed, and their advantages and disadvantages are discussed with their potential for wider adoption in portable systems.

Fig. 3
figure 3

Motion capture systems using different sensor technologies [7]

2.2.1 Visual Based Motion Capture

Two classes of visual tracking systems are visual marker-based and marker-free, depending on whether or not sensors or markers need to be attached to body parts. In visual marker-based tracking systems, cameras are applied to track human movements with markers that act as identifiers of the rigid body model landmarks. Marker-based systems are used because of the accuracy of marker position information [6]. They can be active or passive; active marker-based systems use light emitting markers, while passive ones use markers made of reflective material that do not require a power supply. One of the active visual tracking systems is Codamotion which is for 3D measurements. Its measurements have been commonly used as ground truth to evaluate motion measurements [3]. Although measurements of these systems are highly accurate with position resolution of about 0.05 mm, they need to be performed in a laboratory and cannot be used as portable or home-based technology.

Passive motion capture systems usually consist of 1–16 cameras, each emitting a beam of infrared light. Small reflective markers are placed on an object to be tracked. Infrared light emitted by the cameras is reflected back and picked up by the cameras. The system then computes a 3D position of the reflective target, by combining 2D data from several cameras [3]. The two common widely used passive visual motion capture system are Qualisys and VICON. These systems are designed to be used in virtual and immersive environments, and in medical science. Marker-based tracking systems are more accurate in comparison to other motion capture technologies, although they need precise calibration before each motion capture process, and it should be performed in laboratory.

Marker-free systems exploit optical sensors or depth sensing cameras to measure movements of the human body without any sensor on the human body. Human body motion can be tracked by cameras and is mainly concerned with the boundaries or features of human body on the images. Image based systems use computer vision techniques to obtain motion parameters directly from video footage without the use of special markers [5]. By using a proper camera set-up, including a single camera or a distributed-camera configuration, motion capture can be performed. A single camera readily suffers occlusion from a human body, due to its fixed viewing angle. Thus, a distributed-camera strategy is a better option for minimizing such a risk. In comparison to marker-based tracking systems, which are a less restricted to limited degrees of freedom due to mounted markers, marker-less based systems are a less restrictive motion capture technology but still the motion capture process are not convenient to be used in portable and home-based approaches as they need camera set-up in the motion capture environment.

2.2.2 Non-visual Based Motion Capture

Non-visual sensors such as inertial and electromechanical sensors are used in non-visual tracking systems. They enable motion capture without the need for external emitters and cameras. These sensors can be fitted in a garment or attached directly to the body. The advantage of non-visual tracking systems over visual tracking systems is that there can be ambulatory motion tracking, which means motion tracking by a portable motion tracking system outside the laboratory to capture daily activities, so they are applicable in home-based approaches; therefore, no need for doing the experiments in special laboratories.

Miniature inertial sensors, which are small, relatively cheap and have low energy consumption, are categorized into accelerometers and gyroscopes. Accelerometers measure acceleration and gyroscopes measure angular velocity. By integration and double integration of gyroscope and accelerometer signals, respectively, one obtains some measure of orientation and position [8]. By knowing the initial position and orientation, we can find sensor orientation and position changes. The position and angle of an inertial sensor cannot be correctly determined, due to the fluctuation of offsets and measurement noise, which lead to integration drift [9]. Therefore, designing drift free inertial systems is a challenge. On the other hand, these sensors can be used in home-based applications as there is no need for cameras to be set up.

Mechanical sensors provide joint angle data to determine body posture. A goniometer is a sensor with attachments to the proximal and distal limb segments that span a joint to be measured. The sensor operates on the assumption that the attachment surfaces move with (track) the midline of the limb segment onto which they are attached and thereby measures the actual angular change at the joint. These devices provide an output voltage proportional to the angular change between the two attachment surfaces. Mechanical sensor accuracy should be carefully evaluated by testing them on individuals of various statures. Attachment and positioning of goniometers present several problems; in addition, alignment of the goniometers with body joints is difficult so it needs experts for system set-up in home-based application.

Strain and stress sensors have been developed for fabrics from piezo-electric to polyvinylidene fluoride (PVDF) polymer films. These sensors can be integrated within textiles, or securely attached to them. Most are based on the principles that the electrical resistance of the flexible sensor changes during stretching. Many of the developed flexible strain sensors are based on using coated fabric technology [7]. The limitations of these kinds of sensors are their sensitivity to temperature and electromagnetic interference, tensile stiffness and transient output signals, which preclude their use in wearable garments.

Motion capture data such as position and orientation of sensors can be generated from magnetic sensors as well. Magnetic motion tracking systems have been widely used for tracking user movements in virtual reality, due to their size, high sampling rate, and lack of occlusion. One of the common motion tracking systems with electromagnetic sensors is MotionStar by Ascension Technology Corporation. The system detects the position and orientation of the sensors by the magnetic field (either the Earth’s magnetic field or the field generated by a large coil). These systems offer good accuracy with no line-of-sight problems, so are more applicable for home-based cases. However, they are expensive, have high power consumption, and are sensitive to the presence of metallic objects in the environment [7].

For portable applications, the reviewed sensor technologies have their own advantages and disadvantages. Visual marker-based technologies have high accuracy, but they need camera set up in a motion capture environment which is not suitable for portable applications. Similarly, magnetic systems need transmitters and receivers, which should be set up in the environment. On the other hand, inertial and mechanical sensors do not need external set up in the environment; however, they need precise alignment on the subject’s body.

2.3 Techniques for Motion Capture

After explaining different sensor technologies for motion capture, in this section it is explained how angles of joints are derived from sensors’ position and orientation.

2.3.1 Deriving Motion Data from Sensors’ Position

Motion capture systems which derive position of sensors in space use similar techniques to determine the angles of joints and therefore kinematic parameters. As reviewed so far, a skeletal model is built or adjusted by using a special calibration motion that highlights all the necessary degrees of mobility [10]. Then the model is used to derive the motion trajectories of all the captured motions. Finally, angular data are adjusted to adapt the motion to a virtual character. The process can be described in the following pipeline: calibration and capturing, knowing positions of cameras and markers, skeleton estimation, inverse kinematics processing, and determining the angle of joints.

After installing the cameras, attaching markers to the subject is the second step. To obtain accurate results, markers should be positioned on the subject at specific anatomical locations. The cameras capture the movement of the markers rather than the body to which they are attached. Determining the skeleton of a subject means to find the 3D positions of joints from the 3D marker locations and therefore determine the 3D positions of the bones of the subject. After deriving the 3D position of segments and joints from marker placements, finding the set of joint angles is the next step. The problem of finding a set of joint angles that corresponds to a given configuration is referred to as the inverse kinematics problem. We need the angles which the body segments make relative to each other to quantify the movements of the joint which connects them. A pair of markers mounted upon a rigid segment presents sufficient information to describe both translational and rotational movement, though not fully, as rotations about axis joining the two markers remain undefined. The arrangement is typical of a simple stick-figure description of the human form where limb segments are indicated as straight lines between markers placed over joints.

The dynamic representation of a segment follows from vector reconstructions based on a minimum set of three points. For the pelvis the orientation of the local co-ordinate frame from the available marker set and its reference points using local offsets will be obtained. For the remaining limb segments the reference points will be obtained by vector constructions, then the local co-ordinate frames are derived from those as shown in Fig. 4. The co-ordinate frames are required for the subsequent calculation of Euler angles. The longitudinal axis of a limb segment usually becomes the local Z axis, the medio-lateral the Y axis, and the antero-posterior the X axis, all mutually orthogonal.

Fig. 4
figure 4

Segment embedded coordinate frames for capturing gait [3]

To calculate the angles which the body segments make relative to each other, a rotation matrix is used which describes the orientation of the moving coordinate system on each body segment in comparison to a fixed coordinate system. The rotation matrix will translate movement from the fixed coordinate systems to the moving local coordinate system associated with the signals. This allows the angle between two segments to be calculated. The rotation matrix between the coordinate systems of a proximal segment and the coordinate system of distal segment relative to the proximal segment can be achieved by producing the corresponding rotation matrix of the two segments coordinates [2].

To calculate the orientation of a segment and its embedded coordinate frame, Euler angles are used. Euler angles are set of angles corresponding to rotations about given axes, usually orthogonal axes. The meaning and validity of the derived anatomical angles are determined by the choice of axes and rotation sequence. In order for limb segment angles to be relevant there is need to define the orientation of the distal segment relative to the proximal segment by comparing the corresponding axes of the segment-embedded co-ordinate frames [2].

Euler angles are readily calculated (requiring no joint centre model), and correspond to relevant axes which are generally orthogonal and therefore kinetically useful. A single rotation through a given angle about a given (proximal) axis may be represented by a rotation matrix.

Rotation through θ about X axis:

$$ \user2{ }{\mathbf{R}}_{{\mathbf{x}}} = \left[ {\begin{array}{*{20}c} 1 & 0 & { 0} \\ 0 & {\cos \theta } & { - \sin \theta } \\ 0 & {\sin \theta } & {\cos \theta } \\ \end{array} } \right] $$

Rotation through Φ about Y axis:

$$ {\mathbf{R}}_{{\mathbf{y}}} = \left[ {\begin{array}{*{20}c} {\cos \phi } & 0 & {\sin \phi } \\ 0 & 1 & 0 \\ { - \sin \phi } & 0 & {\cos \phi } \\ \end{array} } \right] $$

Rotation through Ψ about Z axis:

$$ {\mathbf{R}}_{{\mathbf{z}}} = \left[ {\begin{array}{*{20}c} {\cos {\uppsi }} & { - \sin {\uppsi }} & 0 \\ {\sin {\uppsi }} & {\cos {\uppsi }} & 0 \\ 0 & 0 & 1 \\ \end{array} } \right] $$

Non-cummulative matrix multiplication in the order Z, Y, X results in the decomposition matrix,

$$ {\mathbf{R}}_{{{\text{zyx}}}} = {\mathbf{R}}_{{\text{x}}} {\mathbf{R}}_{{\text{y}}} {\mathbf{R}}_{{\text{z}}} { } $$
$$ {\mathbf{R}}_{{{\text{zyx}}}} = \left[ {\begin{array}{*{20}c} 1 & 0 & { 0} \\ 0 & {\cos \theta } & { - \sin \theta } \\ 0 & {\sin \theta } & {\cos \theta } \\ \end{array} } \right] \times \left[ {\begin{array}{*{20}c} {\cos \phi } & 0 & {\sin \phi } \\ 0 & 1 & 0 \\ { - \sin \phi } & 0 & {\cos \phi } \\ \end{array} } \right] \times \left[ {\begin{array}{*{20}c} {\cos {\uppsi }} & { - \sin {\uppsi }} & 0 \\ {\sin {\uppsi }} & {\cos {\uppsi }} & 0 \\ 0 & 0 & 1 \\ \end{array} } \right] $$

By obtaining the orientation of the local co-ordinate frame, referred to as the Embedded Vector Basis (EVB), Euler angles can be derived.

2.3.2 Deriving Motion Data from Sensors’ Orientation

Each body segment’s orientation and position can be estimated by integrating the gyroscope data and double integrating the accelerometer data in time. By using the calculated orientations of individual body segments and the knowledge of the segment lengths, rotations between segments can be estimated and the position of the segments can be derived under strict assumptions of a linked kinematic chain. This process may have drift because of gyroscope offset, measurement noise, integration and so forth. Although these sensors give some measure of orientation, it is reviewd in [2] that inertial sensing cannot be used on its own to estimate relative position and orientation of sensors with respect to each other. The estimation of displacement and relative distances between sensors need to be determined using different methods.

An approach for measuring the relative distance between sensors is using magnetic sensors. By combining inertial sensors with magnetic sensors, an ambulatory 6 degrees of freedom human motion tracking system has been designed in [8]. The magnetic system consists of three orthogonal coils with a magnetic field source fixed to the body and 3D magnetic sensors, which measure the fields generated by the source. Based on the measured signals, a processor calculates the relative positions and orientations between the source and sensor. Since accelerometers and gyroscopes can only measure changes in position and orientation and suffer from integration drift, an improved solution for position and orientation estimation is obtainable by combining measurements from both systems in a filtering structure.

2.3.3 Activity Recognition Techniques

In another category of studies, researchers utilise on-body sensors systems that use acceleration, audio, video, and other sensors to recognise user activity. Activity recognition aims to recognise the actions of a subject from a series of observations. Sensor-based activity recognition integrates the emerging area of sensor networks with novel data mining and machine learning techniques to model a wide range of human activities. Several algorithms including classification techniques are developed and evaluated to detect physical activities from data acquired using sensors worn simultaneously on different parts of the body.

Accelerometers have been used for gait analysis in [9] to derive gait parameters such as cadence, speed, asymmetry and irregularity.

Wearable systems and algorithms for long term monitoring of physical activity and gait analysis for the estimation of the 3D joint kinematics and kinetics are covered in literature as well. In [10] a highly sensitive scheme for the detection of basic body postures such as sitting, standing, lying, and walking has been proposed. By calculating kinematics features of the body movements during the transitions between different postures, and using statistics and fuzzy classifiers, different body postures can be determined. A Support Vector Machine (SVM) classifier has been implemented to estimate the severity of some movement diseases by using inertial sensor signals. Inertial sensors positioned on the upper and lower limbs were used to gather movement data whilst performing of a series of motor tasks. In summary, such techniques are mainly using classification techniques for the purpose of activity recognition [11,12,13].

2.3.4 Wearability Challenges

Within the context of motion capture, body sensing platforms face the challenge of wearability which is related to power consumption and sensors displacement. These systems are very sensitive to sensor positioning and they have bulky attachments to the user’s body because of their large battery size. To have an ambulatory motion capture system we need to reduce the sensitivity of sensor positioning and consider wearer’s comfort. These kinds of systems can then be used more easily in a home environment for the purpose of rehabilitation without expert supervision.

Inaccurate sensor placement causes measurement variability, which is a key impediment to the wider adoption of home-based assistive rehabilitation. Particular care should be taken to ensure that sweating, rapid movements and the placement of markers on the subject’s body during different trials and sessions do not affect sensor/marker positioning specified by the marker placement guidelines. The reliability of measurements is directly affected by the sensor placement during different sessions. If experimental errors conceal important motion deviations, meaningful information will be lost. On the other hand, if the limitations of the motion capture methods are not understood, small deviations may be considered meaningful, thereby leading to over interpolation.

Sensor misplacement and consequent anatomical landmark mislocation have a substantial effect on measured joint kinematics and angles. Human movement analysis requires the definition of a system of axes; this can be defined from body surface marker positions and anatomical landmark positions. One of the main concerns in motion capture is identification of anatomical landmarks and reconstruction of their position in a selected set of axes. Therefore, precision and accuracy of determination of landmarks have an influence on joint kinematics variables. In [14], it was shown that hip joint centre mislocation of 30 mm in the anterior–posterior direction generates a mean error on the flexion/extension moment of 22% of its value, and hence affects gait analysis results. Knee motions such as the screw-home mechanism even when such motion did not occur.

Low power consumption has been studied in the literature related to the techniques in algorithm development, communications, hardware architecture and circuit design to achieve the necessary power saving are described in [15]. A power management microsystem for body sensing composed of a rectifier as a regulator has been presented in [16]. In [17] power reduction is achieved by introducing rest and common mode feedback circuit techniques while the system is switched between different operational modes like sleep, low power and high resolution. Changing the sampling rate has already been used as a technique for reducing power consumption.

The effect of the reduction in sampling rate for a wearable posture recognition system was studied in [18]. The results showed that performance of posture classification was insensitive to a reduction in sampling rate from 100 to 10 Hz for inertial sensors. Decreasing the sampling rate combined with decomposition techniques is another way of achieving power savings [19] Compressive sampling (CS) has great potential for low power pulse rate detection, since by reducing data sampling rate, less energy is consumed. Compressive sampling is an emerging technology, known as a novel sensing paradigm, that goes against the common wisdom in data acquisition. It asserts that one can recover certain signals from far fewer samples or measurements than traditional methods. This technique helps to save more power by reducing the power consumption. The CS protocol samples data at a low rate and later uses computational power for reconstruction. Obviously the higher the CS rate, the lower the power consumption and the greater the measurement inaccuracies.

3 Methodology

To reduce sensitivity of motion capture system to sensor positioning while lower power consumption causing smaller sensor packages the algorithm introduced in [20] is employed on a controlled motion in this paper. The results are validated through a robotic arm to generate motion data, which are captured by an active marker-based motion capture system. The reason for selecting them is that both the motion capture system and the robot arm are very accurate in their operation. Marker based motion capture is considered as the “gold standard” of motion capture technologies. The joint angles are considered as motion data in the analysis with the benefit of making the results independent from the technology used to measure motion and it is the reason that the term “sensor agnostic” is used. Nevertheless, the proposed approach can be generalised for other motion capture technologies, and it can be applied to motion data of other kinds. The analysis is also independent from where the reference coordinate system is, so the subject can move anywhere within the range of the motion capture system.

The programmed movement of robot arm is analogous to flexion–extension in the human arm. All other movements are constrained in order to reduce any measured confounding rotation from orthogonal planes to the axis of rotation that are measured. To investigate the performance of the proposed signal processing [20] technique with sampling frequency reduction, an experiment is designed. The focus of the experiment is energy efficiency, achieved by reducing sampling rate, while measurements are simultaneously affected by random changes in sensor positions. By increasing energy efficiency of the system, smaller batteries can be used in on-body sensors. Reduction in battery size is another step towards flexibility in on-body sensing systems. On the other hand, decrease in sampling rate cause greater variation in the captured motion data that is compensated by the utilised signal processing technique.

For this purpose, as demonstrated in Fig. 5 the approach is to time normalise the data to obtain the same number of samples for all sessions. The next step would be re-express the original data along a new coordinate system such that the signal of interest can be separated from other sources of variation in the original data while projecting the signal along different bases. The goal is achieved by keeping the bases describing the signal of interest and rejecting the rest. In this approach, the basis are Principal Components, PCs, and functional Principal Components, fPCs. The technique will filter out the dominant mode of variation enabling compensation of the effect of random changes in position of sensors and reduction in sampling frequency. FPCA is an extension to the traditional PCA, where the principal components are represented by functions rather than vectors. Principal components provide indications for identifying potentially important differences in motion curves. Principal components (PCs) are those linear combinations of the original variables that contain maximum variance. The PCs are obtained from the N eigenvalue–eigenvector \(\left( {{\uplambda }_{{\text{i}}} ,\overrightarrow {{{\text{e}}_{{\text{i}}} }} } \right){ }\) pairs of data covariance matrix \({\text{ Cov}}_{{{\text{ij}}}}\) which is defined as

$$ Cov_{ij} = \left\langle {\left[ {y_{i} \left( t \right) - \left\langle {y_{i} \left( t \right)} \right\rangle_{T} } \right]\left[ {y_{j} \left( t \right) - \left\langle {y_{j} \left( t \right)} \right\rangle_{T} } \right]} \right\rangle_{T} $$

whereas \(\vec{e}_{i}^{\left( n \right)}\) are principal components, also often called modes. N is the number of principal components. The basic philosophy of applying functional data analysis is the principle that the best unit of information is the entire observed function rather than a string of numbers. A central idea in functional data analysis is smoothness which implies that adjacent values in time are linked, and it is unlikely that these values will differ largely.

Fig. 5
figure 5

The block diagram of the motion capture post processing technique

As there are different numbers of samples in each cycle due to different motion speeds, time normalization is necessary for applying the post-processing technique. Each cycle needs to be normalized to be represented by the same number of samples. Linear time normalization and nonlinear time normalization using dynamic time warping are the most common techniques that are used for this purpose. Linear time normalization linearly converts the trajectory’s time axis from the experimentally recorded time units to an axis representing the motion cycle [2]. Dynamic time warping shifts the time index of each data point in a test trajectory to minimize the distance between the test and consensus trajectories. Assuming two signals expressed by appropriate sequence of feature vectors as shown in Eq. (6).

$$ {\mathbf{a}} = { }a_{1} ,\;a_{2 } , \ldots , a_{i } , \ldots , a_{I} \quad {\text{and}}\quad {\mathbf{b}} = { }b_{1} ,\;b_{2 } , \ldots , b_{j } , \ldots , b_{J} $$

Considering an i-j plane, where patterns A and B are developed along the i-axis and j-axis, respectively, the timing differences between them can be depicted by a sequence of points \({\text{ c}} = \left( {{\text{i }},{\text{ j}}} \right)\):

$$ F = c\left( 1 \right),c\left( 2 \right), \ldots ,\;c\left( k \right), \ldots ,{\kern 1pt} \;{\text{c}}\left( K \right) $$

where \({\text{c}}\left( k \right) = \left( {i\left( k \right){ },{ }j\left( k \right)} \right)\).

The warping function approximately realises the mapping from the time axis of pattern a onto that of pattern b. As a measure of the difference between two feature vectors a distance

$$ d{ }\left( c \right) = d{ }\left( {i,j} \right) = { }\left\| {a_{i } - b_{j } } \right\| $$

is calculated between them. Then, the weighted summation of distances on the warping function F becomes

$$ E\left( F \right) = \mathop \sum \limits_{k = 1}^{K} d\left( {c\left( k \right)} \right). \omega \left( k \right) $$

where \(\omega \left( k \right)\) is a nonnegative weighting coefficient. It reaches to its minimum value when warping function F is determined to optimally adjust the timing difference. Based on these considerations the time-normalized distance between two patterns a and b is calculated as (10).

$$ D{ }\left( {{\mathbf{a}},{ }{\mathbf{b}}} \right) = min\left[ {\frac{{\mathop \sum \nolimits_{k = 1}^{K} d\left( {c\left( k \right)} \right). \omega \left( k \right)}}{{\mathop \sum \nolimits_{k = 1}^{K} \omega \left( k \right)}}} \right] $$

In the experiment, motion is captured during ten sessions of marker wearing on the robot arm to measure the effect on the accuracy of motion capture of simultaneously reducing in sampling rate and randomly changing positions of sensors. For each perturbation of markers, data is captured in available frequencies above the Nyquist rate: 200, 100, 50 and 25 Hz. There are 10 random perturbations of marker positions, that is, the total of 40 trials. A random number generator is used to create random positions. The differences between data of different marker wearing sessions are the number of samples per session and the variation due to random changes in the positions of sensors. First, we verify that the variation in motion data is indeed increased by decreasing sampling rate. We then apply filtering signal processing techniques to test if the variations due to both the reduction in sampling rate and the random changes in the positions of sensors can be compensated for in the single filtering step.

For the motion analysis of the robot arm, it is divided into two rigid bodies: the upper segment was defined as rigid body 1 (RB1), and the lower was defined as rigid body 2 (RB2). On RB1, markers were placed at both ends of the segment, 3 cm from the end and defined the longitudinal Z axis of RB1. A marker is placed over the hinge joint between RB1 and RB2. This marker serve as the upper marker for the Z axis marker for RB2 as well as the third, off-centre, marker require to define RB1 of the local coordinate system within the software. As with RB1, RB2 is defined by two markers along the length of the segment and two further markers are used to define the RB2 segment local coordinate system as shown in Fig. 6. The same configuration of markers was used on both sides of each segment and the local coordinate axis system for each segment is defined using a set of orthogonal axes. The arm is programmed to rotate 130 degrees. In order to control rotation data as much as possible, movement is restricted to one degree of freedom; that is, the only movement was rotation of RB1 with respect to RB2 in one fixed plane. Measurements are recorded over intervals of fifteen seconds. The stick figure view of the robot arm and variation in the joint angles in Codamotion software view are shown in Fig. 7.

Fig. 6
figure 6

Stick figure, markers numbers and position with defined coordinate axes, x, y and z of the robot arm

Fig. 7
figure 7

Stick figure of robot arm and the angle variation in motion capture session

The proposed signal processing approach adds processing complexity to the motion capture procedure of the order of \(\left( {2O\left( {n{\text{log}}n} \right) + O\left( {{\text{log}}\left( {nm^{2} } \right)} \right) + O\left( {m^{3} } \right)} \right)\). However, since on-body sensing systems usually have a central system for analysing the data that is located far from the body and connected to a powerful processing unit with a connection to an abundant electricity supply, processing complexity is not a challenge in this case.

4 Results and Discussion

The scenario is designed to examine the applicability of the introduced algorithm to reduce sensitivity of motion capture system to sensor positioning with lower power consumption whilst reducing the sampling rate in a controlled environment. Reduction in the sampling rate has a benefit in lowering energy consumption and thus allowing for smaller sensor packaging. In the experiment, the markers tracked by the scanner units are small infra-red light emitting diodes. The markers are powered from small drive units that contain sophisticated circuitry and respond to infra-red synchronising pulses sent out from the scanner units. When scanner unit starts to send out control signals to the marker drive units, the rate of current consumption rises to about 50 mA in each unit. The capacity of the batteries in each of the drive unit is around 30 mA hours.

The maximum measurement time depends on the sampling rate. For example, with 28 markers, the maximum measurement times are: 100 s at 200 Hz, 200 s at 100 Hz, 400 s at 50 Hz, 800 s at 25 Hz,…, to 20000 s at 1 Hz [2]. That is, as the sampling rate reduces, the maximum measurement time increases. It means the marker drive unit battery can be used for a longer time by reducing sampling rate.

The life of a battery can be given either as the number of charge and discharge cycles that can be delivered or as the total lifetime in years. Factors which affect the battery life are the operating temperature, the discharge depth, and the charging regime. When the average current drain on the battery is lower, the discharge time or service life to the end of the battery life is longer. The average current \(\left( {I_{avg} } \right)\) can be calculated by using Eq. (11).

$$ I_{avg} = \frac{{t_{0} I_{0} + t_{1} I_{1} + \cdots + t_{n} I_{n} }}{{t_{0} + t_{1} + \cdots + t_{n} }} $$

In this equation \(t_{0} , t_{1} , \ldots , t_{n}\) shows the time intervals that the battery provides current, \(I_{0} , I_{1} , \ldots , I_{n}\), for the connected circuit. If the time intervals during which the battery provides current to the circuit are of a shorter duration, the battery can provide power for motion capture sessions over a longer period. It means that when there is a reduction in sampling rate of markers attached to the batteries, the total time during which the current will be needed will decrease. The smaller current requirement will enable longer motion capture intervals between battery recharging.

We consider different motion capture frequencies by \(f_{1} , f_{2} , \ldots , f_{m} \) where \(f_{1} < f_{2} < \cdots < f_{m}\) where the time period of each frequency is shown by \(T_{1} , T_{2} , \ldots , T_{m}\). A period, \(T_{i} = \frac{1}{{f_{i} }}\), is the time it takes for a signal to complete an on-and-off cycle. The duty cycle of each signal, which is the percentage of one period in which a signal is active, and where the batteries provide current for the sensor/marker circuit is given by \(D_{1} , D_{2}\),…, \(D_{m}\). The time that the signal is active in a period is shown by \(t_{1} , t_{2}\),…, \(t_{m}\). Therefore, we can write: \(D_{i} = \frac{{t_{i} }}{{T_{i} }} \times 100\). Duty cycles can be used to describe the time percentage an electrical device is active.

In a system with different sampling frequencies,\( f_{1} < f_{2} < \cdots , < f_{m}\), as the sampling frequency decreases, the time period,\( T_{1} , > T_{2} > \cdots > T_{m}\), increases. Considering the time that the signal is active in a period, is equal for all frequencies, \(t_{1} = t_{2} = \cdots = t_{m}\), increases in the time period reduce duty cycle,\( D_{1} < D_{2} < \cdots < D_{m}\) which means the time percentage of activity decreases. In a motion capture application where sensors send pulses to the detectors around them, when the time percentage of activity decreases, the total possible time of sending pulses from sensors attached to batteries will be increased. Therefore, motion capture sessions can be performed for longer.

Assuming a specific time interval for motion capture in different sampling rates, and equal active time in each period for all frequencies, \(t_{i} = t\), the total time that each sensor drain current from batteries is calculated by:\(\sum\nolimits_{i = 0}^{{K_{i} }} t\). In a specific time interval of motion capture, for higher frequencies the number of active time slots, \(K_{i}\), is higher. It is written as \(f_{1} < \cdots < f_{m}\), then \( K_{1} < \cdots < K_{m}\). Therefore:

$$ \mathop \sum \limits_{i = 1}^{{K_{i} }} t_{{}} < \mathop \sum \limits_{j = 1}^{{K_{j} }} t_{{}} \quad {\text{for}}\quad K_{i} < K_{j} $$

which means the total time that the sensors drain current from batteries is greater in higher frequencies. According to Eq. (11) the service life of the battery or discharge time, which is dependent on average current drain, will be increased by decreasing the sampling rate.

In the experiment, we have ten sessions of marker wearing on the robot arm. In each of the sessions, the positions of sensors are randomly changed within a 2 cm radius from the landmarks. Motion data are captured using different frequencies for each marker wearing session. The variances of unprocessed and processed captured motion data sampled at different frequency rates are shown in Table 1. We use variation from reference data as a comparison whereas variation is calculated as summation of differences between data of motion capture sessions from the reference motion capture data, divided by the number of samples. Results show that the mean variation of data from reference motion data due to random sensor misplacement in a radius of 1 and 2 cm are 2.02 and 5.69 degrees, respectively. Because of high accuracy of the robot arm we are sure that the variation in data from the reference motion data is only due to random changes in the position of sensors.

Table 1 Variance changes before and after applying PCA and fPCA

Data variance of ten marker wearing sessions for each sampling frequency is calculated as the square of the standard deviation of each joint angle motion signal. As expected, the reduction in sampling rate increases the variance. Results show that above the Nyquist frequency the variance is the same order of magnitude. Although there is an increase in the magnitude of variance from 100 to 200 Hz, this is an insignificant amount which could be due to high frequency noise. In motion capture, using a low pass filter usually compensates for these kinds of noise.

Assuming the signal bandwidth as 15 Hz, further reduction below the Nyquist frequency which is twice than the bandwidth (in this case 30 Hz) causes a significant increase in the variance. However, applying the filtering technique compensates for the increase in the variance. The results show that fPCA outperforms PCA in terms of variance change (see Fig. 8) as the resulting variance after applying the technique is less than the PCA one. After applying the signal processing technique, the variations are significantly reduced from 30.04% for 200 Hz to 47.01% for 25 Hz which is just below the Nyquist frequency. Clearly, by applying the fPCA and PCA techniques we can compensate for the effect of random sensor positioning errors within the measured motion data, while achieving greater power efficiency.

Fig. 8
figure 8

Variance changes before and after applying PCA and fPCA

It is observable that as the sampling rate reduces, the achievable improvement is increased. But by comparing PCA and fPCA filtering results we see that fPCA can better compensate for the variation due to random sensor displacements than PCA, and outperforms it. The advantage of fPCA over PCA is more obvious at higher frequency sampling rates. Taking all these results together, it is clear that the functional PCA-based signal separation techniques can be useful in removing unwanted variation in motion data and enable a more flexible assisted rehabilitation system for sensor-based motion capture.

5 Conclusion

In this paper, after introducing human body modelling for motion capture, the sensor technologies were reviewed for motion capture, and techniques to derive motion data. Within the context, the wearability challenges were explored, and signal processing technique considered to address the challenge. Motion capture at different frequencies simultaneously with sensor random displacement was studied to investigate the advantage of the introduced signal separation technique when lowering the sampling frequency. A robot arm was utilised as the robot arm motion was analogous to flexion–extension of a human joint, we can generalize our findings for other human body joints’ motion. Ten marker wearing sessions of the robot arm were captured at different frequencies. Results show that as the sampling frequency decreases, variations in the motion pattern increase. The results validate the applicable of the postprocessing technique to address the wearability challenges of motion capture systems regarding the power consumption and variability in motion data. The joint angles are considered as motion data in the analysis with the benefit of making the results independent from the technology used to measure motion. Nevertheless, the proposed approach can be generalised for other motion capture technologies, and it can be applied to motion data of other kinds. Going forward, the next step would be to test the introduced technique on other motion capture technologies to validate the generality of this filtering approach. The proposed technique is computationally intensive and as such is potentially limited to offline processing. This is a limitation for applicability of the proposed approach in applications which require real-time feedback to the user, for example, in real-time motor-training applications with biofeedback. Implementing the technique for online applications remains another step for the future work. The study focus was on human gait and a robot arm movement. As the robot arm motion was analogous to flexion–extension of a human joint, the findings can be generalised for other human body joints’ motion. It is suggested to applying and investigating the introduced signal processing approach for other movements to validate its applicability for these situations.