I would like to begin by thanking my thesis director, Dr. Jean-Pierre Merlet, for giving me an opportunity to pursue my doctoral research at the COPRIN research team at INRIA Sophia Antipolis. I am extremely grateful for his guidance, supervision, advice, encouragement and support, which has aided me immensely in completing this work. I am grateful for his confidence in my abilities and am certain that the skills I gained while working with him will be invaluable in my future work.

I am also extremely grateful to David Daney for his guidance in various topics, both technical and non-technical. He provided me an informal sounding board off of which I could bounce my ideas. I immensely benefited from the long discussions we had which helped me fine-tune some of my vague ideas into working solutions. I am also thankful for Mr. Vincenzo Parenti Castelli, and Mr. Mohamed Bouri who agreed to be the jury for my thesis defense. I am grateful for the comments of my reviewers Mr. Lotfi Romdhane and Mr. Philippe Gorce and for their suggestions to improve this thesis.

I would also like to thank Michael Burman, Sami Bennour and Haibo Qu for their help in my research. Michael and Sami were instrumental in helping me set up the initial stages of our experiments and their contributions are greatly appreciated. Sami and Haibo also kindly agreed to aid and be a part of the experimental trials, for which I am indebted.

Working with the COPRIN research team has been an immense pleasure and I am thankful to the team for their help not only in my research, but also in navigating various aspects of moving to a new country, learning the language and living in France. Our meandering lunch time conversations are something I will miss as well. I would particularly like to thank Gilles Trombettoni for his impromptu lunchtime French lessons, and Christine Claux and Nathalie Woodward for their administrative help. Thanks also go to other members of the team -Odile Pourtallier, Bertrand Niveau, Yves Papegay and Nicolas Chleq. I am incredibly thankful to my fellow doctoral students and colleagues Julien Hubert, Guillaume Aubertine, Thibault Gayral, Julien Alexandre dit Sandretto, Remy Ramadour and Laurent Blanchet for the great times, both in and out of the lab; for helping me ease into life in France, translating numerous emails and phone conversations and for teaching me French.

I would be remiss if I did not acknowledge the help and support I have received from friends and flatmates in the last three years. For helping create a home away from home, I thank my current and previous flatmates. A great big thank you to all friends I have gotten to know in and outside France for all the good times, help, anecdotes, adventures, hikes, accidents, and laughter, in no particular order: André, Andres, Oscar, Rubiela, Michael, Miguel, Marie-Anne, Yann, Quentin, Jean-Daniel, Olivier, Maria, Ashwin, Cyril, Bethany, Anjalee, Priyank, Vishesh, Dori, Erick, Anais, Anna, Marcos, Cecile, Angelo, Nikhil and Abhishek.

Finally, I am indebted to my family for their love and support. My parents and my sister have supported me in all my decisions and have spared no effort in ensuring that I get the best opportunities to succeed. Seeing their son leave for another country must have been much more difficult for my 1 Introduction

Résumé

Au sein de ce chapitre, nous évoquons les enjeux mondiaux des politiques de santé pour les prochaines 50 années. Notre propos porte sur les questions de mobilité soulevées par l'augmentation de la proportion de la population âgée de plus de 60 ans. Nous mettons en évidence les problèmes et les maladies concernant l'articulation du genou. Afin de bien cerner ces problèmes du genou, nous introduisons les méthodes d'analyse de la marche, étudions la physiologie du genou et identifions les avantages et inconvénients des méthodes modélisant l'articulation du genou.

Nous commençons ce chapitre par une discussion sur l'analyse de la marche et une description du mouvement du genou, tel qu'il est présenté dans les premiers travaux sur les cadavres humains. Nous présentons ensuite plusieurs méthodes utilisant différentes technologies d'imagerie -IRM, CT-scan et radiographie -, lesquelles fournissent des informations sur le modèle statique du genou. Pour étudier le mouvement dynamique du genou, nous devons considérer l'effet des artefacts de tissus « mous ». Ces considérations nous conduisent vers différents types de méthodes : certaines utilisant des procédés de capture optique, d'autres des capteurs inertiels, des capteurs magnétiques, des capteurs à ultrasons, ou encore utilisant des capteurs de force plantaire. Ce chapitre nous présente donc un aperçu de ces méthodes, étudiant leurs avantages et inconvénients.

Nous présentons également au sein de ce chapitre quelques exemple de systèmes de rééducation robotiques, considérant leurs spécificités concernant la physiologie du genou, ainsi que des critères de modularité, simplicité et précision. Nous pouvons dès lors introduire le robot MARIONET-REHAB, développé au sein de notre laboratoire.

Introduction

The population demographics data released by the United Nations [Statistics Division 2010] estimates that in the year 2010, 16.2% of the European population (i.e 119 Million) was over 65 years or old. The population aging estimates [Population Division 2009] note that the percentage of population aged 60 years or older will increase from 22% in 2009 to 34% in 2050. The old age support ratio, defined as "Number of persons aged 15 to 64 years per person aged 65 or over" will decrease from 4 in 2009 to 2 in 2050. We are thus faced with an increase in the average age of the population.

An elderly person is prone to diseases and disabilities that necessitate the availability of a caregiver. A larger aged population raises the prospect of a need for more care-givers. The population estimates point to a shortage in the number of healthy, younger care-givers and a shift in the major health related problems. We are thus faced with two tasks:

-investigate and develop diagnostic procedures and cures for problems that, in the recent future, an increasing majority of the population will suffer from; -develop technologies that permit an elderly and disabled person to safely accomplish a majority of daily tasks independently. A glaring problem that the elderly face is a reduced mobility. They face problems in daily, natural activities like walking, climbing stairs and even a simple change of posture. One of the most commonly affected joints is the knee. A loss in functionality of the knees severely affects mobility. Knee osteoarthritis (OA) is a leading disability that affects the elderly, with an estimated 25-30% of those affected by OA in the ages 45-64 and 60% older than 65 [START_REF] Dowdy | Knee arthritis in active individuals: matching treatment to the diagnosis[END_REF]]. The same studies point out that an estimated 9% of men and 18% of women aged over 65 suffer from OA. OA in the knee affects the cartilage, wearing it away and damaging the adjacent bones. While OA is not the only condition that affects the knee, its prevalence among the aged make it an important problem to focus on. However, the onset of knee joint degeneration occurs even among the young and healthy.

Sport injuries lead to patellofemoral pain (PFP) which is related to patellar misalignment and abnormal patellar tracking [START_REF] Lin | In vivo and noninvasive six degrees of freedom patellar tracking during voluntary knee movement[END_REF]]. Chondromalacia is a similar disorder caused by injury, overuse or patellar misalignment that affects the articular cartilage of the kneecap (patella). It frequently affects runners and prevents the kneecap from gliding over the thigh-bone, damaging the cartilage. Unnatural rotation of the knee while bearing weight can damage the menisci, causing the knee to click, lock or even give away. Cruciate ligaments are also affected by sudden knee rotations, which occur frequently in sports [NIAMS]. Anterior cruciate ligament (ACL) injuries are quite prevalent among sportsmen.

Even if these injuries can be detected and treated, delayed treatment may lead to degeneration of the knee. ACL has been known to increase the occurrence of knee OA [START_REF] Gelber | Joint injury in young adults and risk for subsequent knee and hip osteoarthritis[END_REF][START_REF] Porat | Knee kinematics and kinetics during gait step and hop in males with a 16 years old ACL injury compared with matched controls[END_REF]]. As noted in [START_REF] Porat | Knee kinematics and kinetics during gait step and hop in males with a 16 years old ACL injury compared with matched controls[END_REF]], subjects with ACL injuries have an altered gait pattern. Thus, a degenerative condition could be detected early by observing gait patterns [START_REF] Li | Development of a tool for analyzing 3D knee kinematic characteristics of different daily activities[END_REF] and preventive treatments could be implemented to delay the severe effects of loss of mobility.

Analyzing human gait provides a greater understanding of the mechanics of walking, the effect of individual characteristics on gait patterns, and the occurrence and propagation of injury. It also allows us to understand the role of rehabilitative exercises in recovery and helps bettering the designs for prostheses. Thus we focus our attention towards Gait Analysis in the following sections.

Gait Analysis

Overview

Gait analysis is the study of locomotion for measuring body movements, body mechanics and activity of muscles. The formal science of gait analysis can be traced back to the 17th century; Newton's classical mechanics and the co-ordinate geometry of Descartes were instrumental in laying the foundations of such analysis. Early work by Braun and Fischer used these concepts along with Borelli's ideas for estimating muscle action [START_REF] Sutherland | The evolution of clinical gait analysis part I: kinesiological EMG[END_REF]]. This early work used Geissler tubes (electric gas discharge tubes) attached to limb segments and by interrupting the illumination of these tubes while the subject walked in total darkness, photographed the multiple illuminated poses of the subject by keeping the camera lenses open.

The underlying idea of this method is still the basis of optical motion capture methods. Photographic techniques allow the entire subject to be photographed to obtain a global view of the subject anatomy and determine relations between various body segments (figure 1.1, [START_REF] Corazza | A framework for the functional identification of joint centers using markerless motion capture,validation for the hip joint[END_REF]). Reflective markers (active or passive) attached to body segments allow measurements of anatomical landmarks from photographed data for gait analysis.

Early methods also used goniometers to measure joint angles, with electrogoniometers being developed to permit recording multiple gait cycles. These suffer from crosstalk effects between the three motion axes, present difficulties in attachment and alignment, and cannot estimate the position of joint centers in space, which are necessary for moment studies [START_REF] Chao | Justification of triaxial goniometer for the measurement of joint rotation[END_REF]]. However, goniometers are useful where estimating sagittal motions is sufficient, or in studies done to estimate range of motion [START_REF] Rowe | Knee joint kinematics in gait and other functional activities measured using flexible electrogoniometry: how much knee motion is sufficient for normal daily life?[END_REF].

The science of gait analysis has progressed over the last 3 centuries thanks in part to advances in mechanics, electronics, signal processing and computing. Advances in these fields, along with a better understanding of human biology, now permit us to subdivide the science of clinical gait analysis into the three major topics: Figure 1.1: A motion capture system used to track body segments for gait analysis. From left to right, the figure shows the steps in identifying body segments from a captured image. This setup does not use markers [START_REF] Corazza | A framework for the functional identification of joint centers using markerless motion capture,validation for the hip joint[END_REF]].

-Kinesiological electromyography (KEMG) is defined as a technique to determine the relationship of the muscle activation signal (EMG) to joint movement and the gait cycle [START_REF] Sutherland | The evolution of clinical gait analysis part I: kinesiological EMG[END_REF]]. -Kinematics -the study of the translational and rotational motions of body segments in order to compare with the normal. -Kinetics -the study of the relationship between the motions of body segments and the forces and torques acting on them. An early history of the evolution of gait analysis is provided in exhaustive detail in [START_REF] Sutherland | The evolution of clinical gait analysis part I: kinesiological EMG[END_REF][START_REF] Sutherland | The evolution of clinical gait analysis part II -kinematics[END_REF][START_REF] Sutherland | The evolution of clinical gait analysis part III -kinetics and energy assessment[END_REF], detailing the progress in KEMG, kinematics and kinetics of gait analysis.

We focus primarily on the kinematical aspects of human gait in this text. As outlined before, understanding the knee-joint and its behavior presents an important area of research. We further discuss the knee-joint and those studies that deal with the understanding of its behavior. The classical medical text by Henry Gray -"The Anatomy of the Human Body " [START_REF] Gray | Anatomy of the human body. Bartleby.com[END_REF]] -describes the human knee-joint as consisting of three articulations in one: two condyloid joints, one between each condyle of the femur and the corresponding meniscus and condyle of the tibia; and a third between the patella and the femur, partly arthrodial, but not completely so, since the articular surfaces are not mutually adapted to each other, so that the movement is not a simple gliding one.

The Knee Joint

It also notes that the knee cannot be approximated as a hinge. Early kinematical analysis of the knee joint [START_REF] Freudenstein | Kinematics of the human knee joint[END_REF] note the complexity of the joint and approximate its motion as a two-dimensional motion. Initial studies assumed that the knee joint involved rolling motion between the femoral and tibial condyles. As these studies of the bone were destructive and performed on cadavers, such assumptions were difficult to disprove. With the use of MRI and CT, a better understanding has been forthcoming. The knee-joint has been the focus of many studies and a review of its motion (presented here from [START_REF] Freeman | The movement of the normal tibio-femoral joint[END_REF]) shows that this joint possesses translation as well has rotational degrees of freedom.

The knee-joint shows a flexion rotation of up to about 60 • during walking. Climbing stairs and seating oneself on chairs involves flexion up to 120 • . The longitudinal and ab/adduction rotations are generally much smaller, of about 5 • during a normal gait cycle. The relatively smaller arcs of rotation make identification difficult and gait or knee motion is often subdivided based on different portions of the arc of flexion.

The arc of terminal extension begins at the subject's limit of extension and to up to 20 • or even 30 • flexion. The limit of extension varies between subjects ranging from 5 • hyperextension to 5 • flexion. This range of motion is generally not used in normal gait and has extremely low to undetectable longitudinal rotation.

The termination of the arc of terminal extension blends into the arc of active flexion, the arc which covers most of the activities of daily life. In this range, the internal/external rotations can be performed independent of the flexion. Due to the shape differences between the medial and lateral condyles, ab/adduction rotation may occur along with flexion. The contact surfaces change when the knee moves from the arc of terminal extension into the arc of active flexion, which ranges up to 110 • or 120 • flexion.

The third arc, the arc of passive flexion ranges from 110 • or 120 • flexion to the possible extremity of subject knee flexion. Generally, subjects with Asian/Eastern backgrounds can achieve about 165 • flexion, while others tend to flex up to 140 • . In this zone, the contact point of the femoral condyles move backwards, partially dislocating the knee. The thigh muscles cannot lift the lower limb against gravity beyond 120 • flexion, and thus, this arc is entirely passive.

Magnetic Resonance (MR) scans performed on cadaver knees show the change in the contact point as the knee undergoes flexion [START_REF] Pinskerova | Does the femur roll-back with flexion?[END_REF] (refer Fig. 1.3a) . Circular surfaces are used to approximate the sagittal sections (seen in Fig 1 .3a), with the posterior section termed as the flexion facet and the anterior section termed as the extension facet. The centers of the circular femoral surfaces are referred as facet centers (FFCs) are also observed to move, with the lateral FFC moving according to the angle of flexion [START_REF] Iwaki | Tibiofemoral movement 1: the shapes and relative movements of the femur and tibia in the unloaded cadaver knee[END_REF]]. These studies tell us that the lateral femoral condyle "rolls" while the medial condyle does not, resulting in an external rotation with flexion. Such motion results in kinematic crosstalk if the axes are not correctly identified [START_REF] Salvia | Knee kinematics: validation of a re-orientation technique of knee axis[END_REF]]. Studies also observe that passive flexion includes internal rotation which can be described as coupled to the flexion angles [START_REF] Wilson | The components of passive knee movement are coupled to flexion angle[END_REF]. A more comprehensive picture of the knee joint can be obtained by studying cadaver and living knees. As [START_REF] Freeman | The movement of the normal tibio-femoral joint[END_REF] notes, the behavior of cadaver knees and living knees differs. We thus focus on the different methods used to study the motion of the knee joint. The following section discusses the various methods used for studying the knee joint. 1.2.3 Knee joint tracking MRI, X-Ray and CT (computed tomography) scans allow imaging of the bone, and help give complete pose data for each of the body segments. To study live knees, MR scans are taken with the subjects lying on their backs with the knee flexed in different positions [START_REF] Van Campen | Functional knee axis based on isokinetic dynamometry data: Comparison of two methods, MRI validation, and effect on knee joint kinematics[END_REF]]. MRI studies have been used to create 3D reconstructions and visualizations of the knee [START_REF] Zhu | 3D knee modeling and biomechanical simulation[END_REF]]. In order to simulate weight-bearing functions of the knee, a loading rig with a foot plate is used [START_REF] Mcwalter | A single measure of patellar kinematics is an inadequate surrogate marker for patterns of three-dimensional kinematics in healthy knees[END_REF]]. The subjects hold the knee at a static position and apply a measured load by pushing on the plate (figure 1.4a). The testbed is MRI compatible, allowing MR images to be captured.

Similarly, to study torsional loading, a torsional loading apparatus can be mounted to an open-MRI patient table [START_REF] Hemmerich | Measuring three-dimensional knee kinematics under torsional loading[END_REF], with open slide rails permitting adjustment of flexion-extension and ab/adduction angles. The subject's foot is inserted into a plastic boot that is connected to the rotating base, which allows torsional loading of the knee (see figure 1.4b). However, these methods are limited to static experiments and provide an incomplete picture about human joint behavior [START_REF] Lavoie | Gesture as an important factor in 3D kinematic assessment of the knee[END_REF]]. The knee is motionless when being imaged and thus the result is not dynamic.

The knee under dynamic loading demonstrates a different behavior and these methods cannot accurately predict it. Some studies have used dynamic MRI for real-time and in vivo experiments [START_REF] Seisler | Normative Three-Dimensional patellofemoral and tibiofemoral kinematics: A dynamic, in vivo study[END_REF] but they note the high cost of the MRI scanners needed. Another study [START_REF] Williams | Functional in vivo kinematic analysis of the normal knee[END_REF] uses an interventional MRI scanner to study a weight-bearing living knee during squat, but remarks that few such scanners exist worldwide. [START_REF] Draper | Feasibility of using real-time MRI to measure joint kinematics in 1.5T and open-bore 0.5T systems[END_REF]] also describes a new real-time MRI to study knee kinematics, including for dynamic dynamic behavior, with a tracking accuracy of up to 2 mm. However, it notes that it cannot be used directly for studying kinematics during walking, but can be used to study just the weight-bearing phases at comparable speeds.

Analyzing human joints in vivo is complicated by the problem of Skin Tissue Artifacts (STA). STA can be defined as the incidence of additional correlated motion of the skin, due to skin and muscle activity, in any body segment motion. STA prevents direct observation of the motion of the tibia and femur bones. A marker fixed to the skin suffers from errors and due to the property of this error being correlated to the actual motion, makes filtering it quite difficult. MRI based studies [START_REF] Sangeux | Quantification of the 3D relative movement of external marker sets vs. bones based on magnetic resonance imaging[END_REF] show that STAs result in translation errors of up to 22 mm and rotation errors One method to overcome the problem of STAs is to attach markers to intra-cortical pins. These pins are drilled into the bone and thus the motion of the markers accurately reflect the motion of the bone [START_REF] Cappozzo | Position and orientation in space of bones during movement: experimental artifacts[END_REF]Reinschmidt et al. 1997] (Fig. 1.5a). Studies have compared the use of intra-cortical pin based markers against skin-based markers [START_REF] Andersen | Do kinematic model reduces the effect of soft tissues artifacts in skin marker-based motion analysis? an in vivo study of knee kinematics[END_REF][START_REF] Benoit | Effect of skin movement artifact on knee kinematics during gait and cutting motions measured in vivo[END_REF][START_REF] Leardini | Human movement analysis using stereophotogrammetry. part 3. soft tissue artifact assessment and compensation[END_REF][START_REF]Knee moment profiles during walking: errors due to soft tissue movement of the shank and the influence of the reference coordinate system[END_REF] in determining human bone motion and found that there are significant errors in the calculation of ab/adduction and internal/external rotations when skin based measurements are used. [START_REF] Fuller | A comparison of lower-extremity skeletal kinematics measured using skin-and pin-mounted markers[END_REF]] also notes that this STA error lies in the same frequency domain as pin mounted data error, thus making it difficult to filter. However, attaching intra-cortical pins is quite invasive and cannot be replicated on a majority of patients. A subject who once participated in a study involving such methods has been quoted in [START_REF] Sutherland | The evolution of clinical gait analysis part II -kinematics[END_REF]] as describing his experience as "very painful" and something he would not have agreed to had he understood "what it would be like".

(a) Intra-cortical pins [START_REF] Benoit | Effect of skin movement artifact on knee kinematics during gait and cutting motions measured in vivo[END_REF]].

(b) Measurement using inertial sensors & skin based optical markers [START_REF] Cooper | Inertial sensor-based knee flexion/extension angle estimation[END_REF]]. to obtain three dimensional motion data. Fluoroscopic imaging methods have been developed for the kinematic analysis of replaced knee joints [START_REF] Akbarshahi | Non-invasive assessment of soft-tissue artifact and its effect on knee joint kinematics during functional activity[END_REF][START_REF] Kanekasu | Fluoroscopic analysis of knee arthroplasty kinematics during deep flexion kneeling[END_REF][START_REF] Kessler | Sagittal curvature of total knee replacements predicts in vivo kinematics[END_REF]]. In its simplest form, fluoroscopy based methods include a low dosage X-ray source and a fluorescent screen between which the patient is placed. Flat panel detectors and image intensifiers are coupled to the screen to record the shadows cast by the body. However, as human bones provide a weaker contrast than metallic replacement components, using fluoroscopic imaging for natural knee kinematics leads to reduced accuracy. With these factors in mind, one method used is to measure using fluoroscopy along with CT bone models as described in [START_REF] Lu | In vivo three-dimensional kinematics of the normal knee during active extension under unloaded and loaded conditions using single-plane fluoroscopy[END_REF][START_REF] Rahman | Accurate measurement of three-dimensional natural knee using single-plane fluoroscopy[END_REF][START_REF] Scott | An unsupervised fluoroscopic analysis of knee joint kinematics[END_REF][START_REF] Yamazaki | 3D kinematics of normal knee using x-ray fluroscopy and CT images[END_REF]]. Another method uses orthogonal fluoroscopic images to combine and determine the 6DOF knee kinematics [START_REF] Li | Feasibility of using orthogonal fluoroscopic images to measure in vivo joint kinematics[END_REF]]. X-ray fluoroscopy methods also allow us to study the skin-bone movement by comparing the motion of skin fixed markers with the motion of the bone [START_REF] Sati | Quantitative assessment of skin-bone movement at the knee[END_REF]. Such X-ray methods allow for a comparison with classical goniometers [START_REF] Gogia | Reliability and validity of goniometric measurements at the knee[END_REF] to test their reliability. However this method is limited to static and fixed measurements and provides no information of a knee in motion. X-ray based methods have also been developed to allow dynamic recording (at 250 frames/s) as in [START_REF] Papaioannou | Patientspecific knee joint finite element model validation with high-accuracy kinematics from biplane dynamic Roentgen stereogrammetric analysis[END_REF], which then uses this data with finite element based methods. Similarly, [START_REF] You | Fusion of vision and gyro tracking for robust augmented reality registration[END_REF]] uses a high-speed bi-plane radiograph along with a CT model to estimate skeletal kinematics. The 2 images from the radiograph are combined with the volumetric CT model to determine the position and orientation of the knee. One must note that exposure to radiation limits the number of tests that can be performed with X-ray based methods.

Difficulties in the above mentioned methods lead us to consider optical capture methods. These methods use visible or infrared light to capture the motion of markers [START_REF] Corazza | A framework for the functional identification of joint centers using markerless motion capture,validation for the hip joint[END_REF][START_REF] Innocenti | An in-vitro study of human knee kinematics: natural vs. replaced joint[END_REF][START_REF] Ringer | A procedure for automatically estimating model parameters in optical motion capture[END_REF]. The markers can either be attached directly on the skin, or on intra-cortical pins, as mentioned earlier. Marker based methods use predetermined knowledge of the position of the markers relative to the skeleton to estimate the pose of the body segments. They allow us to study deep knee flexion [START_REF] Zelle | Thigh-calf contact force measurement in deep knee flexion[END_REF], track patellar movement [START_REF] Lin | In vivo and noninvasive six degrees of freedom patellar tracking during voluntary knee movement[END_REF] and study normal gait [START_REF] Kadaba | Measurement of lower extremity kinematics during level walking[END_REF][START_REF] Knoop | Fusion of 2d and 3d sensor data for articulated body tracking[END_REF][START_REF] Porat | Knee kinematics and kinetics during gait step and hop in males with a 16 years old ACL injury compared with matched controls[END_REF]]. [START_REF] Ringer | A procedure for automatically estimating model parameters in optical motion capture[END_REF]] describes a method to automatically estimate the model parameters that describe position of markers relative to the skeleton. Studies such as [START_REF] Akbarshahi | Non-invasive assessment of soft-tissue artifact and its effect on knee joint kinematics during functional activity[END_REF][START_REF] Camomilla | Non-invasive assessment of superficial soft tissue local displacements during movement: a feasibility study[END_REF][START_REF] Cappello | Soft tissue artifact compensation in knee kinematics by double anatomical landmark calibration: performance of a novel method during selected motor tasks[END_REF][START_REF] Gao | Investigation of soft tissue movement during level walking: Translations and rotations of skin markers[END_REF] have also used these non-invasive imaging methods to assess the STAs.

Other mocap based methods employ a marker-free system. [START_REF] Corazza | A framework for the functional identification of joint centers using markerless motion capture,validation for the hip joint[END_REF]] describes a method to identify joint centers from marker-free data. Figure 1.1 provides an example for the method described in the paper. [START_REF] Courtney | A monocular marker-free gait measurement system[END_REF] presents a single camera system to automatically record and analyze gait data without markers. The automated system compares well with manual approximations of knee-rotations from the video, but cannot guarantee robustness and accuracy as it lacks 3D position information. [START_REF] Krosshaug | A model-based image-matching technique for three-dimensional reconstruction of human motion from uncalibrated video sequences[END_REF]] also presents a method that attempts to reconstruct motion patterns from video sequences. It uses a skeletal model to match with the images from the video, and reports favorable results when compared with a skin-marker based system for the flexion angles. However, ab/adduction angle estimates at the hip are shifted while internal-external angles show much higher errors.

A widely used approach is to attach inertial sensors to the patient limbs [START_REF] Cooper | Inertial sensor-based knee flexion/extension angle estimation[END_REF][START_REF] Favre | Functional calibration procedure for 3D knee joint angle description using inertial sensors[END_REF][START_REF] Favre | Ambulatory measurement of 3D knee joint angle[END_REF][START_REF] Kawano | Analyzing 3D knee kinematics using accelerometers, gyroscopes and magnetometers[END_REF][START_REF] Musić | Model based inertial sensing of human body motion kinematics in sit-to-stand movement[END_REF][START_REF] Picerno | Joint kinematics estimate using wearable inertial and magnetic sensing modules[END_REF][START_REF] Yuan | Human velocity and dynamic behavior tracking method for inertial capture system[END_REF] (Fig. 1.5b). Inertial sensors readily provide orientation information which allows easy calculation of body pose. Accelerometer orientation and error compensation methods have been proposed by [START_REF] Latt | Identification of accelerometer orientation errors and compensation for acceleration estimation errors[END_REF]]. These studies suggest that inertial sensors provide a relatively inexpensive way to observe knee motion.

Accelerometers enable easy identification of gait patterns [START_REF] Torrealba | Characterisation of gait cycle from accelerometer data[END_REF], study centerof-mass displacements [START_REF] Floor-Westerdijk | Use of inertial sensors for ambulatory assessment of center of mass displacements during walking[END_REF]] and assess energy intensity [START_REF] Kurihara | Estimation of walking exercise intensity using 3-D acceleration sensor[END_REF]. Their small size and mobility enable experiments to be performed outside a laboratory setting. However, accelerometers are prone to drift errors, and over time the velocity and orientation values estimated are unusable. Modern inertial sensors generally include a magnetic sensor, a gyroscope and a 3 axis accelerometer (MARGs). The small size allow it to be packaged as one unit, and data fusion algorithms based on Extended Kalman Filters (or Particle Filters) allow drift-free estimation of the orientations [START_REF] Laviola | A comparison of unscented and extended Kalman filtering for estimating quaternion motion[END_REF][START_REF] Marins | An extended Kalman filter for quaternionbased orientation estimation using MARG sensors[END_REF][START_REF] Sabatini | Quaternion-Based Extended Kalman Filter for determining orientation by inertial and magnetic sensing[END_REF]]. However, these still fail to provide us with linear relative position data. A comparison of inertial motion capture systems with optical motion capture can be found in [START_REF] Cloete | Benchmarking of a full-body inertial motion capture system for clinical gait analysis[END_REF].

Magnetic sensors can be used along with accelerometers to provide a more robust solution. An applied magnetic field with electromagnetic sensors can be used to correct estimates from accelerometers [START_REF] Schepers | Ambulatory human motion tracking by fusion of inertial and magnetic sensing with adaptive actuation[END_REF]]. This allows us to limit the maximum error in the estimates. Wearable magnetic sensors can also be coupled with accelerometers as described in [START_REF] Picerno | Joint kinematics estimate using wearable inertial and magnetic sensing modules[END_REF]. By attaching an exoskeleton to subject leg with an electromagnetic sensor, the position and orientation of body can be tracked, accurate up to ±2.3 • [Li et al. 2005]. [START_REF] Amis | Measurement of knee laxity and Pivot-Shift kinematics with magnetic sensors[END_REF][START_REF] Nagamune | Reproducibility of real-time knee kinematics measurement system using electromagnetic device[END_REF]] describe systems using magnetic sensors for identifying knee joint motion. They also note, however, the isolation from magnetic disturbances that is needed for the study.

Optical markers and accelerometers may not always be attached directly at the skin. In such a case, the the optical marker set is attached using certain configurations, which can affect measurement accuracy. The efficiency of various attachment systems has been investigated by [START_REF] Südhoff | Comparing three attachment systems used to determine knee kinematics during gait[END_REF]] and it describes how three different systems compare with respect to STA. [START_REF] Amis | Measurement of knee laxity and Pivot-Shift kinematics with magnetic sensors[END_REF]] also describes a splint-brace attachment for its magnetic sensors.

Another method for knee kinematics is to use ultrasound measurements. [START_REF] Janvier | Validation of a new 3D-US imaging robotic system to detect and quantify lower limb arterial stenoses[END_REF]] describes a ultrasound scanner that aids in 3D reconstruction of limbs. Ultrasound can also be used to study inter-knee distances during walking [START_REF] Lai | Ultrasound monitoring of inter-knee distances during gait[END_REF]. Plantar pressure also allows additional insight into gait analysis and is frequently employed along with optical motion capture [START_REF] Miller | A new method for synchronization of motion capture and plantar pressure data[END_REF]], or with inertial sensors [START_REF] Senanayake | Human assisted tools for gait analysis and intelligent gait phase detection[END_REF] Many studies also choose to model the kinetics of the knee. The muscle and joint contact forces along with kinematic data would assist in diagnosing disorders. In case of patients with replaced knees, studies have utilized instrumented knee implants to measure muscle and contact forces [START_REF] Lin | Simultaneous prediction of muscle and contact forces in the knee during gait[END_REF]]. These allows development of better musculoskeletal models. Other studies have used physics-based models to constrain human pose and motion estimation [START_REF] Brubaker | The kneed walker for human pose tracking[END_REF]. This model takes into account a dynamic model with joint torques to model muscle forces to improve the accuracy of human pose tracking for walking motions.

Under suitable assumptions, and for specific motions, the three-dimensional motion at the knee joint can be approximated as a spatial single degree of freedom motion. Under such circumstances, the knee can be modeled as a parallel mechanism (described in Section 1.3.2), and we can use these models to analyze the joint motion and develop replacement knees [START_REF] Gregorio | Parallel mechanisms for knee orthoses with selective recovery action[END_REF][START_REF] Ottoboni | Equivalent spatial mechanisms for modelling passive motion of the human knee[END_REF][START_REF] Parenti-Castelli | On the modeling of passive motion of the human knee joint by means of equivalent planar and spatial parallel mechanisms[END_REF][START_REF] Saglia | A high-performance redundantly actuated parallel mechanism for ankle rehabilitation[END_REF][START_REF] Sancisi | A 1-dof parallel spherical wrist for the modelling of the knee passive motion[END_REF][START_REF] Wilson | A three-dimensional geometric model of the knee for the study of joint forces in gait[END_REF]. [START_REF] Wilson | Ligaments and articular contact guide passive knee flexion[END_REF]] develops this notion from [START_REF] Wilson | A three-dimensional geometric model of the knee for the study of joint forces in gait[END_REF] to predict internal rotation during passive knee flexiion using the mechanismbased approach. [START_REF] Feikes | A constraint-based approach to modelling the mobility of the human knee joint[END_REF]] proposes a method that improves upon these ideas by using a constraint-based approach instead of a mechanism-based approach to describe the knee flexion as a one degree of freedom motion. The one dof criteria can also be used to model the knee as a four bar mechanism as described by [START_REF] De Groote | Kinematic reconstruction of the lower limb based on measurements of the body surface[END_REF]] which uses 3D optical measurements over time to estimate the parameters of this model. This leads us to robots and mechanisms used for gait analysis. Recent studies have experimented with using robotized rehabilitation devices for gait analysis and rehabilitation studies. We discuss these devices in the following section.

Robots

While notions of automata and mechanical devices exist in the mythologies of many ancient cultures, the word "Robot" (to signify mechanical slaves) was coined in 1920 from the Czech word 1.3. ROBOTS "robota", which translates to corvée or serf labor. In an informal sense, the term robot can be used to designate any machine that is used to perform certain tasks automatically or with guidance. Typically, robots are used for manipulating objects for various tasks. In such settings, a robot is a mechanical system that allows the control several degrees of freedom of a rigid body (called end-effector) [START_REF] Merlet | Parallel robots[END_REF]]. The formal definition used by the European Robotics Research Network, contained in International Standard ISO 8373, is that a robot is an 'automatically controlled, reprogrammable multipurpose manipulator programmable in three or more axes' [EURON].

In the current sense, robots are generally used as manipulators, where accuracy and repeatability are necessary conditions. Robots (henceforth referred to by the terms robots, manipulators or robotic manipulators interchangeably in this text) can be broadly classified, based on their architecture, as either serial robots or parallel robots.

Serial Robots

Definition A serial robot is made up of a succession of rigid bodies from the base to the endeffector, each of them being linked to its predecessor and its successor by one-degree-of-freedom joint.

Figure 1.6: A typical serial robot (SCARA) Figure 1.6 illustrates a typical serial robot. Serial robots are typically characterized by their low load capacity/robot mass ratio, poor absolute accuracy but ease of design and subsequent kinematic analysis make it the most commonly used architecture.

Parallel Robots

Definition A parallel robot is made up of an end-effector with n degrees of freedom, and of a fixed base, linked together by at least two independent kinematics chains. Actuation takes place through n simple actuators. [START_REF] Merlet | Parallel robots[END_REF] While parallel robots are not in as widespread use as serial robots they possess features as a high load capacity/robot mass ratio, minimal number of actuators, high stiffness and high accuracy. Hence they find applications in diverse fields and are used, for example, as flight simulators, tire test rigs, pick and place robots (the Delta robot), active heads of endoscopes, surgical operations, positioning devices, and gaming joysticks.

An interesting type of parallel robots are the cable driven parallel robots. In these robots, the end-effector and the base are linked by cables whose lengths are controlled either via rotary actuators (by coiling the cable around a drum) or linear actuators. These robots have the added advantage of being extremely light-weight and modular. A necessary constraint imposed on these robots is that the cables must under tension for effective control of the end-effector.

The COPRIN team at INRIA has developed some prototypes for various applications. The MARIONET-REHAB robot [START_REF] Merlet | Kinematics of the wire-driven parallel robot MARIONET using linear actuators[END_REF]] was originally developed as a ultra high-speed parallel manipulator. A detailed description of this robot is provided later on in this thesis. A very large scale version, MARIONET-CRANE (pictured in 1.7a), was developed as a portable, fully autonomous, rescue crane, with a lifting capacity of over 2 ton. Another version, the MARIONET-ASSIST (pictured in figure 1.7b), is under development to be used as a home-assistance device.

Robotized Rehabilitation

Robots are used to manipulate the pose of the end-effector accurately. This feature comes in handy in applications such as robots used for diagnostic purposes, an example being a 6DOF articulated arm used to grasp a ultrasound scanner [START_REF] Janvier | Validation of a new 3D-US imaging robotic system to detect and quantify lower limb arterial stenoses[END_REF]. This system can be trained to accurately scan the lower limb for stenoses and an accurate 3D reconstruction thus created allows for increased diagnosis confidence. However, by designing robots to be back-drivable, we can use the accuracy afforded by them to use the robots as measurement devices. This is the primary idea behind coordinate measurement machines (CMMs) (see figure 1.8). Since actuator displacements Figure 1.8: A serial backdrivable robot used as a CMM. The Romer portable CMM are known, the problem of finding pose of the end-effector reduces to a forward kinematics problem. This idea can be extended by designing a manipulator whose end-effector attaches to the human body segment and thus tracks the motion of the body segment. Actuating the manipulator joints allows exerting forces on the body segments to manipulate them into desired poses, which forms the 1.3. ROBOTS basis of physical therapy. Thus robotic devices that are used to assist the disabled, and those that are used for physical therapy are termed as robotized rehabilitation devices.

Rehabilitation robots automate the repetitive nature of rehabilitation exercises, allow for the provision of significant forces necessary for assistance, and also collect data accurately. This allows for developing an adaptable system that can utilize the expertise of the physiotherapist along with a history of patient progress to develop optimal programs. A historical note on the progress in rehabilitation robots can be found in [Hillman].

Initial applications of robots to rehabilitation focused on adapting pre-existing industrial designs for rehabilitative use. The MIT-MANUS, a 5DOF SCARA mechanism, was developed in 1991 [START_REF] Hogan | MIT-MANUS: a workstation for manual therapy and training[END_REF]] and used for the rehabilitation of shoulder and elbow of stroke patients. It continues to be used giving successful results, with additional extensions being developed [START_REF] Krebs | 24 a wrist extension for MIT-MANUS[END_REF].

Serial manipulators provide a natural starting point towards developing exoskeletons, or wearable robots. ARMin (figure 1.9) is a serial robotic manipulator with seven actuated degrees of freedom, used as an exoskeleton for the arm. It has been used for stroke patients with promising results [START_REF] Nef | ARMin -exoskeleton robot for stroke rehabilitation[END_REF]]. Another such exoskeleton based system is the Lokomat gait training (figure 1.10), which also available commercially. It is a robot-assisted modality used for ambulation therapy. While suspended above a treadmill in a secure and stabilizing harness, the robotic legs are fitted to the client's legs and adjusted to facilitate a fluid, natural walking pattern [LokoMat].

Figure 1.9: The ARMin exoskeleton for arm rehabilitation [START_REF] Nef | ARMin -exoskeleton robot for stroke rehabilitation[END_REF] Figure 1.10: The Lokomat gait training system [LokoMat] Many exoskeleton based devices suffer from the disadvantage of an "always-active" mode. The subject is thus forced to only follow the motion that is performed by manipulator. Researchers at the University of Delaware have overcome these by developing an "assist-as-needed" exoskeleton [START_REF] Banala | Active leg exoskeleton (ALEX) for gait rehabilitation of Motor-Impaired patients[END_REF]] . The ALEX (pictured in figure 1.11) is designed to use a force-field controller to provide zero impedance for desired gait and a high impedance when the gait deviates. Ekso Bionics has developed exoskeletons that allow a wheelchair bound person to stand up and walk. The "Ekso" is a ready-to-wear, battery-powered, bionic device designed for people with lower extremity weakness, paralysis caused by neurological diseases or with injury [Ekso]. This device is a primarily a walking aid, instead of a rehabilitation device (figure 1.12).

EPFL has developed several rehabilitation robots, including a commercialized product -the Mo-tionMaker [START_REF] Metrailler | Improvement of rehabilitation possibilities with the MotionMaker TM[END_REF]] -for knee orthosis. The MotionMaker also uses a exoskeleton, but has the legs in an unloaded configuration by having the patient situated horizontally. The system has been designed to mimic natural exercises for the knee. Their other rehabilitation device is a vertical gait trainer -the WalkTrainer [START_REF] Bouri | The WalkTrainer: a robotic system for walking rehabilitation[END_REF]]. Like the exoskeleton based systems, the Walk-Figure 1.11: The Active Leg EXoskeleton [START_REF] Banala | Active leg exoskeleton (ALEX) for gait rehabilitation of Motor-Impaired patients[END_REF] Figure 1.12: The Ekso [Ekso]

Trainer (figure 1.13a) includes elements that are attached to the hip, thigh and shank, and which provide precomputed trajectories to the lower limb. The advantage of this system is that it is not restricted to treadmill scenarios and can provide for natural overground walking. Primarily developed for gait retraining, this system can also be used as a measurement and diagnostic tool.

(a) The WalkTrainer [START_REF] Bouri | The WalkTrainer: a robotic system for walking rehabilitation[END_REF]] (b) The Lambda [START_REF] Bouri | A new concept of parallel robot for rehabilitation and fitness: The Lambda[END_REF] Figure 1.13: Rehabilitation robots at EPFL One of the major issues with such exoskeleton based systems is the size and energy consumption. As exoskeletons are powered and fitted onto the human limbs, they need actuators positioned at specific points, which add to the bulk. This also calls for a need for efficient power storage that are also light. The safety features, which cannot be ignored, also add to the complexity of the system, as can be seen in the figures provided here (figures 1.10,1.11, 1.12, 1.13a). The rigid designs reduce modularity, while the need for specialized designs adds to their costs.

Parallel robots, which by design can have actuators placed on the base, are well suited for use 1.3. ROBOTS as rehabilitation robots. Their high accuracy allows for safer designs, and high stiffness enables more stable platforms. The limited workspace of certain configurations is not a hindrance as most of the degrees of freedom of human joints have limited range. Parallel robots find an application in ankle rehabilitation robots. The Rutgers Ankle (figure 1.14a) is a Gough platform where the end-effector is fixed to the human foot [START_REF] Girone | A Stewart platform-based system for ankle telerehabilitation[END_REF]. Another ankle rehabilitation (figure 1.14a) treats the human ankle as a part of the robot kinematic constraints. The Robotic Gait Trainer [START_REF] Bharadwaj | Kinematics of a robotic gait trainer for stroke rehabilitation[END_REF]] also uses the ankle joint as a part of the design and uses spring over muscle actuators as actuated links. The Lambda (figure 1.13b), at EPFL, uses a parallel robot architecture for rehabilitation and fitness [START_REF] Bouri | A new concept of parallel robot for rehabilitation and fitness: The Lambda[END_REF]]. While this system avoids dependence on anatomical features, its design necessitates additional supports to prevent lateral motions of the leg at the hip joint. Researchers at Laboratory of Robotics and Mechatronics (LARM) at the University of Cassino have developed cable-driven parallel measuring system, CaTraSys. Originally developed for measuring robot kinematic performance, this system has been adapted for gait analysis [START_REF] Ottaviano | An application of CaTraSys, a cable-based parallel measuring system for an experimental characterization of human walking[END_REF]]. Cables are attached to the human leg at the shank and the shank is treated as an end-effector of the resultant parallel mechanism. The wire lengths are measured and are used to predict the pose of the shank.

Cable-driven robots have also been developed for neurorehabilitation [START_REF] Rosati | Design, implementation and clinical tests of a wire-based robot for neurorehabilitation[END_REF]]. The NeReBot, shown in Fig. 1.15, is a three degree-of-freedom wire robot for upper-limb rehabilitation. The advantage of this robot is that it is mounted on a movable frame, potentially allowing its use in domestic rehabilitation. Similarly cable driven robots have been used for gait rehabilitation [START_REF] Surdilovic | STRING-MAN: a new wire robot for gait rehabilitation[END_REF]. Fig 1 .16 shows this robot being used. As can be seen, the aim of this robot is to provide support while the patient undergoes walking trials. The robot is used for weight bearing, balancing or posture control while the motion of the lower-limbs is left free. Other sensors, like the knee-goniometers, wire force and position sensors, foot gait-phase sensors are used to track patient motion and control the robot system.

Many of these systems described here suffer from being intrusive which may not be accepted easily by subjects. This also limits their adaptability as they cannot be installed into patient homes. The architecture of cable-driven parallel robots allows for developing a modular and light systems, capable of high loads, that can be installed for assisting and rehabilitation purposes. The small size of actuators allows us to reduce the intrusiveness of the system. Further, we have fewer instances of injury if the patient collides with the links i.e the wires. Patient safety can also be enhanced by utilizing wires designed to break at set loads. By ensuring back-drivability, the system could also be used for pose measurement and gait analysis (as in the CaTraSys).

Figure 1.15: The NeReBot [START_REF] Rosati | Design, implementation and clinical tests of a wire-based robot for neurorehabilitation[END_REF] Figure 1.16: The String-Man robot configuration [START_REF] Surdilovic | STRING-MAN: a new wire robot for gait rehabilitation[END_REF] Additionally, a cable-driven robot is inherently modular. By using pulleys, the effective base points of the robots are easily changed. Further, designing the cables to be not constrained to have fixed end-effector, and to have the attachment points to be easily changed is a relatively easy task. A cable-driven parallel robot can thus easily adapted based on patient physiological needs, patient anatomy and also according to rehabilitation aims.

Such a system, thus, would serve multiple objectives of physical therapy by allowing:

-Diagnostic evaluation of gait patterns -Detection of anomalies or abnormal motions -Rehabilitation exercises, where the robot exerts forces to train subject into correct and safe gait patterns We have developed such a robotic system that includes the cable-driven robot, the MARIONET-REHAB, that forms the focus of this thesis.

MARIONET-REHAB Gait Analysis system

A cable-based parallel robot measurement system allows us to develop a solution that is extremely modular, and requires simple hardware that is easy to set up. The MARIONET-REHAB is such a cable-based robot developed for gait analysis. The architecture of this robot also allows it to be used for other applications, for example, as a very fast pick and place, for window washing etc. This gait analysis system has been developed to treat body segments as the end-effectors of a cable-based parallel robot. The system includes 7 actuated wires of the MARIONET-REHAB along with 7 passive wires, and the system has been developed to allow any number of wires to be utilized.

The wires are attached to flexible, adjustable collars that attach to the body segments. This allows for modularity and easy reconfiguration for testing all patients using the parallel manipulator architecture. The easy modularity also allows connecting the wires to different body segments with multiple collars and treating the system as multiple cable-based parallel robots with a shared base.

To augment the performance of the robotic system and aid the analysis, we populate the system ( [START_REF] Bennour | A new experimental set-up based on a parallel cable robot for analysis and control of human motion[END_REF][START_REF] Harshe | A multi-sensors system for human motion measurement: Preliminary setup[END_REF]) with additional sensors. The collars are also designed to allow additional sensors to be attached, thus enabling additional information for the end-effectors of the robot. Inertial measurement units can be attached to the collars. Multiple attachment points allow optical markers to be securely fastened and an optical motion capture system is used to track these markers. While these are the main sensors used along with the parallel robot, we also have a provision for force sensors to measure contact forces by the muscles on the collars. In-show pressure sensors and IR reflective sensors, to measure the pose of the trunk of the patient, can also be added to the system. These three sensor systems are present for future experiments in cases where additional data might be needed.

While this system would also be able to allow rehabilitation exercises, we only discuss the measurement and analysis aspect in this work.

Contents

This manuscript deals with a system for performing Gait Analysis, whose major component is the MARIONET-REHAB robot, used for tracking the motion of the knee-joint.

In Chapter 2, we provide an overview of the method we use for the analysis of the knee-joint. We explain how our choices motivate the need for various hardware elements (specifically, a sensor collar) used in the system. Finally, we describe the approach to collate sensor data to obtain usable information regarding the knee-joint.

Next, Chapter 3 details the hardware and software setup developed, the sensors used and the construction of the system. This order of describing the system is chosen as it allows the reader to get an overview of the aims we intend to achieve and see how these are addressed by our setup.

With the overall goal specified and the robotic system described, we then detail, in Chapter 4, the methods used to address the issues that arise from our specific choice of the setup. This includes the problems of calibration of the hardware, the need for in-experimental re-calibration and the problems of pose estimation.

In Chapter 5, we describe the analysis of data for a specific experiment and the various conclusions we can draw for that example. The methods in the preceding chapters describe the general method of using this modular system while this particular chapter describes how we choose certain parameters for an experiment and how that affects the steps in our analysis.

Finally we discuss the implications and contributions of this work. A plan for future direction of research is laid out, and further applications of this robotic system are also discussed.

Theoretical Approach

Résumé

Nous étudions au sein de ce chapitre les principaux modèles théoriques d'analyse de la marche. Après avoir présenté les études analysant le genou humain, nous indiquons dans quelle mesure leurs conclusions affectent nos décisions de conception pour notre méthode. Le suivi de mouvement du genou humain rend nécessaire la création d'un modèle cinématique biomécanique. Ce modèle l'articulation du genou ainsi que les deux segments du corps connectés par l'articulation.

Dans la section 2.2, nous présentons les différents modèles ainsi que le modèle cinématique biomécanique choisi pour notre analyse. Nous y explicitons les deux référentiels principaux ainsi que les systèmes de coordonnées utilisés pour les analyses de l'articulationle premier correspondant aux recommandations des conventions de l'ISB (International Society of Biomechanics) et le deuxième étant défini à partir des données des mouvements des articulations et s'appuyant sur la théorie des torseurs.

Une fois les modèles définis, nous développons dans la section 2.3 les notions d'attachement des câbles du robot parallèle aux segments du corps, permettant de considérer ces segments comme les organes effecteurs des robots parallèles. Nous expliquons la géométrie et expliquons la construction d'un collier flexible permettant l'attachement des câbles et l'installation de capteurs additionnels.

A partir de l'utilisation des modèles décrits et des colliers flexibles utilisés (les organes effecteurs du robot parallèle), nous pouvons finalement considérer les méthodes de suivi des articulations. Dans la section 2.4, nous expliquons les paramètres à identifier ainsi que les différentes étapes de fusion de données effectuées à partir d'un filtre de Kalman.

Overview

In this chapter, we discuss the specifics of the standard studies that focus on knee analysis and outline how their conclusions have affected our decisions in the design and conception of our method. Tracking a human joint necessitates that a biomechanical kinematic model is created. This model represents the joint and the body segments connected by the joint. Section 2.2 deals with the choice of joint model for the knee.

To observe the motion of this model, our parallel robot system is designed to be attached to the human body and treat the body as its end-effector. However, cables cannot be directly attached to the human body and this entails that some type of collar must be strapped. We also intend to add additional sensors to facilitate analysis and also allow easy comparisons with existing solutions. Thus, the next stage of our analysis details the robot end effector -the flexible collar. The construction and geometry are described in Section 2.3.

Finally, once we have the model of the joint, and the robot end-effector, we focus on steps taken to track the joint. Data from the sensors allow us to estimate the pose of the collar, and thus the body segments. This is described in Section 2.4. This chapter gives a top-down view of the approach we use.

Biomechanical modeling

Anatomical & Technical Frames

Observing the motion of human joints involves observing the body segments linked by the joints. To track the knee joint, we must observe the femur and tibia and deduce the joint parameters from the motion data. We do this by attaching coordinate systems to the reference frames fixed to the tibia and femur and observe the relative motion between the two frames. These frames, based on anatomical features and landmarks, can be called Anatomical Frames.

An image-based computational method [START_REF] Chao | Image-Based computational biomechanics of the musculoskeletal system[END_REF]] allows for creating three dimensional models to which we can accurately assign coordinate systems using landmarks. However, such methods are difficult to implement in a clinical setting for regular diagnostic purposes. Thus we are tasked with using sensor data and their common local frame, called as the Technical Frame [START_REF] Cappozzo | The observation of human joint movement[END_REF]. A rigid transformation between the Anatomical and Technical Frames can be obtained from some anatomical calibration methods.

We first describe the classical joint coordinate system that is used for the knee joint, followed by a description of the functional axes based system actually used here.The classical joint coordinate system is a type of Anatomical Frame defined using anatomical features, while the functional coordinate system uses Technical Frames to define an anatomical frame.

Classical Joint Coordinate System

A mathematical model of the body segments can be created by setting up the joint coordinate system using the recommendations of the International Society of Biomechanics [START_REF] Wu | ISB recommendations for standardization in the reporting of kinematic data[END_REF], based on the work by E. S. Grood [START_REF] Grood | A joint coordinate system for the clinical description of Three-Dimensional motions: Application to the knee[END_REF]. This system possesses the advantage of defining rotations that are sequence independent. They are also easy to interpret clinically.

Referring to Fig. 2.1, the sagittal plane for a body-segment is defined as the plane normal to the axis Z in the figure. In case of normal walk, this is the plane in which the body stays approximately, and which includes the vector defining the direction of motion. In this example figure, YX defines the plane, while X is the direction of motion. The sagittal planes for femur and tibia will thus be the planes parallel to this, passing through the center of the respective body segments. The front direction in this plane is referred to as the anterior direction, and the back as the posterior.

The body segment features are further identified by their respective directions from the center. A median plane is the plane parallel to the sagittal plane but passes through the center of the body, and divides it into the right and left halves. Features on body segments which are closer to the median plane are identified as "medial", while those farther away are identified as "lateral". Thus, on the right half of the body, the lateral direction is given by the vector normal to the median plane, pointing to the right, as given by axis Z (or axes Z 1 , Z 2 , Z 3 etc) in Fig. 2.1. For body segments on the left half, this is the medial direction.

Finally, the transverse plane is normal to the sagittal and median plane, and divides the body into the upper and lower halves. The plane allows us to define the proximal direction as that vector pointing towards the transverse plane, while the distal direction as that pointing away. In Fig 2 .1, the axes Y 2 and Y 3 (i.e pointing upward) refer to the proximal directions, while Y 7 (pointing upwards, but axis fixed to upper body) defines the distal direction.

We describe the coordinate system for each bone first, and follow it by defining the joint reference axes. The figure 2.2 shows the coordinate system and we provide the definitions here.

Femoral coordinate system

The origin is located at the center of inter-condylar eminences of the femur. [START_REF] Wu | ISB recommendations for standardization in the reporting of kinematic data[END_REF] Yp The body-fixed axis given by the proximal-distal direction. Proximal direction is considered positive.

Xp Axis in femoral sagittal plane (along anterior-posterior direction), positive direction directed anteriorly.

Zp As defined by right-hand rule.

Tibial coordinate system

Origin located at the center of tibial condyles.

Yd The body-fixed axis given by the proximal-distal direction. Proximal direction is considered positive.

Xd Axis, along anterior-posterior direction, directed anteriorly.

Zd As defined by right-hand rule.

Joint coordinate system

Yj Along Yd, i.e the tibial axis. Rotations about this axis are the internal/external rotations.

Zj Along Zp. Rotations about this axis are the flexion/extension rotations.

Xj This is a floating axis, the common perpendicular to Yj and Zj. The positive direction is as defined by the right hand rule. Rotations about this axis are the ab/adduction rotations.

Functional Coordinate System (FCS) -Independence from Anatomical Landmarks

A cursory glance at the ISB recommendations in the section 2.2.2 tells us that the system is highly dependent on the location of anatomical landmarks. Studies show [START_REF] Marin | Correction of axis misalignment in the analysis of knee rotations[END_REF]] that joint angles are not reproducible if they are calculated using coordinate systems set up with anatomical landmarks. In fact, locations of landmarks themselves are subject to errors, as reported in [START_REF] Croce | Pelvis and lower limb anatomical landmark calibration precision and its propagation to bone geometry and joint angles[END_REF] where inter-examiner landmark position errors were up to 25 mm. While flexion/extension angle calculations are not dramatically affected, this leads to crosstalk effects and subsequent overestimation of ab/adduction and internal/external angles.

A functional approach defines a coordinate system using active motion data and is free from measurements of anatomical landmarks.

Instantaneous Helical Axes

One of the fundamental results used in Screw Theory is that any pose change of a rigid body can be effected by a single rotation about an axis, followed by a displacement along the axis [START_REF] Ball | A treatise on the theory of screws[END_REF]]. This instantaneous axis (or helical axis -HA) for the motion of the femur with respect to the tibia can be obtained without the need for anatomical landmarks. Thus, knee joint motion can be interpreted in terms of the HA [START_REF] Wolf | Classifying knee pathologies using instantaneous screws of the six degreesof-freedom knee motion[END_REF], by observing the motion of the HA and then determining the rotation of the femur with respect to the tibia, about the HA.

Let B denote the 3×3 orthonormal matrix that describes the orientation of the femur with respect to a global fixed frame. Let M denote the corresponding matrix for the tibia. Then the relative motion between the two, at time step i in a sequence of motion, is given by the rotation matrix J i as,

J i = B T i M i (2.1)
The instantaneous axis is the axis of rotation η, corresponding to the rotation matrix J i , which also provides us the angle of rotation about this axis.

Functional Alignment

However, the above described approach is very difficult to interpret clinically. For example, the helical axis in a motion involving flexion will not correspond to that in internal/external rotations. These axes also may not correspond to anatomical features and make it difficult for a clinician to interpret the results. Thus we develop a Functional Coordinate System -an alignment that uses helical axes to define a clinically interpretable and anatomical landmark independent coordinate system.

The methods are described by [START_REF] Gamage | New least squares solutions for estimating the average centre of rotation and the axis of rotation[END_REF][START_REF] Mannel | Establishment of a knee-joint coordinate system from helical axes analysis-a kinematic approach without anatomical referencing[END_REF][START_REF] Marin | Correction of axis misalignment in the analysis of knee rotations[END_REF][START_REF] Rivest | A correction for axis misalignment in the joint angle curves representing knee movement in gait analysis[END_REF]], but assume that data are represented in a coordinate system fixed to one of the body segments. These and other methods, surveyed in [START_REF] Ehrig | A survey of formal methods for determining functional joint axes[END_REF], provide a framework to define an anatomically interpretable functional coordinate system. The axis identification is done using data obtained from a reproducible motion.

A full squat is one such reproducible motion. It loads the knees equally and the entire range of flexion can be covered. The motion is broken down into finite sequences of motion, and the axes obtained from each step can be used to define an average axis with respect to the individual body segments [START_REF] Mannel | Establishment of a knee-joint coordinate system from helical axes analysis-a kinematic approach without anatomical referencing[END_REF]].

The Functional Alignment approach that we intend to use bases its ideas on the above mentioned methods and refines it. The method is defined in [START_REF] Ball | A procedure to refine joint kinematic assessments: Functional alignment[END_REF] and we provide a brief overview here. The method uses Eq. ( 2.1) as a starting point to derive a spatial average of the set of rotation matrices J i in order to get the single best-fit Axis of Rotation (AoR). The goal is to derive joint-specific reference frames M A and B A that re-interpret J around a movement-determined AoR. We calculate 'functionally aligned' rotation matrices F m :

F m [i] = B T A J[i]M A (2.2)
and decompose these matrices to Cardan angles. The Cardan angle representation expresses the orientation using rotations about three independent axes. This is particularly convenient as it allows us to align the axes with the anatomical features [START_REF] Chao | Justification of triaxial goniometer for the measurement of joint rotation[END_REF]]. The orientation could be expressed as flexion/extension, ab/adduction and internal/external rotation of the knee (or any joint). These angles are clinically understood and provide an easy reference to the clinician over the rotation matrices obtained from the Functional Alignment approach. A Cardan angle representation would thus facilitate analysis and diagnosis for a physiotherapist.

Thus, our task now is to obtain the body-segment pose matrices B and M for a sequence of motion to be analyzed, using the measurements provided by a set of sensors.

Biomedical Robot Attachment

Collars

Our aim is to obtain a set of transformation matrices to describe the pose of the thigh (femur) and the shank (tibia). For this purpose, we use a number of skin-based markers placed on the thigh and the shank. We also attach cable to the body segments. However, as briefly noted earlier, the cables cannot be attached directly to the body. Thus, we must use some collars that strap on the body segments and allow the cables of the parallel robot to be attached.

To ensure that markers on the same body segment are fixed rigidly with respect to each other, we attach them too via these collars. These collars thus act as the end effector for the parallel robot, and hold the skin based markers and sensors. As each patient's anatomical features vary, a rigid collar will be highly impractical and cost-ineffective. Thus, the collars must be adjustable.

In our setup, we propose to use two collars attached to the tibial shank (figure 2.3a), and one on the thigh (figure 2.3b). These adjustable collars are a series of aluminium plates connected by one-degree-of-freedom hinges, with each plate fitted with a pressure sensor. One link in this serial kinematic chain is a flexible, elastic strap that accounts for the variations in the patient's characteristics. The hinges allow the collar shape to be changed to fit the patient limb as closely as possible, while the elastic strap permits the collar to be held firmly against the skin (figure 2.3c). One advantage of this collar is that it reduces overall effect of STA. As sensors are mounted on this collar, local variations in the skin surface position do not affect sensor position. While STA will not be completely eliminated, it will affect the entire collar and thus affect all sensors. Thus, any individual sensor noise can be filtered out. As the plates comprising the collars are fitted with pressure sensors, they allow us to estimate muscle contractions and motions. Although not used in this thesis, the muscle contraction measurements from the pressure sensors would provide us information regarding local STA and may possibly aid in correcting their effects.

The collars are used to hold accelerometer systems (MARG sensors), optical markers, force sensors and include attachment points to connect the passive and active wire systems. The collars are attached to the thigh and tibia, close to anatomical landmarks. We note that variations in patient anatomy results in changes in collar location and reinforces the need for the functional coordinate system described earlier.

The construction of the collar also allows for attaching variable length resistive wires between the collars on the tibia and the thigh.

Construction & Geometry

The collar used to fix sensors consists of styrene plates connected by hinge joints. These hinge joints can be fixed at a constant angle to function as a rigid joint. The plates can be unscrewed from the hinges and quickly replaced. The modular design of the collar ensures that the shape and size can be changed quickly. As a result, these collars can be adapted for use not just on different patients, with differing anatomical dimensions, but also for other experiments to measure motion of other joints.

Of the collars currently developed for the tibia, the lower collar, to be attached just above the ankle (see figure 2.3a) uses 5 plates, while the upper collar, attached just below the knee, uses 6 plates. All plates in the tibial collar except the front plates are rectangular planar plates with 4 screws fixed in a rectangular array. The two front plates have been molded in order to resemble the front crest of the tibial bone. This ensures that there is minimum possible slipping between the collar and the tibia. The femoral collar (figure 2.3b) has 6 rectangular planar plates with 4 screws each. Due to the higher amount of muscle around the femur, a shape-fit molded plate will not prevent slip and is thus not used in this collar.

The hinge angles and the length of the flexible strap will be the only parameters of the collar that will vary with each experiment. The collars are adjusted for each patient by adjusting the hinge angles and tightening the elastic strap. The hinge angles when fixed ensure that the collar shape does not change and prevent random collar movements.

In our experiment, the collars house the sensors. Since the shape of each collar changes with each experiment, the position of reference points on each plate, with respect to the first plate, change too. For each experiment with a new user, we need to determine the hinge angles in order to know the location of the reference and attachment points in the global reference frame.

Labeling

The plates have been labeled according to the position they were first installed in. The modular design permits easy re-arrangement of the plates, with respect to the molded front plate. In our particular case, plates are labeled in the following sense:

-The front plate (for tibial collars) is labeled frnt_crst for upper (higher) tibial collar, and os_tibial for lower tibial collar. -First letter denotes whether the plate is on the lower or higher collar -'h' denotes higher collar -'b' denotes lower collar -Second letter denotes whether the collar is fixed to the tibia or the femur -'t' denotes collar is on the tibia -'f' denotes collar is on the femur -Third letter denotes the location of the plate with respect to the front plate, for tibial collars -'g' denotes plate is to the left of the front plate (as seen facing the collar) -'d' denotes plate is to the right of the front plate (as seen facing the collar) For the femoral collar, the letter is 'd' by default. -The number denotes the distance of the plate from the front plate, for example, 1 denotes that the plate neighbors the front plate, 2 denotes that it is the second plate from the front plate and so on. For the femoral plate, we count from the left-most plate.

Joint Pose Estimation

Our problem in analyzing the motion now reduces to getting a correct global and local reference system for the set of tracked points on the collar.

Unidentified Parameters

As the collar is adjustable, its shape will vary for each patient it is used on, and also vary during each set of experiments. Since it can be modeled as serial kinematic chain with revolute joints, the only parameters that vary are the hinge angles. Collar calibration, detailed later in Section 4.1, provides us with all relevant information about the collar, except the hinge angles θ i .

We thus have to identify the hinge angles θ i , and the location and orientation of a coordinate system for a collar-fixed reference frame before we can set up the functional coordinate systems. If we represent the orientation as a Rodrigues axis/angle representation (obtained from a unit quaternion representation), then for each collar we are tasked with identifying 6 parameters describing the collar coordinate system, and n hinge angles for a collar with n + 1 plates.

Sensor Data

As mentioned briefly in the introduction, our gait analysis system is equipped to use actuated and passive wire measurements, optical markers and inertial sensors. These sensors allow us to overdetermine the system. The available data from the sensor is listed in Table 2.1.

The problem of pose estimation from noisy data is well documented [START_REF] Haralick | Pose estimation from corresponding point data[END_REF][START_REF] Schwartz | A new method for estimating joint parameters from motion data[END_REF][START_REF] Spoor | Rigid body motion calculated from spatial co-ordinates of markers[END_REF][START_REF] Veldpaus | A least-squares algorithm for the equiform transformation from spatial marker co-ordinates[END_REF]]. However, we are confronted with multiple types of sensors, each with different noise characteristics. We are also faced with the problem of occlusions for optical markers.

A common approach to solving such problems, is to use a data fusion method [ [START_REF] Bar-Shalom | Multitarget-multisensor tracking : principles and techniques[END_REF]. Bayesian filter algorithms (or Extended Kalman filters) are commonly used [START_REF] Carman | Determining rigid body transformation parameters from ill-conditioned spatial marker co-ordinates[END_REF][START_REF] Corrales | Sensor data integration for indoor human tracking[END_REF][START_REF] Drolet | Adaptable sensor fusion using multiple Kalman filters[END_REF][START_REF] Picerno | Joint kinematics estimate using wearable inertial and magnetic sensing modules[END_REF][START_REF] Rao | Fully decentralised algorithm for multisensor Kalman filtering[END_REF][START_REF] Ringer | A procedure for automatically estimating model parameters in optical motion capture[END_REF][START_REF] Schepers | Ambulatory human motion tracking by fusion of inertial and magnetic sensing with adaptive actuation[END_REF][START_REF] Sun | Multi-sensor optimal information fusion Kalman filter[END_REF][START_REF] You | Fusion of vision and gyro tracking for robust augmented reality registration[END_REF] in such circumstances.

We implement a similar Extended Kalman Filter based approach for estimating the unidentified parameters.

The Kalman Estimator

The Kalman Filter is a linear estimator that uses a two step predictor-corrector structure to estimate the state of a discrete-time process. In this type of approach, a state variable x ∈ � n is used to represent the state of the system, and the measurements are represented by z ∈ � m . We present here a simplified overview, without control parameters, pertinent to our application.

For a process whose system dynamics are governed by a difference equation given by Eq. ( 2.3) and the measurements given by Eq. (2.4), the Kalman filter allows us to find the optimal estimate xk by using Eq. (2.3) to predict a 'a priori' estimate x - k , then correct this estimate using Eq. (2.4). w and v (in (2.3) & (2.4) are assumed to be unbiased, white noise in the process model and in the measurements respectively.

x k+1 = Ax k + w k (2.3) z k = Hx k + v k (2.4)
Matrices P k are defined by Eqs (2.6) while Q, R are the noise covariance matrices for process noise w and measurement noise v respectively. The a priori estimate covariance is given by the matrices P - k as defined by Eq. (2.5).

P - k = E[(x k -x- k )(x k -x- k ) T ]
(2.5)

P k = E[(x k -xk )(x k -xk ) T ] (2.6)
The equation (2.5) can be rewritten as,

P - k = AP k-1 A T + Q (2.7)
The optimal estimate is given by

xk+1 = xk + K(Hx - k -z k ) (2.8)
and the corresponding noise covariance is given by P k as

P k = (I -KH)P - k (2.9)
The matrix K in this equation is called the Kalman gain, defined as the matrix that minimizes Eq.

(2.6), and is given by Eq. (2.10).

K = P -H T (HP -H T + R) -1 (2.10)
The Extended Kalman filter bases itself on the principles of the Kalman Filter for systems governed by non-linear stochastic difference equations. The system equations, given in Eq. (2.11) & (2.12), are linearized around the current known estimates and covariance to get a linear approximation as in Eq.

(2.3).

x k+1 = f (x k , w)
(2.11)

x k = h(z k , v) (2.12)
For this linearized model, we get the Jacobian matrices for the functions as follows:

A [i,j] = ∂f [i] x [j] (x k-1 , 0) W [i,j] = ∂f [i] w [j] (x k-1 , 0) H [i,j] = ∂h [i] x [j] (x k-1 , 0) V [i,j] = ∂h [i] v [j] (x k-1 , 0) (2.13)
In a similar fashion to the linear Kalman Filter, the Kalman gain is obtained and is given by Eq.

(2.14).

K = P -H T (HP -H T + V RV T ) -1 (2.14)
with the terms P -defined by

P - k = A k P k-1 A T k + W k Q k-1 W T k (2.15)

Homogeneity & Decoupling

As has been mentioned in the Section 2.4.1, the robot end-effector (collar) is defined by its position and orientation along with the collar joint angles. Thus, our system state could be defined to be the 6+n unknowns (where n is the number of hinges in the collar).

However, in such a case, the estimate error given by Eq. (2.6) will contain dimensionally nonhomogeneous terms that mix distance units with angles and orientations. Such a quantity is geometrically meaningless, and the solution will depend on the choice of units chosen for the various parameters. Similarly, the Jacobian defined in Eq. (2.13) will depend highly on the units used. For example, changing the units for distances from mm to m does not scale the matrix uniformly. Thus the convergence of the estimated state to the actual state will highly depend on the units chosen for each parameter.

To avoid this problem, we decouple the states. We use separate estimators for the collar angles, collar location and collar orientation. This is aided by the fact that the collar angles remain constant over the period of the experiment.

Our approach thus can be broken down to the following steps:

-Set up the constant state system for collar angles, and use the measurements to estimate the collar angles -Use collar angles to set up a simplified non-linear system using which an EKF will estimate the pose of the collar -Collar pose estimates provide us with a body-segment fixed coordinate system. Set up Functional Coordinate System -Decompose Functional rotation information to clinically relevant Cardan angles With the overview of our approach described, we next detail the hardware and software components of our system.

MARIONET-REHAB

Résumé

Au sein de ce chapitre, nous explicitons les motivations qui déterminent notre choix d'équipement pour le système. Nous présentons les robots parallèles, ainsi que les capteurs et systèmes utilisés lors de l'élaboration de notre système MARIONET-REHAB.

Dans la section 3.2, nous détaillons les deux composants du robot parallèle à câblesle système actif à sept câbles et le système passif à sept câbles -ainsi que le référentiel défini pour ce robot. La section 3.3 détaille les capteurs inertiels attachés sur les colliers flexibles. Dans cette section, nous présentons également les méthodes de synchronisation, d'horodatage des données, ainsi que le calcul de la compensation permettant de représenter les données dans le référentiel adéquat.

La section 3.4 détaille le système de "motion capture", le logiciel utilisé et le format des données obtenues par ce logiciel. Ce logiciel n'enregistrant pas l'horodatage des trames, cette information doit être déduite grâce à d'autres capteurs. En utilisant trois points fixés, nous calculons la matrice de correction pour représenter les données dans le référentiel correct.

Finalement, nous détaillons trois composants installés dans le système utilisés dans le but d'enrichir l'information enregistrée par le système. Des capteurs de force plantaire nous donneront une mesure de la répartition de la pression, ainsi que la localisation du centre de force pour une analyse approfondie. Des capteurs de force sur le surface intérieure des colliers flexibles permettront un enregistrement de l'activité musculaire. Enfin, des capteurs IR seront utilisés pour mesurer la pose du tronc humain.

This chapter discusses the reasoning behind our experimental setup, and describes the hardware and associated propriety software used.

Motivations

The discussion on the knee gait analysis in the section 1.2.2 notes that the easiest methods of gathering gait data use skin-based markers or sensors. Skin based methods, however, are prone to STA which provide only incomplete information. The most reliable way of gathering knee joint motion, i.e using sensors fixed to intro-cortical pins, is too invasive and impractical. Optical imaging methods and skin based methods could be coupled to obtain a more robust method of analyzing gait.

The MARIONET-REHAB system has been developed keeping in mind the above factors. We detail the sensors and systems used in this setup in this chapter.

Wire driven Parallel Robots

Active Wire Measurement System

The MARIONET-REHAB is a seven wire parallel robot originally designed for modularity and speed. As already discussed, wire driven parallel robots are good candidates for rehabilitation robots and this work on knee-joint measurement is one of the first applications of the MARIONET-REHAB in this domain that is being investigated. The base of the robot is a 2m × 1.2m × 2m aluminium Figure 3.1: The MARIONET-REHAB frame, viewed from above frame, the inside of which encloses its workspace. The linear actuators (Copley Motion type M 2506) are fixed to this frame. The wire, one extremity of which is connected to the base, is coiled through a pulley system with alternating pulleys on the base and the mobile platform of the actuator. From the final pulley, the wire goes through a fixed opening fixed on the robot base. Figures 3.2a shows the schematic of this arrangement in detail and the actual system is shown in figure 3.2b.

The pulley system with K pulleys would act as an amplification factor of K between the actuator displacement and the wire length change. The motion of the linear actuator is measured by a linear incremental encoder with an accuracy of 1 µm [START_REF] Merlet | Kinematics of the wire-driven parallel robot MARIONET using linear actuators[END_REF]]. As a result, the accuracy of the wire-length for an actuator with a pulley system with K pulleys would be K µm, assuming a perfect parallelism of the wires between the pulleys. We note that in the current setup, the linear actuators are on passive mode and are back-drivable i.e their position is solely dependent on the displacement of the wire end. To ensure that the actuators can return to the 'zero' displacement position, coiled rotary springs of constant stiffness or elastic cables are used. These also ensure that the cables are under tension and that the actuators reflect the correct wire length.

The robot is controlled by a PC running Linux using custom built libraries developed previously.

Passive Wire Measurement System

We also use another seven wire parallel robot, using cable actuated position sensors. These sensors (POSIWIRE WS17KT, ASM, Germany) use stainless steel cables with a measuring range of 0 to 2500 mm, connected to precision potentiometers. The precision potentiometers give an analog output between 0 to 10V, essentially giving the system an infinite resolution. This system is connected to NI acquisition boards adapters, with LabVIEW software, to convert this analog data into wire length data. In our current setup we can obtain up to 1 µm accuracy for our measurements.

Each cable weighs approximately 1.5 kg and is preloaded with spring system to exert a tension force between 3.5 to 5.

Combined system

The architecture of the passive system is similar to the MARIONET-REHAB and the sensors are mounted on the same frame as the robot. Thus, we can also view this as a 14 wire measurement system, with 7 wires capable of being actuated. Henceforth, we refer to the actuated wires of the MARIONET-REHAB as the 'active wires', while those of the passive measurement system as the 'passive wires'. In our experimental setup, we will distribute the attachment of these active and passive wires over the collars on the tibial shank and the thigh. Thus, the thigh connected system and the tibia connected system can be considered as two separate cable-driven parallel robots whose end-effectors are connected by a 6-degree-of-freedom joint (the knee) which we intend to investigate.

CHAPTER 3. MARIONET-REHAB

Reference Frame

As the rectangular frame of the robot defines the outer limits of its workspace, our experiments will be performed inside this volume. Thus, a 'ground' or base frame G for all our measurements will be the frame of the robot. We utilize the rectangular frame to define the origin of the coordinate system fixed to G as one of the corners of the frame. The three edges at this corner define the orthogonal axes � x, � y, � z of this coordinate system frame.

All measurements recorded in this experiment, and calculations performed will be expressed in this coordinate system fixed to the ground frame/robot base frame G.

Inertial Sensors

Inertial measurement units with integrated 3D Magnetometers (3D compass), Accelerometers and Rate Gyroscopes are termed as MARGs. We use such a unit (MTx, Xsens Technologies B.V, Netherlands) in our experiments. It provides a drift-free 3D orientation as well as 3D acceleration, 3D rate of turn (angular velocity) and 3D earth-magnetic field. The sensors units are placed inside a plastic housing that is then attached to the collar (see figure 2.3a).

Synchronization

In our experiment, we fix one inertial unit on each collar on the patient body. The Xbus Master is a unit developed by Xsens to interconnect multiple Mtx Motion Trackers. It delivers power to the connected sensors and retrieves their data while they are sampled synchronously. The data collected is then transmitted via a USB serial cable or wireless Bluetooth link to a PC. The sampling frequency can range up to 512 Hz and the unit can also run on batteries, affording portability. In our experiments, Figure 3.5: The XBus Master along with a MTx inertial measurement unit, which is the main unit mounted on the collar Figure 3.6: The Phidget accelerometer, which may be added to the collar the Xbus Master unit is set to transmit the data wirelessly to a computer using the inbuilt Bluetooth 2.0 module. While up to 10 sensors can be connected to the unit, we use 3 (one per collar).

Timestamps

Each sensor can output the timestamp at which the data was recorded. The sensor has an internal clock with a 16 bit sample counter and Xbus Master uses these to synchronize all the sensors. It can also return the timestamp of the sampled data as the UTC time or as the 16 bit counter value. The UTC timestamp is in milliseconds.

Sensor Ids

The Xbus Master automatically detects the number of sensors connected to it. Each sensor has its unique device-Id number, which is recognized by the Xbus Master, which further assigns a sensor Id number. The sensor Id numbering runs from 1 to 10, depending on the number of sensors. The numbers are assigned according to decreasing device-Id numbers.

Drift free orientation

The sensors include a low-power signal processor that implements a custom designed Kalman Filter developed by the manufacturer. The Xsens Kalman filter for 3DOF orientation (XKF-3) uses the data from the magnetometers, accelerometers and the rate gyroscopes to calculate a statistical optimal 3D orientation estimate with no drift for static and dynamic movements. The drift inherent from integrating signal from angular velocity data (from gyros) is compensated by the measurement of gravity and Earth magnetic north.

The XKF-3 uses the magnetometer as a compass to stabilize the heading (Yaw) estimate. Local temporary disturbances are tracked by the filter and in the presence of strong or structural magnetic disturbances converges to the 'new' local magnetic north. The inclination (roll/pitch) is stabilized by using the direction of gravity which is found by assuming that on average the acceleration due to movement is zero. The documentation provided by the manufacturer suggests that this assumption is sufficient and accurate

Output data

The inertial system runs in 3 modes: Orientation output, Calibrated Data output or a Combined output mode. The Orientation output mode returns orientation with respect to earth-fixed frame G as either a unit quaternion, Euler angles, or as a Rotation Matrix. The Calibrated Data output mode returns packets containing accelerations, angular velocity and earth magnetic field. The combined mode returns data packets containing the orientation data along with the calibrated data. We use the inertial sensors in the combined output mode in our experiments.

Reference Frames

A coordinate system (S) is defined for the sensor body-fixed reference frame and is aligned to the external housing of the device. The x and y axes of this coordinate system are marked on the housing, and figure 3.7a shows them overlaid on the sensor.

The orientation output is defined as the orientation between this sensor-fixed coordinate system S and an earth-fixed coordinate system G, defined as:

-X positive towards local magnetic North -Z positive when pointing up -Y, according to right handed coordinate system (West) The orientation is expressed using the earth-fixed coordinate system. In case of the calibrated data, the readings are also with respect to G, but are expressed using coordinate system S. The origin of the coordinate system S, however, is not marked on the sensor housing. Note that for all output data except accelerations, the choice of the origin is not essential. While the MTx sensor is primarily an orientation sensor, we intend to use acceleration data too for our experiments. The acceleration readings output by the sensor is the 3D acceleration of the physical origin of the system S with respect to the earth-fixed inertial system G along with gravitation acceleration, expressed in the body-fixed system S. The origin for S is defined as the physical location of the accelerometer sensors, whose location is given in figure 3.7b, with respect to a point on the casing.

Reference Frame correction

The inertial sensors express the orientation using the earth-fixed coordinate system which, once the experimental setup has been installed, will hold a constant orientation with the MARIONET-REHAB reference frame. All of our measurements and calculations will be expressed in the system fixed to the MARIONET-REHAB frame and thus, the measurements from the inertial system need to be corrected. The rotation matrix or quaternion describing the rotation transformation between the earth-fixed system and the MARIONET-REHAB system will need to be identified.

For this, we affix one inertial unit to the frame of the system. The sensor is set to output the measured orientation of the accelerometer frame, expressed as quaternions. As noted in the technical documentation [Xsens 2009], the sensors stabilize within 10 seconds and thus ensure that if measurements are recorded for over 20 seconds, the measured orientation will be optimally stable. A separate calibration arm is used to measure the orientation of the accelerometer frame (which is marked on the housing, see figure 3.7a) with respect to the MARIONET-REHAB frame.

If R G E is the rotation matrix describing the orientation of the earth-fixed frame with respect to MARIONET-REHAB frame G, R E a is the measured orientation of inertial unit with respect to earthfixed frame and R G a is the orientation of the inertial unit with respect to G, we can write equation (3.1) that gives us the required correction matrix.

R G E = R G a (R E a ) T (3.1)
Note that the measurement R E a given by the inertial unit is prone to be noisy. While quaternion readings for the fixed pose of the unit showed only an error of the order 0.001, we implement an averaging method described by [START_REF] Markley | Averaging quaternions[END_REF] to get a single "accurate" correction value. This method overcomes two flaws of the standard scalar weighted average -(a) the resultant average is a unit quaternion, and (b) replacing samples q i by their equivalent quaternion -q i does not change the value of the average quaternion.

The quaternion averaging is performed by noting that the quaternions are all on a unit hypersphere and that we ideally want to average rotations rather than quaternions. The average quaternion should minimize the weighted sum of the Frobenius norm of the differences in the rotation matrices, as given in Eq. (3.2) q � arg min

q n � i=1 w i �R(q) -R(q i )� 2 F (3.2)
We can simplify this equation using the properties of the Frobenius norm, the orthogonality of matrices R, and the matrix trace function (denoted by T r), to write,

�R(q) -R(q i )� 2 F = 6 -2T r � R(q)R T (q i ) � (3.3)
Thus, the average quaternion q can be calculated as

q � arg max q 2T r � R(q) � R T (q i ) � (3.4)
The matrices R can be expressed in terms of the quaternions q and q i to further simplify the equation (3.4) and give us a 4 × 4 matrix M such that,

M = n � i=1 q i q T i (3.5)
which allows us to reformulate Eq. (3.4) to,

q � arg max q q T Mq (3.6)
The solution to this problem is known to be the eigenvector of M corresponding to the maximum eigenvalue [START_REF] Keat | Analysis of least-squares attitude determination routine doaop[END_REF]]. Thus, in our case, 2500 samples of the orientation were taken (at 100 Hz) and averaged by calculating the necessary eigenvector. This average quaternion, when used in Eq.

(3.1) for R E a , gives us the correction for the reference frame.

Additional Sensors

We also provide the option of adding more inertial sensors if needed. Three axis acceleration phidgets (figure 3.6) are small enough to be included on the collars to provide additional data. Depending on the additional information needed, we can either attach a 3-axis MARG sensor (Phidget Spatial 3/3/3, P/N 1056) or a 3-axis accelerometer (Phidget Spatial 0/0/3, P/N 1049) on collars directly. The small size ensures that other sensors and markers do not need to be removed to accommodate these new sensors.

The Phidget 1056 can measure accelerations up to ±5g with a resolution of 228 µg, and a noise level of 300µg in the X and Y axes and 500µg in the Z axis; angular velocity up to 400 • /s with a resolution of 0.02 • /s; magnetic fields in 3-axes up to ±4 gauss and provides a compass resolution of 400 µG. The Phidget 1049 also measures accelerations up to ±5g but is comparatively less accurate, with a resolution of 3.7 mg and a noise level of 2 mg in each axis. However, it provides a much higher maximum sampling rate of 1000 samples per second, as compared to Phidget 1056's maximum of 250 samples per second.

Optical Motion Capture

Reflective markers placed on an object can be tracked using a system of cameras to obtain their position in three dimensional space. We use a 12 camera motion capture system (Optitrack Full Body Motion Capture, NaturalPoint Inc, USA) to capture the motion of reflective markers fixed the collar. The 12 cameras are mounted on the frame of the MARIONET-REHAB (figure 3.8a), positioned in a way that the range of motion of the lower limbs in the experiment workspace is in the visible workspace of at least 4 cameras (figure 3.8b).

ARENA software

The system includes its proprietary software -ARENA Motion Capture. This software allows for up to sub-millimeter accuracy and includes a camera calibration wizard, a rigid body template creator, and a real-time 3D preview. The calibration wizard self calibrates the cameras using a 3 marker calibration wand and allows us to set up a coordinate system (C). A calibration square with 3 markers in a triangular arrangement is used to identify the origin and the orthogonal axes. The wizard also locates the position of cameras in this coordinate system. The rigid body template creator uses the motion of a marker set to create a template for a rigid body. This rigid body template can be loaded into the software for multiply trials and allows to track points of interest.

Output data & timestamps

The ARENA software saves 2D camera data, 3D point motion data, and calibration data in its proprietary file formats. However, it also allows us to export the data into the C3D file format [C3D Standard]. The format stores 3D coordinates and labels for all markers in a single file, and since the file format specification is open, the data can be easily read from it by custom software. However, the ARENA software does not record the timestamps of the samples recorded, but only ensures that the frame rate of the camera is fixed. In our case, we set the frame rate to be 100 fps. As timestamps are not present, correlating the marker data with other sensor data will be implemented in postprocessing functions, described later in this text. The basic idea is to identify an 'event' identifiable in all sensor systems and use its UTC time to synchronize the data.

Reference frame correction

While the ARENA software allows a calibration wizard to set the origin and coordinate systems, workspace constraints prevent accurate alignment of the optical motion capture system coordinate systems with the coordinate system G. Thus we include an additional post-processing step to correct the readings obtained from the motion capture system. The correction is performed by observing three fixed points in the optical system frame and the G frame. If P 1 , P 2 and P 3 are the three points, we can define a local frame M fixed to the three points with P 1 as the origin, P 1 P 2 as the x-axis and P 1 P 2 P 3 to define the x-y plane. If O defines the Optical system frame, then we can calculate the homogeneous transformation matrices H O M and H G M . Thus we can calculate the correction transformation matrix as, Figure 3.9: A pressure sensor with the Data Cuff Figure 3.10: Pressure distribution after right heel strike

H G O = H G M (H O M ) -1 (3.7)
All readings obtained from the optical motion capture system are then expressed in the G frame using the matrix H G O .

In-shoe Pressure Sensors

To study the variation of plantar pressure distribution we use in-shoe pressure pads (F-Scan Mobile, Tekscan, USA). The sensors are placed under the feet, inside the patients' shoes (figure 3.9), and the data is recorded on the receiver unit. This receiver unit is normally strapped to the patient's body and stores the pressure data until the unit is connected to a computer via USB.

The F-Scan sensors are made up of 960 individual pressure-sensing locations, arranged in rows and columns on the sensor. Resistance of the sensing elements (sensels) varies inversely with applied load. The system linearizes sensor output into digital counts, or "raw" values on a scale from 0-255. Calibration converts raw values into engineering units, such as psi or kPa. The sensor model 3000E used here has ranges of 517 kPa to 862 kPa (75 psi to 125 psi) [Tekscan].

The sensor system includes its proprietary software (F-Scan Mobile Research Foot) which controls the receiver unit parameters. The receiver unit is initialized using the software and then for the purposes of the experiment can be disconnected from the computer. After the experiment, the data can be downloaded to the computer using the software and visualized as seen in figure 3.10. This figure shows the pressure distribution in the right foot just after heel strike. By calibrating the system to the patient's weight, we can export pressure distribution, centre of force data, contact force and pressure values into ASCII data files, to be used for further analysis.

The exported data files number the samples with the frame number, while also including the frame-rate information and timestamp for the first sample. The meta-data in the ASCII files also includes information regarding the units, number of rows and columns of sensels (sensor pixels), spacing between the sensels, sensel area, noise threshold along with patient info that has been entered in the software.

Other sensors

We also have two other types of sensors that have been installed but not used in the current setup. The information from these sensors will augment the kinematic data for future research. We briefly describe the two sensor types. The sensors are 0.2mm thick with a 9.5mm diameter sensing area. The FlexiForce sensors use a resistive-based technology. The application of a force to the active sensing area of the sensor results in a change in the resistance of the sensing element in inverse proportion to the force applied.

IR Reflective sensors

An array of IR sensors is mounted on a frame fixed to the MARIONET-REHAB frame (figure 3.12) so that it points towards the patients' back. The sensors detect the presence of an object and provide a output sensor value that varies with distance between the object and the sensor. A planar reflective pad is fixed to a vest that will be worn by the patient. The array of sensors will detect the location of reflective pad. Since the shape of the pad is known, the output of the sensors can be used to calculate the pose of the reflective pad. This will enable us to calculate the pose of the trunk.

Résumé

Dans ce chapitre, nous donnons une description détaillée des étapes énumérées dans la section 2.4.3. Ce chapitre commence par discuter du problème de l'étalonnage, explique la nécessité d'un étalonnage "niveau 2" et en fournit une description. Afin de réaliser un étalonnage de notre système, un modèle cinématique du collier flexible est développé. Ce modèle utilise la convention de Hayati pour une chaîne cinématique et nous permet de décrire la pose du collier en fonction des paramètres (constants) connus et des paramètres inconnus. Nous expliquons notre choix d'utiliser la convention de Hayati plutôt que celle de Denavit-Hartenberg.

Nous présentons également dans ce chapitre une méthode d'étalonnage pour les chaînes cinématiques ayant des axes parallèles qui ne nécessite aucune mesure angulaires des articulations, contrairement aux méthodes existantes. L'étalonnage nous permet d'identifier leurs paramètres constants. Une fois ces paramètres identifiés, nous pouvons utiliser le collier expérimentalement, sa position et son orientation nous permettant de calculer le mouvement du genou.

Nous expliquons ensuite les problèmes générés lors de l'étape de localisation du collier à l'aide de capteurs multiples. Nous expliquons les procédures employées pour débruiter les données obtenues par le système du motion capture. Ces données nous permettent d'estimer les paramètres inconnus des colliers, qui restent cependant constants durant les expériences, en utilisant la méthode de "Kalman Filtering". Ce chapitre explique enfin la méthode de localisation du collier en utilisant les paramètres identifiés et justifie le choix méthodologique des filtres de Kalman pour la localisation.

With the experimental setup described, we now provide the detailed description of the steps described briefly in Section 2.4.3. This chapter first describes the approach developed to identify the collar parameters. Next, we briefly explain the calibration of the sensor reference systems. Once we have a model of the collar, we describe the Extended Kalman Filter (EKF) approach to identify joint angles in detail. Next, we set up the EKF system to estimate collar angle pose.

Finally we describe the standard approach to identify the functional coordinate system.

Sensor Collar Calibration

The collars described in Section 2.3 hold all the sensors and include the attachment points for the wires of the parallel robot. The collar (shown in Figure 4.1) includes fixed elements linked together by a single DOF hinge. Thus the configuration of the collar can be described as a function of the hinge angles. An important step, thus, is the identification of the kinematic parameters that describe the collar.

Classical calibration of serial chains generally deals with identifying a more accurate functional relationship between joint variable values obtained from joint encoder readings and end effector positions. A comprehensive overview of calibration methods and their classification can be found in [START_REF] Roth | An overview of robot calibration[END_REF]. Calibration includes finding an accurate relationship between joint encoder values and end effector positions ("Level 1"), improving the kinematic model of the chain ("Level 2"), and accounting for dynamic effects such as compliance, friction and clearance ("Level 3"). [START_REF] Wampler | An implicit loop method for kinematic calibration and its application to closed-chain mechanisms[END_REF] presents a unified method for calibration for both serial link and closed-loop mechanisms that uses the maximum-likelihood estimate to estimate the parameters. Work by [START_REF] Daney | Interval method for calibration of parallel robots: Vision-based experiments[END_REF]] presents an Interval Analysis based approach instead of optimization based approaches. Our goal here is to perform a Level 2 calibration, i.e identify the kinematic model of the serial chain.

This type of kinematic modeling is discussed in detail in [START_REF] Everett | Kinematic modelling for robot calibration[END_REF], which lays out the basic requirements of such an approach. Based on these ideas, a detailed approach using Product of Exponents (POE) formula has been laid out [START_REF] He | Kinematic-Parameter identification for Serial-Robot calibration based on POE formula[END_REF]]. The POE approach uses the twist/wrench representation of joint axes and the joint parameters to express the forward kinematics of a serial robot as product of exponents. The method uses the linearized approximation of this equation to obtain the effect of parameter and measurement errors on the end-effector pose. Thus, the calibration step reduces to writing the error between the nominal and actual end-effector pose as a cost function dependent on kinematic parameters to be minimized. The values of the parameters that minimize this error are used as the 'best' estimates of the kinematic parameters.

The "level 2" calibration procedures that involve setting up a kinematic model that is stable, followed by identification of the parameters are performed on the collar. We describe the steps in the following section.

Kinematic Model

The geometry of the collar allows us to treat it as a serial kinematic chain. The hinge angles are the joint variables and the plates of the collar are the links of the chain. The classical way to describe the pose of the chain (for any set of hinge angles) is to use the modified Denavit-Hartenberg representation [START_REF] Crane | Kinematic Analysis of Robot Manipulators[END_REF]]. The transformation between consecutive links is a function of 4 independent parameters. If the consecutive joint axes of a serial chain are parallel, the joint offset parameter d i in the modified DH representation is not uniquely defined by the geometry. The choice of the value is made taking practical constraints into account. However, when the consecutive axes are not strictly parallel and the axes directions are sufficiently close, the joint offset is uniquely defined but is highly sensitive to error in the other DH parameters.

The joint axes of the collar hinges are designed to be parallel. Thus, a DH representation will not be stable and we use an alternative method. Of the other methods available, we use the method suggested in [START_REF] Hayati | Robot arm geometric link parameter estimation[END_REF] and define an additional parameter instead of the regular DH parameters. This allows us to drop the parameter d i and use a representation that is more stable to errors in joint axes directions.

� z

1 � z � 1 a α � x 1 β O 1 -� y 1 � z �� 1 -� y �� 1 θ -� y 2 � x � 1 O 3 � z 2 � z 3 -� y �� 1 O 2

Joint Reference Frames

Refering to Fig. 4.2, we lay out the reference frames and their coordinate systems as follows:

-the � z i axis is in the direction of joint i -the origin O 1 of frame fixed to first joint is chosen according to practical considerations -define axis � x � i as the line passing through O i , perpendicular to � z i+1 -define � y i as the normal to the plane defined by � z 1 and � x � i , passing through O i -define � x i according to right-handed convention -origin O i+1 is the intersection point of � x � i and � z i+1 The frame defined using this method, for plate i, is denoted by D i . The transformation matrix between consecutive plate frames D i-1 and D i is given thus by eq. (4.1).

H i-1 i = Rot(y, β i ) • Rot(x, α i ) • Trans(x, a i ) • Rot(z, θ i ) (4.1)

Transformation Parameters

The 4 parameters that will define the transformation between the frames is given by the following:

β i the angle between � x i and � x � i , i.e the rotation angle about axis � y i to make � x i coincide with

� x � i -α i the angle between � z � i (obtained from rotation of � z i by angle β about � y i ) and � z i+1 -a i the distance between O i and O i+1 (along � x � i ) -θ i angle between � y ��
i and � y i+1 Plate 1 is treated as the fixed plate, and the joint axis labeled z 1 (and rotation about this hinge) as seen in figure 4.1 need not be considered. The origin of this fixed plate, O 1 , is chosen to be the point O as seen in the figure, coinciding with one of the screws fixed to the left-most plate. In the closed configuration, the model of the collar having n links (plates) is given by eq. ( 4.2). Referring to Fig. 4.1, the axis Z i corresponds to the axis of joint rotation z in the representation of H i-1 i .

I = H 1 2 • H 2 3 . . . H i i+1 . . . H n 1 (4.2)
Once all parameters have been identified, eq. ( 4.2) is a set of equations in the n joint angles.

The collar shown in Fig. 4.1 has 6 plates -'htg1', 'frnt_crst', 'htd1' to 'htd4'. The seventh link is the flexible strap. We treat 'htg1' as the base plate of the serial mechanism. Figure 4.3: Model of collar components: P 1 , P 2 , P 3 , P 4 are defined at the base of the screws. Points P 5 , P 6 , P 7 , P 8 are the tips of screws. Lines P 1 P 5 , P 2 P 6 , P 3 P 7 , P 4 P 8 define the four screws. These 8 points are the reference points for each plate. Axes for frames L i-1 and D i are also shown.

Additional Reference Frames

We define the following frames: -Let F be the reference frame fixed to base plate htg1. Referring to Fig. 4.1, point O is considered as the origin, line ON as the x-axis, and XY plane given by the points ONS. Referring Fig. 4.3, O corresponds to P 3 , S corresponds to P 1 and S corresponds to P 4 . -As defined in the previous section of this chapter using Fig. 4.2, D i is the frame associated with the joint as described by the Hayati convention [START_REF] Hayati | Robot arm geometric link parameter estimation[END_REF]]. Thus, H i-1 i is transformation matrix between D i and D i-1 , given by Eq (4.1).

-Let L i be the frame fixed to plate i. Referring to Fig. 4.3, P 1 is the origin of this coordinate system, with P 1 P 2 as the x-axis and point P 3 lying in the XY plane of this system. For the particular case of the reference frame F , the z-axes of the two frames are not parallel. Thus the transformation between frame F and hinge frame D 2 to align z-axis with the hinge axis Z 2 can be expressed in terms of four fixed parameters which are given by the standard DH convention. This also allows us to define the origin of of frame D 2 uniquely and thus set up the frames for subsequent axes.

Thus, H F 2 is given by Eq (4.

3), and it includes the joint rotation angle, about the second axis. Note that this angle θ 2 is the only parameter that is pose dependent.

H F 2 = Rot(z, φ) • Trans(z, d) • Rot(x, α) • Trans(x, a) • Rot(z, θ 2 ) (4.3)
Let P be any point on plate i. Let P F and P i be the coordinates of P expressed in the reference frame F and plate fixed DH frame D i respectively. Then we obtain the equations Eq (4.4) & (4.5). In any configuration, P i will be a constant.

P F = H F i • P i (4.4)
where,

H F i = H F 2 . . . H i-1 i i ≥ 3 (4.5)
The location of P in the frame F is thus dependent on n unknown hinge angles. The other parameters in Eq. (4.4) are constants and will not change between experiments.

Parameter Identification

We are dealing with a serial chain with a simple geometry and without joint encoders. The presence of attachment and reference points on the collar plates also allows us to take pose measurements of each plate. Rather than treating the entire collar as a single kinematic chain to be identified, we treat the problem recursively. We identify the plate parameters progressively, using data obtained from plates 1 . . . i to identify parameters for plate i + 1. This calibration process consists of two stages. The first stage is to identify the constant parameters of the collar that are independent of the collar pose. This stage is done before the experiment. The next stage consists of identifying the joint angles once the collar has been fixed on a patient for an experiment. This stage of calibration is performed during the experiment.

Notations

-G i : the transformation matrix between frames L i and D i -M F i : the transformation matrix between frames L i and F -M F ik : the transformation matrix when plate i is in pose 'k' -R F ik : the rotation submatrix of M F ik -R pq : The rotation transformation for plate pose 'p' with respect to pose 'q' i.e R F ip (R F iq ) T -Ppq : the translation vector corresponding to R pq -H (i-1) i : the Hayati transformation matrix as given by Eq.( 4.1) -R (i-1) i : the Hayati rotation submatrix component of H (i-1) i -H F i : the Hayati rotation matrix with respect to F , as given by equation ( 4

.5) -R (i-1) i : the Hayati rotation submatrix component of H F i -H (i-1) * i : the Hayati transformation matrix without the joint rotation, i.e H i-1 i • Rot(z, -θ i )
-H F * i : the Hayati rotation matrix with respect to F , without the i th joint rotation, i.e

H F * i = H F i • Rot(z, -θ i ) (4.6) -t � i = [t ix , t iy , t iz ] : the translation component of G i -q � i = [q ix ,
q iy , q iz ] : the rotation component of G i expressed as Rodrigues' parameters α, φ, a & d : constant joint parameters for first plate, as given by Eq (4.3) n : number of plates m : number of significant points on each plate l : number of poses assumed by each plate for calibration -Q 1 : a point on hinge axis i F

M F i-1 H F i-1 H i-1 i D i-1 D i G i L i-1
base plate plate i The transformation matrices can be visualized in Fig. 4.4. Note that M F i can be calculated based on measurements of reference points P 1 to P 8 . As described earlier, M F i is defined such that the origin of L i is at P 1 , the x-axis is along P 1 P 2 and P 3 lies on the XY plane. Since the transformation relating the fixed plate to the axis � z 2 is determined using a DH convention, the identification process is described first.

Identifying Fixed Plate Parameters

Our approach can be briefly summarized as follows:

-Identify the best estimate for location and direction of the hinge axis from measurements of the plate in multiple poses -Use the hinge axis line to calculate the unknown joint parameters For the first two plates, we can write Eq (4.7). Note that from eq (4.3), H F 2 is a function of 5 variables -a, d, α, φ and θ.

M F 2 = H F 2 • G 2 (4.7)
We also note that the motion of plate 2 with respect to plate 1, is a rotation about a fixed axis. If l poses of the plate 2 are known, the axis of the hinge (the � z 2 axis) is the helical axis of rotation. Thus, � z 2 is the eigenvector (for eigenvalue 1) of all matrices R pq corresponding to the poses of plate 2. A point on plate 2 that coincides with the hinge axis will remain stationary during the motion from pose p to pose q. We can thus identify the axis of rotation (the hinge axis) uniquely from the measurements and then use this information to identify the other parameters.

In order to get the best estimates for pose 'p' of the plate, we note that the plate has m (8 in this case) significant points that we can measure. However, our measurements will be noisy and this can give rise to errors. In general, we need a minimum of 3 non-collinear points to define a frame and the presence of additional points allows us to compensate for the error in pose estimation. We use a least-squares algorithm that uses position data from all points to estimate each transformation matrix R pq [START_REF] Haralick | Pose estimation from corresponding point data[END_REF][START_REF] Spoor | Rigid body motion calculated from spatial co-ordinates of markers[END_REF][START_REF] Veldpaus | A least-squares algorithm for the equiform transformation from spatial marker co-ordinates[END_REF].

For l poses obtained by rotating the plate about the hinge, we can get l(l -1)/2 rotation matrices. Each of these matrices has the same eigenvector (the hinge axis � z 2 ) for eigenvalue 1. Thus we can find the hinge vector as the unit vector that minimizes the function by the equation:

f (z) = � i,j=1...l i� =j,|� z|=1 |(R ij -I)� z 2 | 2 (4.8)
In order to identify the four joint parameters in Eq (4.

3) we note that, z 2 is also given by,

R F 2 • � 0 0 1 � T = � z 2 (4.9)
which simplifies to,

� sin (α) sin (φ) -sin (α) cos (φ) cos (α) � T = � z 2 (4.10)
Eq (4.10) allows us to calculate a pair of solutions of φ and α. We now need to identify the distances d and a for the first plate. As all points on the hinge axis will remain stationary, we can write the following vector equation for all rotations R pq and their corresponding translations Ppq acting on points Q on the hinge:

R pq • Q + P pq = Q (4.11)
Or,

(R pq -I) • Q + P pq = 0 (4.12)

(R pq -I) is singular, and we can choose to solve for a specific point Q 1 by fixing one coordinate. Since these coordinates are in frame fixed to plate in pose 'p', we choose to solve with "y" coordinate of Q 1 (in the plate fixed reference frame at pose 'p') to be zero. We get "best" point Q 1 using least squares method by finding the point This equation gives us Q L 1 , from which we can get the coordinates in global frame using Eq.

(4.14),

Q F 1 = M F 2,1 Q L 1 (4.14)
We have identified a point on first hinge axis and the direction of hinge axis, and thus we can identify a and d uniquely. This is because origin of frame defined in Section 4.1.1 is located on � z 2 is of the form Q 1 + λ� z 2 . Thus for the origin O F 2 of the frame D 2 we have, (from eq. 4.

3):

O F 2 = H F 2 • � 0, 0, 0, 1 � T (4.15)
Or,

o x = a • cos φ = q x + λ • z 2x o y = a • sin φ = q y + λ • z 2y o z = d = q z + λ • z 2z (4.16)
The unknowns in this set of linear equations are a, d and λ, and the equations can be reformulated as, a cos(φ)λz 2x = q x (4.17)

a sin(φ)λz 2y = q y (4.18)

d -λz 2y = q z (4.19)
Using Eq. ( 4.10), we get

   cos(φ) -sin (α) sin (φ) 0 sin(φ) sin (α) cos (φ) 0 0 -cos (α) 1       a λ d    =    q x q y q z    (4.20)
The determinant of the matrix of this system of linear equations simplifies to sin(α), and thus, the system will not have a unique solution only when α = 0, π. However, the geometry of the collar frames and the hinge axes ensures that the z-axis of F is perpendicular to the plane of the plate, while the hinge axis is almost parallel to the plane. This ensures that α is never zero and the system of equations can be solved to yield a unique solution. Thus we identify the parameters of Eq. (4.3).

Identifying Subsequent Plate Parameters

In order to identify the parameters for the general matrix H i i+1 , the approach followed is similar. The hinge axis is estimated using equations similar to Eq. (4.8). Similar to Eq. ( 4.12), we find a point Q i+1 on the hinge axis � z i+1 (note that here we assume we have converted the coordinates into base frame coordinates using (4.4)

(Q i+1 + λ i � z i+1 -O i ) T z i+1 = 0 (4.21)
which simplifies to give λ i directly as,

λ i = (O i -Q i+1 ) T z i+1 (4.22)
and allows us to calculate

O F i+1 = Q i+1 + λ i � z i+1 . Next,

by the definition we have

Õi O i+1 = � x � i .
According to the definition of the axes, � y i is perpendicular to the plane defined by � z i and � x � i , and thus � y i can be calculated by the Eq.(4.23)

� y i = � z i × � x � i |� z i × � x � i | (4.23)
Finally, � x i is obtained by the right hand rule using � y i and � z i . This allows us to calculate β i , as the angle between the � x i and � x � i . The distance a i is given by,

a i = � Õi O i+1 � (4.24)
The vector � y i can also be expressed as,

� y i = R F i,θ i-1 • y (4.25)
allowing us to calculate θ i-1 .

The final unknown α i can be calculated using Eq. ( 4.26) which expresses the condition that � y �� i is perpendicular to

� z i+1 . � R F i,θ i-1 • Rot(y, β i ) • Rot(x, α i ) • y � T • � z i+1 = 0 (4.

Identifying Plate-Fixed Frames

The matrices G i are essential as they allow us to use a plate fixed frame to define the attachment points in an invariant representation. The global coordinates of these points can then be represented solely in terms of the variables θ i which change as per the experiment. Thus, we have to identify the 6 unique parameters -translation vector t i , and rotation quaternion q i (expressed in Rodrigues' formulation). Since we identify θ i-1 in Eq. ( 4.25), we thus can calculate H F i . Also, the measurements of the points allow us to calculate M F 2 . We have the equation,

M F i = H F i G i (4.27)
Or,

G i = H F i -1 M F i (4.28)
which gives us the six parameters.

Thus separating the problem of calibration into a problem of identifying the hinge axis in the global frame allows us to uniquely determine the parameters in the Hayati representation. This identification process has to be carried out just once for each collar.

Pose Estimation

With the collar parameters already identified, we are now ready to use the collar in the experimental setup. While the pose of the collar could be determined using just 3 optical markers on one plate, our aim is to use data from all sensors to improve pose estimate.

Pose estimation and tracking are commonly encountered problems addressed in robotic systems. Identifying the collar angles, the location of collar origin and the collar orientation will uniquely identify the "state" of our system. Based on the measurements obtained from our sensors, we can estimate this state. However, the measurements are prone to error, and filtering needs to be applied to obtain accurate estimates. To address the uncertainty of the system, Bayesian filters are useful statistical tools that enable probabilistic estimation [START_REF] Bar-Shalom | Multitarget-multisensor tracking : principles and techniques[END_REF][START_REF] Fox | Bayesian filtering for location estimation[END_REF].

The errors in the model and measurements are represented as random vectors and can be expressed using their probability density functions. It has been proved that the optimal least squares estimator depends only on the first and second moments of the error vectors in case the system is linear [START_REF] Rhodes | A tutorial introduction to estimation and filtering[END_REF]]. Additionally, when these errors are Gaussian the estimator function is a linear function. We must note here that the errors in the system we use are definitely not Gaussian. However, the assumption of Gaussian errors allows us to formulate a gross approximation that can be used. In case of simple systems with simple models and relatively small errors, this approximation is quite sufficient for analysis. The Kalman Filter is a linear estimator for a simple linear system. If the errors of a linear system have a Gaussian distribution, then it can be proved that this Kalman Filter is identical to the optimal least squares estimator.

A position tracking problem can be represented as a linear system, allowing easy implementation of the Kalman filter. As noted by [START_REF] Fox | Bayesian filtering for location estimation[END_REF]], the Kalman filter is the most efficient in terms of computation and if accurate & high frequency sensors are present, it might the best choice of filters, even if the error distribution is not Gaussian. In certain cases, data fusion based on the Kalman filter may yield more accurate estimates than the more general particle filter [START_REF] Corrales | Sensor data integration for indoor human tracking[END_REF] while tracking location data.

To analyze non-linear dynamic systems, a common approach (i.e the Extended Kalman Filter) is to linearize the process and measurement models and use the linear Kalman filter on this modified system. This suffers from two major drawbacks: requiring Jacobian matrices and linearizations possibly leading to filter instability, but as [START_REF] Laviola | A comparison of unscented and extended Kalman filtering for estimating quaternion motion[END_REF]] investigates, the sensor frequencies of 80 Hz or above overcome filter instability issues. Jacobian calculations can be simplified by choosing the process and measurement functions well.

Further, the Kalman filter can be designed to be dynamic, accounting for the variations in the sensor accuracy, and can also be designed to account for the differences in individual sensor properties. As we use multiple types of sensors, this allows us to easily incorporate a way of weighing different sensors differently. This leads us to consider an Extended Kalman Filter based approach to estimate the state of our system.

As the parameters to be identified are of differing dimensions (or units) we use a decentralized approach. We use two Extended Kalman Filters for each non-linear sub-system. The first EKF allows us to estimate θ's (collar joint angles) using only optical markers. Once θ's are obtained, all local information for collars is obtained, and we only need to identify the position and orientation of the collar frame of reference. A second EKF is then used to estimate the collar pose.

Notations

-G : Base reference frame fixed to MARIONET-REHAB frame np : number of points of interest on the collar.

-P 1 . . . P np : points of interest on the collar.

-P o : origin of reference frame attached to collar n : number of plates θ i : hinge angle between plate i and plate i+1 o m : number of optical markers a : number of accelerometers l : number of wire sensors (length measurements) -P t1 . . . P tom : points among P 1 . . . P np containing the m markers -P w1 . . . P w l : points among P 1 . . . P np containing the l wires -A w1 . . . A w l : points on base that are connected to respective P wi by wires -D 1 . . . D n : plates on the collar -D v1 . . . D va : plates containing the a accelerometers & gyroscopes qa i : orientation (wrt global) output by the i th accelerometer q ic : calibration quaternion to convert from accelerometers' global (Earth fixed) frame to MARIONET-REHAB frame (G) z ai : acceleration output by the i th accelerometer -O : origin of the global reference frame q t : quaternion describing orientation of collar reference frame wrt global (4×1) s(t) : position of point P o at step t (3×1 vector) ṡ(t) : linear velocity s(t) : linear acceleration ω(t) : angular velocity of collar -ΔT : time step between successive states d tij : distance between points P ti and P tj

Data Track Cleaning

A sample plot of the data obtained from the optical marker software (see figure 4.5) demonstrates that the software is prone to misidentification of points, which can lead to erroneous calculations. However, the ARENA software identifies all visible points and stores their positions. Thus, in case of misidentification of points, we can simply search through all the point data for a given frame and correct the label assigned. In such a scenario, we manually verify that the first 200 frames of the data (2 seconds, when recorded at 100 Hz) is correctly labeled. For each point, we can use the position information from the preceding frames to restrict our search space to a cuboid defined by the extreme diagonal points

�

x min y min z min � and � x max y max z max � . We use the "nearest neighbor" approach to identify the point in the next frame of the data track correctly. Additionally, since the Thus if � v max is the maximum possible velocity (we choose 1.5 m/sec, or ~5 kmph) for a marker, then for estimating the position � p t at time step t, we can write the distance equation as,

|� p t -� p t-1 | ≤ ΔT • � v max (4.29)
Similarly, since the motion is smooth, we can assume that the change in velocity direction is bounded to lie between 0 and π/2.

(� p t -� p t-1 ) T • (� p t-1 -� p t-2 ) > 0 (4.30)
When the tracks are labeled correctly in a given frame, we can assign a 'confidence factor' (the value 1) to the measurement. In case the marker has been blocked or is not tracked by the software, the above method will not get us the right point as we are searching only through the list of identified tracks. We can then assign the 'confidence factor' a value of 0 to denote that the measurement in that particular frame is completely erroneous. The implementation of the above method on the data shown in figure 4.5 gives us a resulting plot shown in figure 4.7. Note that further noise processing has to be done using low-pass filters.

Collar Run-time Recalibration

The current setup allows us to put multiple optical markers on the collars and obtain 3D position estimates for the points on the collar. Since we have n -1 unidentified hinge angles, we will need at least as many equations or constraints. At least n markers are distributed over the collars. While the presence of accelerometers or other sensors may prevent having a marker on each collar plate, we can have plates with multiple markers.

System process model

To calculate plate hinge angles, the model used is the constant system model. Since θs are constant once the collars are fixed to the patient, we have:

Θ t = Θ t-1 + w t-1 (4.31)
where Θ = [θ i ] T and w k-1 is vector of process noise. The measurements are to be expressed as a vector z Θ ∈ � m given by the equation:

z Θt = h(Θ t , v t ) (4.32)
where v t denotes the vector of measurement model noise.

The process noise covariance can be assumed to be very small, since we know this model is accurate. Also, since the hinge angles are independent of each other, this process noise covariance will be a diagonal matrix. Noting the equations (2.15) & (2.14), we note that a smaller value of Q signifies a more "accurate" model, and lesser dependence on the measurements.

Measurement model

Since we use only the optical markers to calculate the collar hinge angles, our measurements give us positions of the markers in the global frames. The sensor collar calibration allows us to write the positions of marker attachments points with respect to an origin fixed to the collar. However, as we do not have a information about the pose of the collar, we can reformulate this to a set of distance equations that avoid the need for position and orientation data of the collar fixed reference frame with respect to the global MARIONET-REHAB frame. The distances between various points of interest on the collar are thus expressed as functions of the θs. These distances d tij are non-linear functions of the state vector Θ. The measurement vector z Θ is defined to be the vector containing the distances d tij .

Noting that Eq (4.4) gives us the position of a point on the collar in the frame fixed to the collar, we note that

d tij = h ij (θ 1 . . . θ n-1 ) . . . 1 ≤ i < j ≤ o m (4.33)
Joint angles (radians)

Frame number

Collar joint angle estimates

θ 1 θ 2 θ 3 θ 4 θ 5
z Θt = � d tij � . . . 1 ≤ i < j ≤ o m (4.34)
We linearize Eq. ( 4.32) using its Jacobian matrix H Θ . To set the measurement noise covariance matrix R, we note that for optical markers, we have additional information on when measurements are absolutely inaccurate, given by the confidence factor values. Thus, our covariance matrix is time dependent, with larger variance values for optical markers at frames (or time steps) where we know optical measurements to be completely inaccurate. Using the approach described in Section 2.4.2 by substituting Eq. (4.31), (4.33) and (4.34) we can obtain an estimate for the collar hinge angles.

Our measured distances are in the range of 0 -0.2 meters, with errors ranging from 10 mm for usable readings and over 100 mm in case of inaccurate frames. Thus the entries in the matrix R will contain terms of the order of 1e-3 meters in case of usable frames and in order to discard the erroneous frames, terms of the order 1e-1 meters for the corresponding frames.

We reproduce relevant equations from Section 2.4.2 for easy reference to explain the choice of covariance matrices Q and R.

K k = P - k H T k (H k P - k H T k + V k R k V T k ) -1 (4.35)
where P - k is defined by

P - k = A k P k-1 A T k + W k Q k-1 W T k (4.36)
As seen from equation (4.35) and ( 4.36), the gain matrix K is affected by the choice of R and Q.

The choice of Q and R allows us to tune the performance of the filter to better reflect the accuracy of the model and measurements. In the simplest sense, equation (4.35) tells us that the entries of K depend inversely on the value of R and proportionally to Q. Note that this is a highly simplified explanation intended to only convey the sense of the equations. It permits us to note that in case measurement errors are large compared to process model errors, the gain matrix will be less sensitive to measurement errors and estimate a state primarily using the process model, and vice versa. Thus, to better reflect the accuracy of your process model, the entries in Q have to be significantly smaller than those in R. We choose our matrix Q to be a diagonal matrix with entries 1e-5 meters which allows us to obtain a set of estimates that converge, as seen in Fig. 4.8. Lowering these values further allows us to minimize the effect of errors in measurements on our estimates. However, noting the equation (4.35), we note that too low values for Q would make the gain matrix K too small. This would result in the Kalman Filter essentially ignoring the measurements (assuming them to be highly erroneous) resulting in a slower convergence rate which may not give us the right solution.

Collar Pose Estimation

To describe the pose of the collar, we need to describe the position of a reference point, and the orientation of a coordinate system fixed to the collar frame. Assuming a constant acceleration model for the motion of the origin P o , we can write the following time-discretized equation of the motion:

s(t) = s(t -1) + ΔT • ṡ(t -1) + 1 2 ΔT 2 • s(t -1) (4.37)
Choose P a (the origin of the frame fixed to a accelerometer) as P o . The reasons for this choice will be explained when we describe the measurement model. The state equation is a linear difference equation. Thus the state variable is qiven as:

x = � s T , ṡT , sT � T (4.38)
Note that to describe the complete state of the motion of the collar, we also need orientation (and rotation) information. This information is given by the accelerometer system, which implements its own EKF to estimate the orientation data. Estimating rotation components in the same models as the displacement components will give us a dimensionally non-homogeneous and meaningless model. Thus our state contains only the information about the motion of a reference point on the collar. We will utilize the orientation information in forming the measurement model. Eq. (4.37) & (4.31) give us the process equation as:

x(t) =    1 ΔT 1 2 ΔT 2 0 1 ΔT 0 0 1    • x(t -1) (4.39)

Measurement Model

Considering the information we obtain from the distance, & wire sensors, accelerometers, optical system etc. we have a large number of equations, most of them non-linear, that relate the state of the equation to the measurements and known constraints. We list the different types of equations that we can write below.

The optical markers provide us with information relating to the motion of P o , by giving us 'o m ' vector equations of the form:

--→ OP ti = --→ OP o + � f i (Θ, q) (4.40)
where, f i is a function describing the vector between P o and P ti . Next, we consider the wire sensors. These allow us to write the following equations:

� ---→ OP wi � = � --→ OP o + � f p i (Θ, q)� (4.41)
where f p i , representing � P 1 P si , is a function of constants (plate lengths, local coordinates etc obtained from collar calibration), and θ's expressed as a vector Θ. P si is one point out of P w1 . . . P w l . The left side of this equation is expanded to give,

---→ OP wi = ---→ OA wi + -----→ A wi P wi (4.42)
And this can be used to simplify Eq (4.41), to give

� -----→ A wi P wi � = � --→ OP o + f p i (Θ, q) - ---→ OA wi � (4.43) � -----→ A wi P wi � 2 = �s + RqP w(loc) - ---→ OA wi � 2 = s � s + 2s � � RqP w(loc) - ---→ OA wi � + �P w(loc) � 2 + �OA wi � 2 (4.44)
Thus we have, 'l' such scalar equations.

Using the accelerometers, we have

s = Rq(z ai + α × ---→ P o P a + ω × (ω × ---→ P o P a )) (4.45)
where P a is the location of the accelerometer sensor and where, Rq is the rotation matrix corresponding to quaternion q = q ic • qa i , as given by Eq. ( 4.46)

Rq =    
2 q 0 2 + 2 q 1 2 -1 2 q 1 q 2 -2 q 0 q 3 2 q 1 q 3 + 2 q 0 q 2 2 q 1 q 2 + 2 q 0 q 3 2 q 0 2 + 2 q 2 2 -1 2 q 2 q 3 -2 q 0 q 1 2 q 1 q 3 -2 q 0 q 2 2 q 2 q 3 + 2 q 0 q 1 2 q 0 2 + 2 q 3 2 -1

    (4.46)
Eq. ( 4.45) can be rewritten (with measurements and state elements separated) as,

z ai = Rq T s -(α × ---→ P o P a + ω × (ω × ---→ P o P a )) (4.47)
The location of P a , in the frame fixed to the plate to which the accelerometer is attached, is obtained from calibration. Thus P o P a is a function of Θ, which has been calculated in the previous steps and so is a known quantity. We note that for this equation, we will need information about angular acceleration. Our sensors do not provide this information, and rather than calculate this term we choose for the origin to coincide with P a . This simplifies the equation to Eq. ( 4.48)

z ai = Rq T s (4.48)
Thus we can set the measurement/output vector z by stacking the following :

-vectors P ti -scalars � -----→ A wi P wi � 2
-acceleration vector z a We also note that for our Extended Kalman filter, we are concerned with the Jacobian 'H' of the measurement function f

H [i,j] = ∂h i ∂x j (x(t), 0)
Eq. ( 4.40), (4.44) and (4.48) provide a way to calculate this.

Measurement Noise Covariance

From our measurement vector, we note that noise in measurements from one sensor is uncorrelated to noise in other measurements. In case of optical markers, we have additional information about time-steps when measurements are absolutely inaccurate. On the other hand, the other measurement systems demonstrate a consistent behavior. Thus, our covariance matrix is time dependent, with larger variance values for optical markers at frames (or time steps) where we know optical measurements to be completely inaccurate.

Active wire sensors exhibit very low noise and the covariance can be considered to be of the order of 1 × 10 -6 , if readings are taken in m. Passive wire sensor readings can be passed through a low-pass filter and their covariance can be considered to be of a similar order. The acceleration measurement has a noise covariance of 0.1 m/s 2 , as given by the calibration tests.

For the optical marker, we set the max limits for the error as 10 mm (we consider the infinity norm) with a standard deviation of 8. This is obtained from the measurements of 3 fixed points, with over 8000 frames. We choose the highest value of standard deviation from the 9 sample random variables (x, y, z coordinates of 3 points). These values are chosen for the cases where the measurements are known to be not inaccurate. For the inaccurate frames, we choose the covariance values to be at least 100 times higher, and set it to be 1 m. This allows the filter to ignore the occluded or mislabeled optical data.

Thus, this model gives a higher weight to the readings obtained from wire sensors and the accelerometers than the optical markers, especially so in the cases where we have occurrences of occlusion, to calculate the position of the accelerometer origin.

This above method of pose identification is performed on all collars attached to the body segments to give us the body fixed reference frames.

Résumé

Nous décrivons au sein de ce chapitre nos expérimentations, les configurations des capteurs, l'architecture matérielle, ainsi que les données obtenues par ces expériences. Nous détaillons le protocole expérimental choisi ainsi que les méthodes utilisées pour synchroniser les données issues de plusieurs capteurs.

La première section de ce chapitre présente les expériences réalisées, ainsi que le protocole suivi pour ces expériences et le temps nécessaire à chaque étape. La deuxième section porte sur le problème du filtrage et la synchronisation des données. Nous décrivons les filtres passe-bas utilisés pour chaque capteur et la méthode employée pour synchroniser les données issues du système de motion capture avec celles obtenues à partir des autres systèmes. Nous proposons une démonstration de la méthode décrite dans le chapitre 2 et calculons les paramètres constants pour nos expériences.

Enfin, le chapitre examine les problèmes posés par notre méthode et les raisons expliquant les erreurs dans nos résultats. Nous suggérons alors différentes améliorations qui pourront être apportées à notre système.

In order to test our methods for identifying knee joint motion, a number of trials were conducted. The aim was to study the usability of the rehabilitation system, the effect of sensor placement on data coherence and effectiveness of the proposed method in identifying knee motion. We discuss these experiments and the data obtained from them in this chapter.

Experimental Trial

The experimental trials were conducted on three healthy male volunteers. The volunteers were informed of the possible risks associated with using wire driven parallel robots. Multiple trials were done with varying locations of the optical markers and wire attachment points. Each experimental trial consisted of at least five sets of runs with steady walking activity performed by the volunteer. Overall, around 20 gait data sets were obtained from our experimental trials. Though the experiments were performed without medical supervision, they allowed us to gain a better understanding of the modifications needed to the experimental setup. We describe the sensor configuration and marker placement for one set of the experiments to demonstrate the procedure described in Chapters 2 and Section 4.2. This set of data was chosen as it allows offers us the most easily usable data set while also highlighting the problems encountered. We also discuss the problems of post-processing and synchronization of data that is effected by the choice of the sensor configuration.

Sensor Configuration

In our experiments we use three collars -two are fixed on to the tibia, and one on the femur. The collar descriptions are given in Table 5.1. Thus, we have to identify five hinge angles for the femoral and upper tibial collar each, and four for the lower tibial collar.

As we use the optical markers to identify the hinge angles, the collar configurations put a lower limit on the number of markers needed for each collar. While fewer optical markers could be used, unique solution to the equations cannot be guaranteed. This could be offset by using information from other sensors, but in such a case the EKF model would differ significantly. In addition to the markers, we also use one accelerometer on each collar. The femur and tibia are modeled as two rigid end-effectors of two cable-driven parallel robots and thus we choose to connect six cables to each. Further, as two collars are connected to the tibia and linked together semi-rigidly, the two remaining cables are also connected to the tibial collars. Finally, noting the comparatively smaller size of the lower tibial collar, we choose to unevenly distribute the eight wires to be connected to the tibial collars. Thus, the 14 wires are distributed over the three collars in the following way: (a) six wires on femoral collar (b) five on upper tibial collar, and (c) three on the lower tibial collar.

Collar

The collars were attached to the left leg of the subject. Three optical markers were also fixed to the MARIONET-REHAB frame in order to allow us to correlate the optical system's reference frame to the global reference frame (as described in Section 3.4.3). The pressure sensors were inserted in both the shoes to record the pressure distribution in both feet over the gait cycle.

Trials

To perform the trials on the subjects, the optical markers and accelerometers were fixed on to the collars offline and their positions were noted in the general configuration file. Due to the number of sensors being used, a checklist of steps undertaken is presented in order to outline the procedure for setup and recording during the trials.

Setup 1. Attach collars on thigh (femur) and shank(tibia). Optical markers and accelerometers are already attached to the collars.

2. Attach waist belt with accelerometer XBusMaster unit.

-Ensure that thigh collar is restrained by cables on waist belt, to prevent downward slipping.

3. Connect accelerometers to XBusMaster unit.

4. Insert pressure sensors into patient shoes. Attach second belt waist housing pressure sensor unit.

5. Measure patient weight, including in the sensor system weight.

6. Calibrate in-sole pressure measurement system for measured patient weight.

Perform the following measurements:

-Ground -Tibia lower collar (Point P 5 on plate os-tibial) distance -Tibia lower collar -Tibia upper collar distance (i.e length of collar screw connector) -Tibia lower collar -Lateral Malleolus (i.e the fibula lower extremity) distance.

-Femoral collar -Tibia upper collar (at full extension of knee joint. ie standing position) distance. The distance measured is that between P 5 on plate bfd1 and P 5 on frnt_ crst -Femoral collar -lateral epicondyle distance.

8. Calibrate tibia, femur structures for optical sensors -Perform two walking trials using the "Rigid Body Wizard" of the NaturalPoint Optitrack Arena software. -Marker distribution over 10 gait cycles is used to identify the femur and tibia rigid bodies during post-processing. 9. Ensure patient is outside MARIONET-REHAB frame.

10. Ensure configuration file contains the information about attached sensors and start the MARIONET-REHAB system. The active wire component of the system will recalibrate itself.

11. After the 7 active wires are started and ready for measurement, let the patient into the experiment zone. Connect the 7 active and 7 passive wires onto the collars according to the chosen configuration.

To perform this setup, an approximate of 45 -60 minutes are needed. The time distribution is broken down into the various components to give an idea of the possible improvements for time savings as follows:

Steps 1 to 3: 10 minutes. The time required for these steps depends on the design of the collars.

The time needed could be reduced by changing the elastic link connections from screws to clip-on attachments.

Steps 4 to 6: 5-10 minutes. The higher time estimate includes calibration trials that are necessary to calibrate the pressure sensors. Time may be saved by reusing previous trial data as patient weight data has to be entered independently.

Step 7: 5 minutes.

Step 8: 3-5 minutes. Trials are 60 seconds each, while actual structures are identified during postprocessing.

Steps 9 & 10: 5 minutes.

Step 11: 15 -20 minutes minutes. This constitutes the longest setup step as wires are attached to the collars using threaded connectors. This step could be possibly sped up by using snap-on or clip-on connectors.

The setup time could also be reduced by noting that Steps 9 & 10 can be carried out before Step 8 and thus in parallel while Steps 1 through 7 are being carried out.

Recording readings

-Ensure XBusMaster unit is switched on. -Ensure ARENA is set to record more than 30 seconds of data.

-Commence recording data from all sensors and start the treadmill at the slowest walking speed of 1 km/h. The steps listed in Section 5.1.2 need to performed just once before an experimental trial, and multiple sets of gait data can be recorded. Each run of the trial is restricted to a duration of 90 seconds. This allows each run to contain data for around 40 gait cycles as the preferred stride frequency for walking is generally close to 1 Hz [START_REF] Danion | Stride variability in human gait: the effect of stride frequency and stride length[END_REF]].

Post-processing

The data obtained from the sensors used in the trials is stored across multiple files. The custom developed software pulls in the data from these various files to perform the necessary post-processing that we outline in the following sections.

Filtering

The first step in processing the sensor data is to improve the signal to noise ratio. While noise due STA is a problem that needs to be addressed, we first need to eliminate the inherent sensor noise. Using the noisy values directly will skew the calculations. This noise is generally assumed to be random white Gaussian noise and is uncorrelated to the actual signal [START_REF] Oppenheim | Discrete-time signal processing[END_REF][START_REF] Sayed | Adaptive filters[END_REF]]. We note again that this assumption for the noise is an approximation. However, such an approximation allows us to develop filters with relatively easy structures which are easy to implement. In spite of their simplicity, such filters show acceptable performances as noted earlier. Noise canceling involves using a fixed or adaptive filter that estimates the signal and subtracts the noise from the input. In general, [START_REF] Widrow | Adaptive noise cancelling: Principles and applications[END_REF] describes the objective of a noise canceling system, for a signal s present with a noise n 0 , as an estimate of y that is subtracted from the measured values s + n 0 . The system aims to produce the output z = s + n oy that is a best fit to the signal s in the least square sense.

Adaptive filters are efficient in noise canceling when very little information (statistical or deterministic) about the signal or the system is available. Such a filter for periodic signals has already been developed and applied for biomedical systems [START_REF] Vaz | An adaptive estimation of periodic signals using a Fourier linear combiner[END_REF] where the period of the signal is known. Although we have tested this adaptive filter for studying the behavior of the accelerometers, we chose to use a simpler low pass filter for the noise cancellation. The simpler system will under-perform and subtract only the high frequency noise and the outliers. An automatic filtering that determines the cut-off frequency can be used for the low pass filters [START_REF] Challis | A procedure for the automatic determination of filter cutoff frequency for the processing of biomechanical data[END_REF]]. However, as noted in the comparison of automatic filtering techniques [START_REF] Giakas | A comparison of automatic filtering techniques applied to biomedical walking data[END_REF], no method of automatic filter can provide consistently optimal results when used for biomechanical gait analysis. Thus, we settle on conservative estimates of cut-off frequencies, using the suggestions provided by [START_REF] Winter | Biomechanics and motor control of human movement[END_REF]]. The raw accelerometer data (figure 5.2) from the Xsens inertial units, unlike the calibrated quaternion output, is noisy and needs to be filtered. This can be seen from the Fourier transform of the signal obtained for the X-axis component of acceleration (in the earth fixed frame), in figure 5.3. Ideally frequencies higher than 5 Hz should be filtered out and thus we use a simple low-pass filter that filters out the higher frequencies. Note that in this case, the accelerometer recorded data at 50 Hz, thus giving us the Nyquist frequency of 25 Hz.

Accelerometers

Passive wire measurement

The passive wire measurement system samples the data at a much higher frequency than the other systems -at 1650Hz. This provides with a picture of the contributions of frequencies up to 825Hz. For clarity, we only provide the Fourier transform plot in figure 5.4 for frequencies up to 20 Hz, as it is easily verified that the contributions from higher frequencies are negligible. The passive wire system exhibits much better behavior than the accelerometers in terms of the signal to noise ratio. Also note that this plot does not show the significantly higher contribution of the zero frequency term, in order to highlight other frequency contributions. The raw data and filtered data from the passive wire system (for wire 1), is shown in Fig. 5.5 and Fig. 5.6

Active wire measurement

The active wire measurement system samples data at the same rate as the inertial measurement units as they are controlled by the same software code. As a result, in this case, the active data is sampled at 50Hz. The active system demonstrates the best signal to noise ratio among the sensors we use. Fig. 5.7 shows the unfiltered wire lengths for wire "1" in the system.

Optical Marker Data

The optical marker data is greatly affected by changes in ambient lighting, reflections and occlusions. Multiple trials in similar conditions give rise to varied levels of noise and misidentified points. The first step in filtering the optical data thus involves ensuring that all tracks are correctly labeled, using the method described in Section 4.2.2. However, even this data track cleaning does not ensure a directly usable data set. As an example, we provide a cleaned plot of the positions of one marker fixed on the upper tibial collar in figure 5.8.

As can be seen, the marker is occluded a number of times causing the system to assign the position coordinates as � 0 0 0 � . The track cleaning algorithm does not work in such a case as we are only searching for misidentified points. Further, directly passing this data through a low-pass filter may give wrong estimates for the point. An automatic filtering method, or a common cut-off frequency will fail to utilize the geometrical relationship that the marker points on the collar hold with each other. The data track cleaning method described earlier also provides us information about frames where marker position data is erroneous. As a result, we choose to use the optical data without further filtering in the EKF described in Section 4.2, but with appropriate higher noise covariance terms.

Data synchronization

The sensors systems used are controlled by software running on different computers -the ARENA software for optical data uses a Windows PC, the accelerometer and active wire system run on RTAI Linux system and the passive wire system is controlled by LabVIEW running on Linux. A significant issue, thus, is ensuring that the data is correctly synchronized and the timestamps for corresponding data match. We use the Network Time Protocol (NTP) for synchronizing the computer clocks. While this allows for accurate time synchronization, we are faced with two problems. Firstly, the ARENA software does not assign a time stamp to the optical data, but instead uses only the frame numbers (while ensuring that the frame rate is held constant). Secondly, LabVIEW timestamps are measured from the Epoch 01/01/1904 (instead of the UTC Epoch 01/01/1970 used by NTP) without accounting for the adjusted leap seconds.

In order to synchronize the optical data, we identify the timestamps by correlating the timestamp of an "event" observable in the accelerometer and active wire data to its frame number in the optical dataset. Since the trials are conducted on a treadmill, the global positions of the markers will oscillate about an approximate mean location. At the moment of heel strike, the foot has zero velocity relative to the treadmill and thus, we can observe this event as the peak point on the position plots of the markers. The active wire data and the accelerometer data allow us to approximately identify the time-stamp of zero velocity point. We choose the first such occurrence of the peak to synchronize the data.

In case of the passive wire data, the time stamps can be adjusted by subtracting the difference between the Epochs. However, as the occurrence of leap seconds is not regular, we use the technique similar to that for optical sensors to get the correct time stamp. Currently, as of July 2012, there have been 25 leap seconds to date [START_REF] Finkleman | The future of time: UTC and the leap second[END_REF]. This gives us the interval of error to restrict our search for the peak points when synchronizing the passive wire data. Another method would be to hard-code the number of leap seconds, depending on the date on which the trials were conducted. Note that as the passive wire data is sampled at a much higher frequency, we need to downsample the data to use it with the other sensor data.

Collar recalibration

With the data filtered and synchronized, we are now in a position to implement the EKF to first identify the collar angles. In the sample case being described here, the femoral collar has seven optical markers distributed over 6 plates. Points P t5 and P t6 are located on the same plate (bfd6) and thus their relative distance is independent of collar hinge angles. We choose 10 distance relations to form the measurement model, choosing the point P t3 which lies on the central plates of the collar, as a reference. This is done so that we have fewer multivariate equations and can have a simpler system to solve.

The ten distance equations (in meters), we obtain in this case are for : The above ten equations in the five unknown angles θ i form the measurement update equations as given in Eq (4.33) & Eq. ( 4.34) for the EKF. Using the "cleaned" optical data, we set up the EKF to estimate the collar joint angles using a constant system model. Since the model is not an approximation, we assign a low process error covariance value. Depending on the reliability of the optical data, we obtain estimates for the joint angles which are bounded within a ±0.1 • interval, and these estimates are plotted in figure 5.9. In this example, we used only the first 2000 frames out of the approximately 8000 frames to calculate the angles.

P t1 P t3 = 0.
In case of the tibial collar, we begin to see some discrepancies in our approach, which will be investigated later. The lower tibial collar consists of 5 plates, and has 6 optical markers attached. Similar as in the case of the femoral collar, markers P t5 and P t6 are located on the same plate (btd3) and their relative distance will be a constant, independent of θs. Thus, the 6 points allows us to formulate 14 distance equations. These equations are similar in form to Equations (5.1) to (5.10). In this case, however, the EKF does not perform as expected. Figures 5.10 & 5.11 show us that in spite of using all the 8000 frames of data to estimate the constant system, the angle estimates are not accurate enough. The errors in the optical marker tracks prevent the EKF from converging to values with an acceptable error margin. As an example, we provide a plot of the distance P t1 P t4 calculated from measured optical marker locations in figure 5.12a. The misidentification of points causes the distance measurement to vary between the approximate real value of 110 mm to over 500 mm. As a result of such errors, the distances predicted by the EKF also vary (figure 5.12b) and we see that the joint angle estimates obtained from the EKF do not converge, as in figure 5.9. An important point to note is that this problem of estimating joint angles is still solvable, but it limits the use of our methods. By adjusting the covariance matrices to represent the system more accurately, the EKF could be tuned according to the system. Better estimates of joint angles could be found to proceed with the analysis. However, the misidentification of optical markers, which is responsible for this EKF failing, is caused by unpredictable factors: minor changes in light conditions, random reflections from subject's clothing and skin or starting pose in the experiment. A filter that needs manual adjustment each time the conditions change is bound to fail and will require frequent adjustments.

A second trial was conducted for the same experiment, keeping the hardware and sensor configuration the same. This second trial was conducted within 5 minutes of the first, to ensure that there were no major changes in light conditions. The time duration for this trial was shorter -50 seconds. From the recorded data we obtain a different picture for the measured and predicted distances, and thus, estimated joint angle values are different. This data is plotted in figures 5.13, 5.14 and 5.15. The predicted values for this particular distance in second trial settle to a lower "predicted distance" value as compared to the first trial. Angle estimates obtained from two trials with the same experimental setup this lead to differing collar angle estimates. A discussion on the causes of this error follows in the subsequent section.

Identifying flaws

The failure of the model we have used to predict collar angles and thus, prevent further progress in our approach warrants further analysis. A number of factors are responsible for this and we discuss these in this section.

Optical Motion Capture System

To identify the flaws in our method, we observe the plots in figure 5.13, keeping the collar configuration and design in mind (figure 4.3). The estimation errors in the predicted distance "measurements" are of the order of 5 -20 mm. Considered independently, these ranges are quite large and indicates that our EKF has failed. But one must note that our actual measurements of the distances vary over a wide range. Our EKF was designed to assign higher weight to frames with correctly identified points and a low weight otherwise. This approach manages to discard the highly erroneous readings (for example, distances over 200 mm in measurements plotted in figure 5.13a), but does not take into account the minor errors in marker positions. Even if the markers are correctly identified, error in their tracked position can be around 10 mm (the diameter of the reflective marker being 10 mm). These smaller errors are ignored by the EKF, which considers the smaller variations to be "acceptable". Thus, one way of addressing this is to improve the measurement noise covariance function of the EKF.

However, the main problem in our approach is the over-dependence on the optical markers, along with the positioning of the optical system. The approach described here is used for the simplicity and straightforwardness of the equations obtained. In doing so, we end up ignoring the data provided by the remaining sensors. This approach necessitates having optical markers placed closely on the Consider two markers on adjacent plates of a collar. With respect to one marker, the second marker will lie on a circle centered on a point on the hinge axis, and lying in a plane perpendicular to the hinge axis. The dimensions of the plates and the marker positions imply that the radius of this circle will lie between 20 mm to 70 mm, depending on the plates being considered. However, as seen above, the error in the tracked position is seen to be up to 10 mm for each marker. The resultant error in distance between the two points can thus be up to 20 mm, which is significant when compared to the actual distance between the points. The resulting estimate of hinge angle θ will thus be highly susceptible to error and will be unusable unless we have sufficiently accurate position data.

Another factor that affects the marker tracking is the inter-marker distances. The ARENA software used in our system does not perform optimally when markers are close to each other. In certain poses, if inter-marker distances are low, the ARENA software identifies a single "average" point instead of two close markers. This situation is common if markers are placed on adjacent points on a single plate (for example P 5 and P 7 in figure 4.3) or on points on adjacent plates but close to the hinge.

These two phenomena are visible in the analysis done above. The larger size of the plates in the femoral collar results in having the distances larger. In this specific case, points P t3 and P t4 were points situated on adjacent plates just across the hinge axis. This, coupled with the proximity of the collar to the ground (affixed near the ankle), causes the lower tibial collar to have much more noisy data as compared to the femoral collar. As a result, while it was relatively easy to obtain an EKF that resulted in usable joint angle estimates for the femoral collar, the noise for tibial collar data prevented usable estimates. The erroneous θ estimates further skew the further calculations that estimate the pose of the collar.

Marker placement

A survey of optical motion capture system based methods reveals that these methods are employed frequently. This raises the question about the performance of the system in our case. The methods mentioned in Section 1.2.3 of Chapter 1 use fewer markers on each body segment. These markers are comparatively widely spaced and are used to directly calculate the pose of body segment. The method described here requires accurately tracking markers spaced between 30 to 100 mm apart in a 2m × 1.2 m × 2 m workspace, in order to calculate joint angles. As a result marker placement becomes a more important factor than in other studies.

The presence of accelerometer housing and metallic collars increases the chances of reflections. Similarly, the wires of the parallel robot system can reflect light. Though care has been taken to physically mask reflective portions of the setup, these reflections are unpredictable. Thus, along with inter-marker spacing, care also needs to be taken to select the placement of individual markers on the collars.

Mathematical model

In the models presented here, we have presented the collars as the end effectors for the wire-driven parallel robots. Our approach is to identify the pose of the collar by fusing the data from the optical system with that of the active & passive wire measurements and the inertial sensors. However, as we base our measurement calculations on the estimates provided by the optical marker data, we have a system model that is easy to fail.

The setup procedure for the experiments calibrates tibia and femur structures using purely optical marker data, in the absence of the active and passive wires. Since this calibration step involves simpler and easier to track motions, the models obtained are accurate. However, as the ARENA motion capture software prevents exporting this data into a non-proprietary format, this model is never used in our calculations. The ARENA software uses the models to track the points in the experiment data (before exporting them to the C3D file format), but as we have already noted, the data tracks obtained still require cleaning, reassignment of labels and noise-filtering. Thus, our method needs to be modified to allow this additional model data to be incorporated into the collar angle estimation calculations.

Thus, though we were able to utilize femoral data to estimate the poses of the femoral collar, the errors in tibial collars prevented any usable analysis for the trials conducted. Some of the problems with this work have already been identified above. Additional corrective steps and potential methods to overcome the problems that arise here are discussed next.

Proposed improvements

One of the first changes proposed is to make this less dependent on the optical system. The model we have set up to solve the tracking problem must be modified to better utilize all the constraints available in our system. Similarly, the choice of marker placement is a problem that needs investigating and would greatly improve the quality of data being measured. This would allow us to increase space between the markers, reducing the chances of occlusions or mislabeling. Earlier work done on parallel robots in use by the COPRIN group have already demonstrated the efficiency of using interval analysis based methods for solving the kinematics problems of parallel robots [START_REF] Merlet | Kinematics of the wire-driven parallel robot MARIONET using linear actuators[END_REF]]. However, as we wanted to utilize the information from all sensors by dynamically choosing sensor data using their corresponding error properties, we chose to use a stochastic method like EKF instead of using interval analysis. In Interval Analysis the variables (and in general cases, the coefficients) in an equation or system of equations are treated as closed intervals [x, x] instead of real numbers x, denoting the uncertainty in the variable [START_REF] Hansen | Global optimization using Interval Analysis[END_REF][START_REF] Moore | Introduction to Interval Analysis[END_REF][START_REF] Neumaier | Interval methods for systems of equations. Encyclopedia of mathematics and its applications[END_REF]]. Thus, interval expressions are evaluated to their interval ranges, such that this resulting interval ( � f , f � ) always contains the true result (f(x)) that would be obtained by using exact inputs which lie in the input interval.

Algorithms based on Interval Analysis when used for solving systems of equations are designed to find the input intervals such that the resultant interval is sufficiently small and contains zero. These algorithms begin with comparatively large interval that contains the solution set, and iteratively proceed to improve this interval estimate by dividing it into smaller intervals. The smaller intervals are then checked to see if they contain the solutions, and the iterations are performed until the desired accuracy is obtained. The intervals that are guaranteed to contain the solutions are then used as the solution to our set of interval equations.

In the case of the tibial collar, the first EKF manages to estimate the joint angles to interval ranges. The EKF based collar pose estimation method is thus sensitive to parameter errors. However, this allows us a good starting point to implement an interval analysis based solution. In fact, the method could also be adapted to use interval methods in a modified EKF, as described by [START_REF] Ashokaraj | Sensor based robot localisation and navigation: using interval analysis and extended Kalman filter[END_REF], to allow us to work using collar angle data with limited accuracy.

Concurrent work in the lab has focused on analyzing the calibration of parallel robots [START_REF] Daney | Interval method for calibration of parallel robots: Vision-based experiments[END_REF][START_REF] Gayral | Experimental calibration of an active space telescope with flexure joints[END_REF]. While studies (including the calibration section in this research) focus on obtaining accurate kinematic parameters for the mathematical model of the system to be calibrated, their research focuses on modeling the system behavior. The study notes that model error should also be taken into account in calibration steps. A result of this work is that it is possible to obtain parameters for the model which do not resemble the physical system but yields a system that demonstrates the same behavior in the range of motion that we need. The research will allow us to improve the calibration of our system, especially as the collar is a constrained system and needs to be recalibrated at each trial.

The setup, with such proposed modifications and improvements, would result in more robust measurements, allowing for better estimates.

Résumé

Au sein de ce chapitre, nous présentons les grandes lignes de notre travail et spécifions nos contributions. Nous avons présenté l'application des robots parallèles à câbles à l'étude du mouvement du genou en considerant le genou comme un joint à 6 degrés de liberté reliant deux segments du corps. Afin de déterminer la position et l'orientation de ces segments, nous considérons ces segments comme les organes effecteurs de nos robots parallèles.

Nous avons ensuite présenté la conception et l'étalonnage du collier flexible utilisé d'une part pour permettre l'attache des câbles sur les segments du patient et d'autre part pour supporter les capteurs supplémentaires. Ce système nous permet d'améliorer notre système grâce à l'ajout de capteurs supplémentaires. Nous avons décrit le protocole expérimental ainsi que les méthodes utilisées pour synchroniser les données issues de plusieurs capteurs. Nous avons enfin développé les logiciels et les librairies nécessaires aux expériences d'analyse de la marche et à la fusion des données.

Nous présentons également au sein de ce chapitre nos perspectives et idées pour améliorer notre système. Ces améliorations incluent le placement des capteurs, les modifications de conception du collier flexible, les changements dans le protocole expérimental dans un objectif de réduction du temps pour chaque expérience, ainsi que les améliorations du modèle mathématique. Nous avons utilisé les filtres simples et les modèles approximatifs pour notre système, et nous présentons au sein de ce chapitre d'autres modèles pouvant nous donner meilleurs resultats.

En conclusion, nous présentons la portée future de ce travail. Ce travail permet d'identifier les modifications à apporter au système pour une meilleure analyse de la marche, ce qui pourra servir de base à un système de rééducation complet.

Contributions

This research aims at investigating the use of cable-driven parallel robots for gait rehabilitation. The first step of such a system is thus to analyze the gait and aid a medical practitioner identify gait patterns and diagnose injuries. A review of the currently used methods, presented in Chapter 1, identified common problems encountered in gait measurement. These influenced our design choices that lead to the gait rehabilitation system we have developed.

For this research, we adapted an existing cable-based parallel robot to allow gait measurement with the basic idea of treating the human body segments as the end-effectors of the parallel mechanism. The architecture and geometry of parallel robots results in a forward kinematics problem which is much more difficult to solve than the corresponding inverse kinematics problem. Estimating the pose of the end-effector from wire lengths is a difficult problem to solve. We must note that this forward kinematics problem has been mastered and a comprehensive treatment of the topic with detailed references found in [START_REF] Merlet | Parallel robots[END_REF]]. However, in addition to this forward kinematics problem, measurements made using skin attached sensors suffer from skin tissue artifacts. To address these issues, we have proposed a number of additions to the basic cable-driven parallel robot setup.

The first is the choice of using additional sensors to aid the measurements obtained by measuring wire lengths. Our setup can employ at least five more sensors: inertial sensors that comprise of magnetometers, accelerometers and gyroscopes (MARGs); optical markers tracked by cameras which emit infra-red light to "paint" the scene; IR distance sensors; in-shoe pressure sensors; and pressure pads to measure the contraction of muscles. Future additions also include adding Kinects to the setup. We have described how two of these sensors (the inertial units and the optical markers) could be used along with the wire measurement system to analyze gait. We have also developed hardware and software tools to allow these additional sensors be integrated into our experiments.

The second addition to the setup is the dual purpose end-effector of the parallel robot setup. We have designed a simple adjustable, flexible collar that will fit a patient's leg to function as the end-effector for the parallel robot. The first use of the collar is for its attachment points to which the cables can be connected, with multiple options for attachment points. The second use is to function as the housing for all the various sensors that will be used. As this collar is a serial kinematic chain, we have proposed a method for identification of its kinematic parameters. The algorithm developed allows for identification of DH parameters of a serial kinematic chain (including those with consecutive parallel joint axes) in the event that joint angle encoders are not present.

The multiple sensors raise problems of time synchronization and reference frame alignments which are addressed in this text. Each sensor also displays a different signal-to-noise behavior and requires filtering. We investigated strategies to fuse sensor data for tracking body segments. A single comprehensive Extended Kalman Filter (EKF) would fail as our design necessitates calculating the collar parameters (angles) along with collar position. Estimating non-homogeneous data using a single EKF is prone to error as the data is in different units. As a result, a two step estimator was proposed which separated the angular and position parameters into two different estimators.

While this strategy does not work as well as expected, it provides pointers into the modifications that must be made to the setup. Our strategy is overly reliant on the optical markers to provide the collar parameters. Similarly, the marker placement was chosen with this in mind, which lead to frequent problems of occlusions, misidentification and thus, unusable data. However, the ranges of estimates obtained from these EKFs indicates that Interval Analysis based methods would be a good choice for solving the tracking problem. The data from optical markers, though erroneous, offers a good starting estimate for an interval method.

A major part of the work focused on the development of the software to be used to run the experiment and process the data. Custom software (written in C/C++) was developed for his purpose. Custom structures that hold all data relating to experimental configuration and sensor output data allow us to synchronize, filter and process data. Related software was also developed to read the C3D 3D Biomechanical Data format (used by the motion capture system).

The current setup provides us with all the necessary options, along with the software to utilize them, to record and analyze gait data for the knee. We have already mapped out the approach that would provide us with repeatable experimental data, and thus we can provide options and pointers for improving our system.

Perspectives & Improvements

Sensor Placement

The discussion in Section 5.3 allows us to formulate improvements and changes to the experimental setup we have developed. We note that the major problem that needs further investigation, in our setup, is that relating to marker placement. This work highlights the need for studying how sensor and marker placement on the collar affects pose estimation. The collar was designed with modularity in mind which is reflected in the number of positions available for attaching markers and sensors. The setup allows easy modification of marker and sensor locations, and the next step in the research would thus be to develop a formulation of the "Best Practices" for setting up the sensors. Further, integrating the sensors into the collar would simplify calibration and decrease setup time.

Collar Modifications

As collar hinge angles need to be estimated, additional accelerometers (Phidgets shown in Figure 3.6), could be placed on the collar plates to estimate relative orientations. Having multiple accelerometers on a single collar would also allow us to model its motion more accurately. Similarly, the steps taken to set up an experimental trial could be modified to include an additional measurement and calibration step. This step would be designed to accurately measure the hinge angles of the collar, either using secondary measurements or by directly measuring the angles.

Another design element that could be improved is the adjustable collar. Alternative designs that allow the rigid collar to be locked into a rigid shape could be used. The current design focuses on simplicity in manufacturing and thus included simple plates linked by hinges. The multiple parallel hinge axes result in additional degrees of freedom for the collar. This design could be simplified to have fewer variable parameters by reducing the plates and using shaped elements instead of rectangular plates. This would simplify the collar and yet retain its modularity. [START_REF] Ceccarelli | Design issues for human-machine platform interface in cable-based parallel manipulators for physiotherapy applications[END_REF] discusses the design issues which could further improve the design of the collar.

Setup Times

Attachment of the sensors to the collar takes a lot of time, as noted in Section 5.1.2. We need around 1 hour of setup time in order to record trials that last under two minutes. While careful placement and calibration of sensors is essential for accurate readings and usable data, a faster setup time will be invaluable in improving the usability of this system. Pre-calibrating the pressure sensors, and reusing this calibration data would be one step to speed up the process. The previously mentioned simplification of the collar design would also make the setup phase faster, allowing for easy and quick experimental trials.

Due to the number of sensors to be attached, our best estimates for setup times point to a minimum of 20 minutes to attach all sensors except the wires. This time is estimated by carrying out the various setup steps in parallel. The time required for attaching wires depends on the connectors we use and the current method of attaching wires to the screws slows down this setup phase. Thus, another area for design improvement would be developing clip-on attachments for the wires. This points to an estimated 30 minutes setup time after the mentioned improvements have been implemented.

Mathematical Model

A significant assumption of our analysis was that the errors present in our sensors had a Gaussian distribution, and the Extended Kalman Filter was developed on this assumption. However, we can only verify that the errors in the accelerometers and the wire length sensors can be approximated by a Gaussian distribution. This assumption for the error models does not reflect reality, but allows us to use a standardized tool for our calculations. Optical marker data is prone to much higher noise and frequent occlusions (in our setup) resulting in a highly non-Gaussian error distribution.

The current setup uses the results from the first EKF using optical markers to drive the second EKF. The availability of more accurate measurements in the second EKF is negated by the faulty data input. Also, the EKFs are run on the same set of experimental data twice to obtain the entire set of unknowns. One solution to this would be to have a nested structure for the two filters. This filter would include two predict and update steps for each time step. The first layer would estimate the collar angles and the second layer could use this data to estimate the pose of the collar. The estimate from the second layer could then be used to update and correct the estimates for the collar angles. Note that this is a proposed hypothesis that has not been tested. Also, the process and measurement model would be much different than just a simple combination of the two filters presented in this text. This would be necessary in order to ensure that the Jacobian terms do not contain mixed units, and to ensure that the modified system and measurement errors are uncorrelated, random vectors.

A better model would incorporate the properties of these sensors better and allow more accurate sensor fusion. Such work concerning information fusion with decentralized, two layer Kalman Filters has been done by others and could be implemented for this model [START_REF] Sun | Multi-sensor optimal information fusion Kalman filter[END_REF]. Sensor and data fusion has been addressed by many and is a topic that arises in many robotics problems, for example: localization, navigation and virtual mapping [START_REF] Kam | Sensor fusion for mobile robot navigation[END_REF][START_REF] Shafer | An architecture for sensor fusion in a mobile robot[END_REF][START_REF] Stroupe | Distributed sensor fusion for object position estimation by multi-robot systems[END_REF], biomechanics and human body tracking [START_REF] Knoop | Fusion of 2d and 3d sensor data for articulated body tracking[END_REF][START_REF] Lim | A preliminary study on the accuracy of wireless sensor fusion for biomotion capture[END_REF][START_REF] Miller | A new method for synchronization of motion capture and plantar pressure data[END_REF][START_REF] Schepers | Ambulatory human motion tracking by fusion of inertial and magnetic sensing with adaptive actuation[END_REF], image processing and augmented reality [START_REF] Wald | Data fusion : definitions and architectures : fusion of images of different spatial resolutions[END_REF][START_REF] You | Fusion of vision and gyro tracking for robust augmented reality registration[END_REF] and many others [START_REF] Drolet | Adaptable sensor fusion using multiple Kalman filters[END_REF][START_REF] Rao | Fully decentralised algorithm for multisensor Kalman filtering[END_REF][START_REF] Rosencrantz | Decentralized sensor fusion with distributed particle filters[END_REF]]. Similarly, another aspect missing from our model is the sufficient use of the constraints present due to the large number of sensors. Our model considers the simplest expressible constraints, but we have a large choice available. Some concerns regarding this are treated in [START_REF] Andersen | Kinematic analysis of over-determinate biomechanical systems[END_REF]] and the work mentions this problem of choosing the correct set of constraints.

Finally, an approach combining the Interval Analysis methods with a probabilistic estimation method (like Kalman Filtering) would allow us to combine the advantages of both the methods to obtain estimates with higher accuracy [START_REF] Ashokaraj | Sensor based robot localisation and navigation: using interval analysis and extended Kalman filter[END_REF][START_REF] Chen | Fuzzy Kalman filtering[END_REF][START_REF] Nassreddine | State estimation using interval analysis and belieffunction theory: Application to dynamic vehicle localization[END_REF]. As our application is not designed as a real-time analysis tool, we need not worry about the speed of such algorithms. The model would allow easy modifications to allow for changes in sensors used and also allow dynamic behavior to account for variations in conditions. Interval methods have also been used for calibration [START_REF] Daney | Interval method for calibration of parallel robots: Vision-based experiments[END_REF]], and this system could also benefit from such a treatment. The interval methods account for model errors by adding uncertainty to the calibration equations, allowing us to find ranges of parameters that effectively satisfy calibration equations. A model obtained from such a calibration process would help account for joint imperfections and backlash, which would further improve the robustness and accuracy of the system.

Future Scope

The setup has been developed to analyze the motion of the knee during walking but the modularity and the design of this system allows us to propose numerous applications and directions to investigate. Focusing just on the knee, the available workspace allows us to have trials for analyzing the behavior in many activities, including squats, sit-to-stand motion, climbing and descending stairs, side-stepping, running (on treadmills). Similarly, modifications in the collar would allows us to extend the applications to other joints like the hip joint, the elbow, shoulder etc. This setup will allow us to have multiple trials for multiple joints with the advantage of being repeatable. This system would allow researchers to record data from multiple sensors and test various mathematical tools to overcome the problem of Soft Tissue Artifacts (STA). For example, our method outlines how the method for functional alignment could be used and tested. Similarly, the use of pressure sensors to measure muscle contraction would allow better understanding of muscle motion and potentially help address the STA problem.

The cable-driven parallel mechanism component of this system could also be used in an active mode. This would allow the application of safe and rehabilitative forces to permit joints to be safely exercised. This could be achieved by just switching the wire components to the active mode. An addition of force sensors to measure tension in the cables would permit higher accuracy and control over the forces that will be exerted on the limbs of the patient. Further, this system could also be run in a semi-active mode, i.e an active mode set to decrease muscular fatigue by, for example, counteracting the forces of gravity. Such a mode will allow longer rehabilitation sessions as it does not hinder limb motion and allows free muscle movement. The modularity of the system will allow the same setup to be used to design multiple rehabilitation tasks for various joints.

Finally, the relatively low level of intrusiveness allows this setup to be easily adapted for home rehabilitation and exercises. This would permit the patient to follow a rehabilitation regimen at home with the system recording the motion data. This would allow the doctors and physiotherapists to monitor progress throughout the recovery and place them in a better position to advise on follow-up procedures. The detailed progress reports would also help identify any abnormal sequences at their first occurrence. Such abnormalities are the first indicators of emerging pathologies and would thus improve the quality of care that the patient receives. A simplified version of this setup could be created for specific patients by tailoring the system to their needs by having a custom collar for the patient with integrated sensors. Note that this collar is the only hardware that would need customizing according to the patient, thus preventing the cost of the system to increase. This customization would also reduce the need for recalibration procedures, thus making the entire setup easy to use.

With these future aims in mind, we note that the hardware used for this setup is inexpensive and the mechanical setup is simple. This research presents a setup that could be easily and inexpensively installed in medical facility for the analysis of joints. The need for large infrastructure for accurate biomechanical trials is avoided preventing any hindrances to its wide proliferation.

Thus, in this work, we have laid the groundwork for a complete rehabilitation system for human limbs.

external_info Struct Reference

Structure that stores external measurements & data. This structure holds data about either the external sensors or sensors that measure with respect to external (global) reference frame. This can hold parameters for external distance sensors, external free sensors, force plates and force pads Data Fields

-int sensor_type

Stores sensor type. Is 0 if sensor is distance sensor, 1 if free sensor, 2 if force plate (on shoes) and 3 if force pad (on which patient has to sit).

-int sensor_id

Stores the sensor number / id

-int f_plate_type

If sensor is force plate (sensor_type) = 2, then f_plate_type tells us if the sensor is on the left shoe or the right. 0 if left shoe, and 1 if right shoe.

-float ref_point [3] Point on reference frame with respect to which distance sensor measures the distance.

-float body_point [3]

Point on body frame to which distance sensor measures the distance.

-float sensor_parameters [25] Sensor parameters in case the sensor are free sensors or some type of force sensors.

-int sensor_param_count

Number of sensor parameters for sensor (in case other than accelerometers)

B.2 Configuration File Format

The structure of the experiment configuration file is as follows: -Tibia Definition -Collar Definition -Origin Definition -Link Definition -Sensor Definition -Optional Info -External Info -Femur Definition (similar to Tibia definition) -Frame Reference Points To read the file details, the configuration file must be in order specified. Specification for each section are given below.

B.2.1 Tibia & Femur definitions

-First word is "collar" followed by the number: 1.

-Collar 1 definition (see Section col for specifics on collar definition. -The words "collar 2" followed by collar 2 definition.

Collar Definitions

-The collar definition is provided as follows in the file.

-After the word "collar" & collar number (1 or 2), a list of LINK labels that define the collar are provided. This list is space separated. The list ends with the word "end".

-The word "left" is written to indicate succession of LINKs in the collar in left direction. After the word, the list of LINK labels is given and the list must end with the word "end" -The word "right" is written to indicate succession of LINKs in the collar in right direction.

After the word, the list of LINK labels is given and the list must end with the word "end".

Origin Defintion

-The word "origin" followed by definition of origin as follows:

-LINK label on which origin is located -The x,y,z co-ordinates of the location in the LINK frame -The word "links" followed by each LINK defintion. For specifics on LINK definition see section LINK below. -The link section ends after the definition of the last link.

-The total number of link definitions must be equal to the number of links specified in the collar definitions. If there is an unequal number, it will result in an error.

Link Definitions

The LINK definition is as follows:

-The first word is the link label. This must correspond exactly to one link label specified in the collar definitions. -The next lines contains the 3 co-ordinates of the 4 reference points on the plate in the link frame, written in the following order -left top -right top -left bottom -right bottom -The left hinge axis -The right hinge axis -The word "end" if angle data is not known. -Otherwise, the word "angle", followed by link label, followed by adjecent link label with respect to which angle data is known. -The two angles that determine the interval angle between two links. (ie, if calibrated to some value, both angles are identical. if known to lie in a range, the two angles specify the range). -If second angle is known, the word "angle" followed by data in above format. -The word "end" to signal the end of current link defintion Sensor definitions -The word "sensors" is written to indicate the beginning of sensor definitions. Sensor definition end is indicated by the word "end_sensors". -The order in which the sensors are defined is:

-Passive wires -Active wires -Accelerometers -Optical markers -Force sensors -Free sensors -Passive wires:

-The word "passive_wire" followed by wire id (an integer) -The link label on which it is attached -The 3 coordinates of the point on link to which wire is attached.

-The word "stiffness" followed by up to 10 parameters to characterise wire stiffness polynomial.

The word "end" must be written to signify end of passive sensor definition -Active wires:

-The word "active_wire" followed by wire id (an integer) -The link label on which it is attached -The 3 coordinates of the point on link to which wire is attached.

-The word "stiffness" followed by up to 10 parameters to characterise wire stiffness polynomial. The word "end" must be written to signify end of active sensor definition -Accelerometers:

-The word "accelerometer" followed by accelerometer id (an integer) -The link label on which it is attached -The 3 coordinates of the accelerometer origin in the link frame -The 9 numbers that specify the Rotation matrix between the link frame and the accelerometer body fixed frame. -The word "end" to signify end of accelerometer definition -Optical Markers:

-The word "optical_marker" followed by marker id (an integer) -The link label on which it is attached -The 3 coordinates of the point on link frame where it is attached -The label of the point on which the marker is placed, as defined in the OptiTrack software ie tibia_root1 or tibia_root2 and so on. -The word "end" to signify end of marker definition -Force Sensor -The word "force_sensor" followed by marker id (an integer) -The link label on which it is attached -The 3 coordinates of the center of the sensor in link frame -The 3 components specifying the axis normal to the force sensor in the link frame -The word "end" to signify the end of force sensor definition. -Free Sensors -The word "free" followed by marker id (an integer) -The link label on which it is attached -The 3 coordinates of the sensor origin written in the link frame -The word "paramter" followed by up to 10 parameters to characterise the sensor. The word "end" must be written to signify end of sensor definition. -The last word must be "end_sensors" to signify end of all sensor definitions. Optional Data -The word "optional" is used to denote the start of optional info.

-This stores calibrated distances, sensor info (what it measures) for distance sensors or free sensors. -Calibrated Distances -This word is "distance" followed by the word "collar" and the collar id.

-The link label followed by the 3 co-ordinates of the point on the link.

-The word "collar" followed by collar id, link label and coordinates for second point. The distance between these two points is the calibrated known distance. -This is followed by the distance and the word "end", if calibrated distance is known, or by the lower and upper limit of the range followed by "end" if the distance is only known to lie in a range. -Sensor info (What distance is Measured) -The word "measured_distance" followed by sensor id which measures it.

-The word "collar" followed by collar id.

-Followed by link label and 3 co-ordinates of point on the link -The word "collar" followed by collar id, link label and coordinates for second point.

-The word "end" to denote end of info -Free sensor info -The word "free_sensor" followed by sensor id (an integer) -The word "collar" followed by collar id.

-Followed by link label and 3 co-ordinates of point on the link -The word "collar" followed by collar id, link label and coordinates for second point.

-The word "parameter" followed by up to 25 parameters to describe the sensor parameters -The wod "end" to denote end of info. -The word "end_optional" denotes the end of optional data info

External Info

This has information about external sensors that give data with respect to global frame. There can be four kinds of data.

-Distance Sensor -The word "external_distance_sensor" followed by sensor id.

-The 3 coordinates of point on reference frame, followed by coordinates of point on body frame. ie the two points between the sensor measures distance. -Free sensor:

-The word "external_free_sensor" followed by sensor id, followed by up to 25 paramters.

-The word "end" to denote the end of parameter definition. -Force plate -The word "external_force_plate" followed by the word "left" if mounted on left shoe, or "right" if mounted on right shoe. -Up to 25 sensor paramters, followed by word "end" to denote end of parameter definition.

-Force pad -The word "external_force_pad" followed by up to 25 paramters.

-The word "end" to denote the end of parameter definition. -The word "end_external" to signify end of external data

B.2.2 Frame definition

The final section of the file includes the definition of three reference points on the MARIONET-REHAB frame, that can be used by the optical motion capture system to reorient its reference frames. The definition is as follows:

-The 3 coordinates of three points in the expressed in the MARIONET-REHAB coordinate system, each set written on a new line -The word "end_refs" to signify end of reference frame data (and end of file)

Analyse et conception d'un système de rééducation des membres inférieurs reposant sur un robot parallèle à câbles Résumé : L'analyse de la marche et la mesure du déplacements des articulations humaines ont été largement étudiées. Les artefacts de tissus « mous » sont une source fréquente d'erreur pour la plupart des méthodes de mesure utilisées. La procédure standard en analyse de la marche consiste à utiliser une combinaison de mesures pour l'estimation efficace des angles articulaires et de la position des segments du corps humain. Ce travail propose le développement d'un système d'analyse de la marche reposant sur un robot parallèle à câbles équipé de plusieurs capteurs mesurant spécifiquement les déplacements du genou. Nous considérons le cas général pour lequel les articulations humaines se comportent comme des joints à 6 degrés de liberté reliant deux segments du corps. Afin de déterminer la position et l'orientation de ces segments, 14 câbles y sont attachés, ce qui permet de considérer ces segments comme les organes effecteurs de robots parallèles. Leur position peut alors être calculée à partir de la mesure de la longueur des câbles. Cependant, ces mesures sont entachées de bruit à cause des artefacts de tissus « mous ». Afin d'améliorer la precision des résultats, le système propose aussi l'utilisation d'autres capteurs de nature différente : plusieurs capteurs inertiels (avec accéléromètres et gyroscopes), un système de motion capture, des capteurs de pression plantaire, des capteurs de distance (IR et résistance variable) et des capteurs de force pour mesurer la contraction musculaire.

Plusieurs approches globales sont disponibles pour l'analyse du genou lors de la marche. Les choix technologiques effectués impactent directement sur la conception de notre système et imposent le développement de matériel spécifique pour mener à bien les mesures, tel que le collier flexible utilisé d'une part pour permettre l'attache des câbles sur les segments du patient et d'autres part pour supporter les capteurs supplémentaires. Nous traitons le collier comme une chaine cinématique sérielle et nous proposons une méthode d'étalonnage qui ne nécessite pas d'utiliser les mesures angulaires des articulations contrairement aux méthodes existantes. Nous décrivons le protocole expérimental ainsi que les méthodes utilisées pour synchroniser les données issues de plusieurs ordinateurs. Les données sont ensuite fusionnées pour obtenir la pose du collier et donc celle des segments du patient. Enfin, ce travail permet d'identifier les modifications à apporter au système pour une meilleure analyse de la marche, ce qui pourra servir de base à un système de rééducation complet.

Mots clés : Analyse de la marche, genou, robots parallèles, motion capture, capteurs inertiels, fusion de donnée A multi-sensor, cable-driven parallel manipulator based lower limb rehabilitation device: design and analysis Abstract: Gait analysis and human joint motion measurement has been studied extensively in the recent past. In order to address the effects of soft tissue artifacts (STA), a common source of error in most type of measurements, the standard procedure in gait analysis has been to use a combination of measurement methods for efficient estimation of joint angles and the body segment poses. This work proposes a gait analysis system based on a multi-sensor cable-driven parallel manipulator, focusing specifically on tracking the human knee. Our system assumes a human joint to be a general 6 DOF joint between 2 body segments. In order to measure pose of these body segments, up to 14 wires are attached to these human body segments and this permits the system to treat each of these body segments as the end-effector of a parallel mechanism. The pose of the body segments can thus be determined by measuring the wire lengths and solving the forward kinematics of this parallel architecture. The system is also equipped to use additional sensors including inertial sensors (accelerometers and gyroscopes), a 12 camera optical tracking system, inshoe pressure sensors, variable length resistive wires, IR distance sensors, force sensors to measure muscle contraction.

A number of choices are available in the approach for analyzing the knee during gait activity and the design of the setup depends on these choices. This work discuses the options available and details how they have impacted the choices we make in developing the experimental setup. We discuss the hardware developed and used, and specifically discuss the flexible collar used to attach wires to the patient body and to hold the additional sensors. We treat the collar as a serial kinematic chain and propose a calibration method for it that, unlike commonly used calibration techniques, avoids using joint angle measurements. We then outline the experiment and the methods used to synchronize and fuse the data from all sensors to obtain a pose estimate for the collar and thus, the body segments. Finally, this work helps identify steps necessary to improve the current setup and lays the groundwork for a complete rehabilitation system.

Keywords: Gait analysis, knee joint, parallel robots, motion capture, inertial sensors, data fusion

  Figure1.2: Anatomy of the right knee[START_REF] Gray | Anatomy of the human body. Bartleby.com[END_REF]

  (a) Sagittal sections of medial compartment of the knee at -5 • and 90 • flexion. (b) Solid lines connect corresponding CP on medial and lateral condyles. Dotted lines connect corresponding flexion facet centres (FFC).

Figure 1 . 3 :

 13 Figure 1.3: The figures show the variation in contact points across the two tibial condyles in the knee as it is flexed. This accounts for the flexion dependent longitudinal rotation of the knee. (a) Change in contact point (CP) in medial condyle. (b) FFC and CP variation in weight-bearing living knees[START_REF] Pinskerova | Does the femur roll-back with flexion?[END_REF]

  Figure 1.4: Magnetic Resonance Imaging of the loaded knee

Figure 1 . 5 :

 15 Figure 1.5: Typical knee gait analysis Another way to avoid the problem of STAs is to use imaging methods like fluoroscopy imaging

  Figure 1.7: Cable driven parallel robots at INRIA

  Figure 1.14: Ankle rehabilitation robots

Figure 2

 2 Figure2.1: The ISB recommendations for coordinate systems for the human body segments[START_REF] Wu | ISB recommendations for standardization in the reporting of kinematic data[END_REF]

Figure 2

 2 Figure2.2: The classical knee-joint coordinate system[START_REF] Wu | ISB recommendations for standardization in the reporting of kinematic data[END_REF]

  Figure 2.3: Collars used in the experiment -(a) Fixed to the tibia (b) fixed to the thigh (c) a collar when extended

  Figure 3.2: The pulley arrangement on the actuated cable-based parallel robot

  5 N at 20deg C [ASM GmbH 2011]. The cable ends have a steel connector with M4 threaded hole that allows easy attachment.

Figure 3

 3 Figure 3.3: A CAD model of the MARIONET-REHAB frame, with the passive wire sensors shown Figure 3.4: The passive wire sensors on the frame

  Figure 3.7: MTx sensor with sensor-fixed coordinate system S

  Figure 3.8: Optical motion capture system

Figure 3 .

 3 Figure 3.11: Inside of the collar with force sensors. The right plate is shown with the foam padding removed.

Figure 3 .

 3 Figure 3.12: The IR reflective sensors mounted on the MARIONET-REHAB frame

Figure 4 . 1 :

 41 Figure 4.1: Collar calibration: The hinge axis are marked as z i . The base frame F is indicated on plate htg1 by points O, N, S. The assembly attached to plate htd2 is for mounting the accelerometer.

Figure 4 .

 4 Figure 4.2: Coordinate systems for Hayati's convention. Z i are joint axes. For convenience we show the negative Y i axis here

Figure 4 . 4 :

 44 Figure 4.4: Plate frames and transformation matrices. The bold lines indicate the screws. F is the reference frame on the base plate htg1, D i-1 and D i are indicated at the Z-axis of the respective frames.

Figure 4 . 5 :

 45 Figure 4.5: A raw plot of x, y, z position coordinates of a marker on collar, obtained from ARENA software

Figure 4 Figure 4

 44 Figure 4.6: Search space for new point in track

Figure 4 . 8 :

 48 Figure 4.8: Plot of femoral collar hinge angles as estimated by the EKF

Figure 5 .

 5 Figure 5.1: Subject fitted with sensors, ready for experimental trials

Figure 5 . 2 :

 52 Figure 5.2: Accelerometer raw data. Fig (a) is acceleration along x-axis, (b) along y-axis, (c) along z-axis, as expressed in the Earth frame

Figure 5 .Figure 5 . 4 :Figure 5 . 5 :Figure 5 . 7 :

 5545557 Figure 5.3: Fourier transform of the accelerometer data along x-axis

Figure 5 . 8 :

 58 Figure 5.8: Noisy position data for marker on tibia, Fig (a) shows the x-coordinate, (b) shows y co-ordinate and (c) shows z co-ordinate in the local coordinate system

Figure 5 4 Figure 5 .

 545 Figure 5.9: Femoral collar joint angles Figure 5.10: Lower tibial collar joint angles

Figure 5 .

 5 Figure 5.12: Distance P t 1 P t 4

Figure 5 .

 5 Figure 5.13: Distance P t 1 P t 4 , Second trial

4 Figure 5 .

 45 Figure 5.14: Tibial Collar angles from Fig. 5.15, shown separately.

Figure 5 .

 5 Figure 5.15: Tibial collar angle estimates, second trial

Table 4 .

 4 1: Identified parameters for first plate of the three collars, α and φ are in radians, while a and d are in mm(4.13) is minimized. In this equation R p1 denotes the rotation of pose 'p' with respect to pose '1', and P p1 is the corresponding translation.

	Collar Femoral Tibial Upper -1.56 0.01 45.99 0.21 α φ a d -1.57 0.05 74.87 2.07 Tibial Lower -1.58 -0.03 45.90 0.84
	g(qx, qy) =	� p=2...l	|(R p1 -I)	�	qx 0 qy	� T + P p1 | 2	(4.13)

Q 1 = � qx 0 qy

� T such that the function g given by Eq

Table 4 .

 4 ). 2: Fixed parameters for femoral collar. β and α are in radians, a is in mm.

	Joint Hinge 2 -0.07 0.01 78.74 β α a Hinge 3 0.02 -0.01 81.86 Hinge 4 -0.01 -0.02 77.01 Hinge 5 0.05 0.01 83.78
	Joint Hinge 2 -0.01 -0.08 62.37 β α a Hinge 3 0.01 0.01 60.75 Hinge 4 -0.02 -0.00 57.78

Table 4 .

 4 3: Fixed parameters for lower tibial collar. β and α are in radians, a is in mm. Next we note from figure 4.2, the vector � x � i is the line passing through O i and O i+1 and perpendicular to � z i+1 . Since O F i is obtained in the previous step of identification, we can write the equation,

Table 4 .

 4 4: Fixed parameters for upper tibial collar. β and α are in radians, a is in mm.

	26)

CHAPTER 1. INTRODUCTION

Acknowledgements

Appendices A Mathematical Notes

A.1 Pose Estimation

The problem of estimating the pose of the body from multiply noisy measurements of points fixed to the body is frequently encountered in tracking problems. This problem has been addressed using a least-squares approach in [START_REF] Angeles | Rigid-body pose and twist estimation in the presence of noisy redundant measurements[END_REF][START_REF] Haralick | Pose estimation from corresponding point data[END_REF][START_REF] Schwartz | A new method for estimating joint parameters from motion data[END_REF][START_REF] Spoor | Rigid body motion calculated from spatial co-ordinates of markers[END_REF][START_REF] Veldpaus | A least-squares algorithm for the equiform transformation from spatial marker co-ordinates[END_REF] with different strategies, but with slight similarities in their approaches. We have implemented (in Section 4.1.2) the method proposed by [START_REF] Veldpaus | A least-squares algorithm for the equiform transformation from spatial marker co-ordinates[END_REF]] which provides additional discussions on numerical stability of the method, and the sensitivity analysis. A summary of their method is presented here.

A.1.1 Notations P 1 , P 2 . . . P m are markers, with a i as known vectors denoting position of P i at time t 1 . Center P 0 is defined by

The distribution matrix A (that reflects the relative positions (a i -a)) is defined by,

The positions of the points at time t 2 are given by p i . The motion from t 1 to t 2 can be described by a translation vector r and rotation matrix R which satisfy the equation (A.3)

The actual measured positions have error and are denoted by pi

The following section describes the equations that allow us to find approximates r for the translation vector r and matrix R for the rotation matrix R that minimize equation (A.4) in the least squares sense.

A.1.2 Unweighted Least Squares Solution

We provide the steps to find the vector r and matrix R here. The reader is referred to [START_REF] Veldpaus | A least-squares algorithm for the equiform transformation from spatial marker co-ordinates[END_REF] for detailed proofs and analysis.

Define

The equation (A.4) is rewritten considering the rotation matrix R as of the form ŝ R with ŝ as a positive scalar, denoting the quality of measurement. If this scalar has the value 1, it quantifies that the assumed rigidity of the body is true and that the measured data is accurate. The equation is then minimized under the constraints,

If Ĝa denotes the adjoint of matrix Ĝ, then R is given by solving the equations (A.9) and (A.10), and the vector r is given by equation (A.8).

This matrix R is a rotation matrix (orthonormal) and the scalar ŝ which denotes the quality of measurement, can be calculated using equation (A.11)

Here, the invariants β 1 and β 2 are functions of the eigenvalues of ĜT Ĝ. However, they can be calculated using the following set of non-linear equations:

where, if ( ĜT Ĝ) a denotes the adjoint of ĜT Ĝ,

This method is based on the Lagrange multipliers theorem, which modifies Eq. (A.4) using a matrix L, into a least squares function F = F (ŝ, r, R, L). The equations (A.11) and (A.2), allow us to note that β 1 must be positive. It is also shown that β 2 is positive for acceptable sets of measurements.

While these equations can be reformulated as a single quartic equation in β 1 (or β 2 ), an iterative method, like the Newton-Raphson method, allows easy solutions. [START_REF] Veldpaus | A least-squares algorithm for the equiform transformation from spatial marker co-ordinates[END_REF] shows that this iterative process, with an initial estimate of β 1 = g 1 and β 2 = g 2 is locally quadratic. Thus, this initial estimate is sufficiently acceptable to ensure convergence to the solutions.

B MARIONET-REHAB Software

For running the entire system, we have developed custom code in C/C++ environment, running in Linux. The software developed is used to control the accelerometers and the active wire based system using a single configuration file that will hold all experiment configuration data. It also has various libraries to read output data from all sensor sets (accelerometers, motion capture system, active and passive wire system, and foot pressure sensors) and synchronize them. The software includes libraries to perform pose estimation (using the method described in Appendix A), matrix and quaternion operations, and least squares optimization using the GNU GSL libraries.

B.1 Data Structures

We define data structures to hold experiment configuration and data as follows:

leg Structure that holds all information pertaining to the experiment.

Data Fields

-tibia tib -femur fem tibia and femur are identical structures, defined next.

tibia

Structure that defines location, configuration and settings for the collars, and sensors mounted on the collars, attached to tibia.

To signify the start of data pertaining to tibia, the word "tibia" should be written in the configuration file. All relevant data is written from the next line onwards. The final line in tibia data must be "end_tibia". Tibia struct will include 2 collars Data Fields

-collar col[2]

Data structure "collar containing information of the (up to) two collars that define the tibia

-origin C

Origin for tibial frame. This structure contains the location of the origin for the tibia frame. It specifies the link name and the location co-ordinates in the link frame.

-int angle_data -LINK col_LINKs [2][NB_LINKS_MAX]

The LINK sub-elements that define the collars. col_LINK[i][j] corresponds to the j'th LINK on the i'th collar.

-int pass_wire_count

Actual number of passive wire sensors.

-int act_wire_count

Actual number of active wire sensors.

-int accl_count

Actual number of accelerometers.

-int opti_count

Actual number of optical markers.

-int force_count

Actual number of force sensors.

-int free_count

Actual number of free (other) sensors.

-int opt_col_count

Number of optional collar data elements.

-int extern_data_count

Number of external data elements.

-int stat_foot_press states if foot pressure sensors are used. 1 if present, 0 if not

-sensor accelerometers [NB_ACCL_MAX]

Data structure "sensor" containing data for all accelerometer sensors on the tibia

-sensor passive_wires [NB_PASS_WIRES_MAX]

Data structure "sensor" containing data for all passive wires on the tibia

-sensor active_wires [NB_ACT_WIRES_MAX] -sensor force_sensors [NB_FORCE_SENS_MAX] -sensor optical [NB_OPTI_MARKER_MAX] -sensor free_sensors [NB_FREE_SENSORS_MAX] -collar_info opt_col_data [NB_OPT_DATA_MAX] -external_info extrn_data [NB_EXTERN_INFO_MAX] collar

Structure that defines the collar properties. Each collar is described by the links that form it, and the order in which they are arranged.

Data Fields

-int nb_LINKs

Number of LINKs in the collar.

-string LINK_labels [NB_LINKS_MAX]

Names of LINKs in the collar.

-string shape_left [NB_LINKS_MAX]

Collar Shape Left.

-string shape_right [NB_LINKS_MAX]

Collar Shape Right.

LINK

Structure that defines link properties. This structure contains data about the 4 main reference points on the link, and thus defines the link reference frame. It also contains data about both the link hinge axes.

Data Fields

-string label -int location [2]

LINK position identification.

-double P1 [3], P2 [3], P3 [3], P4 [3]

Reference points on LINK -float left_axis [3] Hinge Axis on the left in local plate coordinates -float right_axis [3] Hinge Axis on the right in local plate coordinates

-int angle_data

If the LINK contains additional optional data (about angle with respect to successive LINK) then this flag is set to 1. if it contains data about angle with second neighboring LINK, then it is set to 2.

-string angle_1_LINK

String that identifies the LINK with respect to which the first angle is known.

-string angle_2_LINK -float angle_1 [2] Contains angle of the given LINK with the LINK specified in angle_1_LINK. If the angle is an interval, then the two elements of the array angle_1 give the limits of the interval. Otherwise, both elements are defined to be the same.

-float angle_2 [2] sensor Structure that defines properties of a sensor attached. This structure contains the details of the following: the type of sensor, the LINK id to which it is attached, the location on the LINK where it is fixed with respect to the LINK frame, the rotation matrix relating the sensor reference frame to LINK reference frame (if it is known).

In case of wire sensors (active or passive), it also includes the coefficients of the (up to) 10 degree polynomial that gives the force exerted by the wire as a function of its length. In case of a force sensor, the axis normal to the force sensor is specified. In case of a free sensor, optional up to 10 parameters may be provided.

Data Fields

-int label_id

Sensor id -(integer)

-string sensor_type

Sensor type.

-string point_label

Point label, in case of optical marker. (as referenced by the OptiTrack software)

-string LINK_label

LINK label to which it is connected.

-float xa, ya, za Co-ordinates of sensor origin or attachment point, in the LINK reference frame.

-float rot_matrix [3][3] -float stiffness [10]

Coefficients of the (up to) 10 degree polynomial (in terms of wire length) that describe the force exerted by the wire.

-float normal_axis [3] Axis normal to the sensor (in case of force sensor) -float free_param [10] 10 parameters for optional sensors

-int nb_pulley

In case of active-wire sensor, number of pulleys used to multiply the sensor displacement.

-vector< vector< double > > mdata 2d vector containing data pertaining to motion recorded by specified sensor. mdata [i][0] corresponds to the data timestamp for ith reading, mdata[i][j] corresponds to jth field recorded by the sensor at the ith reading.

-vector< vector< int > > point_flag

In case of optical markers, we need a flag that denotes whether the reading can be trusted or not. This flag is set when a filtering/cleaning function is performed. A value of 1 denotes that the reading is correct (with acceptable noise), while 0 indicates that the reading is absolutely wrong and must be discarded.

collar_info

Structure that stores additional collar info. This structure contains data about calibrated distances, or contains additional info about measurements made by free sensors between points on the collars. This structure is intended to provide additional (probably redundant) information about the collars. Data stored under heading optional is stored in this type of structure.

Data Fields

-int collar_ids [2]

Collar numbers of the two LINKs about which data is specified.

-string LINK_labels [2]

Labels of the two LINKs on which the two points are.

-float P1 [3]

Point on first LINK.

-float P2 [3]

Point on second LINK.

-int sensor_id -int known_dist

Flag that specifies if the distance between the two points is known or not. Set to 1 if distance value is provided. If flag is 0, it specifies that the sensor given by sensor_id is known to measure the distance between P1 and P2. The value of distance can be measured off the sensor (as given in the output files).

-float dist [2]

Distance between P1 & P2. Written as an interval. If accurate value is known, then dist[1]= dist[2] = calibrated distance.

-int dist_intvl

Flag to determine if distance is interval or not. set to 1 if it is an interval and 0 otherwise.

-int free_param_state

Flag set to 1 if the sensor is a unknown free sensor. Up to 30 parameters are needed to correctly utitlize the measurements obtained. Flag set to 0 otherwise.

-int free_param_count

A count of actual number of parameters used to quantify the free sensor -float free_param [30]