The user is instructed to generate a control input by using the thumb joystick on the FSW during state 2 of the FSM. This will directly determine the input going into the right knee motor and the right knee torque output. This knee motor input is constrained between zero and a maximum allowable input, set at 5 amps, for the right knee motor. The user control only allows the right knee in the direction of extension. A controller is required so that both legs move synchronously in standing.
4.4.1 Motivation for a Synchronization Controller
An identical input sent to both motors will produce slightly different gearmotor responses. This inconsistency is partly due to innate EC motor performance variance and mechanical resistance in the harmonic gears. This effect was also verified beforehand in the NCRL; it was observed that maintaining the same angular velocity limit in both motors required a larger input into the left knee motor. In practice, these mechanical resistances can be reduced but not eliminated.
Secondly, the standing dynamics of the user are not always consistent. The position and orientation of the user’s center of mass in 3-dimensional space will influence the movement of the legs during sitting to standing. For instance, if the user’s weight is shifted to the right side of the body then the right knee motor will require a higher torque.
Lastly, in the case of perfectly symmetrical user positioning, the weigh distribution of the user and the neuroprosthesis are not necessarily symmetrical about the sagittal plane. Partial SCI can cause the user’s body to develop asymmetrical lower-limb bone mineral density (BMD) loss[55]. Regardless of this fact, the internal organs of the human body are not symmetrical about
the sagittal plane. Thus, an identical motor input into both legs will not always produce identical movement for sitting to standing.
Asymmetrical movement in the right and left legs during sitting to standing can create unsafe situations, and therefore it is important to maintain this symmetry. The right knee input, as described earlier, is controlled directly by the user. Therefore, a left knee tracking controller, or synch controller, is employed to ensure that the left leg moves synchronously with the user- controlled right leg during the sitting to standing motion.
4.4.2 Final Controller Design
In the controller, the joint angle of the left knee tracks the joint angle of the right knee. The error for the tracking controller is defined as the difference between the right knee angle and the left knee angle. It follows that the control input will be calculated from the knee error, with a control input of zero corresponding to an error of zero.
During standing the maximum torque requirement occurs at the beginning of standing in state 2, when the user’s torso is about to leave the seat[4]. What this means is that the controller
error could be zero at the beginning of sitting to standing when the torque requirements are at their maximum. This creates an undesirable situation where the user generated input is being sent to the right knee with zero input into the left knee. The neuroprosthesis is not designed to perform standing with only one motor. Therefore, the synch controller needs to generate the maximum torque in the right and left knee motors at the beginning of standing in state 2.
The synch controller uses a linear variable offset to the left knee input that is set equal to the user-generated input torque. In other words, the user generated torque is sent to both knees and the controller generates a compensation term used to track, or synchronize, the left knee angle to the same angle as the right knee angle. The intended advantage of this tracking control method is that it actualizes the maximum knee torque capacity at a tracking error of zero. The same RISE controller model used in the forward leaning control and the hip motor control[20,45,79] is used for synchronization. An equation for the left knee input is shown below:
synch user KL U U U = +
(
)
+ + + + =∫
t synch synch synch synch synch synch K e e e d e e U 0 1 2 1 α τ βsgn α α where UKL is the total control input into the left knee motor in amps, Uuser is the user generated
input into the right knee motor in amps, Usynch is the controller synchronization term used to track the left knee angle in amps, esynch is the synchronization error, defined as the difference between the right knee angle and the left knee angle, K is a derivative controller gain, α1 is a
proportional controller gain, α2 is an integral controller gain, and β is a sign controller gain. The gains for all state controllers, including state 2, is shown in Table 1.
Table 1. Controller gains for states 1-3
Controller Alpha 1 Alpha 2 Beta K Kp Kd
State 1 - Hip Leaning 175 200 0.01 0.01 State 2 - Left Knee Synch 350 400 0.01 0.01
State 3 - Knee Locking 0.0001 100 0.3
State 2/3 - Hip EE Tracking 175 200 0.01 0.01
Additionally, following safety limitations are established within SIMULINK: °
< <
°
−15 esynch 15 , −30°<qk <75°
where q is the angle of the knees. As mentioned earlier, the right knee motor can be driven in k
the direction of extension by the user input, but not in the direction of flexion. The left knee motor can be driven in both extension and flexion by the synch control and is set to run at a faster maximum angular speed that the right leg so that it can stabilize the movement.
The thumb logic constrains the user generated control input to the following linear piecewise function:
A Kt t
Uuser( )= +
when the thumb joystick is pressed forward C
t
B Kt t
Uuser( )=− +
when the thumb joystick is pressed backwards with 0≤Uuser(t)≤5 for all TS2 ≤t ≤TS3
where K is an adjustable joystick sensitivity constant manually set in in the SIMULINK FSM, A is the user U-intercept of the linear function when the joystick is pressed forward, B is the user U-intercept of the linear function when the joystick is pressed backwards, C is a constant input value when the thumb joystick is not pressed, T is the time at the start of state 2 of the FSM, S2 and T is the time at the start of state 3 of the FSM. The linear constants A, B, and C will change S3 with each forward press of the joystick. This function is continuous over all time values in state 2 of the FSM. A synch controller safety limit of 15 degrees is implemented to prevent any
problems in the controller from creating an unsafe event in experimentation.