Next Article in Journal
Fault-Tolerant Dynamic Allocation Strategies for Launcher Systems
Previous Article in Journal
The Data-Driven Performance Prediction of Lattice Structures: The State-of-the-Art in Properties, Future Trends, and Challenges
Previous Article in Special Issue
Assessing the Technical–Economic Feasibility of Low-Altitude Unmanned Airships: Methodology and Comparative Case Studies
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Modeling, Altitude Control, and Trajectory Planning of a Weather Balloon Subject to Wind Disturbances

by
Bruno Cândido
*,
Catarina Rodrigues
,
Alexandra Moutinho
* and
José Raul Azinheira
IDMEC, Instituto Superior Técnico, Universidade de Lisboa, 1049-001 Lisbon, Portugal
*
Authors to whom correspondence should be addressed.
Aerospace 2025, 12(5), 392; https://doi.org/10.3390/aerospace12050392
Submission received: 17 March 2025 / Revised: 21 April 2025 / Accepted: 28 April 2025 / Published: 30 April 2025

Abstract

:
Weather balloons are a popular tool to obtain atmospheric data. One of the biggest advantages of using this type of vehicle for scientific research is their inexpensiveness, as they are only composed of an inflated envelope, a parachute, and a sonde. However, their flight is dependent on the atmospheric conditions, and their life cycle is short. Thus, altitude control for weather balloons, along with trajectory planning, is a major area of interest, as it would allow one to mitigate the disadvantages while maintaining the benefits. This article presents a novel, efficient, lightweight, and cost-effective framework for weather balloon control and path planning. The proposed solution integrates a P-D cascade controller for altitude control, adapted specifically to the dynamics and actuation constraints of weather balloons, with a wind-based trajectory planner built on the A* algorithm. To the best of the authors’ knowledge, this planner is the first to incorporate wind constraints in a grid-based search tailored for weather balloon navigation. By commanding the ballast release for ascent and helium venting for descent, the developed control solution proves efficient and robust in simulation, guiding the balloon to reach defined goals while traveling through predetermined waypoints. However, it demonstrates limitations in maintaining the balloon over a fixed area.

1. Introduction

Weather meteorological balloons are a type of high-altitude balloons used for transporting scientific payloads into the upper atmosphere [1,2]. Therefore, they represent one of the most popular tools to perform remote sensing of the atmosphere [1]. These balloons are mainly used for weather forecast, as they provide valuable input for forecast models and research [1].
The main characteristic that makes weather balloons suitable for atmospheric research is their low cost [2,3]. They consist of a simple latex or neoprene envelope inflated with a gas less dense than the atmosphere (lift gas), a parachute, and a package containing the necessary measuring instruments. In contrast, other tools capable of performing the same research, such as satellites and aircraft, are significantly more expensive to build and maintain [3]. Additionally, as these balloons fly due to buoyancy, they require far less power than their alternatives [4].
However, their flight highly depends on atmospheric conditions, such as wind and temperature, which makes it difficult to precisely predict the balloon’s trajectory and flight duration [5]. As a result, the data they gather may not always align with the desired research objectives since the balloon could drift away from the region of interest. Additionally, their life cycle is short, as they burst a few hours after being released [4]. These limitations highlight the importance of balloon altitude control along with trajectory planning. By varying the balloon’s altitude to follow desired wind currents, it would be possible to maintain a more predictable path and focus on specific atmospheric layers. Furthermore, since the balloon can be prevented from reaching critical altitudes where it would typically burst, the flight duration can be extended. Therefore, in addition to enabling more accurate atmospheric data collection, the range of applications of weather balloons can be broadened to other fields, for example, environmental monitoring (such as wildfire detection and volcanic activity monitoring, etc.), search and rescue missions, or surveillance and communication relay platforms.
The oldest altitude control solution developed for balloons is thermal altitude control, which involves changing the temperature of the lift gas. This solution can be found in hot-air balloons. However, due to the considerable heat loss across the balloon envelope, it is energetically inefficient [6] and therefore, it was not considered for this study.
Multiple state-of-the-art altitude control solutions for zero-pressure and super-pressure balloons have been developed. Some of these solutions are based on releasing ballast and venting gas, such as air–ballast (AB) [6] and conventional ballast and bleed (CBB) systems [4]. The AB system takes advantage of the molecular weight of air in comparison to the lift gas. It is composed of a zero-pressure balloon envelope which contains the lift gas and an internal bladder (also zero-pressure). When ambient air is pumped into the bladder, the density inside the balloon increases and the balloon descends. To ascend, the air is released from the bladder into the atmosphere [6]. Similarly, CBB systems release ballast in order for the balloon to ascend. However, the ballast is generally solid or liquid. To descend, they vent lift gas to the atmosphere. This type of solution is light and efficient, as it only requires some sort of ballast, a mechanism to release it, and a valve to vent the gas. Both the mechanism and the valve can be activated efficiently through appropriate control algorithms. A. Sushko et al. [4] successfully applied this type of control solution to a weather balloon in their research project whose results translated into a maximum balloon flight time of 79 h, competing with commercial zero-pressure balloons.
Another type of balloon altitude control is based on generating lift gas on the flight and releasing it, such as hydrogen generation and bleed (HGB) and integrate cryogenic helium (ICH). HGB systems [7] use a small hydrogen reactor to produce lift gas from calcium hydride hydrolysis, which is injected into the balloon when it needs to ascend. To descend, a valve is opened, and the hydrogen is released. On the other hand, an ICH system [8] uses a Dewar with liquefied helium to replenish the necessary lift gas to the balloon. To ascend, liquid helium is heated through a heat exchanger until it is in its gas state, and then it is supplied to the balloon. To descend, the balloon releases helium to the atmosphere through a valve.
One last type of balloon altitude control solution is based on changing the balloon volume, without venting gas, like mechanical compression (MC) [6] and differential expansion (DE) [6]. A MC system is formed only by a super-pressure balloon that is mechanically compressed by an actuator, which reduces the balloon volume down to a minimum of 50%. With the reduction in volume, the effective density of the balloon increases making it descend [6]. To ascend, the balloon is decompressed. Altitude control in DE systems is accomplished by transferring the lift gas between the zero-pressure balloon envelope and a super-pressure vessel. To descend, lift gas is pumped from the balloon envelope into the super-pressure vessel, which reduces its volume and therefore its lift. To ascend, the lift gas is released from the super-pressure vessel into the balloon envelope [6].
By exploiting the different wind intensities and directions in multiple altitude layers of the atmosphere, through one of these altitude control solutions, it is possible to control the balloon trajectory to a limited extent [4]. Balloon path planning is a field that has not been extensively researched, but some approaches have been explored, such as using graph-based path planning [9,10], stochastic solutions [11,12], and bio-inspired algorithms [13,14].
This article aims to present a novel, efficient, lightweight, and cost-effective framework for weather balloon control, based on the previously defined CBB solution, and path planning. The proposed solution integrates a P-D cascade controller for altitude control with a wind-based trajectory planner built on the A* algorithm. To the best of the authors’ knowledge, this planner is the first to incorporate wind constraints in a grid-based search tailored for balloon navigation. To meet these objectives, the article is structured as follows: firstly, a model for the balloon is derived, being used for the implementation of a balloon simulator and for solutions’ validation. Afterwards, the altitude control solution is designed and implemented. Finally, the trajectory planner is developed, and simulation results of the balloon model executing planned trajectories are presented and discussed.

2. Weather Balloon Modeling

To develop an altitude control solution for a weather balloon, firstly, it is necessary to obtain a model that is representative of the real balloon system in the required operating conditions. This study used an LLA reference frame, that is, latitude, ϕ , longitude, λ , and altitude, z.

2.1. Dynamics

The weather balloon model can be derived through a balance of forces:
m a = F m a = F W + F Y + F D
where the three forces that act upon it are the following:
  • Weight F W , defined as:
    F W = m s g
    where m s is the total system mass (balloon, payload, ballast, and lift gas) and g the gravitational acceleration, which is considered to be a vertical vector that points from the balloon’s center of mass to the center of the Earth with a magnitude of 9.81 m/s2.
  • Buoyancy F Y , defined as:
    F Y = V b ρ air g
    where ρ air is the air density and V b is the balloon volume, which can be defined as:
    V b = 4 3 π r b 3
    since the balloon was considered spherical, where r b corresponds to the radius of the balloon.
  • Drag F D , defined as:
    F D = 0 0 1 2 C d A b ρ air ( z ˙ v w z ) | z ˙ v w z |
    where z ˙ is the balloon’s vertical velocity,
    A b = π r b 2
    is the sectional area of the balloon, v w z is the vertical geometric component of the wind velocity, and C d is the drag coefficient given by
    C d = 24 R e + 2.6 ( R e 5 ) 1 + ( R e 5 ) 1.52 + 0.411 ( R e 2.63 × 10 5 ) 7.94 1 + ( R e 2.63 × 10 5 ) 8 + 0.25 ( R e 10 6 ) 1 + ( R e 10 6 ) 0.04
    which corresponds to the correlation used for spheres [15]. As the balloon shape is not a perfect sphere, a slight adjustment to this correlation was made, to be in accordance with the typical drag values for balloons [3] (pp. 55–58). R e is the Reynolds number, defined as:
    R e = ρ air 2 r b | z ˙ v w z | μ air
    where μ air corresponds to the air viscosity. It is expected that the Reynolds number varies between 0 and 105, and when R e < 1, only the first term of the drag coefficient is considered. This simplification of the initial correlation is called Stokes’ law and can be applied to determine the drag coefficient for spherical bodies with a very small Reynolds number in a viscous fluid [16]. It is possible to observe that the drag coefficient is a function of the balloon’s vertical velocity and radius.
    We note that since it was assumed that there was no horizontal slip between the balloon and the surrounding air mass, the balloon’s horizontal velocity was equal to that of the wind itself; therefore, there was no transversal drag.
All of these forces are applied along the altitude axis. Therefore, the balance of forces indicated in (1) can be further simplified, only considering its z component:
m z ¨ = F W z + F Y z + F D z m z ¨ = m s g + 4 3 π r b 3 ρ air g 1 2 C d π r b 2 ρ air ( z ˙ v w z ) | z ˙ v w z |
where m is the sum of the system mass, m s , with the virtual mass, m vir :
m = m s + m vir
The virtual mass term, in the balance of forces, translates the effect of the required force to accelerate the mass of air moving along with the balloon, and it is defined as:
m v i r = C m ρ air V b
where C m is a coefficient that is constant for spherical balloons, C m = 0.5 [3] (pp. 55–58).

2.2. Hyperelastic Theory

The weather balloon envelope is made of rubber which, when stretched due to being inflated, applies pressure to the inner fluid. This type of pressure is called membrane pressure, Δ P , and it is equal to the difference between the pressure inside the balloon, P b , and the atmospheric pressure, P air [17] (pp. 1–5).
To model the membrane pressure, hyperelastic theory can be used. There are two types of models in this theory: the Mooney–Rivlin model and the Gent model. As both models present similar behaviors in terms of pressure variation during the flight of the weather balloon, the Mooney–Rivlin method was chosen to model the membrane, as its parameters are easier to be identified.
Therefore, it was possible to obtain the following equality [17] (pp. 21–32):
Δ P = P b P air 2 s + t 0 r b 0 r b 0 r b r b 0 r b 7 1 s s + r b r b 0 2 = m gas R 0 T gas 4 3 π r b 3 P air
where s + and s are elastic coefficients ( s + = 3 bar and s s + = 0.1 ), t 0 is the uninflated balloon thickness, r b 0 is the uninflated balloon radius, m gas is the lift gas mass, R 0 is the universal gas constant divided by the lift gas molar mass, and T gas is the temperature of the lift gas.
The balloon pressure was determined through the perfect gas law, where the uninflated balloon radius was obtained from the balloon’s datasheet, and the uninflated balloon thickness was defined as:
t 0 = m b 4 π r b 0 2 ρ b
where m b is the mass of the balloon envelope and ρ b its density.
By rearranging Equation (12), it was possible to obtain the balloon radius as a function of the lift gas mass and temperature.

2.3. Atmospheric Model

The properties of the air that surrounds the balloon, such as temperature, pressure, and density, influence its dynamics. These properties are not constant and vary depending on the altitude z at which the balloon is flying and thus should be modeled. The Earth Atmosphere Model [18], provided by NASA, was used, which gives a set of equations to calculate both atmospheric temperature T air and pressure P air for the troposphere and stratosphere:
T air ( z ) = 288.15 0.0065 z if 0 z 11 , 000 216.65 if 11 , 000 < z 25 , 000 141.94 + 0.00299 z if 25 , 000 < z
P air ( z ) = 101 , 290 ( 288.15 0.065 z 288.15 ) 5.256 if 0 < z 11 , 000 22 , 650 exp 1.73 0.000157 z if 11 , 000 < z 25 , 000 2488 ( 141.94 + 0.00299 z 216.65 ) 11.388 if 25 , 000 < z
The atmospheric density, ρ air , can then be calculated through the perfect gas law:
ρ air = P air R air T air
where R air is the gas constant for air.
Finally, the air viscosity, μ air , can be determined using Sutherland’s Law [19]:
μ air = 1.458 × 10 6 T air 1.5 T air + 110.4
and the air conductivity k air using the following formula [19]:
k air = 0.0241 T air 273.15 0.9

2.4. Thermal Model

The temperature of the gas inside the balloon directly affects its lift, as different temperature gases, for a determined pressure, have different densities and therefore occupy different volumes. This temperature is directly affected by the thermal phenomena present in the external environment, such as direct solar radiation and the Earth’s infrared radiation, as well as phenomena which occur in the balloon’s internal environment, like self-glow and convection. Therefore, a thermal model for the balloon should be obtained. The model here presented is based on the one from [19].
The external environment thermal phenomena are the following:
  • Direct solar radiation: The heat from the sun’s direct radiation can be calculated by:
    Q sun = α A p q sun 1 + τ atm 1 r atm
    where α is the solar absorptivity of the surface of the balloon’s envelope, A p is the projected area of the balloon (equal to A b ), q sun is the direct solar flux acting on the balloon, τ atm is the atmosphere transmissivity, and r atm = 1 α τ atm is the reflection coefficient.
    Based on Beer’s Law, the transmissivity of a solar beam through the atmosphere exhibits an exponential decay and can be defined as:
    τ atm = 0.5 exp 0.65 Air Mass + exp 0.095 Air Mass
    where the Air Mass factor is determined through:
    Air Mass = P air P 0 1229 + ( 614 sin ( ψ ) ) 2 614 sin ( ψ )
    and depends on the solar elevation angle, ψ , which can be calculated based on the algorithm defined in [20]. P 0 is the atmospheric pressure at the Earth’s surface ( P air ( 0 m ) ).
    The direct solar flux can be defined as:
    q sun = I sun z
    where I sun z is the direct solar irradiance at altitude z, calculated through:
    I sun z = I sun τ atm
    The solar irradiance flux at top of the atmosphere, I sun , is defined as:
    I sun = E sun R AU 2 1 + e cos ( TA ) 1 e 2 2
    The parameter E sun is the solar constant, R AU is the mean orbital radius, and e is the orbital eccentricity. For Earth, E sun = 1367.5 W/m2, R AU = 1 and e = 0.016708.
    Finally, the true anomaly, TA, is obtained by:
    TA = MA + 2 e sin ( MA ) + 5 4 e 2 sin ( 2 MA )
    where MA is the mean anomaly, defined as:
    MA = 2 π Day number Days Per Year
    Day number counts how many days have passed since 2 January (Earth’s perihelion) until the balloon’s launch date and Days Per Year is the total number of days in a year (for the Earth, it is 365 days).
  • Infrared radiation: The radiation emitted from the Earth is a type of long-wave radiation which falls within the infrared portion of the electromagnetic spectrum. The long-wave radiation flux from the ground that reaches an altitude z is given by:
    q I R Earth = q I R ground τ I R atm = ε ground σ T ground 4 τ I R atm
    where ε ground is the ground emissivity coefficient, which depends on the characteristics of the launch location, σ is the Stefan–Boltzmann constant (5.67 × 10−8 W/m2K4), T ground is the temperature at the Earth’s surface ( T atm (0 m)), and τ I R atm is the atmospheric transmittance in the infrared spectrum. For this study, the average value for the ground emissivity was assumed to be ε ground = 0.95.
    The atmospheric transmittance for the infrared spectrum can be defined as:
    τ I R atm = 1.716 0.5 e 0.65 P atm P 0 + e 0.095 P atm P 0
    Finally, the total absorbed planetary long-wave heat can be obtained using:
    Q I R Earth = α I R A s q I R Earth V F 1 + τ I R 1 r I R
    where V F is the view factor, A s is the surface area of the balloon, and α I R (absorptivity), τ I R (transmissivity), and r I R (reflectivity) are the optical surface properties in the infrared spectrum, with r I R = 1 α I R τ I R .
    The view factor V F
    V F = 1 cos ( H C A ) 2
    accounts for the effective balloon area exposed to the planet surface and depends on the half-cone angle H C A expressed as:
    H C A = sin 1 r Earth r Earth + z
    where r Earth is the Earth radius ( r Earth = 6371 Km).
  • Albedo: The albedo is the fraction of the total incident solar energy that is reflected by a body or surface, in this case by the Earth. The albedo flux
    q Albedo = c Albedo I sun sin ( ψ )
    depends on the c Albedo coefficient, the solar irradiance flux ( I sun ), and the solar elevation angle ( ψ ). Although c Albedo varies due to clouds, location and other factors, for the present study this coefficient was considered constant as in [21], with the mean value of 0.1.
    The total absorbed albedo heat is computed by:
    Q Albedo = α A s q Albedo V F 1 + τ atm 1 r atm
  • Film emissions: The emitted energy from both the interior and exterior of the balloon film is defined by:
    Q I R out = σ ε f A s T f 4 1 + τ I R 1 r I R
    where T f and ε f is the film temperature and emissivity, respectively. The emissivity, according to Kirchhoff’s law, is assumed to be equal to the long-wave absorptivity coefficient α I R .
  • External convection: The weather balloon is affected by external convection, which can be forced or free, depending on the velocity of the balloon. The heat transfer through this type of convection can be defined as:
    Q Conv Ext = H e A s ( T air T f )
    where the heat transfer coefficient H e should be the maximum between the value of the free and forced heat transfer coefficients:
    H e = max ( H e free , H e forced )
    where
    H e free = N u free · k air D b
    H e forced = N u forced · k air D b
    The Nusselt numbers, N u , are given by:
    N u free = 2 + 0.6 ( G r atm P r atm ) 0.25
    N u forced = 0.37 R e 0.6
    The Reynolds number was already defined in Section 2.1. The Grashof and Prandtl numbers, G r atm and P r atm , are defined, respectively, as:
    G r atm = ρ air 2 g | T f T air | D b 3 T air μ a i r 2
    P r atm = 0.804 3.25 × 10 4 T air
Regarding the internal thermal phenomena, they are as follows:
  • Self-glow: The absorbed infrared self-glow from the interior of the balloon film accounts for the trapping of the heat due to the multiple internal reflections which affect the film temperature. It can be computed by:
    Q I R f = σ ε f α I R A s T f 4 1 1 r I R
  • Internal convection: The internal convection of the weather balloon is only free. Therefore, the heat load can be calculated by:
    Q Conv Int = H i A s ( T f T gas )
    Once again, the heat transfer coefficient is given by:
    H i = N u int k gas D b
    where the Nusselt number is obtained from
    N u int = 2.5 ( 2 + 0.6 ( G r gas P r gas ) 0.25 if G r gas P r gas < 1.5 × 10 8 0.325 ( G r gas P r gas ) 1 3 if G r gas P r gas > 1.5 × 10 8
    and the Grashof and Prandtl numbers from
    G r gas = ρ gas 2 g | T f T gas | D b 3 T gas μ gas 2
    P r gas = 0.729 1.6 × 10 4 T gas
    The lift gas conductivity, k gas , and viscosity, μ gas , can be determined, respectively, through the following formulae:
    k gas = 0.144 T gas 273.15 0.7
    μ gas = 1.895 × 10 5 T gas 273.15 0.647
    Note that these calculations apply to the chosen lift gas for this study—helium.
Having defined all the considered heat loads acting on the balloon, it is now possible to compute the rate of change in temperature of both the gas
T ˙ gas = Q Conv Int c v m gas + ( γ 1 ) T gas m ˙ gas m gas V ˙ b V b
and the balloon film
T ˙ f = Q Sun + Q I R Earth + Q Albedo + Q I R f + Q Conv Ext Q I R out Q Conv Int c f m b
where c v is the specific heat at constant volume of the gas, γ is the adiabatic expansion coefficient of the gas, and c f is the specific heat of the film, described by [22]:
c f = ( 1.947 + ( 43.7 × 10 4 ) ( T f 25 ) + ( 2.24 × 10 6 ) ( T f 25 ) 2 ) × 10 3

2.5. Wind Model

The horizontal motion of the balloon depends on the horizontal wind the balloon is subjected to. It was assumed that there was no horizontal slip between the balloon and the surrounding air mass, so the balloon horizontal velocity was equal to that of the wind itself. Moreover, the horizontal motion was simplified due to the assumption that there was no deformation and rotation of the balloon due to the incident wind.
The variation in latitude, ϕ ˙ , and longitude, λ ˙ , are obtained based on the horizontal wind velocity components according to [23]:
ϕ ˙ = 180 π v w y r Earth + z
λ ˙ = 180 π v w x ( r Earth + z ) cos ( ϕ π 180 )
where both latitude and longitude are expressed in degrees.

2.6. State-Space Representation of the Balloon Model

The state vector of the balloon system was composed of 8 states, fully continuous, which were the balloon altitude z, balloon velocity z ˙ , latitude ϕ , longitude λ , gas temperature T gas , film temperature T f , gas mass m gas , and ballast mass m ballast :
x = z z ˙ ϕ λ T gas T f m gas m ballast T
The altitude control considered for the balloon system was based on the variation in mass (release of gas or ballast). Therefore, the system had two inputs, the mass flow of gas m ˙ gas and the mass rate of ballast m ˙ ballast , expressed as:
u = m ˙ gas m ˙ ballast
To obtain the state-space representation of the balloon model, the derivatives of its states must be known. These derivatives were obtained from the differential equations derived in Section 2:
x ˙ = z ˙ z ¨ ϕ ˙ λ ˙ T ˙ gas T f ˙ m ˙ gas m ˙ ballast = z ˙ ρ air 4 3 π r b 3 g ( m structure + m gas + m ballast ) g 1 2 C D π r b 2 ρ air ( z ˙ v w z ) | z ˙ v w z | m structure + m gas + m ballast + C m ρ air 4 3 π r b 3 180 π v w y r Earth + z 180 π v w x ( r Earth + z ) cos ( ϕ π 180 ) H i 4 π r b 2 ( T f T gas ) c v m gas + ( γ 1 ) T gas m ˙ gas m gas V ˙ b V b Q Sun + Q I R Earth + Q Albedo + Q I R f + Q Conv Ext Q I R out Q Conv Int c f m b 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 u
Note that some terms were simplified as the state equations were very complex, which made it difficult to read. Nonetheless, they were all thoroughly detailed in the previous section.

3. Altitude Control

The chosen altitude control solution to be applied to the weather balloon was CBB—conventional ballast and bleed—where the ballast is released in order for the balloon to ascend and the lift gas is vented so that the balloon can descend.
To obtain an efficient altitude control able to respond to the perturbations that the balloon is subjected to, like vertical wind and radiation, the actuation should be continuous for both the release of the ballast and the lift gas. For the lift gas case, the solution is simple, as a proportional valve is able to continuously vary the rate of venting, whereas for the ballast, the solution can be more complex. Using a liquid or gaseous ballast would simplify the problem, as another valve could be used to release the ballast. However, due to the low density of fluids when compared to solids, large vessels would be needed to transport the ballast, which would translate into a heavier and less practical payload for the balloon to carry. Therefore, the chosen ballast was a granulate, such as fine sand, which would allow the release of ballast approximately continuously, while minimizing the size of the vessel. This vessel was considered to be a hopper with a determined flow rate. The opening of the hopper would be guaranteed by a small servo motor, which would allow the hopper to be fully open or closed. By controlling this ON/OFF hopper through pulse-width modulation (PWM), a continuous actuation for the release of ballast could be obtained. This solution is currently being developed for an experimental prototype, and it is presented in Figure 1.

3.1. Linearized Balloon Model

To develop linear controllers for each actuator that acts upon the balloon system, a linearized model of (58) should be obtained, which was carried out using the Model Linearizer application in Simulink. Firstly, a study on how the linear model changed while varying the operating condition of one state and maintaining the others constant was conducted. The latitude and longitude were not considered for this study as their dynamics do not affect the vertical movement of the balloon but are a consequence of it.
It was possible to conclude that the model did not vary if the film or gas temperature changed, but it had some variation if the altitude or the balloon velocity changed. Therefore, multiple linear models were obtained for the various altitudes with multiple operating velocities.
These models were compared with a linearized version of a simpler model, which assumed constant properties for the atmospheric air and no thermal phenomena ( T air = T f = T gas , no radiation and no convection). This simpler model is being applied to the development of an indoors laboratory prototype for this control solution.
From this comparison, it was possible to conclude that they were similar, and that the same controller was capable of stabilizing every model with equivalent time responses. Therefore, the simpler model was used to develop and tune the controllers.
Since there were two different inputs, two linear models were obtained, one for each input, with the same output—the balloon vertical velocity. This was performed as the valve and the hopper do not actuate simultaneously, and therefore, the balloon can be considered as a composition of two single-input single-output (SISO) systems, which alternate depending on which actuator is being used. This changeover in models, and thus in the controller being used, did not bring any destabilization to the controlled system, as the results show.
The chosen operating point was stationary flight, with an operating altitude of 1000 m and with a mass of gas and ballast equal to their initial condition. The resulting transfer functions of the linear models were:
G 1 ( s ) = V ( s ) M gas ( s ) = 17.2 s 2 + 7.717 × 10 5 s
G 2 ( s ) = V ( s ) M ballast ( s ) = 2.762 s 2 + 7.717 × 10 5 s
where V ( s ) , M g a s and M b a l l a s t are the Laplace transforms of the balloon vertical velocity z ˙ and gas and ballast masses, respectively, and s is the complex frequency variable.

3.2. Valve Model

A proportional valve was considered to vent the lift gas. In simulation, this valve was modeled so that its mass flow could vary proportionally from 0 to −1 × 10−4 kg/s, which corresponded to the maximum flow rate of the valve, determined empirically, which is being used in the laboratory prototype.

3.3. Hopper Model

The considered hopper worked as an ON/OFF hopper. Thus, its control action is required to be modeled as a PWM signal and for this case, a sigma-delta PWM was chosen.
For this type of modulation, the reference signal, which was the hopper control action, is subtracted from the PWM signal to obtain the corresponding error. This error is then integrated, and when it reaches a defined limit, the PWM signal goes from 0 to 1 or vice versa, depending on whether it was the lower or upper limit, respectively.
For the hopper, the PWM signal varied from 0 to the hopper mass flow of 5.84 × 10−4 kg/s. The integration limits were chosen so that the maximum frequency of the hopper, 2.75 Hz, corresponded to the maximum frequency of the PWM signal −2.6 × 10−5 kg2/s2. Both of these values were obtained on the basis of empirical equations [24] for hoppers containing materials similar to sand (dimension-wise) and applied to the one being developed for the laboratory prototype.

3.4. Control Design

Cascade control was chosen to be applied to the balloon. In this type of control, two controllers are utilized, the feedback loop for one controller placed inside the feedback loop for the other. The output of the first one serves as the set point for the second one [25].
The position dynamics of a system is always slower than the velocity dynamics, which means that the velocity varies faster than the position, and that is logical as the first one is the derivative of the second one. By not directly controlling the velocity, it may vary abruptly as a result of position control, which leads to harsh accelerations (less efficient control) or even destabilization of the balloon.
Therefore, cascade control was applied to each actuator to open and close the valve and the hopper.
The position controller for both these actuators was proportional and was set to the same value. On the other hand, the velocity controllers were P-D, and their values were set so that the inner rings had similar dynamics to avoid extra actuation due to different time responses. The usage of P-D controllers, instead of PD ones, allowed us to obtain better and simpler controllers, as they avoided the derivative kick phenomenon and were composed by only two gains. Figure 2 shows the entire control architecture applied to this system.
The chosen gains for the controllers are shown in Table 1. These were defined so that the overshoot was minimal and that the time response was adequate, that is, there was a balance between actuation and velocity of ascent/descent in a way that the balloon was fast enough to reach different altitude levels without spending too much ballast and lift gas doing so.
In addition, the output of the position controller was saturated. The objective of this saturation was to define a maximum reference velocity for the balloon (2 m/s) so that for larger jumps in altitude, the actuation expense was limited to a certain value.
In the upper inner ring, the saturation block corresponds to the valve model, whereas in the bottom inner ring, the “PWM Modulation” block corresponds to the hopper model, where the continuous control action is transformed into a PWM signal.
It is worth noting that in our currently under-development prototype, all the on-board processing (including sensor data acquisition, control action calculation, and state estimation) runs in real time and at a frequency of 13.75 Hz. This sampling frequency appears to be sufficient to successfully control the system, as it is inherently slow, further validating the developed control solution real-world applicability.

4. Trajectory Planning

Usually, weather balloons drift freely in the prevailing wind at the operating altitude, which, depending on the mission objective, may translate into sub-optimal trajectories. Path planning optimization is achieved by selecting a trajectory that satisfies a specified set of criteria to reach a stated mission objective.
Typically, the flight objective is to take the balloon from one point to another or to maintain the balloon around a certain area. Taking the flight objective into account, pre-flight path planning must be developed to determine an optimal path so that not only the distance to the goal location is minimized but also the resource expenditure, as the gas and ballast required to perform the altitude control are limited. Based on the spatial and temporal wind information available, 3D wind grids (latitude, longitude, and altitude) can be defined for different hours of the day, where each node has an associated wind vector (wind direction and velocity). The optimal path must be found within the wind vectors, moving from node to node, considering the balloon restrictions, namely, the maximum altitude, velocity, and resources available.
The path planning algorithm must output a set of vertical actuation commands to the balloon simulator so that the balloon can be controlled in altitude and drift with the favorable wind currents. Since the balloon’s movement is entirely dependent on the wind direction, there will be times when the balloon will simply be unable to reach the desired location. In that case, other hours, days, and/or launch sites should be tested with the pre-flight path planning. It should be noted that since the balloon is in the atmosphere, physical obstacles are not taken into account, and it is assumed that the balloon can freely circulate within the airspace in any zone.

4.1. A* Algorithm

After an overview of the optimization algorithms availabale for path planning, the A* algorithm was chosen for this study. The A* algorithm is an informed graph search algorithm which selects the nodes to be explored based on the best heuristic value. This characteristic directs the path search to the goal, saving a significant amount of computation time. The cost function to be minimized is defined by:
f ( n ) = g ( n ) + h ( n )
where g ( n ) is the cost from the start node to node n, and h ( n ) is the heuristic function that estimates the cost from node n to the goal node.

Weighted A* Algorithm

For more complex problems, with higher dimension graphs, the A* algorithm may take too long to find a feasible solution. In this case, a variation of A* can be used to find a solution faster, which explores less nodes [26]. This alternative is called weighted A*, which multiples the heuristic by a weight w:
f ( n ) = g ( n ) + w × h ( n )
The performance of the algorithm was analyzed using the following weights: 0 (Dijkstra’s algorithm), 1 (A* algorithm), 2, and 100 (greedy best-first search). This analysis showed that if there was an optimal path from start to goal, the algorithm always found it regardless of the weight chosen. Furthermore, usually, the weight is increased to make the algorithm converge faster, but in this work, that was not justified as the algorithm gave an output in a matter of seconds, with w = 1. Also, since the weight was associated with the heuristic cost function h ( n ) , increasing it might result in higher resource expenditure, which was not desired.

4.2. Balloon Trajectory Planning Solution

A mission objective must be defined so that the path planning optimization can be performed. For this study, the following mission objectives were considered:
  • Take the balloon from one point (start) to another (goal).
  • Take the balloon through different pre-defined waypoints.
  • Maintain the balloon around a certain area, whether it is a waypoint or the goal.
Since the balloon movement is restricted by the wind, reaching the goal may be challenging. Therefore, the goal can be defined in two different ways:
  • A point described by (latitude, longitude, altitude) coordinates.
  • A vertical line described by (latitude, longitude) coordinates, with no altitude restrictions.
The performance of the algorithm was tested for these two types of goals, considering different scenarios. It was concluded that defining the goal only with (latitude, longitude) coordinates, without restricting the altitude, gave more flexibility to the algorithm and produced better results in terms of time, traveled distance, and resources expenditure.
Moreover, to apply the A* algorithm to the balloon path planning problem, the cost function f ( n ) , the grid search space, and the balloon’s restrictions had to be defined.

4.2.1. Configuration Space

In this study, the graph was defined by the wind grid, where each node had an associated wind direction and velocity (wind vector). The horizontal resolution was equivalent to a latitudinal resolution of 27.75 km and a longitudinal resolution of 21.25 km. As for the vertical resolution, altitude levels with a 0.5 km resolution were considered.

4.2.2. Constraints

Balloons have no maneuverability restrictions meaning they can move in any direction. However, as they have no lateral control, their horizontal motion is entirely constrained by the movement of the wind. Therefore, even though during the process of node expansion, the balloon could theoretically reach any of its neighboring nodes (Figure 3), in practice, not all of them would be admissible as reaching them would require to go against the wind.
Only 3 out of the 26 neighboring nodes were admissible: one in the balloon altitude level and the other two immediately in the upper and lower levels, which could be reached by controlling the balloon altitude. The admissible node at the balloon altitude level was solely determined by the wind direction. Note that the grid only had 8 possible directions in the transversal 2D plane, whereas the wind direction could take any value in the interval [0°, 360°]. Therefore, the wind direction had to be approximated by one of the defined node directions, which was accomplished by computing the difference between the node directions and the wind direction and choosing the node with the minimal difference. These approximations resulted in a deviation in the balloon’s motion from the actual wind movement. The solution to minimize this error was to consider more possible directions in the grid. Hence, the case of 16 neighboring nodes in the transversal 2D plane was utilized.
For the upper and lower altitude levels, the admissible nodes were determined not only by the wind direction but also by the actuation and wind velocities. These velocities were important because while the balloon was moving vertically it was also being pushed horizontally. To obtain which node was admissible, the direction of the resulting balloon velocity (actuation and wind) was obtained and then compared to the vertical angles between the nodes of the grid. The admissible node was the one where the difference between the grid and velocity angle was minimized. Therefore, the wind direction restricted the possible admissible nodes, but the wind intensity determined which node would be the admissible one.
The process of node expansion for balloons was not fixed in time nor space and therefore, at each step of the A* algorithm, for each node, the admissible neighbor nodes had to be determined based on the wind direction and intensity. Another constraint was the limitation of resources, specifically gas and ballast, required to perform the altitude control of the balloon. During the search process through the graph, the algorithm had to take into account that there was a maximum amount of ballast to expend, and that enough gas had to remain to perform a safe descent of the balloon.
Finally, the mission constraints were the waypoints/goal given to the path planner which the balloon had to reach.

4.2.3. Cost Functions

Considering that in this study, the objective was to plan a path that minimized both the distance to the waypoint/goal node as well as the resource expenditure, the cost functions h ( n ) and g ( n ) were defined as:
  • h ( n ) is the Euclidean distance between node n and the waypoint/goal node, so that nodes closer to the goal are considered first, or, in other words, that the minimum distance paths are prioritized in the search process. In the graph, the Euclidean distance is computed between the current node ( x c , y c , z c ) and the final node ( x f , y f , z f ) , whether it is a waypoint or the goal node. Additionally, to account for the traveled kilometers, each component must be multiplied by the correspondent grid resolution (resϕ, resλ or resz) as follows:
    h ( n ) = [ ( x f x c ) × res ϕ ] 2 + [ ( y f y c ) × res λ ] 2 + [ ( z f z c ) × res z ] 2
    This is the expression used when the goal is a specific point, because it accounts for the altitude. However, if the goal is instead a vertical line with no altitude restriction, the Euclidean distance is given by:
    h ( n ) = [ ( x f x c ) × res ϕ ] 2 + [ ( y f y c ) × res λ ] 2
  • g ( n ) takes into account both the distance between the current node and its neighbor node n as well as the resources expended to reach the neighbor. As a result, the nodes which require less resources to be reached are considered first; therefore, paths that expend less resources are prioritized. The distance between the current node and its neighbor is computed with the Euclidean distance. The actuation cost, which is the cost associated with the resource expenditure, depends on the neighbor’s altitude level. If the neighbor is at the same altitude level as the current node, there is no actuation cost. On the other hand, if the neighbor is at the upper or lower altitude level, there is an associated actuation cost because the altitude control system must be used to reach it. Moreover, this cost must be converted into a distance determined by the expended mass of gas and ballast because the costs that compose the function g ( n ) must be in the same units to be added. Therefore, the actuation cost is defined as:
    c actuation = m gas m ballast k 1 0 0 k 2 m gas m ballast T
    where k 1 and k 2 are cost constants. The computation of the cost g ( n ) can be defined as:
    g ( n ) = g ( current ) + dist [ neighbor , current ] if z neighbor = z current g ( current ) + dist [ neighbor , current ] + c actuation if z neighbor z current
    Since the cost function g ( n ) is the cost from the start node to node n, the cost of the current node ( g ( current ) ), which is the accumulated cost from the start to the current node, must be added to the cost between the current node and its neighbor.
    Without the resource expenditure restriction, the algorithm finds the optimal path under the assumption that it can spend whatever resources are available, within the maximum limits. As a result, it reaches the goal faster but expends more resources, which is not desired. On the other hand, defining the actuation cost as a positive number results in the same paths because regardless of the chosen value, the nodes that require altitude control to be reached will always have a higher cost that the nodes that do not.
It should be noted that wind direction and intensity do not appear explicitly in the cost functions g ( n ) or h ( n ) . Instead, they are utilized during the definition of admissible neighboring nodes during node expansion. At each step of the A* search, the local wind vector is used to determine which nodes can realistically be reached, ensuring that the algorithm is adaptive to spatial and temporal variations in the wind. Once a node is considered admissible, it is evaluated by the cost functions that account for both the travel distance and the resource expenditure. No additional penalty is applied to the wind direction, since temporarily moving the balloon away from the goal may be required due to wind field constraints to ultimately reach the target.

5. Results and Discussion

The results are divided into two parts, where in the first one, the developed altitude control solution are tested and validated. The second part focuses on the results and validation of the path planning algorithm. All the results were obtained via simulation, using the Simulink application in MATLAB.

5.1. Initial Parameters and Constants

To simulate the balloon, it was necessary to define the initial conditions for the simulation and to define the values for the various constants.
We assumed the balloon was launched from sea level (0 m) at equilibrium, that is, with null acceleration and velocity. The balloon state values for this condition are shown in Table 2. The launch time was defined as 15/September/2022 at 8 a.m. in Lisbon, Portugal (if another launch time was considered, it is identified in the results).
To be able to determine this condition and to simulate the balloon, every constant parameter needed to be defined. Table 3 shows the parameters for the chosen weather balloon, which was considered to be the TA450, with a payload mass equal to the estimated mass for the control mechanisms.
Other important parameters were the optical film properties. Defining correctly the film radiative properties of a balloon, i.e., absorptivity/emissivity, transmissivity, and reflectivity in both the solar and infrared spectrum, is vital as these properties affect the balloon trajectory and thermal performance [27]. However, measuring precisely these properties is very challenging, and studies have shown contradictory results. In this work, the values defined in [27] were used, which are presented in Table 4. The air and lift gas (helium) parameters required for the simulation are the ones from Table 5.
Regarding the wind, its transversal component was obtained from the ERA5 database, whereas the vertical component was obtained from the NOMADS database. This occurred as the ERA5 database did not contain the geometric vertical wind velocity component. Both these databases were interpolated in time and space to better represent the wind felt by the balloon at a certain location and time of day.
Finally, to validate the trajectory planning algorithm, the following parameters were defined:
  • The maximum gas mass was 0.328 kg, and the maximum ballast mass was 0.950 kg. Also, the minimum gas mass necessary to hold the platform and perform a safe descent was 0.175 kg.
  • The actuation velocity (vertical velocity) of the balloon system was 0.6 m/s.
  • The resources expended each time the altitude control system was activated were m gas 0.006 kg and m ballast 0.04 kg.
  • The constants required to compute the actuation cost were k 1 = 0.5 0 . 006 2 km/kg and k 2 = 0.5 0 . 04 2 km/kg, so that c actuation = 1.

5.2. Altitude Control

A possible real flight scenario was simulated to test the developed control. The balloon started its flight in Lisbon, Portugal, at 8 am on 15/September/2022. Then, it had to ascend to an altitude of 1000 m, where, after half an hour, it was requested to ascend 1500 m more. After an hour and a half, it descended 2000 m and, finally, it started its landing when the clock hit two hours and a half.
The balloon was considered to have launched with more helium than the equilibrium condition, so that it started to ascend without spending any ballast.
Figure 4 shows the evolution of the balloon states for the simulated flight scenario, whereas the actuation is shown in Figure 5. Finally, the disturbances that affect the system, wind and radiation, are shown in Figure 6.
We observed that the balloon successfully performed the desired flight, with minimal overshoot and without overspending the resources; therefore, the altitude control solution was successful.
Although the balloon’s movement suffered little interference due to the vertical wind (which was in the order of magnitude of 10−3 m/s), the radiation was not negligible. Nonetheless, the balloon was able to overcome these disturbances and thus, the control solution showed some robustness.
Finally, we noticed that the valve control action had little to no saturation, which means that the time response of the controlled system was adequate for this actuator. The hopper control action did not remain open for large periods of time. If this occurred, it would mean that the hopper was not able to release sand as fast as required, in relation to the time response of the system. Thus, for this actuator, this time response was also adequate.

5.3. Trajectory Planning

To validate the trajectory planning algorithm, multiple tests were performed. Firstly, the balloon was set to depart from Lisbon and to reach Évora, Serra S. Mamede, or Campo Maior (Portugal), where it should try to maintain its position. This allowed us to test two different mission objectives simultaneously: (i) reach a certain goal from a initial location and (ii) maintain the position around the goal area. Table 6 shows the results obtained for different scenarios and indicates whether the balloon “arrived” to the goal and “maintained” its position or not. To consider that the balloon maintained its position, the algorithm had to return to the goal’s LL location in successive iterations.
As one can see, although the algorithm was able to reach the goal in the majority of the tested cases, it was only possible to maintain the balloon around the goal’s location in two scenarios, which are depicted in Figure 7. In the first scenario, around Évora, the balloon had to move away from the goal area to be able to return, whereas in the second scenario, it was able to remain within the goal area. Note that for both cases, the algorithm was only able to perform one iteration to maintain the balloon in the desired location. The user would have to consider other weeks or even months to find more favorable conditions, or test if launching the balloon from different locations or at different hours would produce better results. Nevertheless, it is possible to conclude that the trajectory planning algorithm was able to perform the required mission objectives, as the difficulty of maintaining the balloon in a certain area came from the fact that the wind, in the vast majority of the time, was very stable, as it did not vary abruptly with altitude, and not from the algorithm itself.
The last mission objective proposed was to take the balloon to different pre-defined waypoints. This mission objective was tested for the scenarios illustrated in Figure 8 and the results were very satisfactory, as the algorithm was able to find optimal paths between the required waypoints across Portugal.
The second trajectory (Lisbon–Serra S. Mamede–Serra da Estrela) was also tested for launch days in January, April, and July, as shown in Table 7. In January and July, an optimal path was found for the pre-defined waypoints, whereas in April, the algorithm was only able to find a path from Lisbon to Serra S. Mamede due to the wind conditions. Note that even though the trajectory time and distance were longer in July than they were in September, the resource expenditure was much lower because the balloon performed less ascents/descents, having both waypoints at an altitude of 1000 m.

6. Conclusions

This study resulted in a complete and complex model of a weather balloon, as well as an altitude control solution and a trajectory planning algorithm, which allows one to increase the control of the balloon’s flight path.
An inexpensive yet efficient balloon control was obtained through the usage of two actuators—a valve and a hopper—and a P-D cascade control approach, which showed robustness to some perturbations, such as vertical wind and radiation. This control solution is presently being developed in a laboratory prototype.
As for the trajectory planning algorithm, it was capable of guiding the balloon to achieve three desired mission objectives: reach a certain goal, maintain its position, and travel through multiple waypoints. To the best of the authors’ knowledge, this planner is the first to integrate wind direction and intensity constraints within a grid-based A* search tailored for weather balloon navigation, representing a novel contribution to the field. Although dependent of the wind and launch conditions, the algorithm was able to reach a defined goal and travel through waypoints reliably the vast majority of the performed tests. It struggled, however, to try to maintain the balloon in a certain area. This was due to the fact that the wind direction was mostly very stable, as it did not vary abruptly with altitude.
Future work will consist in fully developing the prototype, as well as adapting the control solution to it, taking into account its sensors and the required filters. Incorporating aerodynamic uncertainties, dynamic optical properties, and radiative transfer into the control model would also be important to ensure robust real-world performance. Regarding the trajectory planning algorithm, it performs all of its calculations before the balloon’s takeoff, based on predicted wind data. Therefore, developing a solution which measures the wind that is acting upon the balloon during its flight and self corrects the planned trajectory based on the measured data would be able to further improve the results. In addition, extending the current wind and atmospheric models to include more realistic dynamics, such as turbulence, gusts, wind shear, and high-dynamic regions like the atmospheric boundary layer, would enhance the accuracy of balloon trajectory predictions and provide a more robust understanding of the system’s behavior under varying atmospheric conditions. Incorporating wind uncertainty, through ensemble data or synthetic perturbations, would further support a robustness evaluation of the proposed planning approach.

Author Contributions

Conceptualization, B.C., C.R., A.M. and J.R.A.; methodology, B.C., C.R., A.M. and J.R.A.; software, B.C. and C.R.; validation, B.C., C.R., A.M. and J.R.A.; formal analysis, A.M. and J.R.A.; investigation, B.C., C.R., A.M. and J.R.A.; resources, A.M.; data curation, B.C. and C.R.; writing—original draft preparation, B.C. and C.R.; writing—review and editing, A.M. and J.R.A.; visualization, B.C., C.R., A.M. and J.R.A.; supervision, A.M. and J.R.A.; project administration, A.M.; funding acquisition, A.M. All authors have read and agreed to the published version of the manuscript.

Funding

This work was financed by national funds through FCT—Fundação para a Ciência e Tecnologia, I.P., through IDMEC under project SONDA (DOI: 10.54499/PTDC/EME-SIS/1960/2020), and under LAETA Base Funding (DOI: 10.54499/UIDB/50022/2020).

Data Availability Statement

The original contributions presented in this study are included in the article. Further inquiries can be directed to the corresponding authors.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Gallice, A.; Wienhold, F.G.; Hoyle, C.R.; Immler, F.; Peter, T. Modeling the ascent of sounding balloons: Derivation of the vertical air motion. Atmos. Meas. Tech. 2011, 4, 2235–2253. [Google Scholar] [CrossRef]
  2. Borges, R.; Battistini, S.; Cappelletti, C.; Honda, Y. Altitude control of a remote-sensing balloon platform. Aerosp. Sci. Technol. 2021, 110, 106500. [Google Scholar] [CrossRef]
  3. Yajima, N.; Izutsu, N.; Imamura, T.; Abe, T. Scientific Ballooning: Technology and Applications of Exploration Balloons Floating in the Stratosphere and the Atmospheres of Other Planets, 1st ed.; Springer: New York, NY, USA, 2009. [Google Scholar]
  4. Sushko, A.; Tedjarati, A.; Creus-Costa, J.; Maldonado, S.; Marshland, K.; Pavone, M. Low cost, high endurance, altitude-controlled latex balloon for near-space research (ValBal). In Proceedings of the 2017 IEEE Aerospace Conference, Big Sky, MT, USA, 4–11 March 2017. [Google Scholar]
  5. Vera, D.; Valencia, E.; Lopez, E.; Banda, W. Modeling a propulsion system for the trajectory correction of weather balloons. In Proceedings of the AIAA Propulsion and Energy 2019 Forum, Indianapolis, IN, USA, 19–22 August 2019. [Google Scholar]
  6. Voss, P.; Riddle, E.; Smith, M. Altitude control of long-duration balloons. J. Aircr. 2005, 42, 478–482. [Google Scholar] [CrossRef]
  7. Cêpeda, V. Simulation of a Latex Balloon with a Hydrogen Generation system. Master’s Thesis, Instituto Superior Técnico, Lisboa, Portugal, 2020. [Google Scholar]
  8. Murai, K. Integrated cryogenic helium system for extended duration balloon flights. Adv. Space Res. 2004, 33, 1819–1824. [Google Scholar] [CrossRef]
  9. Blackmore, L.; Fathpour, N.; Elfes, A. Graph-Based Path-Planning for Titan Balloons; Technical Report; Jet Propulsion Laboratory & California Institute of Technology: Pasadena, CA, USA, 2010. [Google Scholar]
  10. Blackmore, L.; Kuwata, Y.; Wolf, M.; Assad, C.; Fathpour, N.; Newman, C.; Elfes, A. Global reachability and path planning for planetary exploration with montgolfiere balloons. In Proceedings of the 2010 IEEE International Conference on Robotics and Automation, Anchorage, AK, USA, 3–5 May 2010. [Google Scholar]
  11. Wolf, M.; Blackmore, L.; Kuwata, Y.; Fathpour, N.; Elfes, A.; Newman, C. Probabilistic motion planning of balloons in strong, uncertain wind fields. In Proceedings of the 2010 IEEE International Conference on Robotics and Automation, Anchorage, AK, USA, 3–5 May 2010. [Google Scholar]
  12. Born, R.; Schwager, M. Riding an Uncertain Wind Field: Receding Horizon Tree Search Planning with Opportunistic Sampling for an Autonomous Weather Balloon. In Proceedings of the AIAA Scitech 2019 Forum, San Diego, CA, USA, 7–11 January 2019. [Google Scholar]
  13. Musso, I.; Cardillo, A.; Ibba, R. Genetic algorithms: Trajectory optimization for stratospheric balloons. In Proceedings of the 17th ESA Symposium on European Rocket and Balloon Programs and Related Research, Sandefjord, Norway, 30 May–2 June 2005. [Google Scholar]
  14. Chaffee, E.; Ellis, P.; Reguero-Inserni, J. Uncertainty Quantification for High Altitude Balloon Trajectory Optimization. In Proceedings of the AIAA Aviation 2019 Forum, Dallas, TX, USA, 17–21 June 2019. [Google Scholar]
  15. Morrison, F. An Introduction to Fluid Mechanics, 1st ed.; Cambridge University Press: New York, NY, USA, 2013; p. 625. [Google Scholar]
  16. White, F. Fluid Mechanics, 8th ed.; McGraw-Hill Education: New York, NY, USA, 2016; pp. 479–480. [Google Scholar]
  17. Müller, I.; Strehlow, P. Rubber and Rubber Balloons: Paradigms of Thermodynamics, 1st ed.; Springer Science & Business Media: Berlin, Germany, 2004. [Google Scholar]
  18. Earth Atmospheric Model. Available online: https://www.grc.nasa.gov/www/k-12/airplane/atmosmet.html (accessed on 3 May 2021).
  19. Farley, R. BalloonAscent: 3-D simulation tool for the ascent and float of high-altitude balloons. In Proceedings of the AIAA 5th ATIO and 16th Lighter-Than-Air System Technology and Balloon Systems Conferences, Arlington, VA, USA, 26–28 September 2005. [Google Scholar]
  20. Kalogirou, S. Solar Energy Engineering: Processes and Systems, 3rd ed.; Academic Press: Burlington, MA, USA, 2023; pp. 55–121. [Google Scholar]
  21. Palumbo, R.; Russo, M.; Filippone, E.; Corraro, F. ACHAB: Analysis code for high-altitude balloons. In Proceedings of the AIAA Atmospheric Flight Mechanics Conference and Exhibit, Hilton Head, SC, USA, 20–23 August 2007. [Google Scholar]
  22. Wood, L.; Bekkedahl, N. Specific heat of natural rubber and other elastomers aboved the glass transition temperature. J. Polym. Sci. Part B Polym. Lett. 1967, 5, 169–175. [Google Scholar] [CrossRef]
  23. Johnson, N.; Lewis, L.; Stevens, L. Aircraft Control and Simulation, 3rd ed.; Wiley: Hoboken, NJ, USA, 2016; pp. 23–34. [Google Scholar]
  24. Hopper Design Principles. Available online: https://www.chemengonline.com/hopper-design-principles/ (accessed on 17 April 2025).
  25. Bolton, W. Instrumentation and Control Systems, 3rd ed.; Newnes: Oxford, UK, 2021; p. 305. [Google Scholar]
  26. Wilt, C.; Ruml, W. When does weighted A* fail? In Proceedings of the International Symposium on Combinatorial Search, Niagara Falls, ON, Canada, 19–21 July 2012. [Google Scholar]
  27. Carlson, L.; Horn, W. A Unified Thermal and Vertical Trajectory Model for the Prediction of High Altitude Balloon Performance; Technical Report; Texas A&M University: College Station, TX, USA, 1981. [Google Scholar]
Figure 1. Actuator developed for the release of ballast.
Figure 1. Actuator developed for the release of ballast.
Aerospace 12 00392 g001
Figure 2. Altitude control solution block diagram. Standard cascade control, where a P controller is applied to the position error ( z r e f z ) and a P-D controller to the velocity error ( z ˙ r e f z ˙ ).
Figure 2. Altitude control solution block diagram. Standard cascade control, where a P controller is applied to the position error ( z r e f z ) and a P-D controller to the velocity error ( z ˙ r e f z ˙ ).
Aerospace 12 00392 g002
Figure 3. Representation of the balloon’s neighboring nodes.
Figure 3. Representation of the balloon’s neighboring nodes.
Aerospace 12 00392 g003
Figure 4. Evolution of the balloon states for the real flight scenario: (a) altitude (z), (b) vertical velocity ( z ˙ ), (c) mass of gas ( m gas ), (d) mass of ballast ( m ballast ), (e) gas and film temperature ( T gas and T film ), and (f) latitude and longitude ( ϕ and λ ).
Figure 4. Evolution of the balloon states for the real flight scenario: (a) altitude (z), (b) vertical velocity ( z ˙ ), (c) mass of gas ( m gas ), (d) mass of ballast ( m ballast ), (e) gas and film temperature ( T gas and T film ), and (f) latitude and longitude ( ϕ and λ ).
Aerospace 12 00392 g004aAerospace 12 00392 g004b
Figure 5. Actuators’ control action: (a) valve control action ( m ˙ gas ) and (b) hopper control action ( m ˙ ballast ).
Figure 5. Actuators’ control action: (a) valve control action ( m ˙ gas ) and (b) hopper control action ( m ˙ ballast ).
Aerospace 12 00392 g005
Figure 6. Disturbances that affect the balloon: (a) wind and (b) radiation.
Figure 6. Disturbances that affect the balloon: (a) wind and (b) radiation.
Aerospace 12 00392 g006
Figure 7. Maintaining the balloon around its goal area: (a) Évora and (b) Serra S.Mamede.
Figure 7. Maintaining the balloon around its goal area: (a) Évora and (b) Serra S.Mamede.
Aerospace 12 00392 g007
Figure 8. Comparison between trajectories with different waypoints: (a,b) Lisbon–Évora–Beja–Pedrogão Grande, (c,d) Lisbon–Serra S.Mamede–Serra da Estrela, and (e,f) Lisbon–Odemira–Gerês.
Figure 8. Comparison between trajectories with different waypoints: (a,b) Lisbon–Évora–Beja–Pedrogão Grande, (c,d) Lisbon–Serra S.Mamede–Serra da Estrela, and (e,f) Lisbon–Odemira–Gerês.
Aerospace 12 00392 g008
Table 1. Controller gains.
Table 1. Controller gains.
GainValue
K0.0025 s−1
K p gas 9.9891 × 10−5 kg/m
K d gas 3.9883 × 10−3 (kg · s)/m
K p ballast −6.3211 × 10−4 kg/m
K d ballast −0.024832 (kg · s)/m
Table 2. Initial conditions for the simulation.
Table 2. Initial conditions for the simulation.
StateVariableValueUnit
Altitudez0m
Vertical velocity z ˙ 0m/s
Latitude ϕ 38.75°
Longitude λ −9.25°
Gas temperature T gas 288.15K
Film temperature T film 288.15K
Gas mass m gas 0.328kg
Ballast mass m ballast 0.950kg
Table 3. Balloon parameters.
Table 3. Balloon parameters.
StateVariableValueUnit
Envelope mass m b 0.450kg
Uninflated radius r b 0 0.430m
Payload mass m payload 0.640kg
Latex (rubber) density ρ b 1100kg/m3
Table 4. Optical film properties.
Table 4. Optical film properties.
StateVariableValueUnit
in the solar spectrum
Absorptivity α 0.001 -
Transmissivity τ 0.885 -
Reflection r = 1 α τ 0.1140 -
in the infrared spectrum
Absorptivity α I R 0.031 -
Transmissivity τ I R 0.842 -
Reflection r I R = 1 α I R τ I R 0.1270 -
Table 5. Air and lift gas parameters.
Table 5. Air and lift gas parameters.
StateVariableValueUnit
Air
Gas constant R air 287.06J/(K · kg)
Helium
Gas constant R 0 207.73J/(K · kg)
Adiabatic exp. coeff. γ 1.667-
Specific heat c v 3115.89J/(K · kg)
Table 6. Comparison between trajectories with the objective to maintain the balloon around a certain area.
Table 6. Comparison between trajectories with the objective to maintain the balloon around a certain area.
StartGoalLaunch DayArrivedMaintainedFinal
Altitude [m]
Time [h]Traveled Distance [km]Sand [kg]Gas [kg]
LisbonÉvora15/09/2022yesyes400049.819335.810.4000.060
LisbonÉvora16/09/2022nono
LisbonÉvora17/09/2022nono
LisbonÉvora18/09/2022yesno50067.019755.430.7600.114
LisbonÉvora19/09/2022yesno450094.563618.690.4400.066
LisbonSerra S. Mamede15/09/2022yesyes100035.173272.250.2400.036
LisbonSerra S. Mamede16/09/2022nono
LisbonSerra S. Mamede17/09/2022yesno2000109.0501121.490.8800.132
LisbonSerra S. Mamede18/09/2022yesno250052.513676.140.6000.090
LisbonSerra S. Mamede19/09/2022yesno550094.263636.420.4400.066
LisbonCampo Maior15/09/2022yesno200022.116237.710.1600.024
LisbonCampo Maior16/09/2022nono
LisbonCampo Maior17/09/2022nono
LisbonCampo Maior18/09/2022yesno1500101.774740.560.6800.102
LisbonCampo Maior19/09/2022yesno550095.855687.180.4400.066
Table 7. Comparison between trajectories in different months.
Table 7. Comparison between trajectories in different months.
StartWaypoint 1Waypoint 2Launch DayWaypoints Altitude [m]Time [h]Traveled Distance [km]Sand [kg]Gas [kg]
LisbonS. MamedeEstrela15/09/20221500, 600060.872536.760.5600.084
LisbonS. MamedeEstrela15/01/20223500, 50085.118921.900.8400.126
LisbonS. MamedeEstrela15/04/20226000, —57.056624.940.4800.072
LisbonS. MamedeEstrela15/07/20221000, 100071.101611.940.2400.036
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Cândido, B.; Rodrigues, C.; Moutinho, A.; Azinheira, J.R. Modeling, Altitude Control, and Trajectory Planning of a Weather Balloon Subject to Wind Disturbances. Aerospace 2025, 12, 392. https://doi.org/10.3390/aerospace12050392

AMA Style

Cândido B, Rodrigues C, Moutinho A, Azinheira JR. Modeling, Altitude Control, and Trajectory Planning of a Weather Balloon Subject to Wind Disturbances. Aerospace. 2025; 12(5):392. https://doi.org/10.3390/aerospace12050392

Chicago/Turabian Style

Cândido, Bruno, Catarina Rodrigues, Alexandra Moutinho, and José Raul Azinheira. 2025. "Modeling, Altitude Control, and Trajectory Planning of a Weather Balloon Subject to Wind Disturbances" Aerospace 12, no. 5: 392. https://doi.org/10.3390/aerospace12050392

APA Style

Cândido, B., Rodrigues, C., Moutinho, A., & Azinheira, J. R. (2025). Modeling, Altitude Control, and Trajectory Planning of a Weather Balloon Subject to Wind Disturbances. Aerospace, 12(5), 392. https://doi.org/10.3390/aerospace12050392

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop