My project at SpaceUp Barcelona 2018: AI for cubesats
The rise of #EdgeComputing is giving unprecedented computation capabilities to devices we could never imagine. Is it also possible to use AI onboard of Cubesats?
My journey at SpaceUp Barcelona turned out to be quite interesting. I love space. Even though my current job is not in this sector but in consumer electronics, listening to people talk about space projects feels kind of energizing. I guess that the fact of space exploration being as complex as inspiring, people who work on it are usually driven by a strong passion. Anyways, to keep myself informed I try to read about it and attend to some events during the year.
The event itself is a bit different than what I'm used to. There were some presentations by experienced professionals, including people from ESA, GTD, Satellogic and PhDs from many Universities, but also the attendees ourselves could take the stage and present our projects, improvise a talk or even propose a debate. They call it an Unconference and I find the concept really cool. Leaving formalities behind, it's a good way to meet some new people who shares your interests, to find new projects or even to present yours.
As I've just mentioned, I'm currently not working in the space industry, but I'm starting a new space side-project together with Nikitas Chronas that we are pretty excited about. SpaceUp Barcelona has been a good opportunity to talk about it and get some interesting feedback.
Artificial Intelligence on space
My talk was titled Bringing AI into space, and with it I wanted to explain the main questions we are trying to respond with this project: Can we use AI on resource constrained platforms? In particular, is it feasible to use it on Cubesats or even PocketQubes?.
The timing was really good, because one of the previous speaker, Marco Bressan from Satellogic, concluded his presentation by saying something like "in the future satellites won't send us data, but just orders". He was trying to explain how interesting would be to perform all the image processing onboard of the satellites themselves instead of having to download all the raw data first. And that's exactly what Nikitas and I want to know.
Nowadays most of the market focuses on doing all the heavy processing required by AI algorithms on big servers, but as small embedded devices become more and more powerful, analyzing the data on the devices that gather it is getting more important. This growing field is called Edge Computing, and this demo by Microsoft is a good example to understand how powerful it can be.
The problem is that small satellites like Cubesats are limited in terms of power availability and thermal dissipation, and those parameters tend to be quite extreme when doing the computations required by AI algorithms, but is it that bad? And why is the effort of analyzing this worth it? Well, taking advantage of this tools onboard would have a few benefits:
- We could move part of the application layer that is currently being executed on the ground to the space segment. This would help us save a lot of bandwidth, which is usually a concern for many spacecrafts at LEO. It can also help with frequency coordination, because we would need to download much less data. These two issues will become even more problematic now that there are a lot of companies launching satellites constellations.
- Satellite operations could get more automated, for instance, we could train a model to identify complex time-series or any anomaly that could harm the satellites and act accordingly without needing to download all the telemetry.
Platforms under test
In our project we are comparing three platforms: an NVIDIA Jetson TX1, an Intel Movidius and a library for microprocessors using Mbed OS called uTensor. Each of them takes a different approach to run the algorithms, for instance NVIDIA uses a GPU, Intel a VPU and uTensor can run in a simple ARM Cortex-M4! As you can see, it's difficult to compare them on paper, and that's why we want to do it empirically. We will measure many parameters, including how much power do these platforms need, how much power do they dissipate, how accurate are they, how much time do they need to process the data...
Finally I want to remark that the end application is not important in the context of our research. We will do some image segmentation to get the results, but we think that enabling AI onboard of small sats offers a wide range of opportunities that we can't even think about.
If you are interested on this topic spread the word and contact me. I'll be glad to discuss more details with any of you. Stay tuned for future updates!
Thanks to all the organizers and partners of SpaceUp Barcelona for making this event possible. Moltes gràcies!