Abstract
Robots with multi-modal locomotion are an active research field due to their versatility in diverse environments. In this context, additional actuation can provide humanoid robots with aerial capabilities. Flying humanoid robots face challenges in modeling and control, particularly with aerodynamic forces. This paper addresses these challenges from a technological and scientific standpoint. The technological contribution includes the mechanical design of iRonCub-Mk1, a jet-powered humanoid robot, optimized for jet engine integration, and hardware modifications for wind tunnel experiments on humanoid robots for precise aerodynamic forces and surface pressure measurements. The scientific contribution offers a comprehensive approach to model and control aerodynamic forces using classical and learning techniques. Computational Fluid Dynamics (CFD) simulations calculate aerodynamic forces, validated through wind tunnel experiments on iRonCub-Mk1. An automated CFD framework expands the aerodynamic dataset, enabling the training of a Deep Neural Network and a linear regression model. These models are integrated into a simulator for designing aerodynamic-aware controllers, validated through flight simulations and balancing experiments on the iRonCub-Mk1 physical prototype.
Similar content being viewed by others
Introduction
Aerial-terrestrial multi-modal robots are a significant area of research due to their ability to overcome the limitations of single-mode locomotion and adapt to various environments. This makes them ideal platforms for transportation, exploration, and search and rescue missions.
This paper proposes a technological approach to equip a humanoid robot with jet engines providing it with flight capabilities; consequently, it presents a comprehensive scientific methodology to model, validate, simulate, and control the aerodynamic forces acting on a flying humanoid robot during flight allowing it to operate in external environments with non-zero relative wind intensity.
The literature on modeling and control of multi-modal robotic platforms can be roughly divided into distinct fields: task-driven mechanical design of multi-modal flying platforms, aerial systems control with and without aerodynamic modeling, and Computational Fluid Dynamics (CFD) simulations and wind tunnel tests of the flow around bluff bodies.
Concerning task-driven mechanical design of multi-modal flying platforms, the increasing demand for multi-purpose robots to replace human intervention in both tedious and hazardous environments has boosted interest in enhancing robots’ adaptability to diverse scenarios, particularly focusing on their locomotion capabilities. In this context, there is a significant amount of research aiming to integrate both terrestrial and aerial locomotion into a single robot1. State-of-the-art platforms exhibiting multi-modal locomotion comprise various prototypes and design strategies, each tailored to the specific tasks they are intended to perform. Existing solutions have been recently developed: i) a tailsitter drone capable of crawling reconfiguring the morphing wings as legs, ii) a wheg-based glider capable of walking off the launch point, power dive, and walk again, iii) a bio-inspired robot, mimicking a flying squirrel, combining walking and gliding locomotion modes, iv) a quadrotor with a cylindrical cage connected to a bearing that enables single-axis rolling forward and steering via differential propeller forces, v) a wheeled quadrotor to address ground obstacle avoidance by flight, vi) a multi-modal morphing robot capable to fly, roll, crawl, crouch, balance, tumble, scout, and loco-manipulate by employing its components in different ways as wheels, thrusters, and legs, vii) a multi-modal bipedal robot employing ducted fans to step over a wide ditch, and viii) a bipedal robot demonstrating remarkable versatility, being it capable of walking, flying, slacklining, and skateboarding through the seamless integration of propellers and legs2,3,4,5,6,7,8,9.
Usually, these platforms are designed to be lightweight to optimize flight endurance according to the low thrust-to-weight ratio propulsion mechanism used for flying to the detriment of a larger mission payload. To overcome this limitation and potentially increase the task versatility of these platforms, a viable solution is to equip a humanoid robot with flight capabilities. This approach would combine the terrestrial bipedal locomotion and manipulation abilities of humanoid robots with the aerial mobility typical of flying robots10. Our goal is to enhance a humanoid robot11 with flight capabilities, by equipping it with compact, onboard jet engines (Fig. 1a, b) for high thrust-to-weight ratio, crucial for its 40 kg weight and potential high payload capacity12,13.
Front (a) and rear (b) pictures of the iRonCub-Mk1 robot physical prototype. c Jetpack assembled with jet engines and electronics; d jetpack connections: (1) steel spine assembled on the robot, (2) spacers on both sides of the robot as additional jetpack connections; e forearm assembled with the jet engine; f exploded view of the forearm assembly: (3 and 4) reinforcements for the elbow joint of the robot, (5) titanium forearm, (6) jetnet, (7 and 8) bracket support for the jet engine, (9) JetCat P100-RX jet engine.
The second area of literature revolves around the flight control of aerial systems, covering different approaches: some not considering aerodynamic modeling and others investigating simpler or data-driven aerodynamic models. Many of the aforementioned multi-modal robots fall under the category of Vertical Take Off and Landing (VTOL) systems6,8,9. When analyzing such systems, it is common to disregard aerodynamic forces affecting the robot. This omission is justified by the typically low operational speeds of these robots, particularly when operating in indoor spaces where they are shielded from significant external wind forces14,15. Nevertheless, as operational velocities increase or when environmental winds generate substantial aerodynamic forces, it becomes necessary to consider these effects in control design. One approach to account for aerodynamic forces involves treating them as external disturbances. This can be achieved through the design of a momentum-based observer or similar disturbance estimation strategies16,17, followed by compensation of the estimated aerodynamic forces using adaptive control strategies18,19. However, a drawback of these methodologies is the lack of an explicit model that could be utilized, for instance, to leverage aerodynamic forces for executing aggressive maneuvers.
The complexity of the model describing aerodynamic forces depends on factors such as the robot’s shape, propulsion mechanism, and operational conditions. For small VTOL systems like quadrotors, modeling the aerodynamic forces exerted on the propellers alone is often sufficient. Blade Element Momentum (BEM) theory is commonly employed to characterize the aerodynamics of the propeller under normal operating conditions20. To mitigate the limitations of the BEM model during aggressive maneuvers, machine learning algorithms can be employed21.
For fixed-wing aerial vehicles, incorporating a model of the aerodynamic forces generated by the lifting surfaces can improve trajectory control and agile maneuvering22,23. However, these models for such aerodynamic bodies are often simplified, typically overlooking aerodynamic interference between different robot links. In this context, modeling the aerodynamic effects on a flying humanoid robot presents challenges due to its non-aerodynamic shape and inherent complexity due to the high number of links. Additionally, non-negligible aerodynamic interference occurs between the robot’s links, which act as bluff bodies, resulting in a large separated flow region.
The aforementioned considerations lead to the last issue examined in the literature, which involves CFD simulations and wind tunnel tests of the flow around bluff bodies aiming to evaluate the aerodynamic forces acting on them.
The bluff bodies aerodynamics studies mainly focus on spherical and cylindrical objects24,25,26,27,28. However, as the complexity of body shapes increases, there is a need for designing dedicated models tailored to the specific object shape. This is due to the unsteady and multiscale characteristics of the separated turbulent flow surrounding the robot, which is represented by the non-linear Navier-Stokes partial differential equations29. Such models may be developed based on data obtained from wind tunnel experiments and CFD simulations.
CFD solvers designed to model turbulent external flows typically utilize the Finite Volume Method30. An important consideration in the computational analysis of realistic turbulent flows is the choice of the suitable modeling approach to solve the Navier-Stokes equations, balancing computational efficiency with accuracy. While highly accurate, simulations employing turbulence models such as Large Eddy Simulations (LES) tend to incur significant computational costs, especially for complex geometries31. Therefore, for engineering applications, turbulence models based on the Reynolds Averaged Navier-Stokes (RANS) equations are commonly preferred. Examples include the Realizable k − ε and Shear-Stress Transport (SST) k − ω models32,33,34.
Due to the assumptions invoked in the RANS closures, the corresponding simulations must subsequently undergo empirical validation through wind tunnel experiments. This type of validation process has already been undertaken for different models, including comparisons between results obtained from wind tunnel experiments and CFD simulations on cyclists, which share similarities with humanoid robots. These comparisons have demonstrated that RANS models can represent aerodynamic forces with a limited margin of error when compared to LES35,36,37,38.
Here, we aim to provide flight control capabilities to flying humanoid robots in the presence of aerodynamic disturbances. Additionally, the contribution at the modeling and control level can be generalized and applied to any shape-shifting drone under aerodynamic disturbances.
Initially, we introduce the mechanical design of iRonCub-Mk1, a pioneering jet-powered humanoid robot developed at the Istituto Italiano di Tecnologia (IIT), emphasizing the aspects of hardware optimization essential for the integration of jet engines into its design. Additionally, we outline the hardware modifications required to allow wind tunnel experiments on humanoid robots. Specifically, our focus extends to enabling precise measurements of the overall aerodynamic forces and moments exerted on the robot, and providing the capability to capture real-time averaged distributed pressure data.
Subsequently, we propose a comprehensive approach for modeling and control of the aerodynamic forces influencing a flying humanoid robot. Our methodology starts from wind tunnel experiments performed on the iRonCub robot at the wind tunnel of Politecnico di Milano (GVPM) to measure the aerodynamic forces. Then, we validate the CFD simulation results with the data acquired during experiments at GVPM and collect an extended aerodynamic dataset via a framework for automated CFD simulations. Furthermore, this dataset is leveraged to develop models to establish the relationship between distributed aerodynamic forces and the robot’s attitude and joint configurations: a Deep Neural Network, and a linear regression model. Finally, the integration of these models into a dynamics simulator facilitates the design of aerodynamic-aware controllers. The efficacy of our methodology is verified through validation with iRonCub-Mk1 via flight simulations and balancing experiments conducted on the physical prototype. Although the proposed methodology does not introduce new methods for computing the aerodynamics simulations and for performing the wind tunnel experiments, its novelty lies in the complete approach that leverages CFD simulations and wind tunnel experiments for designing a whole-body aerodynamic controller for a flying humanoid robot.
Results
This section presents the outcomes of our proposed methodology for evaluating, validating, and designing controls for aerodynamic forces on the flying humanoid robot iRonCub-Mk1, after introducing the mechanical design of the robot itself.
iRonCub-Mk1 mechanical design
iRonCub-Mk1, an iteration of iCub v2.711, utilizes jet propulsion with four jet engines. Positioned on the robot’s back, two engines generate lift to balance its weight, while the remaining two, situated on the forearms, manage attitude control. This setup allows the robot to regulate its attitude through thrust adjustment and joint movement, altering both thrust direction and force application points.
The connection of the back jet engines is achieved through a jetpack, which serves as an interface rigidly linking the two engines to the back of the robot’s torso. These engines are configured to exert vertical thrust when the robot stands upright. The jetpack is connected to iCub v2.7 using two existing connection points near the shoulder, and a custom-designed stainless steel spine, as depicted in Fig. 1d. Mounting the jetpack did not necessitate the removal of any iCub v2.7 components, but required the permanent installation of the spine. The jet engines are secured with a friction-based mechanism regulated by screws. Nord-Lock washers are employed to prevent screw loosening due to jet engine vibrations. Furthermore, the jetpack serves as a storage unit for all necessary jet engine components, including electronics and pumps.
The front jet engines are linked to the robot forearms through a custom-designed component, replacing the standard iCub forearms. This iRonCub forearm is engineered with a connection strategy mirroring that of iCub, facilitating the conversion process from iCub to iRonCub. The forearm is rigidly connected to the elbow via a threaded connection. As additional safety measure in the event of threaded connection failure, two supplementary components have been incorporated to secure the forearm to the elbow.
The jetpack and the forearms are designed to hold P100-RX JetCat jet engines for the forearms and P220-RXi JetCat jet engines for the jetpack. The robot mass with engines assembled is 43.3 kg, 10.3 kg more than iCub v2.7, which distributes among jetpack, forearms, and engines. Figure 1a, b represents the final result of iRonCub Computer-aided Design (CAD).
Wind tunnel experiments
Wind tunnel experiments were conducted to understand the global properties of the fluid flow surrounding the iRonCub robot. A total of 400 measurements were taken across 54 tests, examining 4 symmetric and 15 non-symmetric configurations of robot joints. These tests encompassed various airspeed values and attitude angles. The outcome of each test consists of a set of measurements, including global aerodynamic force and torque, and pressure distribution data.
We first investigate the effects resulting from changes in airspeed and geometry. Specifically, we conducted 4 tests with the robot in hovering configuration. In each test, we varied the robot’s side-slip angle and adjusted the airspeed, affecting the Reynolds number (Re) accordingly (for more details on Reynolds number, see Supplementary Note 1). The results depicted in Fig. 2d indicate a measurable local effect of Re only for high positive side-slip angles, corresponding to when the support bar is directly exposed to the wind rather than being in the wake of the robot. Additionally, an asymmetry is observed between the positive and negative side-slip angle ranges in the test with airspeed 12 m/s. This discrepancy could be attributed to a calibration error in the scale, which experiences greater loading than under standard conditions due to the robot’s weight. Throughout the remaining range, the variation in force areas (see Supplementary Note 2) is below 5%.
a Layout of the large wind tunnel of Politecnico di Milano (GVPM), b detail of the low-turbulence test section, c iRonCub robot mounted on the moving pole inside the low-turbulence test chamber. Experiment data on drag force area (CDA, reference area A = 1 m2) acting on the robot: d hovering configuration for different airspeeds, e airspeed ∣va∣ = 17 m/s for different flight configurations.
The experimental activities also included tests with different joint configurations (whose details are reported in Supplementary Figs. 8-9). Results in Fig. 2e show that the global force areas change by almost 20% between different robot configurations, highlighting the fact that effects produced by different joint angles are more relevant, in our use case, than differences produced by different freestream Re.
Additionally, the dependency of the flow behavior from the local Reynolds number cannot be decoupled from the joint configurations effects, and it has not been possible to have local measurements to correlate local laminar/turbulent separations with the local Reynolds number variation.
These considerations led us to assume Re-independence for such high turbulence largely separated flow on the robot, at least in the range of the studied flow conditions. Therefore, we initially decided not to include wind speed as a variable of the aerodynamic CFD dataset collection, even if this assumption could be removed in the future by including a larger number of CFD simulations at different airspeeds.
A more complete overview of the results of the wind tunnel experimental campaign is reported in Supplementary Figs. 10-13, where also the experiments on the robot different flight configurations performed by changing the only pitch angle are reported.
From the analysis of the aerodynamic efficiency reported in Supplementary Fig. 14 and obtained for different flight symmetric configurations, the robot exhibits a low maximum efficiency. This is an expected result since the robot has not yet been optimized for aerodynamics, but future developments regarding this aspect are detailed in the Discussion section.
Aerodynamics CFD simulations
We conduct Computational Fluid Dynamics (CFD) simulations using simplified geometry models of both the robot and the wind tunnel support (see Supplementary Fig. 3). We encounter several challenges in our simulations. Firstly, the robot’s geometry remains complex, and we face a high reference Reynolds number (see Supplementary Note 1). Consequently, we anticipate highly turbulent flow over the robot’s surface and wake. Additionally, generating accurate meshes for such complex geometries poses another challenge. To address these issues, we have opted to utilize the RANS equations written for incompressible fluid along with two turbulence models: Realizable k − ε and SST k − ω, following insights from the literature. We conduct two separate sets of simulations. The first set utilizes both the robot model and the wind tunnel support geometry to ensure consistency with wind tunnel tests. The second set focuses solely on the robot model to generate results for the flying robot in a free airstream, which is intended for aerodynamic modeling purposes. Results on this second set of simulations will be discussed in the Performances of the Aerodynamic Models Section.
In Fig. 3c to f, we present the outcomes of a simulation from this first set. The results indicate a large separated flow region behind the robot, a characteristic feature of bluff bodies. Specifically, the velocity magnitude contour Fig. 3e highlights a significant low-velocity region situated at the robot’s rear. This observation is further supported by the corresponding low-pressure region depicted in the pressure variation contour Fig. 3d. Of particular interest is Fig. 3f, depicting a contour of the turbulent/laminar viscosity ratio (νt/ν), which is an indicator of the importance of turbulence activity in the RANS equations. Values exceeding 100 throughout the wake of the robot and on its surface indicate fully turbulent conditions, corroborating the choice of the selected turbulence models. Examining Fig. 3c and d we observe how the significant separation leads to an imbalance in the pressure distributions between the front and rear surfaces of the robot, resulting in a higher aerodynamic drag force for bluff bodies compared to streamlined bodies. In this simulation the pressure drag accounts for approximately 95% of the total aerodynamic drag, with the remaining portion generated by the wall shear stress.
Validation of RANS simulations on iRonCub in wind tunnel in flight30 configuration: a CDA, b CLA. RANS simulations with SST k − ω turbulence model results for iRonCub in flight30 configuration at α = 45°: c pressure on robot surface, d, e, f longitudinal plane contours of pressure variation, velocity magnitude, and turbulent/laminar viscosity ratio. Validation of LBM simulation of iRonCub in wind tunnel setup in hovering configuration at β = 0°: g Q-criterion iso-surface, h comparison of CDA from LBM simulation (LBM) with reference RANS simulations performed with SST k − ω turbulence model (RANS SST k − ω) and wind tunnel experiments value averaged over a 10 s time window (Experiment (average)).
The data gathered from wind tunnel experiments has been utilized to evaluate the accuracy and reliability of the CFD simulations. Figure 3a and b show a comparison between the collected wind tunnel data and the corresponding CFD simulations with the flight30 robot configuration at an airspeed of ∣va∣ = 17 m/s. It was observed that the average error in the magnitude of aerodynamic force area remains below 10%, with higher fidelity when using SST k − ω model for CFD simulations, especially concerning the drag force. Consequently, we decided to employ this model for the second set of simulations carried on to augment our aerodynamics dataset.
As a further assessment, we chose to compare our adopted CFD simulation approach (Finite Volume Method) with a turbulent resolving simulation method, the Lattice-Boltzmann Method (LBM). Therefore, we conducted an LBM simulation of iRonCub within the wind tunnel setup using FluidX3D software39. This simulation utilized 2 × NVIDIA A100 PCIe 80GB GPUs (totaling 160GB of VRAM) and ran for 2 days, yielding the results detailed in Fig. 3g and h. The LBM simulation demonstrated high accuracy in computing the total drag force on the robot (error ≤ 1%) and offered the capability to modify the geometry in real-time. However, these simulations have two main limitations that make them unusable for collecting a large aerodynamic dataset: the first is the high computational expense associated with a single LBM simulation, and the second is the equally-spaced grid, which implies that it’s not possible to reduce the number of mesh elements without a rapid degradation of the quality of the robot geometry.
Performances of the aerodynamic models
The data from the second set of CFD simulations is used for creating aerodynamic models integrated into both the simulator and the controller, allowing real-time estimation of aerodynamic forces. First, we employed Deep Neural Network to construct the simulator model. Then, we developed a simpler model using linear regression, to be integrated into the robot controller.
Deep neural network for aerodynamic forces prediction
We developed a Deep Neural Network (DNN) to correlate inputs from the dataset, comprising the robot’s joint positions and the wind-robot relative velocity direction, with the three aerodynamic force components acting on each robot link’s Center of Mass (CoM).
After training, the DNN show a maximum RME of 3 × 10−6 when predicting aerodynamic forces on the validation set. In Fig. 4a to c, we present a comparison between dataset values and predictions, along with the absolute error, for both the validation and training set data concerning the drag area of the robot’s head. The validation error remains limited below 20% of the maximum value, indicating not only a very low average error, but also a limited local error on the single samples.
Deep Neural Network (DNN): a datasets, b predictions, and c errors for the drag force area (CDA) on the head link. Axisymmetric Model: datasets and predictions for the drag (d) and lift (e) force areas on the lower leg link. The DNN plots show the results as functions of the local angle of attack for better visualization.
Axisymmetric links model for aerodynamic forces prediction
To address the DNN model’s reliance on extensive data and the difficulty of interpreting the model itself, which basically acts as a black box, we also derived a simpler model. This model serves a dual purpose: to enhance interpretability, and to facilitate integration into the controller for balancing and flight experiments, enabling performance comparison with the DNN. The model is constructed from the same CFD dataset of the DNN, but we introduced the following assumptions: i) the aerodynamic behavior of the robot links is steady and axisymmetric, and ii) the aerodynamic interference effects resulting from close links or separated flow are negligible. This Axisymmetric Model is based on simple mathematical expressions retaining physical properties such as continuity and zero conditions. To fit the model coefficients, we employed linear regression with Lasso regularization to resolve redundancy. Results depicted in Fig. 4d and e on the lower leg link demonstrate that this model follows, approximately, the average value of the actual data, resulting in a one order of magnitude higher RME than the DNN. Despite the lower prediction accuracy, the model maintains a physically coherent representation of aerodynamic forces.
Validation on iRonCub robot
The procedure for modeling and estimating aerodynamic forces is validated through balancing experiments on the real iRonCub and flight simulations, both performed using the aerodynamic-aware momentum-based controller presented in the Methods section. The balancing experiments validate the methodology’s reliability and robustness when implemented on an actual humanoid robot. Videos of the flight simulations and the balancing experiments are reported in Supplementary Video 1.
Flight simulations
Flight simulations confirm the necessity of compensating for aerodynamic effects when there is a non-zero relative wind velocity. Consequently, we designed the flight envelope presented in Fig. 5b. Throughout the entire flight simulation, the robot is exposed to an external non-zero wind velocity (Fig. 5c).
a Snapshot from the iDynTree visualizer60 of a flight simulation in the Whole-body Aerodynamic Simulator, implemented in Simulink, based on61: the robot is balancing through thrust vectoring (white cones) while hovering when subject to the distributed aerodynamic forces acting on its links; the red vectors representing the distributed aerodynamic forces have been upscaled to improve visibility. b Desired robot center of mass (CoM) position \({}^{{{\mathcal{I}}}}{o}_{{{\mathcal{G}}}}^{des}\). c Wind velocity profile \({}^{{{\mathcal{I}}}}{v}_{w}\). Absolute error sum of joint positions Δs: d TEST4, g robustness test. Total aerodynamic force fa acting on the robot: e control and simulator using DNN model, h control using Axisymmetric Model and simulator using DNN model. Jet engine thrusts commanded by the robot: f TEST4, i robustness test.
We conducted simulations for distinct scenarios utilizing the same flight envelope: TEST1 and TEST2 utilized the Axisymmetric Model to simulate aerodynamic forces, while TEST3 and TEST4 employed the DNN model. The tests employed different flight controllers: the Baseline Controller (TEST1 and TEST3), which neglects aerodynamic effects, and the Aerodynamic-aware Controller (TEST2 and TEST4), which uses feedback from the same aerodynamic forces model used by the corresponding simulator.
Results in Supplementary Fig. 7a to c and Supplementary Fig. 7g to i show that the Baseline Controller fails to complete the flight envelope, leading to the robot falling due to imbalances. Instead, tests with the Aerodynamic-aware Controller (Fig. 5b to f and Supplementary Fig. 7d to f) allow the robot to achieve balance throughout all flight maneuvers without failures. The absolute joint position errors are computed as the absolute value of the difference between the measured and the desired joint values, with the latter defined as the starting robot hovering configuration, which has been chosen to enforce the distance between jets and the robot surfaces and to stabilize the QP solution. The absolute errors are then summed for each sub-assembly for representation reasons, showing that while errors continue to increase until failure in TEST1 and TEST3, they remain bounded during successful trials (Fig. 5d). The observed increase in error in the latter case is due to postural adjustments required to counteract aerodynamic effects, yet decreasing during static phases.
Figure 5e and Supplementary Fig. 7e depict the total aerodynamic force components for both successful tests. In Supplementary Fig. 7e, the forces appear smoother and largely aligned with the direction of relative wind velocity. This because the Axisymmetric Model does not consider the nonlinearities resulting from mutual aerodynamic interactions among robot links. Instead, it is formulated as a function of the local angle of attack αlink only. On the other hand, in Fig. 5e, the total aerodynamic force from DNN model exhibits a more nonlinear behavior. In Supplementary Fig. 7j, we reported the difference between the centroidal aerodynamic force components reported in Fig. 5h. These results show how the difference is higher in the transition maneuvers, leading to oscillations in the joint positions in these flight phases.
The asymmetry of thrust forces from the jet engines in Fig. 5f is attributed to the aerodynamic forces, which generate a non-zero moment acting at the robot CoM, balanced by the thrust to maintain stability. Despite the different aerodynamic models used in simulation, the thrust profiles are comparable.
Robustness analysis
We tested the robustness of the proposed flight control strategy when the estimated aerodynamic forces used for control feedback did not exactly match the simulated aerodynamic forces. Therefore, we performed a simulation where the system dynamics simulator uses the more realistic DNN model, while the controller aerodynamic feedback is provided by the simpler Axisymmetric Model. Results reported in Fig. 5g to h show that the robot is able to complete the designed flight envelope.
The plot of the robot absolute joint position error Δs (Fig. 5g) presents oscillations during the transition maneuvers, however, the CoM tracking error and the joint position error remain bounded.
In Fig. 5i we can observe that the thrusts actuated by the robot are asymmetric because of the resulting distributed aerodynamic forces acting on the robot links, coherently with the outcome of the previous simulations. In Fig. 5h we compare the global aerodynamic forces acting at the robot CoM computed by the simulator (DNN model) and the control (Axisymmetric model). Although they have similar global characteristics (e.g., they are consistent in the global force component signs), the difference between the two estimates is significant, especially for t ≥ 35 s. An additional plot of the difference between the two models has been reported in Supplementary Fig. 7j.
This robustness analysis assesses the performances of the aerodynamic-aware controller in case of modeling errors. We believe this is an important preliminary step to understand the applicability of the proposed flight controller in real flight experiments. Furthermore, in Supplementary Fig. 17 and Supplementary Note 7, a more detailed analysis has been performed via ablation tests on the aerodynamic feedback of the control architecture, showing the minimum required aerodynamic model information for a controlled flight envelope.
Ground experiments
Currently, we lack the capability to systematically test the aerodynamic-aware controller through real flight experiments. However, we conducted tests on the real robot, focusing on balancing trials with jet engines turned off, during which we simulated an artificial fictitious wind profile directly injected into the controller as feedback, but not physically acting on the robot. These tests aim to verify the robustness and reliability of the aerodynamic-aware controller on the real robot. Specifically, we evaluate whether the robot can maintain balance, and understand if the addition of aerodynamics enhances control without disrupting the existing implementation. We conducted two different experiments, both starting from the same initial position of the robot. Each experiment involved applying artificial relative wind profiles to the robot, with different magnitudes and directions of relative wind velocity. In the first experiment, we imposed a frontal wind velocity profile, as shown in Fig. 6a. This wind velocity pattern resulted in a consistent estimation of the total aerodynamic force using the Axisymmetric Model, depicted in Fig. 6b. This estimation was derived by summing all forces acting on each individual link. In the second experiment, we replicated the procedure using a lateral wind gust, as shown in Fig. 6g. This wind profile led to the total aerodynamic force profile presented in Fig. 6h, employing the same aerodynamic model as in the first experiment. In both experiments, the observed outcome is that the robot adjusts its motion in the opposite direction of the aerodynamic force to counterbalance it and minimize the estimated linear momentum derivative. This adjustment is shown in Fig. 6c and i, which depicts how the CoM position adapts to offset the aerodynamic force. In the first experiment involving frontal wind, the modification in CoM position primarily occurs through variations in ankle pitch joints, as can be seen in Fig. 6d. These joints are actuated (Fig. 6f) in accordance with the desired joint torques optimized by the controller (Fig. 6e). Similarly, in the second experiment, adjustments are observed in the leg hip and ankle roll joints (Fig. 6j). Once again, these joints are actuated (Fig. 6l) in response to the desired joint torques optimized by the controller (Fig. 6k).
Frontal wind ground experiment: a wind velocity profile, b total aerodynamic force on the robot, c robot CoM error, d measured left leg joint positions, e, f desired and measured left leg joint torques. Lateral wind ground experiment: g wind velocity profile, h total aerodynamic force on the robot, i robot CoM error, j measured left leg joint positions, k, l desired and measured left leg joint torques.
Discussion
We proposed a comprehensive approach to address the challenge of modeling and controlling aerodynamic forces during the flight of a humanoid robot. This methodology encompasses simulating and validating aerodynamic forces, followed by learning aerodynamic models for integration into the control architecture. Our results show the effectiveness of the newly proposed control strategy in enhancing robot performance within a specified flight envelope.
The current limitation is the inability to test the proposed algorithm in real flight scenarios. Currently, the required sensors for accurately estimating wind direction are unavailable on our robot. Additionally, setting up repeatable and reliable experiments in open-air environments poses challenges. On the other hand, given the high-temperature flow exiting from the jet turbines and the toxic gases produced by the combustion of the Jet A1 fuel, performing indoor experiments with such a robotic platform would require dedicated facilities that we currently do not have access to. As a consequence, we are currently exploring the possibility of equipping ourselves with appropriate indoor facilities for the experiments. The control of the robot also presents difficulties. iCub’s arm actuation is cable-driven, introducing undesired elasticity and delays, resulting in slow and imprecise joint motion. However, despite these limitations, we are actively conducting experiments with the real robot to enhance both the setup and the hardware, aiming to overcome these obstacles.
Regarding the methodology presented, we assumed the flow to be incompressible despite the nearly unitary Mach number flow exiting the jet engine nozzles. We considered this assumption acceptable for two main reasons: i) conducting experiments in a wind tunnel with active jet engines was not feasible, hence the data were effectively collected under incompressible flow conditions; ii) during flight, it is necessary to keep the jets as far away from the robot surfaces as possible to prevent damage. This precaution allows us to assume that the incompressibility of the flow near the robot’s surface is an acceptable assumption since direct interaction effects between the jet and the flow generated around the links are minimized. Furthermore, in agreement with the analysis detailed in Supplementary Note 6, we are investigating design modifications to keep the jets far from the robot, as presented in ref. 40.
To justify the steady flow assumption, we refer to the cited literature works indicating that employing steady turbulence models to solve highly turbulent flows around bluff bodies effectively captures the correct average aerodynamic forces acting on the bodies, even if it neglects physical fluctuations that occur at small temporal and spatial scales resulting from turbulence effects35,36,37,38. The steady CFD simulations utilized for collecting the aerodynamic dataset introduce another significant assumption, which neglects the unsteady effects produced by the robot’s movements within the designated flight envelope, essentially implying that joint velocities and robot accelerations remain sufficiently low, allowing variations in wind velocity to be considered quasi-steady. This approximation extends to the identified aerodynamic models, as the Deep Neural Network (DNN) is trained with only the robot’s joint angles and relative wind velocity.
Regarding control design, the proposed strategy is a direct extension of the existing flight controller, employing full compensation of aerodynamic forces by treating them as disturbances. While this approach is effective, alternative control strategies could be implemented to exploit aerodynamic forces for enhancing flight performance.
In our current experiments, we are focusing on developing a new robot design featuring more precise arm actuation. Additionally, we are exploring methods to integrate onboard sensors for accurately estimating wind intensity and velocity. These enhancements aim to improve the overall performance and reliability of the robot.
To address the limitations posed by the use of steady Reynolds-Averaged Navier-Stokes (RANS) equations with turbulence modeling, we plan to further explore turbulence resolving simulation techniques, such as Large Eddy Simulations (LES), offering a more detailed representation of turbulent flow around the robot, potentially leading to more accurate flow characteristics predictions. However, LES comes with a high computational cost, especially for high-Re flows. Furthermore, we are exploring the use of GPU-accelerated Detached Eddy Simulations (DES) that also include compressibility effects to address the jet modeling challenges.
Continuing with the advancements in aerodynamic models, we could use DNNs not only to map quasi-steady quantities but also the aerodynamic effects due to the robot motion. This approach could enhance the accuracy and versatility of aerodynamic force estimation by incorporating additional dynamic factors into the modeling process. Furthermore, the current aerodynamic force estimation lacks direct measurement of flow quantities and relies solely on relative wind velocity direction. Future research directions could explore integrating distributed pressure sensors onto the robot covers. These sensors could feed data into a Physics-Informed Neural Network architecture, that uses both simulated and real-time pressure data to predict the pressure distribution on the robot and consequently estimate aerodynamic forces at future states of the robot, improving the reliability of aerodynamic force predictions.
Advanced flight control strategies could exploit the aerodynamic forces to stabilize the robot during high speed flight. When combined with a dedicated trajectory planner, this approach could facilitate the execution of aggressive flight maneuvers. Moreover, the results obtained from the methodology proposed in this paper will be useful to understand future designs, i.e. the new iRonCub design can prioritize a more aerodynamic shape, fundamental for effectively exploiting aerodynamic forces for control purposes. This aerodynamic shaping can be achieved through two main strategies: i) designing wings to exploit aerodynamic lift; ii) developing morphing covers that adapt to the external aerodynamic flow, thereby reducing aerodynamic drag41. By incorporating these features into the design of the next version of iRonCub, we can enhance its aerodynamic performance and enable more sophisticated flight control capabilities, improving efficiency and fuel consumption, and extending the flight endurance of the robot, which would be a crucial design requirement for effective real-world deployment in search and rescue missions.
Methods
In this section, we present the methods employed to produce the results achieved in this paper, following the same outline of the Results section:
-
iRonCub-Mk1 mechanical design: we show the design methods and strategies adopted to build the hardware components of the iRonCub-Mk1 prototype.
-
PoliMi wind tunnel facility: we introduce the main characteristics of GVPM wind tunnel, then we describe the adaptations of wind tunnel setup for experiments on a real humanoid robot, including the design of the hardware interfaces to support iRonCub-Mk1 robot and measure the aerodynamic forces and pressures acting on it.
-
Computational fluid dynamics models: we detail the equations and models employed for the computational aerodynamic study of flying humanoid robots in wind tunnel setup and free airstream flow.
-
Aerodynamic models for learning and online control: we report our mesh sensitivity analysis for large aerodynamic forces dataset generation, subsequently, we present the Linear Regression and Deep Neural Network algorithms used for whole-body aerodynamic modeling based on CFD simulations.
-
Aerodynamic control design and simulation environment: we showcase the design of the whole-body momentum-based aerodynamic controller and detail the aerodynamic simulator implemented for the results’ validation.
iRonCub-Mk1 mechanical design
Actuators selection
The iRonCub robot’s design process started with the choice of the actuation system. Most flying robots adopt electric propellers because they offer a faster response and lower engineering complexity, but they need high power and, consequently, large battery capacity. For this reason, after a brief analysis, we decided to employ jet engines42. In particular, if we consider the following propulsion systems:
-
Dynamax CAT 8 FAN: an electric motor with a maximum thrust of ~ 15 kg at ~ 13 kW consumption (https://edfdynamax.com/%22cat-8%22-p%26p-35lbs-thrust);
-
JetCat P220-RXi: a model jet engine with a maximum thrust of ~ 22 kg at ~ 0.6 L/min consumption.
Assuming that energy and fuel consumption are linear versus the generated thrust, the engine weights are negligible42. We further assume that the energy density of the LiPo batteries is 210 Wh/kg43,44 and the density of jet fuel (i.e. Jet A1) is similar to the one of diesel 0.8 kg/L45. If we consider a 40 kg robot performing five minute flight we would need 26.31 kg of battery pack versus 4.61 kg of fuel. The results of this preliminary analysis motivated us to choose fuel-powered jet engines as actuators on both the jetpack and the arms of the robot for our use case.
Number and position of jet engines
After selecting the actuation strategy, we need to understand the number of engines and their placements. In particular, considering a 40 kg robot, we would need at least two JetCat P220-RXi to lift the robot. Due to space limitations, these engines are placed on the robot back, on the left and right of the robot’s battery backpack. Positioning the jet engines only on robot’s back, however, produces a moment around the robot CoM that impairs the control of the robot attitude. For attitude stabilization and control purposes, it was necessary to add other engines on the front part of the robot. We decided to integrate a P100-RX JetCat in each forearm. We choose the forearms so that the jet nozzles remain at an adequate distance from the ground during takeoff maneuvers, while also being able to perform thrust vectoring by moving the robot’s arms joints. Additionally, we made the jet interfaces design of the forearms modular to allow switching between the P100-RX turbines and the similar, but more powerful, P160-RXi-B turbines. See Supplementary Table 1 for the specifications of the selected jet engines.
Design of jet engines interfaces
The baseline robot from which we started our design is the humanoid robot iCub version 2.7. As a design principle, we decided to create interfaces that minimally modify the line of the robot. For the back engines, we have decided to create a jetpack (Fig. 1c) as it can be easily assembled and removed from the robot. Integration of the jetpack on the robot required to design a stainless steel spine, which has been assembled permanently on the robot back to enforce the mechanical structure of the robot in view of the external forces applied by the jet engines. Furthermore, this modification provided us with three easily accessible connection points, two at the top and one at the bottom attached to the spine as seen in Fig. 1d. The design of the steel spine shape was fundamental to equally distribute the jet engine reaction forces on the jetpack rather than directly on the screws that assemble the mechanism.
In this iRonCub version, we decided to directly substitute the robot hands and forearm with a new interface including jet engines. The choice of removing the robot arms was due to the impossibility of protecting them from the heat generated by the jet engines. Future work is ongoing to understand how to integrate back safely the hands of the robot. Since the objective of this prototype is to achieve stable flight, the need for hands was not crucial and removing them simplified the design of the jet interfaces. Also in this case, safety constraints required us to enforce the elbow joint with additional components that can withstand the thrust generated by the engine. The material of the link connecting the jet engine and the elbow is titanium, which has good heat insulation properties and structural strength comparable with that of steel. Jet engines are assembled with the help of custom-designed brackets. The forearm assembly can be seen in Fig. 1e and f.
FEM analysis
Both the jetpack and the forearm assemblies have been tested with Finite Element Method (FEM) analysis in Ansys Mechanical software to verify the structural integrity and the safety factor. The assemblies have been subjected to fixed boundary conditions at the connection points and boundary loads in the direction and magnitude of the jet reaction forces. The result of the analysis is shown in Supplementary Fig. 1. The maximum stresses developed in the jetpack and the forearm are respectively 57 MPa and 77 MPa. The stresses developed are always at least 5 times lower than the Ultimate Tension Strength of the material with least strength (Ergal in this context).
PoliMi Wind Tunnel Facility (GVPM)
The experimental activity was performed in the large wind tunnel of Politecnico di Milano (GVPM). The GVPM is a closed-circuit wind tunnel, arranged in a vertical layout with two test sections located on the opposite sides of the loop, as shown in Fig. 2a. The test section in the upper side of the loop is 13.84 m wide and 3,84 m high, widely used for wind tunnel campaigns requiring the reproduction of the atmospheric boundary layer and characterized by a maximum wind speed of 16 m/s. The tests with the iRonCub humanoid robot were performed in the 4 m × 3.84 m low-turbulence test section46 positioned in the lower side of the loop, as can be observed from the particular in Fig. 2b and characterized by a maximum wind speed of 55 m/s and a turbulence intensity lower than 0.1%.
The dimensions of the low-turbulence test section of GVPM permitted planning and performing a full-scale experiment with the real iRonCub-Mk1 robot. Specifically, it was possible to perform real-scale experiments with a low blockage effect of the robot on the wind tunnel flow (blockage ratio:BR≤3%) comparable to similar experiments35.
Moreover, it was possible to perform tests varying both the wind speed and attitude of the robot, thus reproducing possible real flight conditions for the robot. For this purpose, a metallic remotely driven supporting pylon and a turntable embedded in the test section floor were employed to automatically change the pitch and yaw angles of the robot.
The GVPM is also equipped with state-of-the-art instrumentation of the main experimental fluid dynamics techniques, from force and pressure measurements to optical systems. The flow and model settings as well as the instrumentation and data acquisition are managed through a Control Room outside the wind tunnel plenum containing the circuit using Labview software.
Experiment setup
Each test was performed under a constant airspeed and a specific robot joint configuration. The angles of attack and side-slip were manipulated by adjusting the motorized wind tunnel pole: the angle of attack α is the angle between the robot vertical axis and the horizontal plane, and the sideslip angle is the angle between the longitudinal symmetry planes of the robot and the wind tunnel. Tests were categorized into two types: i) hovering tests, where the angle of attack remained fixed (α = 90°) while the side-slip angle varied (β ∈ [ − 90°, 90°]), and ii) flight tests, where the side-slip angle was constant (β = 0°) while the angle of attack varied (α ∈ [25°, 65°]). The hovering tests refer to tests in which the robot is in the optimal hovering configuration but the wind tunnel airspeed is non-null to reproduce the conditions of a constant intensity wind gust. The chosen range for these angles was determined by the setup constraints, including the robot, its support, and the movable pole. Despite the pole’s ability to rotate fully on the yaw axis, the robot would be affected by the scale windshield wake for half of the total range. Additionally, the pole’s pitching movement was limited to 40°, thereby constraining the yaw and pitch angle range for testing.
Both force and pressure measurements were collected during the wind tunnel experimental campaign. A six-component strain gauge RUAG 192-6L installed on the head of the GVPM supporting pylon was used for aerodynamic force measurements. The calibration report delivered by the balance manufacturer declared a maximum error below 0.2% of the design loads for the load class corresponding to the load conditions measured in the present test campaign. The force and pressure measurements have been averaged over 10 s time intervals to extract their mean values. An aluminum short strut connected the metric surface of the balance to the robot. The balance was shielded by means of a nylon fairing manufactured by rapid prototyping technique. Both the aluminum struct and the nylon fairing have been custom-designed to allow this specific experimental activity on humanoid robots. The iRonCub robot set up in the GVPM wind tunnel is shown in Fig. 2c.
Pressures over the robot skin were acquired by means of four low-range 32-port scanners by Pressure System Inc. embedded inside the jet pack of the robot connected by piping to a total number of 124 pressure taps. The positions of the pressure taps over the robot skins have been selected to collect meaningful data for all the different tested wind directions (see Supplementary Fig. 2), the nylon covers designed to accommodate the pressure taps have also been manufactured by rapid prototyping technique.
Computational fluid dynamics models
We started by analyzing the typical airflow properties of iRonCub-Mk1 during a plausible mission envelope to understand the correct equations to be used in CFD simulations. In particular, the negligible Mach number (Ma) computed considering the designed flight speed and altitude of the robot led us to consider the flow over the robot surface as incompressible (see Supplementary Note 1). To further simplify the calculations, we decided to neglect unsteady turbulence effects and adopt the steady Reynolds-Averaged Navier-Stokes equations32 to address the turbulence solution problem using ensemble averages (see Supplementary Note 3).
After selecting the system of equations to be solved, we defined the numerical processes to be used for CFD simulations, more specifically geometry modeling and the fluid volume modeling processes. Our goal when selecting the modeling methods is to keep high results accuracy within the constraints represented by the computational cost and calculation feasibility.
In the geometry modeling process, we simplified non-regular surfaces and small gaps found in the CAD geometries of both the robot and the wind tunnel support. This operation is necessary to prevent Ansys Fluent Meshing workflow from failing due to sharp edges, small gaps, and cavities between different components. We employed two consecutive simplification procedures using PTC Creo and Ansys SpaceClaim CAD software. The simplified models of both the robot and the wind tunnel support preserved their main geometric features after the simplification processes (see Supplementary Fig. 3).
Concerning the fluid volume modeling, we generated meshes of the discretized fluid volume to enable the usage of the Finite Volume Method to solve the flow field around the robot in the wind tunnel30. We defined a square prism control volume of 4 m × 4 m × 6 m surrounding the robot model assembled on the wind tunnel support (see Supplementary Fig. 3). Subsequently, we generated a good quality mesh for all the simulated configurations using the Watertight workflow of Ansys Fluent Meshing by setting the mesh sizing parameters reported for 953C mesh in Supplementary Table 3. We also added a refinement hex-core control volume surrounding the robot and a boundary layer refinement (developing in the normal direction from the robot surface) made of 5 cell layers with an average normal first cell height of 1.74 × 10−4 m and an average tangential cell length of 2.24 × 10−3 m to limit the number of boundary elements solution solved using (approximated) wall functions. The final mesh on the robot and support models is displayed in Supplementary Fig. 4.
Once concluded the meshes generation, we solved the RANS equations using Ansys Fluent solver with the following boundary conditions: no-slip wall, for having zero velocity values on the surfaces of the robot and the support; symmetry plane condition for the wind tunnel lateral walls (to avoid solving the boundary layer also where not needed, i.e. far from the robot surfaces); constant velocity-inlet and pressure-outlet conditions, specifying the flow velocity at the entrance of the fluid control domain and the pressure at its exit. Given the low turbulence inlet levels of the wind tunnel chamber, we set the Turbulence kinetic energy to k = 2.89 × 10−6 m2/s2, the Turbulence dissipation rateε = 0.0236 × 10−6 m2/s3 and the Specific turbulence dissipation rateω = 8.17 s−1 at the domain external boundaries following47. Despite the low turbulence levels in the wind tunnel, we expect the flow to quickly develop turbulence given the complex geometry of the robot and the relatively high reference Reynolds number, therefore the turbulent quantities of the flow are expected to have a low dependence on boundary turbulence values48. This set of simulations comprises 104 runs, all conducted under identical boundary flow conditions defined at the geometry boundaries. However, these simulations varied in terms of geometry configurations and turbulence models employed. Specifically, we tested six different robot joint configurations: four symmetric (hovering, flight30, flight50, flight60) and two non-symmetric (config05, config09). For each configuration, we adjusted the attitude angles by modifying the support geometry, mirroring the conditions of the wind tunnel experiments. Subsequently, all tests were repeated to assess the performance of the aforementioned turbulence models. The average number of mesh elements for this simulation set was 9.53 × 106. Each test necessitated a unique mesh due to the variations in tested geometries. We built the meshes and computed the simulation results on an Intel(R) Xeon(R) Silver 4214 @ 2.20GHz CPU (48 threads).
For the free airstream simulations performed to acquire the aerodynamic forces dataset, we used only the robot model (without the wind tunnel support pilon) within a spherical fluid domain, assigning velocity-inlet conditions on the hemispherical surface facing the wind speed and pressure-outlet on the other one. This simulation set comprises approximately 8500 simulations, utilizing solely the SST k − ω turbulence model, which proved to be more accurate when compared to wind tunnel data. These simulations were conducted using a coarser mesh consisting of approximately 0.33 × 106 elements (see Supplementary Table 3). Within this set, there were 30 different robot joint configurations, with three being symmetric (hovering, flight30, and flight60), and the remaining 27 being non-symmetric. Being the free air-stream fluid volume spherical, for each robot joint configuration, only one mesh was generated, and variations in robot attitude angles (comprising 19 angles of attack and 18 yaw angles, spanning all possible relative wind velocity directions) were simulated by adjusting the boundary conditions applied on the sphere surface. We built the meshes and computed the simulation results on an Nvidia RTX A4500 GPU (16GB VRAM).
Aerodynamic models for learning and online control
The process we followed for the generation of the aerodynamic forces models could be summarized in three main parts: i) generation of a model for CFD with simplified meshes to run fast simulations and build a large dataset of aerodynamic forces acting on each robot link, ii) design of a Deep Neural Network algorithm to map the robot state (attitude and joint positions) into the aerodynamic forces of each robot link, leveraging on the aerodynamic dataset, iii) design of an axisymmetric model of links’ aerodynamic forces, for comparison with DNN model and robustness analysis.
Mesh sensitivity analysis for dataset generation
The significant computational cost required for precise CFD simulations poses a challenge in generating extensive datasets. Therefore, we opted to reduce the computational burden per simulation by reducing the number of mesh elements. Despite this approach could potentially compromise the accuracy in predicting flow boundary layer properties, we investigated the impact of mesh element count on overall aerodynamic force components. By comparing these results with experimental data, we validated the effectiveness of this methodology.
The mesh reduction study has been performed taking into account the relevant surface and volume mesh sizing parameters. We started from the highly refined 953C mesh, made of 9.53 × 106 elements, and gradually increased the sizing parameters to generate coarser meshes at each step up to the least refined 011C mesh, made of 0.11 × 106 elements, as reported also in Supplementary Table 3.
In Supplementary Fig. 5 there are the results of the mesh sensitivity analysis for simulations conducted on iRonCub in the flight30 joint configuration, alongside with data obtained from wind tunnel experiments. These results demonstrate that the aerodynamic force from simulations with reduced mesh does not differ more than 15% of the experimental data. Furthermore, the error remains constrained within the same bounds as the most accurate simulations.
In Supplementary Fig. 5 we compare velocity contours on the longitudinal plane between the most and less accurate CFD simulations to examine whether global aerodynamic similarity correlates with similar local behavior. The results show a considerable degradation in resolution in the wake of the robot for the less accurate simulation, while both solutions exhibit comparable values near the robot’s surface. Hence, we opted for a less refined mesh to conduct the automated simulations. The final mesh contains 0.33 × 106 elements (033C mesh, see Supplementary Table 3), representing the minimum number of elements feasible for generating meshes for various configurations, reducing the total number of cells of about 97% with respect to the 953C mesh.
The process for generating automatic CFD simulations can be divided into a modeling and a simulation phase. The modeling phase requires three consecutive actions implemented with the software Ansys Workbench: i) the joint configuration is modified in Ansys SpaceClaim according to randomly generated joint configurations, covering the robot joints state space during possible flight envelopes, subsequently, the spherical fluid volume enclosing the robot is generated; ii) the 033C poly-hexcore mesh is generated through Ansys Fluent Meshing software; iii) The simulation is set up in Ansys Fluent using the same conditions validated with the wind tunnel experiments data.
The simulation phase is performed using Ansys pyFluent open-source API, which allows to perform simulations by accessing Fluent software via Python code, enabling automatic rotation of the mesh for each simulation to change the robot pitch and yaw angles (coherently updating the boundary conditions), heading to the dataset generation by spanning all the possible robot attitude angles for each identified robot joint configuration.
The final dataset is generated for 24 joint configurations (3 symmetric and 21 non-symmetric), 19 pitch angles (from 0° to 180° with a 10° interval), and for 18 yaw angles (from − 160° to 180° with a 20° interval), comprising a total of around 8500 simulations. The generated data have been augmented to enforce symmetry in the aerodynamic models, therefore the non-symmetric configurations results have been mirrored on the longitudinal symmetry plane, resulting in a final doubled homogeneous dataset.
Aerodynamic modelling for learning and online control
We used the generated aerodynamic CFD dataset to fit aerodynamic models. More specifically, we designed a Deep Neural Network to map the multidimensional state of the robot (joint positions and wind direction) into the aerodynamic forces acting on the robot links. Then, we also build a less complex Axisymmetric Model that can be easily included into the flight controller for real-time prediction.
The Deep Neural Network (DNN) model has been trained and validated over the complete dataset, taking as input the robot (steady) state for each simulation performed: the relative wind velocity direction and the 19 robot internal DoFs. The outputs of the network are the three aerodynamic force coefficients for each link. The network architecture is composed of 9 fully connected internal linear layers of 1048 neurons with Rectified Linear Unit (ReLU) activation function49, and by input and output layers of the same dimensions of the input \(x\in {{\mathbb{R}}}^{22}\) and output \(y\in {{\mathbb{R}}}^{39}\) vectors. The forward propagation algorithm for each of the internal linear layers can be expressed as
where \({a}_{i}\in {{\mathbb{R}}}^{{n}_{i}}\), \({a}_{i-1}\in {{\mathbb{R}}}^{{n}_{i-1}}\) are respectively the i − th layer input and output parameters of dimensions ni and ni−1 (based on the number of neurons of the layers), \(W\in {{\mathbb{R}}}^{{n}_{i}\times {n}_{i-1}}\) is the layer weight matrix, \(b\in {{\mathbb{R}}}^{{n}_{i}}\) is the layer bias vector, and φ( ⋅ ) represents the ReLU activation function applied to each element of the function input vector as
The network layers parameters (weight matrices and bias vectors) have been trained on a random subset (80%) of the aerodynamic dataset generated through a random partitioning algorithm, the rest of the data (20%) have been used for the validation of the trained neural network, to address possible overfitting. The training has been conduced for 60000 epochs using Mean Squared Error (MSE) as loss function50, expressed as
where θ represents the whole set of network internal parameters, N is the number of samples used to compute the loss, \({\hat{y}}_{i}({x}_{i},\theta )\) are the forward propagation output computed for input xi and θ parameters, and yi(xi) are the data from CFD simulations.
We used the Adaptive Moment Estimation (Adam) optimization algorithm51 to train the network and we added a 10% dropout regularization52 for each internal layer as a regularization for the training, and as an additional measure to prevent overfitting on the training dataset. We preferred the dropout method over ℓ1 and ℓ2 regularizations53 because we noted an improved training and validation losses convergence for this specific problem.
The Python code for the training of the proposed network architecture has been implemented using the deep learning library PyTorch54 using Nvidia RTX A4500 GPU as hardware, while the selected network hyperparameters have been chosen using the Optuna55 optimization framework considering as evaluation metrics the training and validation MSEs.
Concerning the Axisymmetric Model design, we introduced a further assumption that considers each link isolated from the others and axisymmetric56. In this way, each link is supposed to be subject to aerodynamic drag and normal force components only, and any form of mutual aerodynamic interference is neglected. For such axisymmetric objects (in particular, spheres and cylinders) we can design axisymmetric models that describe the behavior of the drag force (CD) and normal force (CN) coefficients as sinusoidal functions of the link angle of attack26,27,28. The approximated robot geometry according to such models appears as represented in Supplementary Fig. 6.
We decided to further simplify the model for the flying humanoid robot case by neglecting the Re number effect and the geometry effect (included in the computed force areas CDA and CNA). These assumptions led us to write the following model for axisymmetric links:
where \({k}_{a}=\frac{1}{2}\rho\) is the aerodynamic factor scaling the coefficients by the air density ρ, \({\alpha }_{{l}_{i}}\) is the i-th link angle of attack defined as the angle between the link relative wind velocity vector \({v}_{{a}_{i}}\) and symmetry axis \({\hat{k}}_{i}\). CDA and CNA are the aerodynamic drag and normal force areas as functions of \({\alpha }_{{l}_{i}}\). The Axisymmetric Model is derived from the model reported in (4). The models of link drag force (CDA) and normal force (CNA) areas are obtained using a combination of Lasso and Least Squares linear regressions to identify the coefficients of a set of sinusoidal functions up to the 3rd order, following similar literature models, and considering only the independent function terms (e.g. removing \({\cos }^{2}({\alpha }_{l})\) which linearly depends on \({\sin }^{2}({\alpha }_{l})\)). Being the drag coefficient continuous and symmetric over the span of the link angle of attack αlink for physical and geometric reasons, it should follow the constraints:
For modeling the normal force coefficient, we selected the cylindrical body model detailed in Supplementary Note 4, which includes the symmetry conditions:
leading to the following models for the aerodynamic force areas of each link:
The data for obtaining model coefficients for symmetric links are enhanced by mirroring the dataset to enforce symmetry. The Lasso regression algorithm helped to reduce the number of non-zero coefficients, decreasing model redundancy. The model coefficients are reported in Supplementary Table 2.
While the DNN model provides a more accurate estimation of the aerodynamic forces, the Axisymmetric Model is less complex to implement and to include in a real-time flight controller. Also, results are easier to interpret than with the DNN model. On the negative side, the approximations introduced by this model, in particular the hypothesis of no aerodynamic interference between links, negatively affects the model prediction MSE, which shows worse performances than the DNN.
Aerodynamic control design and simulation environment
We designed a whole-body controller for flying humanoid robots accounting for aerodynamic effects. To test and measure the effectiveness of the proposed control strategy, we created a simulation environment based on Whole-Body Simulator, a software suite designed to perform dynamic simulations of rigid body systems, based on MATLAB/Simulink and on the iDynTree physics engine. We included both in the simulator and the flight controller the formulation of aerodynamic forces derived from the models presented in the previous section. Supplementary Note 5 reports details on the robot modeling and the complete derivation of flight control design.
Notation
-
\({{\mathcal{I}}}=\left\{O;{{\bf{X}}},{{\bf{Y}}},{{\bf{Z}}}\right\}\) is the inertial reference frame;
-
\({{\mathcal{G}}}[{{\mathcal{I}}}]\) is a frame centered in the robot CoM, with the same orientation as \({{\mathcal{I}}}\);
-
\({{\mathcal{B}}}[{{\mathcal{I}}}]\) is a frame centered in the robot base link, with the same orientation as \({{\mathcal{I}}}\);
-
\({\scriptstyle{I}\atop} \!{v}_{a}\in {{\mathbb{R}}}^{3}\) is the relative wind velocity of the robot CoM computed as \({\scriptstyle{I}\atop} \!{v}_{a}{ = }^{{{\mathcal{I}}}}{v}_{{{\mathcal{G}}}}{-}^{{{\mathcal{I}}}}{v}_{w}\), where \({\scriptstyle{I}\atop} \!{v}_{w}\) indicates the absolute wind velocity in \({{\mathcal{I}}}\);
-
\({e}_{3}={(0,0,1,0,0,0)}^{\top }\in {{\mathbb{R}}}^{6}\) indicates the gravity force direction in \({{\mathcal{I}}}\);
-
the operator \(\cdot\) indicates the time derivative of the vector or matrix on which it is applied.
Assumption 1
The effects of the aerodynamic moments acting on each robot link are negligible compared to the effect of the aerodynamic forces.
Integration of aerodynamic forces for simulation
Our models provide aerodynamic forces acting at the link’s CoM. These forces are transformed into aerodynamic wrenches applied to the link local frame of reference, then they are multiplied by the transposed Jacobian matrix of the link, and summed as per
where \({}^{{{\mathcal{B}}}[{{\mathcal{I}}}]}{f}_{a}\) is the generalized total aerodynamic wrench acting on the robot, \({F}_{{a}_{i}}\) is the i − th aerodynamic wrench at the i − th link, and \({J}_{{a}_{i}}\) is the map between the system velocity ν and the link velocity \({\scriptstyle{I}\atop} \!{\dot{o}}_{i}\). The generalized total aerodynamic wrench is integrated in the simulator to derive the robot dynamics evolution. Supplementary Fig. 7 shows the simulated aerodynamic forces, obtained by extracting a frame from the iDynTree internal visualizer.
Flight control design
The flight control is designed to stabilize the robot centroidal momentum, whose time derivative equals the sum of all external wrenches applied to the robot, including aerodynamic forces. In what follows, we review the control strategy proposed in previous work57,58 to which we added the contribution of aerodynamics. The centroidal momentum rate of change with aerodynamic forces writes:
where \({A}_{T}\in {{\mathbb{R}}}^{6\times m}\) a proper matrix that sums the effect of jet forces in the momentum equation, \(T\in {{\mathbb{R}}}^{m}\) the jet intensities, m the total robot mass and g the gravity acceleration.
Being the centroidal momentum strictly related to jet forces, a possibility to stabilize its dynamics is to perform thrusts vectoring, i.e., control thrusts intensity and direction to stabilize the momentum over a user-defined trajectory. However, the thrust direction is nonlinearly related to the robot joints through matrix AT(q), and this complicates the control design.
To address the problem, we decided to perform relative degree augmentation. Furthermore, we assume that, for the purpose of this paper and the flight envelope we developed, the impact of aerodynamic forces variations is negligible. After rearranging some terms (see Supplementary Note 5), the second derivative of momentum rewrites:
which is linear w.r.t. joints velocity (contained in ν) and thrust rate of change \(\dot{T}\). Hence, we decided to use these quantities to control the momentum, and define \(u:=(\dot{T},\dot{s})\).
In previous work we demonstrated that it is possible to write a smooth control input u* that renders the closed-loop equilibrium point \((\dot{\tilde{h}},\tilde{h},I)=(0,0,0)\) globally asymptotically stable, where \(\tilde{h}=h-{h}^{d}\) is the momentum error, hd is the reference momentum trajectory and \(I:=\int_{0}^{t}\tilde{h}\). This is achieved by applying feedback linearization: the input u* is first used to cancel out nonlinearities in the momentum dynamics, and then to impose a desired closed-loop dynamics with proven stability properties57. To implement the aerodynamics control proposed in this paper, we included the additional term Λa(q, fa)ν in the control law design.
The control algorithm is implemented as a Quadratic Programming (QP) problem:
where \({\dot{s}}^{* }\) defines a postural task to resolve actuation redundancy and keep the robot position close to a desired shape, and the constraints umin and umax are not simply bounds of the input variables: they are designed to bound both the input u and its time integral thanks to the properties of hyperbolic tangent59.
The solution of the QP optimization \({u}^{* }=({\dot{T}}^{* },{\dot{s}}^{* })\) needs to be actuated by the jet engines and the robot joint torques. Concerning the jet engines, the optimal thrust derivative \({\dot{T}}^{* }\) is integrated and the obtained thrust force is plugged into the simulator directly. Concerning instead the optimal joints velocity \({\dot{s}}^{* }\), it is connected to joint torques via an inverse dynamics controller. From Euler-Poincaré formalism (see Robot Modeling in Supplementary Note 5), we considered the n rows or elements associated with the joints dynamics as
Note that the effect of the aerodynamic wrenches is also included in the joints dynamics. To stabilize the reference joints velocity provided by the flight controller, we apply high gain control on the joints acceleration and define the following closed loop dynamics:
with KDs, KPs positive gains matrices, and s* is obtained by integrating \({\dot{s}}^{* }\). Although \({\dot{s}}^{* }\) and s* depend on the robot state, we assume that with proper gain tuning the joints dynamics can be stabilized fast enough to avoid coupling effects with the flight controller. Finally, we choose the joint torques as:
With the control framework described above we were able to control the robot in presence of simulated wind, while the baseline controller, without the addition of aerodynamic forces, failed to stabilize the robot in this use case, as presented in the Results section.
Data availability
The data that support the findings of this work are available from the corresponding authors upon reasonable request.
Code availability
The code developed to derive the results of this work is available at https://github.com/ami-iit/paper_paolino_2024_nature_learning-aerodynamics-control.
References
Ramirez, J. P. & Hamaza, S. Multimodal locomotion: next generation aerial–terrestrial mobile robotics. Adv. Intell. Syst. https://doi.org/10.1002/aisy.202300327 (2023).
Daler, L., Mintchev, S., Stefanini, C. & Floreano, D. A bioinspired multi-modal flying and walking robot. Bioinspiration & Biomimetics 10, 016005 (2015).
Boria, F.J. et al. A sensor platform capable of aerial and terrestrial locomotion. In 2005 IEEE/RSJ International Conference on Intelligent Robots and Systems 3959–3964 https://doi.org/10.1109/IROS.2005.1545597 (2005).
Shin, W. D., Park, J. & Park, H.-W. Development and experiments of a bio-inspired robot with multi-mode in aerial and terrestrial locomotion. Bioinspiration & Biomimetics 14, 056009 (2019).
Kalantari, A. & Spenko, M. Design and experimental validation of hytaq, a hybrid terrestrial and aerial quadrotor. In 2013 IEEE International Conference on Robotics and Automation 4445–4450 (IEEE, 2013).
Premachandra, C., Otsuka, M., Gohara, R., Ninomiya, T. & Kato, K. A study on development of a hybrid aerial/terrestrial robot system for avoiding ground obstacles by flight. IEEE/CAA Journal of Automatica Sinica 6, 327–336 (2019).
Sihite, E., Kalantari, A., Nemovi, R., Ramezani, A. & Gharib, M. Multi-modal mobility morphobot (m4) with appendage repurposing for locomotion plasticity enhancement. Nature Communications 14, 3323 (2023).
Huang, Z. et al. Jet-hr1: Two-dimensional bipedal robot step over large obstacle based on a ducted-fan propulsion system. In 2017 IEEE-RAS 17th International Conference on Humanoid Robotics (Humanoids) 406–411 (IEEE, 2017).
Kim, K., Spieler, P., Lupu, E.-S., Ramezani, A. & Chung, S.-J. A bipedal walking robot that can fly, slackline, and skateboard. Science Robotics 6, 8136 (2021).
L’Erario, G. et al. Learning to walk and fly with adversarial motion priors. In 2024 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) 10370–10377 (IEEE, 2024).
Natale, L., Bartolozzi, C., Pucci, D., Wykowska, A. & Metta, G. icub: The not-yet-finished story of building a robot child. Science Robotics 2, 1026 (2017).
Mohamed, H. A. O. et al. Momentum-based extended kalman filter for thrust estimation on flying multibody robots. IEEE Robotics and Automation Letters 7, 526–533 (2021).
L’Erario, G. et al. Whole-body trajectory optimization for robot multimodal locomotion. In 2022 IEEE-RAS 21st International Conference on Humanoid Robots (Humanoids) 651–658 https://doi.org/10.1109/Humanoids53995.2022.10000241 (2022).
Ollero, A., Tognon, M., Suarez, A., Lee, D. & Franchi, A. Past, present, and future of aerial robotic manipulators. IEEE Transactions on Robotics 38, 626–645 (2021).
Orsag, M., Korpela, C., Bogdan, S. & Oh, P. Dexterous aerial robots—mobile manipulation using unmanned aerial systems. IEEE Transactions on Robotics 33, 1453–1466 (2017).
Cabecinhas, D., Cunha, R. & Silvestre, C. A nonlinear quadrotor trajectory tracking controller with disturbance rejection. Control Engineering Practice 26, 1–10 (2014).
Ruggiero, F., Cacace, J., Sadeghian, H. & Lippiello, V. Impedance control of vtol uavs with a momentum-based external generalized forces estimator. In 2014 IEEE International Conference on Robotics and Automation (ICRA) 2093–2099 (IEEE, 2014).
Roberts, A. & Tayebi, A. Adaptive position tracking of vtol uavs. IEEE Transactions on Robotics 27, 129–142 (2010).
Antonelli, G. et al. Adaptive trajectory tracking for quadrotor mavs in presence of parameter uncertainties and external disturbances. IEEE Transactions on Control Systems Technology 26, 248–254 (2018).
Theodorsen, T. The theory of propellers IV–thrust, energy, and efficiency formulas for single- and dual‐rotating propellers with ideal circulation distribution. Report-National Advisory Committee for Aeronautics, 774–803 (1944), p.99.
Bauersfeld, L., Kaufmann, E., Foehn, P., Sun, S. & Scaramuzza, D. NeuroBEM. Hybrid Aerodynamic Quadrotor Model. In Proc. Robotics: Science and Systems, Virtual (Robotics: Science and Systems, 2021).
Kai, J.-M., Hamel, T. & Samson, C. A unified approach to fixed-wing aircraft path following guidance and control. Automatica 108, 108491 (2019).
Bergonti, F. et al. Co-design optimisation of morphing topology and control of winged drones. In 2024 IEEE International Conference on Robotics and Automation (ICRA) 8679–8685 (2024).
Brown, P. P. & Lawler, D. F. Sphere drag and settling velocity revisited. Journal of Environmental Engineering 129, 222–231 (2003).
Achenbach, E. Experiments on the flow past spheres at very high reynolds numbers. Journal of Fluid Mechanics 54, 565–575 (1972).
Wieselsberger, C. Further information on the laws of fluid resistance. Physikalische Zeitschrift 23 (1922).
Kritzinger, H.P., Kleijn, C.R. & Akker, H.E.A. Drag on a Confined Cylinder in Axial Flow. Pressure Vessels and Piping Conference. Computational Technologies for Fluid/Thermal/Structural/Chemical Systems With Industrial Applications, Vol. 1 125–131 (2004).
Hoerner, S.F. Fluid dynamic drag. 16–35 (Midland Park, NJ, 1965).
Rieutord, M. Fluid Dynamics: an Introduction. (Springer, Cham, 2014).
Eymard, R., Gallouët, T. & Herbin, R. Finite volume methods. Handbook of Numerical Analysis 7, 713–1018 (2000).
Erlebacher, G., Hussaini, M. Y., Speziale, C. G. & Zang, T. A. Toward the large-eddy simulation of compressible turbulent flows. Journal of Fluid Mechanics 238, 155–185 (1992).
Reynolds, O. On the dynamical theory of incompressible viscous fluids and the determination of the criterion. Philosophical Transactions of the Royal Society of London IV, 123–164 (1895).
Shih, T.-H., Liou, W. W., Shabbir, A., Yang, Z. & Zhu, J. A new k-ε eddy viscosity model for high reynolds number turbulent flows. Computers & Fluids 24, 227–238 (1995).
Menter, F. R. Two-equation eddy-viscosity turbulence models for engineering applications. AIAA Journal 32, 1598–1605 (1994).
Defraeye, T., Blocken, B., Koninckx, E., Hespel, P. & Carmeliet, J. Aerodynamic study of different cyclist positions: Cfd analysis and full-scale wind-tunnel tests. Journal of Biomechanics 43, 1262–1268 (2010).
Blocken, B., Druenen, T., Toparlar, Y. & Andrianne, T. Aerodynamic analysis of different cyclist hill descent positions. Journal of Wind Engineering and Industrial Aerodynamics 181, 27–45 (2018).
Blocken, B., Gillmeier, S., Malizia, F. & Druenen, T. Impact of a motorcycle on cyclist aerodynamic drag in parallel and staggered arrangements. Sports Engineering 24, 1–11 (2021).
Defraeye, T., Blocken, B., Koninckx, E., Hespel, P. & Carmeliet, J. Computational fluid dynamics analysis of cyclist aerodynamics: Performance of different turbulence-modelling and boundary-layer modelling approaches. Journal of Biomechanics 43, 2281–2287 (2010).
Lehmann, M. Computational study of microplastic transport at the water-air interface with a memory-optimized lattice boltzmann method. PhD thesis, Universität Bayreuth, Bayreuther Graduiertenschule für Mathematik und Naturwissenschaften-BayNAT (2023).
Vanteddu, P.R. et al. From cad to urdf: Co-design of a jet-powered humanoid robot including cad geometry. In 2024 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) 11325–11331 (IEEE, 2024).
Bergonti, F., Nava, G., Fiorio, L., L’Erario, G. & Pucci, D. Modeling and control of morphing covers for the adaptive morphology of humanoid robots. IEEE Transactions on Robotics 38, 3300–3313 (2022).
L’Erario, G. et al. Modeling, identification and control of model jet engines for jet powered robotics. IEEE Robotics and Automation Letters 5, 2070–2077 (2020).
Ulvestad, A. A brief review of current lithium ion battery technology and potential solid state battery technologies. arXiv preprint arXiv:1803.04317 (2018).
Abdilla, A., Richards, A. Burrow, S. Power and endurance modelling of battery-powered rotorcraft. In 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 675–680 IEEE (2015).
Chevron Products Company: Diesel Fuels Technical Review https://www.chevron.com/-/media/chevron/operations/documents/diesel-fuel-tech-review.pdf (2007).
Gibertini, G., Gasparini, L. & Zasso, A. Aerodynamic design of a civil-aeronautical low speed large wind tunnel. In Proc. AGARD 79th Fluid Dynamics Panel Symposium, Moscow, Russia AGARD (1996).
Constantinescu, G., Chapelet, M. & Squires, K. Turbulence modeling applied to flow over a sphere. AIAA Journal 41, 1733–1742 (2003).
Lopes, R., Eça, L. & Vaz, G. On the decay of free-stream turbulence predicted by two-equation eddy-viscosity models. In 20th Numerical Towing Tank Symposium. 133–138 (2017).
Fukushima, K. Visual feature extraction by a multilayered network of analog threshold elements. IEEE Transactions on Systems Science and Cybernetics 5, 322–333 (1969).
Qi, J., Du, J., Siniscalchi, S. M., Ma, X. & Lee, C.-H. On mean absolute error for deep neural network based vector-to-vector regression. IEEE Signal Processing Letters 27, 1485–1489 (2020).
Kingma, D.P. & Ba, J. Adam: A method for stochastic optimization. International Conference on Learning Representations, ICLR (2015).
Srivastava, N., Hinton, G., Krizhevsky, A., Sutskever, I. & Salakhutdinov, R. Dropout: a simple way to prevent neural networks from overfitting. The journal of machine learning research 15, 1929–1958 (2014).
Badola, A., Nair, V.P., Lal, R.P. An analysis of regularization methods in deep neural networks. In 2020 IEEE 17th India Council International Conference (INDICON). 1–6 (IEEE, 2020).
Paszke, A. et al. Pytorch: An imperative style, high-performance deep learning library. Adv. Neural Inform. Process. Syst. 32 (2019).
Akiba, T., Sano, S., Yanase, T., Ohta, T. & Koyama, M. Optuna: A next-generation hyperparameter optimization framework. In Proc. 25th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (2019).
Hui, T. et al. Centroidal aerodynamic modeling and control of flying multibody robots. In 2022 International Conference on Robotics and Automation (ICRA). 2017–2023https://doi.org/10.1109/ICRA46639.2022.9812147 (IEEE, 2022).
Pucci, D., Traversaro, S. & Nori, F. Momentum control of an underactuated flying humanoid robot. IEEE Robotics and Automation Letters 3, 195–202 (2017).
Nava, G., Fiorio, L., Traversaro, S. & Pucci, D. Position and attitude control of an underactuated flying humanoid robot. In 2018 IEEE-RAS 18th International Conference on Humanoid Robots (Humanoids). 1–9 (IEEE, 2018).
Rapetti, L. et al. Model-based real-time motion tracking using dynamical inverse kinematics. Algorithms 13 https://doi.org/10.3390/a13100266 (2020).
Nori, F. et al. icub whole-body control through force regulation on rigid non-coplanar contacts. Frontiers in Robotics and AI 2, 6 (2015).
Guedelha, N., Pasandi, V., L’Erario, G., Traversaro, S. & Pucci, D. A flexible matlab/simulink simulator for robotic floating-base systems in contact with the ground. In 2022 Sixth IEEE International Conference on Robotic Computing (IRC). 53–57 https://doi.org/10.1109/IRC55401.2022.00015 (2022).
Acknowledgements
This research article was made possible by the effort of many people who contributed at different stages of the project. In particular, we would like to acknowledge the precious help of Paolo Maria Viceconte, Giuseppe L’Erario, Silvio Traversaro, and Francesca Bruzzone, in making this paper a reality.
Author information
Authors and Affiliations
Contributions
Conceptualization: A.P., G.N., F.B., P.R.V., D.P. Methodology: A.P., G.N., F.B., P.R.V., D.P. Software: A.P., G.N., F.D.N., F.B., P.R.V. Validation: A.P., G.N., F.D.N., F.B., P.R.V., D.G., L.R. Formal analysis: A.P., G.N., D.P. Investigation: A.P., G.N., F.D.N., F.B., P.R.V. Resources: G.N., A.Z., D.P. Data Curation: A.P., G.N., F.D.N. Writing: A.P., G.N., F.D.N., F.B., P.R.V., D.G., L.R., A.Z., R.T., G.I., D.P. Visualization: A.P., F.D.N., F.B., P.R.V. Supervision: G.N., A.Z., R.T., G.I., D.P. Project administration: G.N., D.P.
Corresponding authors
Ethics declarations
Competing interests
The authors declare no competing interests.
Peer review
Peer review information
Communications Engineering thanks Xi Chen and the other, anonymous, reviewer(s) for their contribution to the peer review of this work. Primary Handling Editors: Miranda Vinay, Rosamund Daw. Peer reviewer reports are available.
Additional information
Publisher’s note Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License, which permits any non-commercial use, sharing, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if you modified the licensed material. You do not have permission under this licence to share adapted material derived from this article or parts of it. The images or other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
About this article
Cite this article
Paolino, A., Nava, G., Di Natale, F. et al. Learning aerodynamics for the control of flying humanoid robots. Commun Eng 4, 111 (2025). https://doi.org/10.1038/s44172-025-00447-w
Received:
Accepted:
Published:
DOI: https://doi.org/10.1038/s44172-025-00447-w