SYSTEM AND METHOD FOR MONITORING THE MOVEMENT OF A PART OF A HUMAN BODY
20170340248 · 2017-11-30
Assignee
Inventors
- Matteo GIUBERTI (Parma, IT)
- Gianluigi FERRARI (Parma, IT)
- Alessandro MAURO (Oggebbio VB, IT)
- Corrado AZZARO (Oggebbio VB, IT)
- Giovanni ALBANI (Oggebbio VB, IT)
- Roberto NERINO (Torino, IT)
- Laura CONTIN (Torino, IT)
Cpc classification
A61B5/4082
HUMAN NECESSITIES
G16H50/20
PHYSICS
A61B5/7264
HUMAN NECESSITIES
A61B5/1121
HUMAN NECESSITIES
A61B5/11
HUMAN NECESSITIES
A61B2562/0219
HUMAN NECESSITIES
A61B5/0022
HUMAN NECESSITIES
International classification
Abstract
The movement of a part of human body, e.g. a limb, is monitored. The movement includes N iterated rotations in a plane. A sensing device is fixed to the limb and provides data indicative of the limb movement. These data are processed to generate a rotation signal. Then, portions of the rotation signal corresponding to each movement iteration are identified. To this purpose, a plurality of null-velocity instants is identified, wherein the angular velocity of the sensing device is null. Then, each null-velocity instant is classified as a candidate start/end time or a candidate peak time. Then, a start time, end time and peak time for each iteration are determined as a combination of two candidate start/end times and a candidate peak time that fulfils certain conditions on the values of the rotation signal in correspondence of candidate start/end times and candidate peak times.
Claims
1. A method for monitoring the movement of a part of a human body (2), said movement comprising a number N of iterations of a rotation of said part of said human body (2) in a plane (xy), said method comprising: providing data indicative of said movement of said part of said human body (2); processing said data so as to generate a rotation signal (θ(t)) indicative of said rotation of said part of a human body in said plane (xy); and identifying a portion of said rotation signal (θ(t)) corresponding to a respective iteration of said rotation of said part of said human body in said plane (xy) by determining a start time (t.sub.S), an end time (t.sub.E) and a peak time (t.sub.P) of said respective iteration; said determining comprising: determining a plurality of null-velocity instants (t*) wherein an angular velocity of said part of said human body (2) in said plane (xy) is substantially null; determining, amongst said plurality of null-velocity instants (t*), a set of candidate start/end times and a set of candidate peak times on the basis of at least one condition on relative values of said rotation signal (θ(t)) in correspondence of said plurality of null-velocity instants (t*); and determining said start time (t.sub.S), said end time (t.sub.E) and said peak time (t.sub.P) as a combination of two candidate start/end times and a candidate peak time that fulfils at least one condition on values of said rotation signal (θ(t)) in correspondence of said candidate start/end times and said candidate peak times.
2. The method according to claim 1, wherein said data comprise: first inertial data provided by an accelerometer of a sensing device (1) cooperating with said part of said human body; second inertial data provided by a gyroscope of said sensing device (1); and magnetic data provided by a magnetometer of said sensing device (1).
3. The method according to claim 2, wherein it comprises: if a norm of an acceleration detected by said accelerometer is lower than a predetermined threshold, processing said first inertial data and said magnetic data to generate said rotation signal (θ(t)); and if a norm of an acceleration detected by said accelerometer is higher than said predetermined threshold, processing said second inertial data to generate said rotation signal (θ(t)).
4. The method according to claim 1, wherein said processing said data so as to generate said rotation signal (θ(t)) comprises filtering said data through an orientation estimation filter providing as output a 4-dimensional array representing an orientation of said sensing device (1) in a 3D space, and deriving said rotation signal (θ(t)) from said 4-dimensional array.
5. The method according to claim 1, wherein said determining said set of candidate start/end times and said set of candidate peak times comprises classifying each null-velocity instant (t*(i)) as either a candidate start/end time or a candidate peak time by comparing the value of said rotation signal (θ(t)) in correspondence of said null-velocity instant (t*(i)) to be classified with the value of said rotation signal (θ(t)) in correspondence of a further null-velocity instant (t*(i−1), t*(i+1)) preceding or succeeding said null-velocity instant (t*(i)) to be classified.
6. The method according to claim 5, wherein said determining said set of candidate peak times amongst said plurality of null-velocity instants (t*) comprises classifying said null-velocity instant (t*(i)) as a candidate peak time if θ(t*(i))>θ(t*(i−1)) and θ(t*(i))>θ(t*(i+1)).
7. The method according to claim 5, wherein said determining said set of candidate start/end times amongst said plurality of null-velocity instants (t*) comprises classifying said null-velocity instant (t*(i)) as a candidate start/end time if: θ(t*(i))<θ(t*(i+1), in case said null-velocity instant (t*(i)) is the first null-velocity instant identified subsequently to a last determined end time; θ(t*(i))<θ(t*(i−1)), in case said null-velocity instant (t*(i)) is the last null-velocity instant identified; and θ(t*(i)<θ(t*(i−1)) and θ(t*(i))<θ(t*(i+1)) for any other null-velocity instant (t*(i)).
8. The method according to claim 1, wherein said determining said start time (t.sub.S), said end time (t.sub.E) and said peak time (t.sub.P) comprises finding a combination of two candidate start/end times and a candidate peak time whose chronological order is such that said peak time (t.sub.P) lies between said start time (t.sub.S) and said end time (t.sub.E).
9. The method according to claim 8, wherein said determining said start time (t.sub.S), said end time (t.sub.E) and said peak time (t.sub.P) comprises finding a combination of two candidate start/end times and a candidate peak time which fulfils the following condition:
10. The method according to claim 9, wherein said determining said start time (t.sub.S), said end time (t.sub.E) and said peak time (t.sub.P) comprises finding a combination of two candidate start/end times which fulfils the following condition:
(θ(t.sub.S)−θ(t.sub.E))≦c.sub.2 where c2 is a second threshold.
11. The method according to claim 1, wherein said identifying a portion of said rotation signal (θ(t)) corresponding to a respective iteration of said rotation of said part of said human body (2) in said plane (xy) is started while said respective iteration is being executed by said part of said human body (2), after the end time for the iteration preceding said respective iteration has been determined.
12. The method according to claim 11, wherein: said determining said plurality of null-velocity instants (t*) comprises forming a set of null-velocity instants (t*) subsequent to said end time of said preceding iteration, and updating it by adding thereto each new mill-velocity instant (t*) subsequent to said end time of said preceding iteration, when said new null-velocity instant (t*) is identified; said determining said set of candidate start/end times and said set of candidate peak times comprises classifying said new null-velocity instant (t*) as a candidate start/end time or as a candidate peak time, when said new null-velocity instant (t*) is identified; and said determining said start time (t.sub.S), said end time (t.sub.E) and said peak time (t.sub.P) comprises seeking for said combination of two candidate start/end times and one candidate peak time which fulfils said at least one condition, when said new null-velocity instant (t*) is classified as either a candidate start/end time or a candidate peak time.
13. The method according to claim 12 wherein, if said sensing device (1) stops providing said data indicative of said movement, said determining said start time (t.sub.S), said end time (t.sub.E) and said peak time (t.sub.P) is stopped and said null-velocity instants (t*) subsequent to said end time of said preceding iteration are discarded.
14. The method according to claim 12 wherein, if said start time (t.sub.S), said end time (t.sub.E) and said peak time (t.sub.P) are not determined before a predetermined time gap has lapsed since said end time of said preceding iteration, said determining said start time (t.sub.S), said end time (t.sub.E) and said peak time (t.sub.P) is stopped and said null-velocity instants (t*) subsequent to said end time of said preceding iteration are discarded.
15. A system (100) for monitoring the movement of a part of a human body (2), said movement comprising a number N of iterations of a rotation in a plane (xy) of said part of said human body, said system (100) comprising: a sensing device (I) suitable for cooperating with said part of said human body (2) and for providing data indicative of said movement of said part of said human body (2); and a processing unit (3) configured to process said data so as to generate a rotation signal (θ(t)) indicative of said rotation of said part of said human body (2) in said plane (xy) and to identify a portion of said rotation signal (θ(t)) corresponding to a respective iteration of said rotation of said part of said human body (2) in said plane (xy) by determining a start time (t.sub.S), an end time (t.sub.E) and a peak time (t.sub.P) of said respective iteration, said determining comprising: determining a plurality of null-velocity instants (t*) wherein an angular velocity of said part of a human body (2) in said plane (xy) is substantially null; determining, amongst said plurality of null-velocity instants (t*), a set of candidate start/end times and a set of candidate peak times on the basis of at least one condition on relative values of said rotation signal (θ(t)) in correspondence of said plurality of null-velocity instants (t*); and determining said start time (t.sub.S), said end time (t.sub.E) and said peak time (t.sub.P) as a combination of two candidate start/end times and a candidate peak time that fulfils at least one condition on values of said rotation signal (θ(t)) in correspondence of said candidate start/end times and said candidate peak times.
16. A computer program product loadable in the memory of at least one computer (3) and including software code portions for performing the steps of the method of claim 1, when the product is run on the at least one computer (3).
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0047] The present invention will become clearer from the following detailed description, given by way of example and not of limitation, to be read with reference to the accompanying drawings, wherein:
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS OF THE INVENTION
[0054] With reference to
[0055] As mentioned above, the sensing device 1 is a wearable device, namely it is suitable for being fixed to the limb of the user 2. To this purpose, the sensing device 1 may be provided with fixing means such as an elastic band. The fixing means preferably retain the sensing device 1 against the user's skin with a certain pressure, so as to prevent spurious movements of the sensing device 1 relative to the limb which may impair the measurement accuracy. For instance, in case the system 100 is used for evaluating the Leg Agility task, the sensing device 1 is preferably fixed to a thigh of the user 2. This may be done by means of an elastic band retaining the sensing device 1 against the thigh of the user 2. Alternatively, the sensing device 1 may be placed in the pants' pocket, provided it is kept in contact with the thigh of the user 2.
[0056] Though a single sensing device 1 is shown in
[0057] The system 100 also preferably comprises a processing unit 3. The sensing device 1 is preferably connected to the processing unit 3 so as to transmits the generated inertial data (and the optionally generated magnetic data) thereto. The connection between sensing device 1 and processing unit 3 is preferably a wireless connection, for instance a short range wireless connection. Exemplary technologies for implementing such connection are Bluetooth, Zigbee, etc. The processing unit 3 is preferably comprised in a local device which is located at the premises of the user 2. For instance, the local device may be a smartphone, a tablet, a PC or so on. According to other embodiments (not shown in the drawings), the processing unit 3 is part of a cloud computing architecture to which the sensing device 1 transmits the generated inertial data (and the optionally generated magnetic data), e.g. via a wireless router.
[0058] The system 100 is preferably connected to a remote database 4 via a communication network 5.
[0059] The operation of the system 100 will be now described in detail, with reference to the flow chart of
[0060] As the user 2 starts performing the Leg Agility task, she/he starts repeatedly lifting up and pulling down her/his leg while sitting on a chair, as schematically depicted in
[0061] Since the sensing device 1 is fixed to the thigh of the user 2, the thigh rotations result in changes of the planar rotation of the sensing device 1 in the plane xy. In the present description, the expression “planar rotation” will designate the angular position of the sensing device 1 in the plane xy, namely the angular width of the rotation that is needed to move the sensing device 1 in the plane xy from a reference position (sensing device substantially lying on the x axis) to its current position. The sensing device 1 accordingly generates inertial data (and optionally magnetic data), which reflect the thigh rotations back and forth between a first position (minimum tilt position) and a second position (maximum tilt position).
[0062] With reference now to the flow chart of
[0063] During a second step 201, the processing unit 3 preferably processes the received inertial data (and optionally the received magnetic data) so as to generate a signal θ(t) (also termed herein after “rotation signal”) indicative of the planar rotation of the tight (and hence of the sensing device 1) in the plane xy. For processing slow movements of the user's thigh, the processing unit 3 preferably uses the inertial data provided by the accelerometer of the sensing device 1 (and optionally the magnetic data provided by the magnetometer of the sensing device 1) to generate the rotation signal θ(t). For processing fast and short movements of the user's thigh, the processing unit 3 preferably uses the inertial data provided by the gyroscope of the sensing device 1. In particular, fast movements can be identified for example by setting a threshold on the acceleration norm, while a second threshold can be used to limit the use of gyroscope data. Either these thresholds are usually defined in a heuristic way, depending on the type of movement, noise of sensors, etc.
[0064] It shall be noticed that implementing the sensing device 1 as an inertial sensor comprising the combination of an accelerometer, a gyroscope and a magnetometer (instead of, for instance, a gyroscope only) is particularly advantageous. In fact, using a gyroscope alone cannot provide a reliable long term measurement of planar rotation due to measurement errors caused by the noise of the gyroscope. An accelerometer and a magnetometer that measure earth's gravitational and the magnetic field, respectively, provide an absolute reference of planar rotation. However accelerometer and magnetometer can also be subjected to high levels of noise; for example, accelerations due to motion may corrupt measured direction of gravity and the presence of ferromagnetic objects can introduce distortion in the measured gravity field. Hence, implementing the sensing device 1 as an inertial sensor comprising the combination of an accelerometer, a gyroscope and a magnetometer advantageously guarantees a heterogeneous source of data and, consequently, improves the robustness of the estimation of the rotation signal θ(t).
[0065] Step 201 preferably comprises filtering in real-time the data received from the sensing device 1 through an orientation estimation filter included in the processing unit 3. According to an alternative embodiment, the orientation estimation filter can be included in the sensing device 1. In the latter case, step 201 can be performed by the sensing device 1 itself, which accordingly provides to the processing unit 3 the rotation signal θ(t), instead of raw data. In both cases, the orientation estimation filter may be of a known type, such as for instance the filter described in S. O. H. Madgwick, “An efficient orientation filter for inertial and inertial/magnetic sensor arrays”, Department of Mechanical Engineering, University of Bristol, UK, Tech. Rep., April 2010, available at the following URL: http://www.x-io.co.uk/res/doc/madgwick internal report.pdf
[0066] This is however not limiting, since other known filters may be used, e.g. a Kalman filter. As known, an orientation estimation filter outputs a quaternion (see J. B. Kuipers, “Quaternions and Rotation Sequences: A Primer with Applications to Orbits, Aerospace and Virtual Reality”, Princeton, N.J., USA, Princeton University Press, 1999), namely a 4-dimensional array representing the orientation of the sensing device 1 in a 3D space, from which the rotation signal θ(t) is directly derived in a known way.
[0067]
[0068] During a subsequent step 202, the processing unit 3 preferably processes the received inertial data (e.g. from the gyroscope) so as to generate a further signal ω(t) (also termed herein after “velocity signal”) indicative of the angular velocity of the sensing device 1 around an axis z perpendicular to the plane xy. As mentioned above, rotation of the sensing device 1 in the plane xy is the main movement of sensing device 1. Rotations of the sensing device 1 around the axis x and y are substantially negligible. Hence, the angular velocity of the sensing device 1 about those axes may accordingly be disregarded. According to some variants, also step 202 can be performed by the sensing device 1 itself, which accordingly provides to the processing unit 3 the velocity signal ω(t), instead of raw inertial data.
[0069]
[0070] As the data from the sensing device 1 are received and the rotation signal θ(t) and the velocity signal ω(t) are reconstructed therefrom, the processing unit 3 preferably segments the rotation signal θ(t), namely it identifies in the reconstructed rotation signal θ(t) signal portions corresponding to the various iterations of the leg movement.
[0071] In particular, for each iteration, the processing unit 3 preferably determines: [0072] a start time t.sub.S, namely the instant in which the user 2 started lifting her/his foot from the floor (minimum tilt position of the thigh); [0073] a peak time t.sub.P, namely the instant in which the leg of the user 2 reached its maximum height (maximum tilt position of the thigh); and [0074] an end time t.sub.E, namely the instant in which the foot of the user 2 was brought back the floor (minimum tilt position of the thigh).
[0075] To this purpose, at step 203, the processing unit 3 preferably identifies a number of null-velocity instants, namely all the instants t* subsequent to the last determined end time (namely, the end time of the iteration of the leg movement preceding the current one) in which the velocity signal ω(t) exhibits a zero, namely ω(r)=0. In other words, at step 203 all the instants subsequent to the last determined end time are identified in which the leg of the user 2 does not move, independently of whether this is due to an anomaly or not. At this stage, such instants are all considered as candidates for being the start time t.sub.S, end time t.sub.E or peak time t.sub.P of the current iteration.
[0076]
[0077] Then, at a subsequent step 204, the processing unit 3 preferably classifies the null-velocity instants t* identified at step 203 in three groups: [0078] candidate start/end times; [0079] candidate peak times; and [0080] transition times.
[0081] According to a preferred variant, at step 204 each null-velocity instant t* is assigned to a respective label ID, which indicates its classification. For instance, null-velocity instants t* classified as candidate start/end times are assigned to a label ID=−1, null-velocity instants t* classified as candidate peak times are assigned to a label ID=1, and null-velocity instants t* classified as transition times are assigned to a label ID=0. In order to classify each null-velocity instant t* (and hence to assign a proper label ID thereto), the processing unit 3 preferably checks conditions on relative values of the rotation signal θ(t) in correspondence of the null-velocity instants t*.
[0082] In particular, at step 204 the processing unit 3 preferably compares the value of the rotation signal θ(t) in correspondence of the null-velocity instant t*(i) to be classified with the values of the rotation signal θ(t) in correspondence of the preceding null-velocity instant t*(i−1) and/or next null-velocity instant t*(i+1). More particularly: [0083] if θ(t*(i))<θ(t*(i−1)) and θ(t*(i))<θ(t*(i+1)), then the null-velocity instant t*(i) is classified as a candidate start/end time for the current iteration. If the null-velocity instant t*(i) is the first one identified, then it is compared only with the next null-velocity instant t*(i+1), namely it is only checked whether θ(t*(i))<θ(t*(i+1)). Moreover, if the null-velocity instant t*(i) is the last identified one, then it is compared only with the preceding null-velocity instant t*(i−1), namely it is only checked whether θ(t*(i))<θ(t*(i−1)); [0084] if θ(t*(i))>θ(t*(i−1)) and θ(t*(i))>θ(t*(i+1)), then the null-velocity instant t*(i) is classified as a candidate peak time for the current iteration; [0085] else, the null-velocity instant t*(i) is classified as a transition time of the current iteration.
[0086] It shall be noticed that step 204 allows excluding from the list of candidates for being start time t.sub.S, end time t.sub.E or peak time t.sub.P of the current iteration all the transition times, namely all the instants in which the leg of the user 2 temporarily stops due to a freezing or hesitation. However, step 204 still does not exclude from the list of candidates for being start time t.sub.S, end time t.sub.E or peak time t.sub.P of the current iteration the relative maxima and relative minima of the rotation signal θ(t), which may be due e.g. to vibrations of the sensing device 1 or to failed attempts to lift the leg (the user 2 tries to lift her/his leg but then brings it down to the floor without completing the movement).
[0087] Then, at a subsequent step 205, the processing unit 3 preferably determines the start time t.sub.S, peak time t.sub.P and end time t.sub.E of the current iteration amongst the candidate start/end times and the candidate peak times identified at step 204. To this purpose, at step 205 the processing unit 3 preferably determines start time t.sub.S, end time t.sub.E and peak time t.sub.P of the current iteration as the combination of two candidate start/end times and one candidate peak time that fulfils one or more conditions on the values of the rotation signal θ(t) in correspondence of the candidate start/end times and candidate peak times. In particular, the start time t.sub.S, peak time t.sub.P and end time t.sub.E are preferably selected as a combination of two candidate start/end times and one candidate peak time whose chronological order is such that the peak time lies between start time and end time, namely:
t.sub.S<t.sub.P<t.sub.E [1]
[0088] Furthermore, the combination of two candidate start/end times and one candidate peak time shall fulfil the following condition:
where c1 is a first threshold.
[0089] This advantageously allows discarding relative maxima and minima of the rotation signal θ(t) which may be due e.g. to vibrations of the sensing device 1 or to failed attempts to lift the leg.
[0090] According to the present invention, the value of the first threshold c1 shall be selected large enough to avoid that vibrations of the sensing device 1 or failed attempts to lift the leg are improperly identified as the peak of the current iteration. On the other hand, the value of the first threshold c1 shall be low enough to avoid missing identification of the real peak of the current iteration (maximum tilt position of the thigh). Inventors have estimated that the first threshold c1 shall be preferably comprised between 7 and 13 degrees, more preferably between 9 and 11 degrees. For instance, the first threshold c1 may be equal to 10 degrees. Moreover, the combination of two candidate start/end times and one candidate peak time shall fulfil the following condition:
(θ(t.sub.S)−θ(t.sub.E))c.sub.2, [3]
where c2 is a second threshold.
[0091] The value of the second threshold c2 shall be preferably large enough to avoid considering several consecutive iterations as a single iteration. On the other hand, the value of the second threshold c2 shall be preferably small enough to avoid that a hesitation during an iteration is improperly identified as the start or the end of the current iteration. Inventors have estimated that the second threshold c2 shall be preferably comprised between 7 and 13 degrees, more preferably between 9 and 11 degrees. For instance, the second threshold c2 may be equal to 10 degrees.
[0092] The outcome of step 205 is shown in
[0093] Preferably, steps 203 to 205 are carried out in a substantially continuous way while the user 2 is executing the various iterations, thereby allowing identification of each single iteration immediately after it is completed. In particular, after determination of the end time of an iteration, the set of null-velocity instants t* relating to the current iteration starts being formed and is updated in real time by adding each new null-velocity instant t* as soon as it is identified based on the velocity signal ω(t) (step 203). Each new null-velocity instant t* is also classified in real time as a candidate start/end time, peak time or transition time, so that also the sets of candidates start/end times, peak times or transition times relating to the current iteration are updated in real time (step 204). Then, when a new null-velocity instant t* is identified and classified as either a candidate start/end time or a candidate peak time, the determination of the start time t.sub.S, peak time t.sub.P and end time t.sub.E of the current iteration is preferably attempted as described above (step 205) on the last updated sets of candidates start/end times and peak times. The determination of the start time t.sub.S, peak time t.sub.P and end time t.sub.E of the current iteration is completed when a combination of two candidate start/end times and one candidate peak time which fulfils the above described conditions is found.
[0094] If the data acquisition by the sensing device 1 is stopped before the start time t.sub.S, peak time t.sub.P and end time t.sub.E are determined, all the null-velocity instants identified subsequently to the last determined end time are preferably discarded and the determination of the start time t.sub.S, peak time t.sub.P and end time t.sub.E as per step 205 is stopped.
[0095] Further, if a start time t.sub.S, peak time t.sub.P and end time t.sub.E for the current iteration can not be determined before a predetermined time gap has lapsed since determination of the end time for the last iteration, then it is assumed that the user 2 has completed the task iterations. Also in this case, preferably, the null-velocity instants identified subsequently to the last determined end time are discarded and the determination of the start time t.sub.S, peak time t.sub.P and end time t.sub.E as per step 205 is stopped.
[0096] The processing unit 3 is therefore advantageously able to provide the segmentation outcome in real time, namely to isolate each single iteration following to the determination of the end time of the preceding one. It shall be indeed appreciated that the determination of start time, end time and peak time for each iteration does not involve use of any parameter relating to the other iterations. Hence, start time, end time and peak time of each iteration may be determined immediately after completion of the iteration, and will be no longer modified by the processing unit 3.
[0097] During a subsequent step 206 the processing unit 3 preferably uses at least one of the determined start time, end time and peak time for calculating one or more kinematic quantity of the movement of the user 2.
[0098] The kinematic quantity preferably comprise the speed of the leg movement, the amplitude of the leg movement, the duration of the leg movement, etc. calculated for each single movement iteration separately. This provides a real-time, quantitative evaluation of the performance of the user 2 in executing the movement or task, which e.g. enables an objective assessment of the seriousness of her/his pathology (e.g. an objective assessment of the UPDRS score, in case of Parkinson's disease).
[0099] For instance, at step 206 the processing unit 3 may calculate: [0100] the angular amplitude θmax(r) of the leg movement at the r.sup.th iteration; [0101] the average angular speed Ω(r) of the leg movement at the r.sup.th iteration; [0102] the time pause T.sub.gap(r) between the r.sup.th iteration and the preceding one; [0103] the time T.sub.peak(r) lapsing between the peaks of the r.sup.th iteration and the preceding one.
[0104] These kinematic quantities are merely exemplary.
[0105] Preferably, the angular amplitude θmax(r) of the leg movement at the r.sup.th iteration is calculated according to the following equation:
where t.sub.S(r) is the start time of the r.sup.th iteration, t.sub.P9r) is the peak time of the r.sup.th iteration, t.sub.E(r) is the end time of the r.sup.th iteration, θ.sub.A(r) is the amplitude of the leg ascent movement and the θ.sub.D(r) is the amplitude of the leg descent movement.
[0106] Preferably, the average angular speed Ω(r) of the leg movement at the r.sup.th iteration is calculated according to the following equation:
where D(r) is the duration of the leg movement at the r.sup.th iteration.
[0107] Preferably, the time pause T.sub.gap(r) between the r.sup.th iteration and the preceding one is calculated according to the following equation:
T.sub.gap(r)=t.sub.S(r)−t.sub.E(r−1), [6]
where t.sub.E(r−1) is the end time of the (r−1).sup.th iteration.
[0108] Preferably, the time T.sub.peak(r) lapsing between the peaks of the r.sup.th iteration and the preceding one is calculated according to the following equation:
T.sub.peak(r)=t.sub.P(r)−t.sub.P(r−1), [7]
where t.sub.P(r−1) is the peak time of the (r−1).sup.th iteration.
[0109] The graphs of
[0110] From the graphs, it is apparent that the average angular speed for the healthy user is significantly higher than for the patient affected by the Parkinson's disease (see
[0111] Step 206 may also comprise the automatic assignment of a score (e.g. a UPDRS score) to the user 2, e.g. based on the values of the calculated kinematic quantities.
[0112] The raw sensed data provided by the sensing device 1 at step 200 and/or the rotation/velocity signals calculated at steps 201/202, and/or the start/end/peak times calculated at step 205 and/or the kinematic quantities calculated at step 206 (and/or the assigned score derived therefrom) are preferably transmitted by the processing unit 3 to the remote database 4 via the communication network 5. In this way, all such information are available and may be accessed by a neurologist or specialized personnel, e.g. for statistic purposes and/or for tuning the drug dosage to user 2.
[0113] Though in the above description it has been assumed that all the method steps shown in
[0114] Though the above detailed description has been made with reference to the leg movements, this is not limiting. It may indeed be appreciated that the method according to the present invention is straightforwardly applicable to the movement of any limb or body part, provided that the movement comprises one or more rotations of the limb or body part substantially in a plane.
[0115] Hence, the above described method advantageously allows measuring the kinematic quantities of the movement of a limb of a user in a fully automated way and in real-time. This advantageously allows the user 2 to carry out the measurement as often as necessary at home in an autonomous way, thereby enabling a more frequent monitoring of her/his health condition.
[0116] The results of the method are very accurate, in spite of the anomalies which typically affect the users movements. The method described above is indeed capable of properly segmenting (namely, identifying and isolating) each single iteration of the movement, even when several relative maxima and minima due to such anomalies are present in the signals provided by the sensing device attached to the user's limb. Hence, the values of the kinematic quantities calculated based on such segmentation are very accurate and reliable.