Category: GSoC

GSoC Project: Producing Rich Analysis Reports for Polaris-Ayush Bansal

In the past two weeks, we focused on the projects that Libre Space Foundation has been mentoring in this year’s GSoC programme. Thus, we have already presented the project about Improving the transmission capabilities of gr-satnogs by Michalis Raptakis and Expanding events detection in Poliastro by Yash Gondhalekar. Today, we will focus on Rich Analysis Reports for Polaris by Ayush Bansal.

Polaris ML: An Introduction

Polaris ML is an open-source, python-based, machine-learning tool aimed at helping satellite operators detect spacecraft behaviour. It is a solution developed to facilitate space diagnostics. This is achieved by helping spacecraft operators investigate anomalies. Polaris ML explores and analyses satellite telemetry data and delivers helpful graph visualisations. These visualisations are machine-learning models illustrating the dependencies of the telemetry parameters.

*The project is under active development, and the team will be implementing more changes in the future.

Polaris ML and GSoC

For Polaris, this is the third year that the project participates in the Google Summer of Code. This programme has benefitted Polaris ML massively, as it has brought the project in liaison with excellent students that have helped it evolve greatly. Talented, past participants of the GSoC programme are now integral members of the team developing Polaris ML. This year, the project has welcomed Ayush Bansal, an Electronics and Communications Engineer student at the Indian Institute of Technology, Roorkee in Rajasthan, India.

Rich Analysis Reports for Polaris

During his GSoC internship, Ayush has been working on developing two new module commands. These are polaris behave and polaris report.

  • polaris behave. This module uses a pre-built autoencoder model from the BETSI library to detect anomalies in satellite telemetry data. The results found will be delivered in an easy-to-read, exploitable format.
  • polaris report. The second module that Ayush has been working on aims to use the results from polaris behave and portray them in an interactive way in a web browser for the users to comprehend, interpret, and read more easily. The visual module will use the results of the anomaly detector and other raw data to produce a graph. A local, browser-based webserver will be created to serve interactive graphs. The graphs will be presenting the different anomalies, their points of occurrence in frames and the different parameters.

Check out this detailed demo and see for yourself the work that Ayush has created. You can also check this article to find out more details about the Web Reports.

As Ayush describes the GSoC experience with Polaris..” We planned stuff, fixed bugs. [D]id some sword fights over topics and Merge Requests and Issue Filing became [a] regular thing for me.

I learnt [the] importance of how to code properly, give proper names to different functions, explain the aims of the code more clearly and a lot more.”.

You can have a closer look at the Merge Requests that Ayush has worked on here.

What is next?

As Polaris ML is a project under active development, a series of interesting updates are coming up. In the next months, the team will be working on many improvements optimising the tool even further. As far as web reports are concerned, supporting multiple satellites by URL separation, improving the responsiveness of the reports themselves, using Graph Comparison to collect all the information responsible for an anomaly are some of the features that the team will be working on.

A PDF generator is to be developed, too. It will be customisable to the user’s needs as they will be able to choose which parameters will be included in the PDF. For instance, they will be able to customise the time period and the number of anomalies detected. Ayush will also be developing a feature that will allow the users to combine all the graphs in a bundle and deliver them in a zip file for further use of the results found. Lastly, a command-line option will be explored to be able to trigger the reports easily.

Polaris logo

Want to join the community?

If Polaris ML sounds fascinating to you and you want to join the team, you can reach them at the dedicated Polaris matrix/element channel. You are welcome to sign up and contribute to the project and the discussions taking place there. The Polaris team is made up of talented individuals from around the world, and the community is open to everyone interested in space, machine learning, and open-source technology. As Ayush describes it in his article..”I didn’t know much about space telemetry and satellites, so I learned a lot from the community

..Despite these people’s various engagements, they were responsive, which helped me get my doubts cleared as soon as possible.

It was a great summer working on this project….[this was] More than an Internship. “

*You can follow Ayush’s personal blog and read about his journey as a Web developer here.

GSoC Project: Expanding events detection in Poliastro-Yash Gondhalekar

Supporting knowledge and scientific research are among our main goals at Libre Space Foundation. This is why we have been participating in the Google Summer of Code for the third year in a row, mentoring three amazing projects. The first project is about Improving the transmission capabilities of gr-satnogs developed by Michalis Raptakis. We presented this project in more detail last week. This week, we are delving into Poliastro.

Poliastro and GSoC

In 2021 Poliastro is participating in the Google Summer of Code programme via Libre Space Foundation. Yash Gondhalekar, a Computer Science student at the Birla Institute of Technology and Science in Pilani, India, is spending the summer working on the project. Tinkering with the code to achieve a streamlined execution of algorithms, adding event detection capabilities and improving the tool.

Poliastro: An Introduction

Poliastro is a pure Python library that provides an API tackling issues of astrodynamics and orbital mechanics. Its goal is to benefit users by providing valuable scientific information. This information will contribute towards creating more effective space strategies, improved orbital designs and more efficient maintenance policies.

The software for this tool is under constant improvement and development. Thus updates are to be released regularly.

Poliastro: A closer look

Events detection is a challenging process. Upon embarking on the GSoC experience, the Poliastro team began focusing on the eclipse detector, which appeared to be a more challenging task to tackle. After brainstorming over the most suitable method to handle this, the team decided to opt for SciPy’s event support.

Though SciPy did offer a solution to approach the issues, the team “.. still needed to come up with a time-varying and continuous “shadow” function without having to solve analytical equations manually .”

For this to be achieved, an equation had to be formulated.

After a series of geometric manipulation tests, an equation was created comprised of classical orbital elements. But the team did not stop working on the solution. As Yash points out, ” We were still questioning the performance and complexity of the method since by enacting it, we could lose the accuracy of entry and exit times of the event. In any case, the other (methods) didn’t seem to work just yet, so we decided to go with this approach since it looked feasible.”

At the same time, the team also worked on the altitude and latitude crossing detectors. However, soon enough, they realised that there are far more intricacies in the longitude detector. This required more thinking and more exploration to find the right approach and method to deal with the issue. ” All the events are supposed to work for any attractor, thus aligning with one of (the )Poliastro’s aims of having capabilities not restricted to (the )Earth.”

By leveraging some of the in-built functionalities of solve-ivp, users can stop the integration when an event is detected or control the direction of triggering an event. With the development of validation cases for the Orekit software, the team enhanced the possibility of further implementation; the tool was optimised even more by adding tests, fixing bugs and improving computation.

You can read how the team went about approaching all the issues arising in Yash’s detailed article.

Want to join the team?

As is the case with all the project communities at Libre Space Foundation, the Poliastro team is an open and inclusive community welcoming members from all over the world. In his first article about the GSoC experience with Poliastro, Yash states, “Needless to say, this is a place where I would get to interact with an engaging community and learn several things”.

If this sounds like an interesting project to you and you want to be part of this team, you can join the dedicated Poliastro channel on element/matrix and contribute to the discussions there.

The next steps

Yash and the team are working hard on further optimising Poliastro, and in the weeks to come, more event detectors will be included!

*You can follow the updates of the Poliastro project here.