Robust swing leg controller under large disturbances
09603724 ยท 2017-03-28
Assignee
Inventors
Cpc classification
A61F2002/701
HUMAN NECESSITIES
A61F2002/7645
HUMAN NECESSITIES
International classification
Abstract
Local swing leg control was developed that takes advantage of segment interactions to achieve robust leg placement under large disturbances while generating trajectories and joint torque patterns similar to those observed in human walking and running. The results suggest the identified control as a powerful alternative to existing swing leg controls in humanoid and rehabilitation robotics. Alternatively, a detailed neuromuscular model of the human swing leg was developed to embody the control with local muscle reflexes. The resulting reflex control robustly places the swing leg into a wide range of landing points observed in human walking and running, and it generates similar patterns of joint torques and muscle activations. The results suggest an alternative to existing swing leg controls in humanoid and rehabilitation robotics which does not require central processing.
Claims
1. A method for placing an artificial foot connected to a prosthetic or robotic limb on to a target point, wherein the method comprises: providing the prosthetic or robotic limb with a rotatable artificial hip joint, a rotatable artificial knee joint, an artificial thigh having length (l.sub.t) coupled to the rotatable artificial hip joint and the rotatable artificial knee joint, an artificial shank having length (l.sub.s) coupled to the rotatable artificial knee joint, providing a hip torque actuator coupled to the rotatable artificial hip joint, and a knee torque actuator coupled the rotatable artificial knee joint; providing a controller in communication with: i. a rotatable artificial hip joint sensor to measure a current hip rotation angle (.sub.h), ii. a rotatable artificial knee joint sensor to measure a current knee rotation angle (.sub.k), iii. the hip torque actuator to apply a positive or a negative torque to the rotatable artificial hip joint, and iv. the knee torque actuator to apply a positive or a negative torque to the rotatable artificial knee joint; inputting into the controller one or more parameters from the group consisting of a target leg angle (.sub.tgt), a leg clearance length (l.sub.clr) a proportional gain (k.sub.p.sup.), a derivative gain (k.sub.d.sup.), a stopping gain (k.sup.stp), an extension gain (k.sup.ext), a flexing gain (k.sup.i), a damping gain (k.sup.ii), a maximum return leg angle velocity ({dot over ()}.sub.max), and a leg angle threshold delta (.sub.thr); wherein the controller executes the following steps of the method: a. continuously measuring the current hip rotation angle (.sub.h) and the current knee rotation angle (.sub.k); b. continuously determining a current leg angle velocity ({dot over ()}) and a current leg angle () based on the current hip rotation angle (.sub.h) and the current knee rotation angle (.sub.k); c. calculating the adjustable leg length (l) based on the current knee rotation angle (.sub.k), the thigh length (l.sub.i), and the shank length (l.sub.s); d. applying a first torque or no torque to the rotatable artificial knee joint and/or a first torque or no torque to the rotatable artificial hip joint until the adjustable leg length (l) is equal to or less than the leg clearance length (l.sub.clr); e. applying a second torque or no torque to the rotatable artificial knee joint and/or a second torque to the rotatable artificial hip joint until a threshold leg angle .sub.thr, defined as (.sub.tgt+.sub.thr), is reached; f. applying a third torque or no torque to the rotatable artificial knee joint and/or a third torque or no torque to the rotatable artificial hip joint until the current leg angle velocity ({dot over ()}) equal to or greater than zero; and g. applying a fourth torque or no torque to the rotatable artificial knee joint and/or a fourth torque or no torque the rotatable artificial hip joint until the artificial foot contacts the target point, whereby motion of the rotatable artificial hip joint and the rotatable artificial knee joint are determined without enforcing reference trajectories of the rotatable artificial hip joint and the rotatable artificial knee joint.
2. The method according to claim 1, wherein the step of calculating a current leg angle () further comprises an equation
3. The method according to claim 1, wherein the step of calculating the adjustable leg length (l) further comprises an equation
4. The method according to claim 1, wherein the step of applying a first torque or no torque to the rotatable artificial knee joint and/or a first torque to the rotatable artificial hip joint until the adjustable leg length (l) is equal to or less than the leg clearance length (l.sub.clr) further comprises repeating steps a-c.
5. The method according to claim 1, wherein the step of applying a second torque or no torque to the rotatable artificial knee joint and/or a second torque to the rotatable artificial hip joint until a threshold leg angle .sub.thr, defined as (.sub.tgt+.sub.thr), is reached further comprises repeating steps a-c.
6. The method according to claim 1, wherein the step of applying a first torque or no torque to the rotatable artificial knee joint and/or a first torque to the rotatable artificial hip joint until the adjustable leg length (l) is equal to or less than the leg clearance length (l.sub.clr) further comprises calculating the first torque to the rotatable artificial hip joint based on equation
.sub.h.sup.=k.sub.p.sup.(.sub.tgt) k.sub.d.sup.{dot over ()}.
7. The method according to claim 1, wherein the step of applying a second torque or no torque to the rotatable artificial knee joint and/or a second torque to the rotatable artificial hip joint until a threshold leg angle .sub.thr, defined as (.sub.tgt+.sub.thr), is reached further comprises calculating the second torque to the rotatable artificial hip joint based on equation
.sub.h.sup.=k.sub.p.sup.(.sub.tgt)k.sub.d.sup.{dot over ()}.
8. The method according to claim 7, wherein the step of applying a second torque or no torque to the rotatable artificial knee joint and/or a second torque to the rotatable artificial hip joint until a threshold leg angle .sub.thr, defined as (.sub.tgt+.sub.thr), is reached further comprises calculating the second torque to the rotatable artificial hip joint based on equation T.sub.h=.sub.h.sup.+.sub.h.sup.iii, wherein .sub.h.sup.iii is a compensation torque applied at the rotatable artificial hip joint.
9. The method according to claim 1, wherein the step of applying a first torque or no torque to the rotatable artificial knee joint and/or a first torque to the rotatable artificial hip joint until the adjustable leg length (l) is equal to or less than the leg clearance length (l.sub.clr) further comprises calculating the first torque or no torque to the rotatable artificial knee joint based on equations
10. The method according to claim 1, wherein the step of applying a second torque or no torque to the rotatable artificial knee joint and/or a second torque to the rotatable artificial hip joint until a threshold leg angle .sub.thr, defined as (.sub.tgt+.sub.thr), is reached further comprises calculating the second torque or no torque to the rotatable artificial knee joint based on equations
11. The method according to claim 1, wherein the step of applying a second torque or no torque to the rotatable artificial knee joint and/or a second torque to the rotatable artificial hip joint until a threshold leg angle .sub.thr, defined as (.sub.tgt+.sub.thr), is reached further comprises calculating the second torque or no torque to the rotatable artificial knee joint based on equation
12. The method according to claim 1, wherein the step of applying a third torque or no torque to the rotatable artificial knee joint and/or a third torque or no torque to the rotatable artificial hip joint until the current leg angle velocity ({dot over ()}) equals zero further comprises calculating the third torque or no torque to the rotatable artificial knee joint based on equation
13. The method according to claim 12, wherein the step of applying a third torque or no torque to the rotatable artificial knee joint and/or a third torque or no torque to the rotatable artificial hip joint until the current leg angle velocity ({dot over ()}) equals zero further comprises calculating the positive torque or the negative torque to the rotatable artificial hip joint based on equation
.sub.h.sup.iii=2.sub.k.sup.iii
14. The method according to claim 1, wherein the step of applying a fourth torque or no torque to the rotatable artificial knee joint and/or a fourth torque or no torque to the rotatable artificial hip joint until the artificial foot contacts the target point further comprises calculating the fourth torque to the rotatable artificial knee joint based on equation
.sub.k.sup.iii=.sub.k.sup.iii+k.sup.ext(l.sub.0l) when the current leg angle velocity ({dot over ()}) equals zero, where l.sub.0=l.sub.t+l.sub.s, wherein .sub.k.sup.iii is a stopping torque applied at the rotatable artificial knee joint.
15. The method according to claim 14, wherein the step of applying a fourth torque or no torque to the rotatable artificial knee joint and/or a fourth torque or no torque to the rotatable artificial hip joint until the artificial foot contacts the target point further comprises calculating the fourth torque to the rotatable artificial hip joint based on equation
.sub.h.sup.iii=2.sub.k.sup.iii.
16. A method for placing an artificial foot connected to a prosthetic or robotic limb on to a target point, wherein the method comprises: providing the prosthetic or robotic limb with an artificial shank having length (l.sub.s) coupled to a rotatable artificial knee joint, wherein the rotatable artificial knee joint is coupled to a natural thigh having length (l.sub.t) coupled to a rotatable natural hip joint; providing a knee torque actuator coupled to the rotatable artificial knee joint; providing a controller in communication with: i. a rotatable natural hip joint sensor to measure a current hip rotation angle (.sub.h), ii. a rotatable artificial knee joint sensor to measure a current knee rotation angle (.sub.k), and iii. the knee torque actuator to apply a positive or a negative torque to the rotatable artificial knee joint; inputting into the controller one or more parameters from the group consisting of a target leg angle (.sub.t), a leg clearance length (l.sub.clr) a stopping gain (k.sup.stp), an extension gain (k.sup.ext), a flexing gain (k.sub.i), a damping gain (k.sup.ii), a maximum return leg angle velocity ({dot over ()}.sub.max), and a leg angle threshold delta (.sub.thr); wherein the controller executes the following steps of the method: a. continuously measuring the current hip rotation angle (.sub.h) and the current knee rotation angle (.sub.k); b. continuously determining a current leg angle velocity ({dot over ()}) and a current leg angle () based on the current hip rotation angle (.sub.h) and the current knee rotation angle (.sub.k); c. calculating the adjustable leg length (l) based on the current knee rotation angle (100 .sub.k), the thigh length (l.sub.t), and the shank length (l.sub.s); d. applying a first torque or no torque to the rotatable artificial knee joint until the adjustable leg length (l) is equal to or less than the leg clearance length (l.sub.clr); e. applying a second torque or no torque to the rotatable artificial knee joint until a threshold leg angle .sub.thr, defined as (.sub.tgt+.sub.thr), is reached; f. applying a third torque or no torque to the rotatable artificial knee joint until the current leg angle velocity ({dot over ()}) equal to or greater than zero; and g. applying a fourth torque or no torque to the rotatable artificial knee joint until the artificial foot contacts the target point, whereby motion of the rotatable artificial knee joint is determined without enforcing reference trajectories of the rotatable natural hip joint and the rotatable artificial knee joint.
17. The method according to claim 16, wherein the step of calculating a current leg angle () further comprises an equation
18. The method according to claim 16, wherein the step of calculating the adjustable leg length (l) further comprises an equation
19. The method according to claim 16, wherein the step of applying a first torque or no torque to the rotatable artificial knee joint until the adjustable leg length (l) is equal to or less than the leg clearance length (l.sub.clr) further comprises repeating steps a-c.
20. The method according to claim 16, wherein the step of applying a second torque or no torque to the rotatable artificial knee joint until a threshold leg angle .sub.thr, defined as (.sub.tgt+.sub.thr), is reached further comprises repeating steps a-c.
21. The method according to claim 16, wherein the step of applying a first torque or no torque to the rotatable artificial knee joint until the adjustable leg length (l) is equal to or less than the leg clearance length (l.sub.clr) further comprises calculating the first torque or no torque to the rotatable artificial knee joint based on equations
22. The method according to claim 16, wherein the step of applying a second torque or no torque to the rotatable artificial knee joint until a threshold leg angle .sub.thr, defined as (.sub.tgt+.sub.thr), is reached further comprises calculating the second torque or no torque to the rotatable artificial knee joint based on equations
23. The method according to claim 16, wherein the step of applying a second torque or no torque to the rotatable artificial knee joint until a threshold leg angle .sub.thr, defined as (.sub.tgt+.sub.thr), is reached further comprises calculating the second torque or no torque to the rotatable artificial knee joint based on equation
24. The method according to claim 16, wherein the step of applying a third torque or no torque to the rotatable artificial knee joint until the current leg angle velocity ({dot over ()}) equals zero further comprises calculating the third torque or no torque to the rotatable artificial knee joint based on equation
25. The method according to claim 16, wherein the step of applying a fourth torque or no torque to the rotatable artificial knee joint until the foot contacts the target point further comprises calculating the fourth torque to the rotatable artificial knee joint based on equation
.sub.k.sup.iii=.sub.k.sup.iii+k.sup.ext(l.sub.0l) when the current leg angle velocity ({dot over ()}) equals zero, where l.sub.0=l.sub.t+l.sub.s, wherein .sub.k.sup.iii is a stopping torque applied at the rotatable artificial knee joint.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
DETAILED DESCRIPTION OF THE INVENTION
(28) Swing Leg Model
(29) In human and humanoids, leg placement is largely achieved by the motion of the hip and knee while the ankle contribution can be neglected. To develop intuition about the control strategies for swing leg placement, the classic double pendulum with the thigh and shank represented as massless rods of lengths l.sub.t and l.sub.s with point masses m.sub.t and m.sub.s attached to their ends was used in one embodiment (
((m.sub.t+m.sub.s)l.sub.tm.sub.sl.sub.s cos .sub.k)l.sub.t{umlaut over ()}.sub.h=.sub.h+.sub.km.sub.sl.sub.tl.sub.s cos .sub.k{umlaut over ()}.sub.k+m.sub.sl.sub.sl.sub.t sin .sub.k({dot over ()}.sub.k{dot over ()}.sub.h).sup.2+(m.sub.t+m.sub.s)l.sub.tg sin .sub.h(1)
m.sub.sl.sub.s.sup.2{umlaut over ()}.sub.k=.sub.k+m.sub.sl.sub.s(l.sub.sl.sub.t cos .sub.k){umlaut over ()}.sub.h+m.sub.sl.sub.sl.sub.t sin .sub.k{dot over ()}.sub.h.sup.2m.sub.sl.sub.sg sin(.sub.k.sub.h)(2)
(30) for the hip and knee, respectively, where .sub.h and .sub.k are the applied hip and knee torques.
(31) In addition to the conceptual model, the performance of the control with a more realistic simulation model of human swing motions was tested (
(32)
(33) (.sub.max=175 deg, {dot over ()}.sub.max=0.01 rads.sup.1, k.sub.=17.2 Nmrad.sup.1) and accounts for hip translational accelerations (.sub.x, .sub.y) in later comparisons to human swing phases in steady walking and running.
(34) Modular Local Control
(35) In addition to the fundamental goal placing the foot into target points, the swing leg motion is subject to the constraint that the foot point needs to clear the ground or an obstacle. We represent both, the placement goal and the clearance constraint, by two control variables, the target leg angle .sub.tgt and the clearance leg length l.sub.clr, respectively (
(36)
and the leg length resolves to
(37)
(
(38)
(39) Although this sequence of control tasks can be strictly enforced with classical state feedback control, tracking predefined trajectories is avoided for two reasons. Similar to humans, we seek to take advantage of the passive dynamics that the swing leg provides to lessen the required torques. In addition, we seek decoupled joint controls as much as possible to modularize the control. Both goals target autonomous and modular replacement legs in rehabilitation robotics. As a consequence, the swing leg control is structured around functionally distinct hip and knee joint controls.
(40)
(41) A. Hip Control
(42) The hip control is active throughout the swing and its primary function is to move the leg into the target angle .sub.tgt. The specific control input .sub.h.sup. is given by
.sub.h.sup.=k.sub.p.sup.(.sub.tgt)k.sub.d.sup.{dot over ()}(4)
(43) where k.sub.p.sup. and k.sub.d.sup. are proportional and derivative gains, respectively. Note that a negative input tends to flex the hip. In addition to the angle control, the hip control receives a second input .sub.h.sup.iii from the knee control,
.sub.h=.sub.h.sup.+.sub.h.sup.iii,(5)
(44) during the last, leg extension stage in the control sequence (after reaching Q). The purpose of .sub.h.sup.iii is detailed in the next section on knee control. It is the only crossover input between the joints.
(45) B. Knee Control
(46) The knee control's primary function is to regulate leg length. However, due to the influence of the knee angle on both, leg length and leg angle, the control is more involved. It is separated into the three natural control tasks outlined before (
(47) To accomplish the first control task of reaching a minimum clearance l.sub.clr in the initial swing, we take advantage of the passive swing leg dynamics. Equation 2 shows that while the Coriolis, centrifugal and gravitational terms always tend to extend the knee, a negative hip acceleration tends to flex the knee. The hip control (Eq. 4) generates negative hip acceleration initially to drive the leg into the target angle. The resulting passive, negative knee acceleration sufficiently overcomes the opposing Coriolis, centrifugal and gravitational accelerations as long as the leg angle increases, {dot over ()}>0 or equivalently {dot over ()}.sub.k<2{dot over ()}.sub.h (backward motion of foot point). In that case, no input .sub.k is required to flex the leg, as the increase in a reinforces hip flexion control and, in turn, passive knee flexion. If on the other hand {dot over ()}0, the passive knee flexion is no longer sufficient and the leg tends to scuff the foot. Thus we implement active knee flexion control only in proportion to how fast the leg moves forward,
(48)
(49) where k.sup.i is a proportional gain.
(50) Once the leg length as shortened past the clearance length, l<l.sub.clr, the knee control switches to the second task of damping the knee so that the leg angle control by the hip can take full effect (Eq. 4). We realize this task with a damping input
(51)
(52) that is pure when the knee flexes ({dot over ()}.sub.k0) and modulated when it extends ({dot over ()}.sub.k>0), with a proportional gain of k.sup.ii. The implementation avoids the large torques that a precise tracking of l=l.sub.clr would incur fighting the passive swing leg dynamics (
(53) The final knee control task of stopping swing and extending the leg into the target is initiated when the leg angle passes a threshold .sub.thr=.sub.tgt+.sub.thr and is realized with two functional components. The first component generates a stopping knee-flexion torque
(54)
(55) that is inspired by nonlinear contact models, where k.sup.stp is a proportional gain, .sub.thr corresponds to ground indentation and {dot over ()}.sub.max is the return velocity at which ground resistance vanishes. The stopping torque works well only if its coupling into the hip motion is canceled and we apply the compensation torque
.sub.h.sup.iii=2.sub.5.sup.iii(9)
(56) at the hip. To motivate this particular compensation, consider equations 1 and 2 at hip and knee angles of 180 deg (vertical leg position). The equations then simplify to
(m.sub.t+2m.sub.s)l.sub.t.sup.2{umlaut over ()}.sub.h=.sub.h+.sub.k+m.sub.sl.sub.t.sup.2{umlaut over ()}.sub.k(10)
m.sub.sl.sub.t.sup.2{umlaut over ()}.sub.k=.sub.k+2m.sub.sl.sub.t.sup.2{umlaut over ()}.sub.h(11)
(57) where we used the assumption l.sub.s=l.sub.t. Using equation 11 to substitute {umlaut over ()}.sub.k in equation 10, we get
m.sub.sl.sub.t.sup.2{umlaut over ()}.sub.h=.sub.h+2.sub.k
(58) for the hip equation, which shows that a compensation torque .sub.h=2.sub.k cancels the effect of knee torque on the hip motion.
(59) The second functional component engages when the leg has slowed down to zero angular speed {dot over ()}=0, upon which a deliberate extension component is added to the knee torque,
.sub.k.sup.iii=.sub.k.sup.iii+k.sub.ext(l.sub.0l)(12)
(60) where k.sup.ext is a proportional gain and l.sub.0=l.sub.t+l.sub.s. This active knee extension ensures that the leg reaches down to the ground.
(61) Results and Discussion
(62) The control developed in the previous section is based on the simple double pendulum as a conceptual model (
(63) A. Leg Placement into Arbitrary Targets
(64) The initial leg configuration is set to .sub.h,0=220 deg and .sub.k,0=175 deg (.sub.0=132.5 deg), the clearance leg length is fixed at l.sub.clr=5 cm, and the control gains of the local feedback control are hand-tuned with the goal of minimizing the error between the target leg angle and the actual landing angle for a large range of initial joint velocities and target angles. Simultaneously, peak joint torques are tuned to be within the peak torques observed in human walking and running. Note that the hip is still assumed to be hinged during tuning as it is unclear what external translational accelerations should be applied in this process. The resulting set of control parameters is shown in Table 1.
(65) TABLE-US-00001 TABLE 1 Control parameters values. Values in parentheses are gains adapted for walking & running respectively. parameter value parameter value k.sub.p.sup. 110 (50/150) Nmrad.sup.1 k.sup.i 13 Nmsrad.sup.1 k.sub.d.sup. 8.5 (5.5/8.5) Nmsrad.sup.1 k.sup.ii 5.5 Nmsrad.sup.1 k.sup.stp 250 (60/160) Nmrad.sup.1 {dot over ()}.sub.max 10 rads.sup.1 k.sup.ext 200 N .sub.thr .sub.tgt + 8 deg
(66)
(67) B. Comparison to Human Walking and Running
(68) For the comparison to human swing motions, multiple swing leg trajectories of a subject walking from 0.65 ms.sup.1 and 2 ms.sup.1 and running from 2.5 ms.sup.1 to 5.5 ms.sup.1 were recorded, covering slow to fast walking as well as slow to fast running. The left columns in
(69) The model-predicted swing leg patterns are similar to the observed ones in walking. The right column in
(70) In contrast to walking, the predicted patterns for running have a shorter stride length and a clearly faster swing time than present in human running (
(71) The short swing phase in running is caused mainly by an increased proportional gain k.sub.p.sup. for the leg angle control at the hip (Eq. 4 and Table 1). This modification in the model was required, because otherwise the passive leg flexion by the hip control is too weak and the large hip translational accelerations in running force the leg into an early landing. The modification also entails a larger gain k.sup.stp for the stopping control (Eq. 8 and Table 1).
(72) C. Reactions to Target Changes and Obstacle Encounters
(73) In addition to comparing the predicted swing leg patterns to human swing motions, the performance of the control in the presence of disturbances was tested. First, sudden changes in the target angle were considered.
(74)
(75) The results of the exemplary embodiments suggest that the control can achieve swing leg placement into a large range of targets for a wide range of walking and running speeds with robustness to disturbances in initial conditions and to sudden changes in the placement target during swing. In the simulation model, the control achieves leg placement into target angles ranging from 50 deg to 130 deg with an average error of 1.4 deg and a maximum error of 5.2 deg throughout a large range of initial joint velocities (
(76) In addition, the control generates swing patterns that share the main features of human swing leg patterns. In undisturbed swings, the control generates foot point and joint torque patterns that are similar to those patterns observed in human walking and running (
(77) Now turning to
(78) Now turning to
(79) Now turning to
(80)
(81) Now turning to
(82) Neuromuscular Control Model
(83) To compare the identified control with human swing leg behavior at the level of muscle activations, and to prepare a transfer to artificial powered legs that can react like human limbs, a neuromuscular model of the human leg in swing was developed to embody the modular control with local muscle reflexes. In one embodiment, the model comprises three segments connected by revolute joints. The segments have anthropomorphic mass and inertia properties and the joints represent hip, knee and ankle. Nine Hill-type muscle models span these joints, each consisting of a contractile element CE, and parallel and series elasticities (
F.sup.m=F.sub.max.sup.mf.sub.lf.sub.vA.sup.m
(84) that is dependent on its maximum isometric force F.sub.max.sup.m, the force-length (f.sub.l) and force-velocity relationships (f.sub.v) of the contractile element, and the muscle activation A.sup.m. The muscle force translates into the joint torque contribution .sub.j.sup.m=F.sup.mr.sub.j.sup.m at the joints j the muscle spans, where r.sub.j.sup.m is the muscle moment arm. The activation is related to the neural stimulation S.sub.m[0,1] of a muscle by
{dot over (A)}.sup.m=(S.sup.mA.sup.m)/.sub.ecc,
(85) where the constant .sub.ecc=10 ms describes the excitation-contraction coupling of muscle tissue.
(86) For the muscle reflex embodiment of the modular leg placement control described in paragraphs the muscle stimulations are generated by local proprioceptive feedbacks from the same or other muscles (general index n),
(87)
(88) where S.sub.0.sup.m is the muscle prestimulation, G.sub.n.sup.m is a feedback gain, P.sub.n.sup.m is the proprioceptive signal, t.sub.n.sup.m represents the neural transport delay, and the sum symbol describes -motoneurons which can combine multiple feedbacks to generate the muscle net stimulation. The proprioceptive signals P.sub.n.sup.m are either length or velocity signals from the originating muscle n with
L.sub.n.sup.m=l.sub.ce.sup.nl.sub.off.sup.n
and
V.sub.n.sup.m=v.sub.ce.sup.nv.sub.off.sup.n,(14)
(89) respectively. The offset values l.sub.off.sup.n and v.sub.off.sup.n model set point adjustments that -motoneurons can generate at muscle spindles, the sensory organs which measure muscle length and velocity. Note that the muscle stimulation (Eq. 13) is saturated between zero and one, reflecting that neurons modulate signals with firing rates that cannot become negative.
(90) A. Leg Angle Estimation with Biarticular Muscle Stretch
(91) The control described in the previous section requires the leg angle as a main input. This quantity can be estimated in the human neuromuscular system by the length of two biarticular muscles, the hamstring (HAM) and the rectus femoris (RF). Both muscles span the hip and knee. HAM is a hip extensor and knee flexor while RF flexes the hip and extends the knee. The lengths of the two muscles are given by
l.sup.m=l.sub.0.sup.mr.sub.h.sup.m(.sub.h.sub.h,r.sup.m)r.sub.k.sup.m(.sub.k.sub.k,r.sup.m)(15)
(92) where l.sub.0.sup.m is the muscle rest length that is reached at the leg configuration defined by .sub.h,r.sup.m and .sub.k,r.sup.m and r.sub.h.sup.m and r.sub.k.sup.m are muscle moment arms at the hip and knee, respectively (top/bottom version for RF/HAM). In humans, r.sub.k.sup.mr.sub.h.sup.m/2 for RF and HAM, and the leg angle relates to the hip and knee angles by .sub.h.sub.k/2. Equation 15 thus simplifies to
l.sup.m=l.sub.0.sup.mr.sub.h.sup.m(.sub.r.sup.m)
(93) with .sub.r.sup.m=.sub.h,r.sup.m.sub.k,r.sup.m/2. On the other hand, in muscle l.sup.m=l.sub.ce.sup.m+l.sub.se.sup.m. Assuming that the series elasticity does not stretch substantially beyond its slack length (l.sub.sl.sup.m) in these muscles, l.sub.se.sup.m=l.sub.sl.sup.m (due to the low forces required in swing), the leg angle resolves to =(l.sub.ce.sup.m+l.sub.sl.sup.ml.sub.0.sup.m)/r.sub.h.sup.m+.sub.r.sup.m. Now, the control described above requires leg angle inputs only as differences .sub.i with respect to target values .sub.i, which resolves to
.sub.i=1/r.sub.h.sup.m(l.sub.ce.sup.ml.sub.off.sup.m)(16)
(94) when choosing the offset l.sub.off.sup.m=r.sub.h.sup.m(.sub.i.sub.r.sup.m)l.sub.sl.sup.m+l.sub.0.sup.m, Equation (16) describes a muscle spindle length feedback (Eqs. 13 and 14) of either the RF or the HAM. Likewise, the leg angular speed can be estimated by the spindle velocity feedback of these biarticular muscles,
{dot over ()}=1/r.sub.h.sup.m(v.sub.ce.sup.mv.sub.off.sup.m) with v.sub.off.sup.m=0.(17)
(95) B. Ankle Control
(96) For the control of the added ankle, the same muscles and reflexes as in conventional prosthetic ankles are used. Three muscles actuate the ankle, the monoarticular soleus (SOL) and tibialis anterior (TA) muscles as well as the biarticular gastrocnemius muscle (GAS) (
(97) C. Hip Control
(98) The hip portion of the modular control (Eq. 5) was implemented by stimulating the hip extensor (gluteus group, GLU) and the hip flexor (HFL) (
S.sup.HFL(t)=S.sub.0.sup.HFL+G.sub.RF.sup.HFLL.sub.EF.sup.HFL(tt.sub.RF.sup.HFL),(18)
S.sup.GLU(t)=S.sub.0.sup.GLU+G.sub.HAM.sup.GLUL.sub.HAM.sup.GLU(tt.sub.HAM.sup.GLU),(19)
(99) We thus separate the flexion and extension part of the commanded torque in (Eq. 5) observing that muscle can only pull in general and that HAM and RF in particular can go slack when the leg points backward and forward, respectively. Due to (Eq. 16), the two stretch feedbacks jointly represent the first term in (Eq. 5). We do not implement the second term with explicit neuromuscular control since the muscles' force-velocity relationship automatically realizes a damping behavior. We detail how we realize the last, knee-hip-interaction term of (Eq. 5) in the next section on knee control.
(100) TABLE-US-00002 TABLE 2 Control parameter values. Other parameters are known by those skilled in the art. Gains Offsets G.sub.TA.sup.TA 25 G.sub.BFsH.sup.BFsH 1.25 l.sub.off.sup.RF 0.059 (m) G.sub.RF.sup.HFL 0.5 G.sub.HAM.sup.HAM 2 l.sub.off.sup.HAM 0.0716 (m) G.sub.HAM.sup.GLU 0.5 G.sub.HAM.sup.BFsH 3 l.sub.off.sup.VAS 0.0324 (m) G.sub.RF.sup.BFsH 0.1 G.sub.HAM.sup.GAS 2 l.sub.off.sup.TA 0.0432 (m) G.sub.VAS.sup.RF 0.14 G.sub.VAS.sup.VAS 0.05 S.sub.thr 0.65
(101) D. Knee Control
(102) The neuromuscular embodiment of the knee control follows along with the three natural control tasks. We realize the first task by stimulating the short head of biceps femoris (BFsH), a monoarticular knee flexor, with a velocity feedback (Eq. 17) from RF,
S.sup.BFsH,i(t)=G.sub.RF.sup.BFsHV.sub.RF.sup.BFsH(tt.sub.RF.sup.BFsH),(20)
(103) using v.sub.off.sup.RF=0 (
(104) For the second control task, we implement a length feedback L.sup.VAS of the vasti (VAS), a group of monoarticular knee extensors. This feedback has no target muscle; it monitors leg length and engages the reflexes for the second task once the leg achieves sufficient ground clearance l<l.sub.clr. (In humans, l.sub.k and .sub.k.sub.k,i=1/r.sub.k.sup.m(l.sub.ce.sup.ml.sub.off.sup.m) and {dot over ()}.sub.k=1/r.sub.k.sup.m(v.sub.ce.sup.mv.sub.off.sup.m) for monoarticular knee extensors/flexors). During the second task, we realize the extension part (first line of Eq. 3) by stimulating RF with a velocity feedback from VAS
S.sup.RF,ii(t)=G.sub.VAS.sup.RFV.sub.VAS.sup.RF(tt.sub.VAS.sup.RF).(21)
(105) For the flexion part (second and third line), BFsH is simulated with its own velocity feedback,
S.sup.BFsH,ii(t)=G.sub.BFsH.sup.BFsHV.sub.BFsH.sup.BFsH(tt.sub.BFsH.sup.BFsH)M,(22)
(106) where M are modulating reflexes with
M=L.sub.RF.sup.BFsH(tt.sub.RF.sup.BFsH).Math.[V.sub.BFsH.sup.BFsH(tt.sub.BFsH.sup.BFsH)+V.sub.RF.sup.BFsH(tt.sub.RF.sup.BFsH)].
(107) The first modulation reflex from the biarticular RF implements the term (.sub.tgt) of (Eq. 7). The other modulation term in this equation, ({dot over ()}.sub.k+{dot over ()}), is implemented using the sum of two velocity reflexes from BFsH for {dot over ()}.sub.k and from RF for a. These velocity reflexes also implicitly ensure the condition {dot over ()}.sub.k>{dot over ()} for generating flexion torque.
(108) The final control task of braking and extending the leg is implemented primarily by stimulating HAM and VAS (
S.sup.HAM,iii(t)=G.sub.HAM.sup.HAML.sub.HAM.sup.HAM(tt.sub.HAM.sup.HAM)(23)
(109) to stimulate HAM, which mimics the term (.sub.thr) of (Eq. 8) when using the offset value
l.sub.off.sup.HAM=r.sub.h.sup.HAM(.sub.thr.sub.r.sup.HAM)l.sub.sl.sup.HAM+l.sub.0.sup.HAM.
(110) In addition, HAM proportionally recruits the synonymous knee flexors BFsH and GAS once its stimulation exceeds a threshold S.sup.HAM,iii>S.sub.thr,
S.sup.BFsH,iii(t)=G.sub.HAM.sup.BFsH[S.sup.HAM,iii(t)S.sub.thr],(24)
S.sup.GAS,iii(t)=G.sub.HAM.sup.GAS[S.sup.HAM,iii(t)S.sub.thr],(25)
(111) to prevent hyper extension of the knee caused by HAM torque saturation at high swing leg angular speeds. The second, velocity term of (Eq. 8) is neglected in the control as the HAM's force-velocity relationship produces a similar damping behavior. However, we use a passive velocity feedback V.sup.HAM to monitor when the leg angular speed has slowed down to zero ({dot over ()}=0), which triggers VAS stimulation by its own stretch reflex,
S.sup.VAS,iii(t)=G.sub.VAS.sup.VASL.sub.VAS.sup.VAS(tt.sub.VAS.sup.VAS),(26)
(112) to extend the knee.
(113) Although the muscle reflexes are introduced along with the three control tasks, they are active throughout swing without the separation into task-related phases. For instance, the total stimulation of BFsH is generated by S.sup.BFsH,tot=S.sup.BFsH,i+S.sup.BFsH,ii+S.sup.BFsH,iii. The only exception is the VAS extension reflex, which is connected only after {dot over ()}=0 in the last task.
(114) Results and Discussion
(115) A. Leg Placement into Arbitrary Targets
(116) The control parameters of the neuromuscular model were tuned by hand with two goals in mind. First, with the application to autonomous prostheses in mind, a single set of parameters that minimizes the error between the landing leg angle and its target .sub.tgt for a large range of initial joint velocities and target angles exceeding those of human walking and running were sought after. Second, it was required that the corresponding joint torques to stay within experimentally observed ranges.
(117) The identified set of control parameters is shown in Table 2. Except for .sub.thr, which differs between walking and running (12/24 deg respectively), parameters remain constant. The larger threshold angle for activating HAM earlier in running than in walking is needed to prevent knee hyper-extension. Such an earlier activation is also observed in humans.
(118) The achieved performance of target placement with the neuromuscular system is shown in
(119) B. Comparison to Human Walking and Running
(120) In another example, the resulting swing leg motions were compared to actual human leg motions. The swing leg trajectories of a subject walking at slow to fast speeds (0.65 ms.sup.1 to 2 ms.sup.1) and running at slow to moderately fast speeds (2.5 ms.sup.1 to 5.5 ms.sup.1) were recorded. The subject's ankle trajectories and corresponding hip and knee torques during swing are shown in the left column of
(121) In walking, the swing leg patterns predicted by the model are similar to the ones observed in humans. The ankle trajectories have a similar range and shape in particular for slower walking speeds (
(122) In contrast to walking, the patterns for running show more deviations between the model and humans. The model has a shorter stride length and a clearly faster swing time than present in human running (
(123)
(124)
(125) In
(126) In
(127)
(128)
(129)
(130)
(131)
(132)
(133)
(134)
(135)
(136)
(137) While the disclosure has been described in detail and with reference to specific embodiments thereof, it will be apparent to one skilled in the art that various changes and modifications can be made therein without departing from the spirit and scope of the embodiments. Thus, it is intended that the present disclosure cover the modifications and variations of this disclosure provided they come within the scope of the appended claims and their equivalents.