2013 IEEE/ASME International Conference on Advanced Intelligent Mechatronics (AIM) Wollongong, Australia, July 9-12, 2013
Autobalancing Control for a Reduced Gravity Simulator Robert A. Paz, Member, IEEE, Jose C. Barajas Member, IEEE, Ou Ma, Member, ASME, and IEEE
Abstract— Physical simulation of a reduced gravity condition significantly aids astronaut training, biomechanics researchers, neuro-rehabilitation practitioners as well as other potential applications. This paper provides means for automatically balancing a simple reduced gravity platform.
Index Terms—Reduced gravity simulation; EVA training; neurorehabilitation; biomechanical system identification
The RG facility makes use of a gravity-balancing technique simply illustrated in Figure 2, which is replicated in several places on the overall platform. Figure 2 represents a single-link version of the technique being discussed here. This single link version captures the salient nature of each of the replicas in the full platform. motorized lead screw
I. I NTRODUCTION A human being’s ability to physically experience reduced gravity (RG) conditions is useful for training astronauts as well as for the work of biomechanics researchers, neurorehabilitation practitioners and others. Each of these disciplines can benefit by off-loading gravity from the entire body or members of it. Any such RG simulation device calls for precise balance of forces on the human body. A number of RG simulation technologies exist for humans. While fidelity issues can severely limit their applications, each method has advantages. See [1] for a survey of these technologies.
y K
mass ℓ
d
m2g
θ m1g
pivot Fig. 2.
Single-Link Mass Balance Configuration
In Figure 2, a mass, m2 balances at the end of rod length ℓ with mass m1 . The stretched amount of the (ideal) spring is given by y. The goal is to offload all or part of the gravity force, from the link and mass m2 . We now analyze the properties of the system in Figure 2 for the case of full reduction of gravity (0G). By the law of cosines, the stretched length of the spring, in the 0G Balanced Condition (0GBC) should be y 2 = d2 − 2dℓ cos θ + ℓ2
(1)
The potential energy of the system is given by ( ) V = 21 Ky 2 + 12 m1 + m2 gℓ (1 + cos θ) = V0 + V1 (θ) Fig. 1.
(2)
RG Training Facility
Consider the passive, RG simulation facility shown in Figure 1. The goal is to offload gravity forces from the heaviest parts of a human body, including the body as a whole, the upper torso and legs. By offloading gravity to any extent, the person experiences a weigh-less-ness.
where V0 and V1 (θ) are those terms of the potential energy that are independent and dependent on the angle θ respectively and are given by ( ) ( ) (3) V0 = 21 K d2 + ℓ2 + 12 m1 + m2 gℓ (( 1 ) ) V1 (θ) = 2 m1 + m2 g − Kd ℓ cos θ. (4)
This work was supported by the National Science Foundation, under grant number 0960156. R.A Paz and J.C. Barajas are both with the Klipsch School of Electrical and Computer Engineering, New Mexico State University, Thomas & Brown Bldg. Room 106, Las Cruces, NM 88003, USA,
[email protected], and Ou Ma is with the Mechanical and Aerospace Department at New Mexico State University
If the upper connection point of the spring is set to ) (1 2 m1 + m2 g (5) d= K the system will be in the 0GBC, i.e., V1 (θ) = 0, and the potential energy V = V0 will be constant regardless of θ.
978-1-4673-5320-5/13/$31.00 ©2013 IEEE
405
A remarkable aspect of this 0GBC is that d in (5) does not depend on the length of the link, ℓ. Our goal here is to automatically put the system into the 0GBC. For an unknown mass, m2 , this balancing would allow us to determine the mass value. In the larger system of Figure 1, this would allow us to determine not only mass values, but also inertia parameters [2]. The problem of balancing a mass using springs and linkages has a long and honored history [3]. In previous publications, the 0GBC problem is referred to as the spring equilibrator problem, the static balancing problem, or the energy-free gravity balance problem (see [4], and [1] and references therein). Herder’s definitive work in the area of static balancing is the Ph.D thesis [5], which has motivated subsequent projects. Applications include EVA training [1], robotics [6], [7], and medical orthoses [8]. The problem of automatically balancing (autobalancing) a mechanical system to accommodate an unknown load remains generally unsolved. Existing approaches to this problem consider mechanisms that are in constant rotation [9], [10]. A specific, passive, autobalancing method is presented in [11], which is a similar to our problem but different enough to not be applicable. In the 0GBC, the ideal system behaves like double integrator (if no friction is present). Such a system is not stable in the sense of Lyapunov[12]. Thus, autobalancing the system puts it into an unstable state. Though this might seem to be a problem, the presence of friction mitigates the risks when a person is attached. The intent of our design is that once the automatic control has balanced the system, the control shuts down and the resulting 0GBC system is passively controlled. This paper’s purpose is to obtain an automatic means of finding the 0GBC for systems having an unknown mass attached. In Section II, we examine the challenges of finding the balance point. In Section III, we consider the problem of finding an autobalancing control strategy for this system. Experimental results are given in Section IV, and conclusions in Section V. II. T HE BALANCE P OINT C HALLENGES We now consider the challenges to 0GBC, one of which is that it is fragile. For 0GBC to hold, all variables, d, m1 , or K must be exact. The 0GBC must hold not only in the static case, but also when the mechanism is in motion (dynamic case). In an effort to make the mechanism robust, we add the following constraints: • Locate the spring off the main mechanism. • Use normal, readily available springs. • The mechanism must be able to accommodate and adapt for a range of masses m2 ∈ [m2ℓ , m2u ] . • The entire mechanism must fit within a space of reasonable proportions. These constraints create a number of challenges, including which quantity to use as the control variable, accommodating the limitations of normal springs, and the adjustment rates of both sides of the spring. The main contribution of this
paper is to describe recent research that helps overcome the last two constraints. First we examine the control variable. Of the factors d, m1 , and K, the most straightforward to adjust in real-time is the upper connection point, d. Figure 2 with the spring connected to a lead-screw mechanism illustrates this. This configuration allows a motorized adjustment of the spring upper connection point. For a fixed, unknown mass m2 , the variable y will be adjusted to bring the system into 0GBC. The movement of the spring connection point in order to achieve the 0GBC is presented in [13]. These researchers used a cable and pulleys to relocate the spring. They also pointed out that in moving the upper spring connection point, the lower spring connection point must also move in order to keep the cable, which is of fixed length, from either going slack or becoming too short. We thus consider the connection shown in Figure 3. A
h
ro ya y D
d B
C
K,To x
p
ℓ
m2g
θ s
Fig. 3.
m1g
Dual Adjustment Mass Balance Configuration
Alternately, we could augment our control variable by swapping out the spring for one with different stiffness. This would allow for a discrete number of changes to our spring constant, K. This is particularly important to do if the entire mechanism is to fit within the available proportions. This swapping of springs would occur before the autobalancing. The second challenge we consider for the 0GBC is the use of real springs. Real (normal) springs do not have zero unstretched length. To accomodate this, we consider the arrangement in Figure 3. We move the spring out and away from direct connection with the mass and link. This allows us to adjust for a non-zero unstretched length. Normal springs also have an affine characteristic. Extension springs, even so-called linear ones, have the property called initial tension which must be accounted for. The initial tension is the load necessary to overcome an internal force that holds the coils together in order to begin coil separation. The research in [5] expands on these issues. For the system shown in Figure 3, we assume the cable is of length, c, the radii of the pulleys are all zero, the distance from pulley A to pulley C is ya , the pulleys B and
406
C are a distance p above the pivot. We assume a spring with stiffness K, initial tension, To , and unstretched length, xo . The connection point, s, is adjustable. The cable satisfies c = (h − x − s) + ya + (d − p) + y
(6)
y = c1 − d + s + x − xo
(7)
giving where we have the constant c1 = c + p − h − ya + xo . Note that the Law of Cosines in (1) still applies, and so putting (7) into (1) gives the stretch of the spring √ x − xo = d − s − c1 + d2 + ℓ2 − 2dℓ cos (θ) (8) When the spring is stretched, the potential energy is given by ) ( V = 12 m1 + m2 gℓ (1 + cos θ) + To (x − xo ) + 21 K (x − xo )
2
(9)
which we seek to make constant with respect to θ by appropriate adjustment of s and d. Thus, by combining these equations, we obtain V = V0 + V1 (θ) , where ( ) V0 = 12 m1 + m2 gℓ + To (d − s − c1 ) ( ) 2 + 21 K (d − s − c1 ) + 12 K d2 + ℓ2 (10) ) ) (( 1 V1 (θ) = 2 m1 + m2 g − Kd ℓ cos θ √ + (To + K (d − s − c1 )) d2 + ℓ2 − 2dℓ cos (θ) (11) Now, if we choose d=
g
(1
2 m1
+ m2 K
0 < dmin < dmax < h. In the derivation of the 0GBC the position d is a function of the spring constant, K, and the mass, m2 , but is not a function of the link ( length, ℓ.) In 1 1 terms of mass, we must have dmax ≥ K 2 m1 + m2u g, otherwise we cannot achieve the balancing of the system. For the 0GBC, the stretch on the spring must √ satisfy x = xo + d2 − 2dℓ cos θ + ℓ2 . This means that at the extreme positions, we must have √ xmin = xo +√ d2min − 2dmin ℓ cos θmin + ℓ2 and xmax = √xo + d2max − 2dmax ℓ cos θmax + ℓ2 . This 2 means that dmax − 2dmax ℓ cos θmax + ℓ2 < h − s − xo , which is based on both the maximum mass and the maximum excursion. In general, it will not be possible to achieve all possible angles and masses within the constraints of the system, particularly the constraints on d and h. However, the problem can be “tweaked” in a couple of ways. First, the spring can be swapped out for a different spring. For example, using a stiffer spring can result in being able to handle a heavier range of masses. Alternately, a configuration that allows n identical springs to be in parallel would give an effective stiffness of nK, and an effective initial tension nTo . In that case we would need ( ) g 21 m1 + m2 d= (15) nK but s would still follow s = d +
)
To K
− c1 .
III. T HE AUTOBALANCING C ONTROL (12)
To − c1 (13) s=d+ K then the system will be balanced. In this case, the potential energy simplifies to ) ( ) )2 1 (( V = Kℓ + 12 m1 + m2 g − To2 (14) 2K which is a constant with respect to θ. Note that s has an affine relationship with d, with unit slope. Therefore if a change in mass m2 requires a change in d, then s must move by the same amount. How can the entire mechanism be fit into a space of reasonable size? We assume that the mechanism will be in a room with h feet of clearance from floor to ceiling. We thus need the upper end of both leadscrews to be below the height of h. This limits both the height, d, to which the pulley can be raised and the distance that the spring can be stretched. We assume that for practical purposes, the operation of the system requires a limited range of motion. In particular, we desire the link to be able to freely move through the angle θ ∈ [θmin , θmax ] , for a range of mass, m2 ∈ [m2ℓ , m2u ]. This will translate into limits of other variables such as d and s. For d, we assume that d ∈ [dmin , dmax ] as determined by the length and position of the leadscrew. We must have
Automatic balancing of a mechanical system is important in many applications. In this section, we consider two control problems. The first is that of initial balancing. The second is that of obtaining 0GBC for an unknown mass, m2 , once the system has been previously balanced. The first needs to be done only once each time the system is reconfigured (e.g., change in spring stiffness or number of springs). If the system has been initially balanced, then the rebalancing can be done repeatedly for different masses. The 0GBC is a condition that corresponds to the system not stable in the sense of Lyapunov[12]. To put the system into such a state is to put the system into an unstable state. We thought at the beginning of our research that it wouldd be difficult to find an autobalancing control. However, the addition of friction in every pulley makes the system stable. And, because of the system’s physical limitations, the position, θ, cannot drift off indefinitely. A. Initial Balancing In this section, we consider both analytical and empirical approaches for obtaining initial balance. Analytically, we have obtained the 0GBC for any given, known mass, m2 . If we know the value of m2 , then we can choose the appropriate values for d and s. Alternately, these values can be obtained by various empirical methods.
407
ro
h c
y
teristic is repeatable, and means that the upward-going force is greater than the downward going force. The slopes and the offset level are dependent on the position, d, which in turn is a function of added mass m ¯ 2. 30 28 26 24 force (N)
1) The Analytical Method: Given known system parameters, K, To , xo , ya , p, ℓ, h, and m1 , a specific mass, m ¯ 2 ∈ [m2ℓ , m2u ], is attached to the end of the rod. The values of d and s are then set according to this value by (12) and (13). If n springs are in parallel to accomodate the mass, then we would use (15) instead of (12), and adjust s accordingly. At this point, the system should be balanced. Experience shows that because of friction, there will often be a range of values for s and d by which the system behaves like a balanced system (with friction). For the values of s and d obtained, a simple position control can be used to drive the motors to the desired positions. This approach may be called a semi-automatic approach, where the automatic part is the driving of the motors to the desired positions. This is also somewhat of an open-loop control since it doesn’t check to see if the system is actually in the 0GBC, but assumes it based on the theory. 2) The Empirical Method: The empirical method we consider here requires us to identify the system. This is the determining of the force-displacement characteristic of the system. We consider the system illustrated in Figure 4. The springs are removed and a load cell is inserted between the cable and the leadscrew used to adjust what was formerly s, but now is w.
20
2 f=
18
26 f=
24.5 f=
984s
.07 +1
94
4
14 12 10
0.4
0.5
Fig. 5.
0.6 0.7 displacement (m)
0.8
0.9
Example Tension-Displacement Profile
It follows then that the operating point of the system depends on how the system is to be operated. The most common setting for the operating point is such that we use the average of the upward and downward going slopes. If the experimental usage involves more falling of the subject than rising, it is appropriate to use the downward going slope. To balance the system with the spring in place, we then replace the spring as in Figure 3. We fix θ at the midpoint of its range by holding the link in place. For the given test mass, m ¯ 2 , at the angle θ, a value of tension, TL is required, along with a value of w. We then set s so that the spring has the required stretch, i.e., x = xo +
load cell
2.40 3s + 3 6 8.1
.73 +1
16
m2
d
49
22
8s .380
TL − To , K
s=w−x
(16)
−nTo If n identical springs are used, then we set x = xo + TLnK , and s = w − x.
w
B. Balancing After Changing the Mass
ℓ θ
Once the system has been setup and balanced for a known mass, m ¯ 2 , then balancing the load for a new, unknown mass m2 is conceptually simple. Recall from (13) that To − c1 (17) K This means that both d and s need to change at the same rate. When a new mass is applied, then we use the following algorithm for balancing the system, employing the load cell as shown in Figure 6. 1) Set d and s to be as low as possible, constraining them to move the same distance simultaneously. 2) Simultaneously increase the positions, d and s, until the force on the load cell goes to zero. If the positions, d or s reach an upper limit without the load cell force going to zero, then the mass is too great for the spring. The system is not balanceable with this set of components. Either the mass needs to be decreased or the spring needs to be replaced with a stiffer spring, or additional springs put in parallel. s=d+
Fig. 4.
Identifying the Load Profile
Using the setup shown in Figure 4, since there are no springs in the system, the known test mass m ¯ 2 is not gravity balanced. We fix the value of d according to (12), or (15) as the case may be. For each value of w, we get a unique value of θ. Tension measured by the load is also unique. We slowly vary w and simultaneously record the tension of the load cell, TL . We do this both upward and downward. Because of friction, it is not uncommon to have hysteresis as shown in Figure 5. Filtering is required because the load cells are noisy. For that reason, the initial force readings start at zero, away from the hysteresis loop. Hysteresis commonly has the upward-going force with a different slope than the downward-going slope. This charac-
408
w1
h
H
ya
v1
fr
d
y
–
m2
K,To
L
d
w2 + Relay
H
v2
s
Link Dynamics
ro
Load Cell
fo
L
load cell
x
Fig. 7.
ℓ
Low-Bandwidth Control Loop
θ s
Fig. 6.
Dual Adjustment Configuration with Load Cell
3) The point at which the load cell goes to zero is the 0GBC. Done. Adjusting d and s simultaneously is an important part of this algorithm. Although the two positions have different disturbance forces, w1 and w2 , acting on them, and although they may be of different construction, they must move at the same rate. The disturbance forces primarily come from the load on the devices. Loaded by the cable, the pulley creates disturbance force on d, while the spring’s impact on cable tension creates the disturbance force on s. We now consider two methods of achieving the simultaneous motion of d and s. These depend on construction of the linear motion devices used to position d and s. Two types of linear motion devices could be used for this problem: highbandwidth, and low-bandwidth. The high-bandwidth (high speed) linear actuators could include, for example, chain drive or rack and pinion. These could be used where the disturbance forces are small, where the actual distances traversed are small, or where high speed transitioning is needed. We will not discuss the high speed transitioning here. An example of a low-bandwidth device could be a leadscrew connected to a dc motor with high gearing. This would be used either where low speed transitioning is allowable, where the distances traversed are large, and/or where disturbance forces are large. The low-speed transition is more likely to be used in RG simulators than high-speed. A block diagram for the low-bandwidth simultaneous adjustment is shown in Figure 7. In this loop, we assume identical linear actuators, L (s). For example, the linear actuators may be dc motors driving leadscrews where it may take many revolutions of the motor for d or s to go a short distance. This situation occurs when there is a high gear ratio. The high gearing makes it very difficult to drive or backdrive the leadscrews. Thus, when the motor voltages v1 = v2 = 0, the positions s and d remain in place even in the presence of large disturbances w1 and w2 . In practice it would be helpful to have brakes on the motors to prevent any slippage when the system is balanced and the motors are turned off.
The block H in Figure 7 corresponds to the power switch used to drive the motor, i.e., an H-bridge circuit. This allows the motor to be driven with maximum voltage. In this case, whenever there is a positive force on the load cell, fo , the motor is switched full on. When the force on the load cell comes within a tolerance of the reference force, fr , the relay switches to zero. This type of control is called a hybrid switching control [14], a special case of which is a thermostat control. The deadband of the relay can be adjusted to minimize chattering and yet allow the system to settle within a reasonable tolerance of the correct values of s and d. Because of the gearing, a half-turn of the motor too far or too short will have little effect on the value of s or d. Because of the fact that the linear actuators are always under tension, backlash does not occur. IV. E XPERIMENTAL R ESULTS We constructed a prototype to test these results. The system has a spring with constant K = 38.61 N/m, a length, ℓ = 0.5 m, and the link has mass m1 = 0.1 kg. For a test mass, m2 = 2.39 kg, we have d = 0.62 m, and s = 0.39 m. This prototype was simulated in MATLAB, and a video of that simulation can be found at [15]. A video of the balancing and rebalancing of the prototype system for changes in the mass can be found at [16]. The prototype was initially balanced using both the analytical and the empirical methods. The system was identified and tension-displacement profiles were obtained. See Figure 5. The hysteresis loop is a function of the added, known mass, m ¯ 2 and is characterized by the two lines, each associated with the direction of travel. When the direction of motion changes, the force switches from following one line to following the other. Each line is parameterized by a slope (Kup or Kdn ) and a point. In our case, we choose to use the force at the point when the link is at the 45◦ position. This provides a standard point of reference since the positions d and s can vary. By varying the mass, we obtained the plots of the slope and the force at 45◦ , with respect to the mass. This is shown in Figure 8. The relationships of these two values with respect to the mass are linear. For testing purposes, after initial balancing, the s and d were simultaneously moved to their lowest positions. A limit switch was used to establish that low position. The control was then switched on and the s and d were driven until the
409
slope (N/m)
50
Kup = −0.5m + 47
These experimental results show that indeed such a system can be automatically put into the 0GBC using the proposed methods. It was observed that unmodeled complexities caused the working space over which the system behaved as the 0GBC to be limited. It is likely that friction in the system can be causing such limitations. Further research could proceed in many directions. Using a second link, such as in Figure 1, will be the subject of investigation for automatic control. Further development of control algorithms will also be pursued. We would also like to explore conditions under which the link behaves not only in a 0GBC setting, but also in a RG setting.
43.75 37.5
Kdn = 0.833m + 29
31.25
Force @ 45° (N)
25.0
0
3
6
9.5 Fup = 0.10m + 8.7 Favg = 0.075m + 7.3
8.2 6.8 5.5
Fdn = 0.05m + 5.9 0
3 offloading mass (kg)
6
R EFERENCES Fig. 8.
Slope and Force at
45◦
versus Added Mass
load cell returned a reading of 0. Repeated balancing of the system showed that the values of s and d were within 0.2% of the correct value each time. A hardware-in-the-loop plot from the system is shown in Figure 9. In this plot we see that as d is moved at constant speed, the force decreases until it reaches zero. At that point the system stops and considers that position to be the correct position to provide the 0GBC.
Fig. 9.
Load Cell Reading & d Value
In the 0GBC for this prototype, the actual workspace for which the system behaved like the 0GBC was not θ ∈ [0, 90◦ ] . Instead it was approximately θ ∈ [15◦ , 80◦ ] . In this workspace, it was clear that friction prevented the system from acting like the (unstable) double integrator. V. C ONCLUSIONS The purpose of this work is to obtain an automatic means of finding the 0GBC for the system with an unknown mass attached. Considerations were given for designing this system within a limited workspace. Approaches were developed for the initial balancing of the system with a known mass attached, and for the rebalancing when the load weight was changed. The rebalancing required simultaneous movement of the two linear actuators.
[1] O. Ma, Q. Lu, J. McAvoy, and K. Ruble, “Concept study of a passive reduced-gravity simulator for training astronauts,” in Proceedings of DETC’10, 2010. [2] Q. Lu and O. Ma, “A momentum-based algorithm for identifying the inertia properties of a human body: A preliminary study,” in ASME Conference Proceedings, vol. 2010, no. 44175. ASME, 2010, pp. 843–850. [3] K. Hain, Spring Design and Applications. McGraw-Hill Book Company, Inc., 1961, no. Ch. 11, ch. Springs for Mechanisms and Devices. [4] G. G. Lowen, F. R. Tepper, and R. S. Berkof, “Balancing of linkages–an update,” Mechanism and Machine Theory, vol. 18, no. 3, pp. 213–220, 1983. [Online]. Available: http://www.sciencedirect. com/science/article/pii/0094114X83900927 [5] J. L. Herder, “Energy-free systems,” Ph.D, Technische Universiteit Delft, NL, Nov. 2001. [6] I. Simionescu and L. Ciupitu, “The static balancing of the industrial robot arms part i: Discrete balancing,” Mechanism and Machine Theory, vol. 35, pp. pp. 1287–1298, 2000. [7] Q. Lu, W. Xiu, and O. Ma, “On the impedance of statically-balanced mechanisms,” in Proceedings of IDETC/CIE 2011. ASME, 2011, pp. 1–8. [8] A. Agrawal and S. K. Agrawal, “Design of gravity balancing leg orthosis using non-zero free length springs,” Mechanism and Machine Theory, vol. 40, pp. pp. 693–709, 2005. [9] A. Blanco-Ortega, F. Beltran-Carbajal, A. Favela-Contreras, and G. Silva-Navarro, “Active disk for automatic balancing of rotor-bearing systems,” in Proceedings of the 2008 American Control Conference, 2008, pp. pp. 3023–3028. [10] D. Rodrigues, A. Chamneys, M. Friswell, and R. Wilson, “Experimental investigation of a single-plane automatic balancing mechanism for a rigid rotor,” Journal of Sound and Vibration, pp. pp. 385–403, 2011. [11] R. Nathan, “A constant force generation mechanism,” Transactions of the ASME, vol. 107, pp. pp. 508–512, Dec. 1985. [12] J.-J. E. Slotine and W. Li, Applied Nonlinear Control. Englewood Cliffs, NJ: Prentice Hall, 1991. [13] W. D. van Dorsser, R. Barents, B. M. Wisse, and J. L. Herder, “Gravity-balanced arm support with energy-free adjustment,” Journal of Medical Devices, vol. 1, pp. pp. 151–158, 2007. [14] M. Zhang and T.-J. Tarn, “A hybrid switching control strategy for nonlinear and underactuated mechanical systems,” IEEE Transactions on Automatic Control, vol. 48, no. 10, pp. 1777–1782, 2003. [15] R. A. Paz. (2013, Jan.) Single link reduced gravity autobalance simulation. [Online]. Available: https://www.youtube.com/watch?v= 6iMLkuCCVaw [16] ——. (2013, Jan.) Single link reduced gravity simulator autobalance. [Online]. Available: http://www.youtube.com/watch? v=OpG5tRLuAws
410