# AirSim Demo

We integrate our data-driven odometry module in a closed-loop flight control system, providing a new method for real-time autonomous navigation and landing.

To this end, we generate a simulated \textit{Downtown} environment using Airsim, a flight simulator available as a plugin for Unreal Engine [airsim2017fsr].

We collect images and inertial measurements flying in the simulated environment and we train the model on the new synthetic dataset.

The network outputs are now the input to the flight control system that generates velocity commands for the UAV system.

We show through real-time simulations that our closed-loop data-driven control system can successfully navigate and land the UAV on the designed target with less than $10$ cm of error.

In this project I will show the whole pipeline to integrate our architecture in the AirSim flight control system.

# The control Problem

We make the assumption that the target position $ x^d*{pos}=[x,y,z]^T $ is know.
After the controller receives the reference position of the target $x^d*{pos}$, the desired velocities $x^d*{vel} =[u,v,w]^T$ are computed based on the rate of change of position set points, i.e., $x^d*{vel} = \dot{x}^d_{pos}$.

We use the velocity reference $x^d*{vel}$ along with the position reference $x^d*{pos}$ to compute the final throttle and attitude angle commands $u_{comm} =[F,\psi,\theta,\phi]$ that are then fed back into the low-level controller.

Given the target pose coordinate, we simulate a control law for $u*{comm} $ depending only on $x^d*{pos}$ and $\dot{x}^d_{pos}$ such that $x*t \rightarrow x^d*{pos}$ and $ [v,\omega]^T \rightarrow 0$.