What's cool here other than the fact that it seems to react really quickly is that it has no universal conception of location, like GPS.
My limited understanding of the topic is thus:
For localizing, they use a particle filter, which is basically a method that helps you figure out latent variables (in this case location) based on multiple observations.
Using the data, it creates a model of how the aircraft moves. In each "tick", you make a prediction about where the aircraft will be in the future (let's say, based on how fast you know the motor goes and which way the rudders are tilted etc). Then, you actually compare it to the data you got from your sensors (in this case a laser rangefinder) and update your model. Thus, your model is better.
The more traditional formulation of this is the Kalman Filter, which is everywhere in classical controls systems. I think the particle filter is just simpler for large numbers of variables whereas for Kalman filters, complexity increases exponentially.
edit:
Another way to look at it is that this is how robots deal with the "real world" where sensors are noisy and slightly off, actuators are unreliable and can't produce smooth and constant output etc. Instead of trying to guess all these factors, it automagically accounts for these on the fly by looking at how the robot behaves and how you expected it to behave.
The difference is not really about the number of variables but the dynamics of the plant...
The classical formulation of Kalman filters assumes gaussian distributions for the variables. This makes the computations much faster since the posterior distributions is a few matrix operations away. This works fine when the model for the plant is linear (since a linear transformation of a gaussian variable is gaussian). In situations where the plant model is not linear estimates can go awry quickly.
In the case of particle filters you sample the prior distribution, simulate the non-linear plant with these initial conditions and then construct the posterior distribution by incorporating the measurements. This process is computationally more expensive than classical Kalman filtering but is more accurate for non-linear plants.
What's cool here other than the fact that it seems to react really quickly is that it has no universal conception of location, like GPS.
Nit-picky robotics engineer chiming in: it's not reactive. The planning is done ahead of time, and they expect there to be no dynamic obstacles in the environment.
If I remember correctly, a big advantage of particle filters over Kalman filters is that the particle filters can model complex, multi-modal distributions, whereas the Kalman filter just updates the mean and covariance of a single high-dimensional Gaussian (albeit optimally). This is nice for localization problems because it allows you to keep track of multiple competing hypotheses about your current location.
The big "what stopping this from being mainstream" part of this is the need for a prior map. It's absolutely analogous to Google's autonomous vehicles needing to be manually driven through the area in which they're planning to later operate autonomously.
This is great work, but it's not onboard SLAM, only onboard localisation. All up, it's great to see more of the autonomous ground vehicle work becoming small and lightweight enough to go on aerial vehicles. Traditionally the low payload capacity has been a showstopper for UAVs, and laser range finders are often heavy, hence why so many UAVs have used vision-only localisation techniques.
For us civilians, slam is Simultaneous Localization and Mapping, which is the equivalent of walking around and exploring an unknown area and committing it to memory (mapping) while also still maintaining your own bearings in there (localization).
I am always so happy to see a navigational demonstration that doesn't rely on external positioning, e.g. GPS. Having tried both sides (dead reckoning/sensing and external positioning), I have come to feel like so many GPS-based projects are essentially trivial GPS demos.
My limited understanding of the topic is thus:
For localizing, they use a particle filter, which is basically a method that helps you figure out latent variables (in this case location) based on multiple observations.
Using the data, it creates a model of how the aircraft moves. In each "tick", you make a prediction about where the aircraft will be in the future (let's say, based on how fast you know the motor goes and which way the rudders are tilted etc). Then, you actually compare it to the data you got from your sensors (in this case a laser rangefinder) and update your model. Thus, your model is better.
The more traditional formulation of this is the Kalman Filter, which is everywhere in classical controls systems. I think the particle filter is just simpler for large numbers of variables whereas for Kalman filters, complexity increases exponentially.
edit:
Another way to look at it is that this is how robots deal with the "real world" where sensors are noisy and slightly off, actuators are unreliable and can't produce smooth and constant output etc. Instead of trying to guess all these factors, it automagically accounts for these on the fly by looking at how the robot behaves and how you expected it to behave.
edit2:
Corrections abound! Read replies below!