Автор: A. Schneider, J. Schmitz, and H. Cruse
Источник: Proceedings of the 44th IEEE Conference on Decision and Control, and the European Control Conference 2005 Seville, Spain, December 12-15, 2005
A. Schneider, J. Schmitz, and H. Cruse A bio-inspired joint controller for the decentral control of a closed kinematic chain consisting of elastic joints
Several biological studies indicate that positive feedback, as found in the movement control system of insects, together with the elastic properties of joints can be used to generate meaningful movements in closed kinematic chains. Based on these findings we present a novel joint controller concept for the decentral control of joints in closed kinematic chains. Following the biological paragon, we first introduce a simple joint construction which shows passive compliance. This artificial compliant joint is the basic requirement for the use of local positive velocity feedback (LPVF) on the single joint level as described in this paper. Second, we derive the underlying control principle of LPVF in the discrete time domain (dLPVF). In a final test we use this novel control concept on a two-joint planar manipulator turning a crank and discuss the stability of our approach.
WHENEVER animals or robots have contact with other objects, they have to deal with closed kinematic chains. Pure position control is not sufficient since the movement is constrained. This problem is known as the compliant motion problem. In technical applications using robots, compliant motion problems appear in different situations like in part mating, welding or cooperative manipulation. Also the generation of stance trajectories during walking is a compliant motion task since the legs are in contact with the ground. The engineering solution to such problems involves knowledge about the kinematics and the dynamics of the system. There are several classical approaches to this kind of task which are mostly based on either hybrid control [1] or impedance control [2]. Yet it is reasonable to assume that in animals swing or stance trajectories for stepping are not generated through explicit calculations of the kinematics or dynamics. Especially the stance movement comprises high complexity as movements of all legs with ground contact have to be coordinated. Despite that, even insects do not stumble while walking. Obviously they solve a highly redundant and complex coordination task despite their slow and imprecise calculating neurons. Biological findings by B¨assler [3] and Schmitz et al. [4] stimulated the idea that positive feedback together with the elastic properties of muscles might be the solution for such tasks, at least for the stick insect Carausius morosus. Positive feedback (also termed reflex reversal) occurs in single joints during the stance phase of walking. Cruse and co-workers [5], [6] showed in a simple kinematic simulation of the stick insect that positive feedback in the body-coxa ("hip") and femur-tibia ("knee") joint generate realistic stance phases. Moreover positive feedback supports the coordination of joints of different legs which is important when walking over irregular terrain [6].
How can positive feedback governing elastic joints solve a compliant motion task? An answer to this question can be found with the help of Fig. 1. It shows an insect standing in two different postures while the foot positions are the same. Posture 2 differs from posture 1 because the animal's body is moved forward by an external force f, applied from the left (arrow). The passive adoption of the new posture is only possible because of the elastic features of the joint actuators. Local observation of the externally applied motion in each joint reveals the following information. First, each joint controller senses the amount of angular displacement that has to be relaxed by an active muscle movement in order to adopt the new posture when the external force vanishes. Second, the joint controller is able to perform the same movement actively or to continue this passively started movement by feeding back the angular velocity the joint was exposed to (positive velocity feedback). Once excited, such a system maintains the walking movement that was imposed passively in the first place, for example by one initial movement of all legs. In the following sections we describe a compliant joint and a decentral controller termed Local Positive Velocity Feedback (LPVF) controller [7] according to the above specifications.
All limbs which have been designed by nature have elastic properties. Fig. 2(a) shows the sketch of a stick insect's leg. The leg has three segments (coxa, femur and tibia) and three joints (body-coxa joint, coxa-trochanter joint and femur- tibia joint). The first joint generates the protraction and retraction of the leg, the second joint the levation and depression and the third joint a flexion and extension movement. The figure allows a closer look on the femur-tibia joint and its driving muscles (extensor muscle and flexor muscle). On the left side of Fig. 2(a) there is no external force acting on the joint, therefore there is no passive bending. Both muscles are prestretched. On the right side of Fig. 2(a) the tibia is exposed to an external force and thus bent counterclockwise passively. The extensor muscle is relaxed and the flexor muscle is stretched passively due to their elastic properties. Translated into the angular domain of the joint, the femur-tibia joint has a default angle due to the muscle activity in the unloaded condition, in our case termed αm (m = muscle or motor). When bending occurs, an additional angle αb (b = bending) turns up. The overall joint angle αj in this model is the sum of αm and αb.
Fig. 2(b) shows a simple technical equivalent of Fig. 2(a). The bare joint is formed by a ball bearing connection of two segments. A servo-motor is mounted on the upper segment. The motor's shaft protrudes through the ball bearing. The motor shaft's head is exclusively attached to a bracket. This bracket is connected to a counter bracket on the lower limb via two extension springs. If the upper segment is fixed, a rotation of the motor shaft results in a rotation of the lower segment and vice versa. Yet in a fixed motor shaft position, the extension springs allow for passive bending of the system by external forces. Due to the antagonistic design, the springs can be mounted pre-stretched and therefore are able to react with a distinct restoring forces even to small deflections. This technical joint is equipped with a hall sensor and a magnet which together serve as an angle transducer that delivers the angle of bending αb.
We have already described the general control principle of local positive velocity feedback at the end of Sect. I. In this section we give mathematical formulations for the corresponding control circuit as depicted in Fig. 3(a) and derive its transfer function. Since we want to use the result as a computer algorithm, we perform the derivation in the discrete time domain (kΔt). We will show that this circuit generates the demanded behavior. First, we set up the system equations for the controller according to the circuit diagram:
(1b) is the sum of the angle of the motor shaft and the bending angle as explained in Sect. II (see also Fig. 2). The right sigma sign in Fig. 3(a) represents this sum. The joint angle αj,k is differentiated in order to convert the angular joint position into a joint velocity [discrete differentiator on the lower side of Fig. 3(a)]. This value together with the bending signal αb,k is positively fed back into the integrator's input (1c). This reflects the fact that the motor position (output of the integrator) in the next time step has to relax the bending and maintain the angular velocity. The integrator (1a) provides the angular motor position for the next time step.
From the system equations (1a), (1b) and (1c) we determine the discrete transfer function by inserting (1c) in (1a) which yields:
The right side of (1b) is used to replace αm,k and αm,k−1 in (2). The result of this substitution is an equation consisting only of joint and bending expressions:
The Z-transform of (3) is:
As it is indicated in Fig. 3(a) we consider this circuit as being a SISO-system with the bending as its only input and the joint position as its only output. This system has the discrete transfer function G(z):
We expand the transfer function (5) into partial fractions and receive:
The first term of (6) represents a unit step function, the second term a unit ramp function. The superposition of both results in the pulse response depicted in Fig. 3(b). A bending pulse at the input results in an immediate reaction of the circuit (relaxation of the bending). After the end of the input pulse (1Δt) the joint angle keeps growing (active maintenance of the imposed movement). The pulse response shows that this controller possesses the features of active compliance and positive velocity feedback as demanded at the end of Sect. I. This controller is termed discrete Local Positive Velocity Feedback (dLPVF) controller.
A dLPVF controller is a decentral controller. It controls only one joint according to the local bending signal measured. In the following we will show that this decentral control structure is sufficient for the control of tasks which need a high level of coordination. Instead of testing this approach on a walking system, we chose a smaller problem which is considered to be a standard benchmark for compliant motions, namely crank turning. On the right side of Fig. 4 the setup for this experiment is shown. We took a two-joint planar manipulator (l1 = 197 mm, l2 = 174 mm) and equipped its two joints with serial elastic elements as suggested in Sect. II [see Fig. 2(b)]. The manipulator's gripper (lg = 50mm) is attached to the handle of a crank (radius: rc = 80mm). Since the base of the crank is attached to the same substrate as the planar manipulator, this setup forms a closed kinematic chain. One dLPVF controller is connected to each of the two joints. We have implemented this setup in a dynamics simulation in Simulink 6 and SimMechanics 2.2 (The MathWorks Inc., Natick, Ma, USA) and on a real robot arm. In this paper we report on the results of the dynamics simulation only. If the crank is excited by a short application of a torque to the crank joint, the system starts to turn the crank in the direction indicated by the torque. After the initial phase the crank is turned with a velocity of about 225 mm/s. Note that there is no direct connection between the two controllers. The coordination is achieved mechanically by the bending which occurs in the joints if the gripper tends to leave the cranking trajectory. No dLPVF joint controller has knowledge about other joints, the existence of the kinematic chain itself or the task it is involved in.
In order to control the overall process of cranking, for example by choosing a desired crank rotation velocity ωdesired, the setup has to be extended. The question arises how a superordinated controller can be connected to the two decentral dLPVF controllers. For this purpose we implement a crank velocity controller as depicted on the left side of Fig. 4. For the tests a simple p-controller was used. Its input is the difference between the desired and the actual (measured) crank velocity. The output of this velocity controller cannot be fed into the dLPVF-circuit directly, because it contains central information about the overall crank velocity. Therefore, we introduce the joint velocity dependent ω- controllability measure. This measure scales the output of the crank velocity controller. The ω-controllability value is zero when its joint reaches an extremum where it reverses its rotational direction. At such a point the joint velocity is zero independent of the crank velocity. Thus, the velocity controller has no influence on the joint movement in this phase. Yet the velocity controller has a large influence if the joint moves with a considerable amount of its maximum possible speed.
In Fig. 5 the results of the dynamics simulation of the crank turning experiment are depicted. Fig. 5(a) shows the actual peripheral crank velocity in mm/s for three different desired crank velocities (60, 80 and 100 mm/s) plotted over a time axis for 30 s. Fig. 5(b) shows the same data plotted over the cranking angle of 360°. At the end of a full rotation the velocity traces enter the graph from the left for the next rotation. The small inset gives the convention for the cranking direction. After a transient phase the crank is turned with the desired velocities: ωactual = 65.38 ± 3.59 mm/s, ωactual = 86.20 ± 3.60 mm/s and ωactual = 107.35 ± 3.95 mm/s (mean value ±1 standard deviation). The cyclic deviations from the desired velocities are due to the ω- controllability measures which inhibit the influence of the velocity controller in certain postures. The deviations of the mean velocities from the desired velocities are due to the fact that the velocity controller is just a simple p-controller. A more sophisticated control approach should be able to solve this problem. But this issue was not our concern here.
Up to this point we tried our cranking experiment only at a default position (xc = 77mm, yc = 197 mm) with default physical and controller parameters. In this section we vary five different parameters in order to prove the robustness of our control approach. The parameters varied are the radius of the crank, the spring constant of the elastic joints, the position of the crank relative to the manipulator base, the sample time of the controller and the p-value of the crank velocity controller. All experiments were carried out with the dynamics simulation. The desired cranking velocity was 80 mm/s. Apart from Sect. V-C the crank was positioned at its default position. The default parameters were the same as described in Sect. IV.
The default crank radius in our experiment was 80 mm. For this experiment we have changed the radius of the crank in 5mm steps from 5mm to 135 mm. Each experiment ran for 30 s. During this time span the crank velocity was integrated to get the overall crank angle. This overall crank angle was then divided by the duration of the experiment (30 s). A deterioration of the system before the end of the simulation resulted in a very low cranking velocity. The result of this experiment is shown in Fig. 6(a). For a crank radius smaller than 20mm and larger than 125mm the system could not perform proper cranking movements. In the range from 20mm to 40mm the crank did not reach the desired velocity of 80 mm/s. A crank radius between 40mm and 125mm resulted in crank rotations with the desired velocity. Thus, it is possible to change the crank radius by ±50% without degrading the system performance.
For an examination of the influence of the crank position on the system performance we shifted the crank away from the base of the manipulator on a straight line. In order to keep the arm in its operating range during a crank rotation, the possible distances of the crank center from the origin could only be varied from 110mm to 290 mm. The default crank position is equivalent to a distance of about 210mm from the base of the planar manipulator. Again each experiment lasted 30 s. The first result can be seen in Fig. 6(c). Distances from 160mm to 270mm are tolerated by the system without any problems.
In Fig. 6(d) a second result of the crank position variation experiment can be seen. The graph shows the overall mechanical energy converted by the joints' servo-motors during each experiment. The energy consumption varies together with the change of the crank position. The optimal crank position, regarding these values, is at a distance of about 250mm from the origin.
We implemented our dLPVF controllers and the crank velocity controller as a discrete control algorithm. The default sample time for all controllers were Ts = 0.08 s. In this test we varied the sample time from 0.05s to 0.11s in 0.002 s steps. The results are shown in Fig. 6(e). From 0.052s to 0.098 s sample time the manipulator turned the crank with the desired velocity.
In the last experiment we changed the p-value of the crank velocity controller. Since the controlled system is nonlinear we considered this experiment as being important. The default p-value of the crank velocity controller was 0.06. The system's dependency on this value is shown in Fig. 6(f). For this test we varied the p-values from 0.0 to 0.15 in steps of 0.005. For values bigger than 0.095 the cranking ability of the system deteriorated rapidly. With decreasing p-values the influence of the crank velocity controller on the process was also decreasing. With a p-value of 0 the cranking process is solely controlled by the local dLPVF controllers. In this case the crank is turned with a velocity of about 225 mm/s.
Compliant motion problems appear in different contexts as described in Sect. I. Mason [8] developed the Compliant Frame Formalism, or Task Frame Formalism to specify such tasks in which limbs act in closed kinematic chains. Most of the control approaches for compliant motions, as far as they are known to us, are either based on hybrid control [1] or on impedance control [2] and follow a central controller design rather than a decentral one. LPVF on the single joint level however is a decentral approach meaning that every joint is controlled by its own LPVF controller. It has a simple structure and does not rely on known and invariant segment lengths. Coordination of the different joints is achieved only through their mechanical interaction in the kinematic chain.
The use of local sensor information coming from the close vicinity of the joint itself is a further advantage. Central controllers have to cope with the problem of noise-induced errors on long information pathways because they have to rely on joint angle information of all participating joints. Additionally, long electrical wires can brake and have to be highly flexible if laid along moving joints. The transfer of remote information via the mechanics is not only a simple transfer of values which renders coordinate transformations needless but also a conversion of distant events into local information with the help of the animal's or robot's body. From this point of view a mechanical coupling enriches the information content by additionally expressing the body features in local variables like bending. As a result our decentral control concept is insensitive to mechanical changes like permanent deformations or changes of segment lengths. Altered mechanical features lead to altered local signals which already represent the adaptation of the joint to the new situation. There is no need for an adaptation of the local (LPVF) controller.
Besides our approach also other robot construction make use of serial elastic elements in joints. Mohl [9] used springs for a composite drive which combines powerful operation and accuracy in a flexible robot arm. Like all passive compliant mechanisms the composite drive obtains tolerance against positioning errors. Since positioning errors expose themselves through bending right in the moment they occur it could be favorable to use a local active compliant mechanism like LPVF to resolve them. The slightest bending signal cause the LPVF controller to take action and thus prevent bending actively. We consider this behavior to be very helpful especially for safety reasons. A further design which uses passive compliance is implemented in RHex, a hexapod robot [10]. It has only six motors, one per hip. Each of the six compliant legs is brought to rotation which allows the robot to traverse even rough terrain. The elasticity of the legs enables the robot to keep ground contact for all legs in stance phase. As in our case the passive interaction with the environment (obstacles) forces the system into a suitable state for the current situation. Elastic features can also be used in constructions that combine legs with wheels as in Whegs robots [11]. The latter combine the ability of quick moving wheeled vehicles with the ability of climbing leg systems.
Another technical design which models elastic features as observed in biological systems are McKibben or fluidic muscles. A fluidic muscle is a linear actuator powered by compressed air which is also the source of the actuator's elasticity. The control of such a pneumatic system comprises system specific challenges. Robots which are driven by fluidic muscles are for example AirBug and AirInsect [12], [13], the ZAR robot series [14] and Robot IV and V [11].
We have introduced a new local control mechanism for the control of elastic joints in closed kinematic chains. It has been shown that the compliant motion task of turning a crank can be solved by our decentral LPVF controller approach. The joints were controlled independently even though the cranking process can only be handled by coordinated actions of the participating joints. The coordination is achieved by mechanical coupling through the environment. The same system can be used to generate useful stance trajectories in a multi-legged robot during walking. Preliminary tests with a single leg on a treadmill were successful.
This work is supported by DFG (grant no. Cr 58/10-1 and GK-231) and by the SPARK project (EC-IST programme).