This lowlevel controller can be divided in four parts: the
computed torque module, the inverse deltap unit, the local PI
controller and the bangbang controller.
Computed Torque
Using the Lagrange equations of the
dynamic model the equations of motion can be summarized in the
following matrix form (during single support):
Where M is the inertia matrix, which is symmetric and positive
definite, C is the centrifugal matrix which contains the
centrifugal torques and the
coriolis torques, G is the gravitational torque vector. This is the
feedforward calculation which is added with a proportional and
derivative feedback part for which the gains are tuned in order
for the mechanical system to behave as critically damped.
Immediately after the impact of the swing leg, three geometrical
constraints are enforced on the motion of the system. They include
the stepheight, steplength and angular position of the foot. Due
to these constraints, the robot's number of DOF is reduced to
three.
The equations of motion are then written as
where J is the Jacobian matrix and Lambda is a column vector
of Lagrange multipliers representing the generalized constraint
forces.
This problem can be solved by dividing the 6 coordinates into a
group of independent and dependent coordinates. Using the matrix
pseudoinverse, the torque
vector can than be calculated. This feedforward term is added with
a feedback part which gives the computed torque.
Inverse Deltap Control
For each joint a computed torque is available. The computed torque
is then feeded into the inverse deltap
control unit, one for each joint, which calculates the required pressure values to
be set in the muscles. These two gauge pressures are generated
from a mean pressure value p_m while adding and
subtracting a Deltap value:
Feeding back the joint angle theta and using the torque expression of the muscles, Deltap can be determined by:
The deltap unit is actually a feedforward
calculation from torque level to pressure level using the kinematic model of the muscle actuation
system. The calculated Deltap affects the torque needed
to follow the desired trajectory while p_m is introduced to determine the sum of pressures
which influences the stiffness of the joint. Increasing p_m
will lower the compliance of the joint. This control
law does not decouple stiffness control from position control
since the weights k_1 and k_2 are
not taken into account. Until now p_m has a fixed value, in the future we will adapt this parameter to reduce energy consumption and control efforts.
Local PI Controller
Because the communication between PC and the microcontrollers is
slower dan 1ms, instabilities occur when the proportional and
derivative feedback part of the computed torque are too high. To
track the desired trajectory a local PI controller was needed to
regulate the error introduced by lowering the feedback gains.
Bangbang Controller
In the last control block the desired gauge pressures are compared with the measured gauge pressure values after which
appropriate valve actions are taken by the bangbang pressure
controller.
