Using the Stars for Guidance: IIT-B Satellite Team innovates
The Student Satellite Program is a landmark project taken up by IIT Bombay students with the vision to make it a respected Centre of Excellence in Satellite and Space Technology in the world. An interdisciplinary team of 50+ students from the institute are engaged in projects ranging from the design of space systems to the development of payloads.
Their first satellite under this program was launched on board the PSLV (Polar Satellite Launch Vehicle) C-35 on 26th September 2016. This satellite, called Pratham, could fit within the dimensions 30.5cm X 33.5 cm X 46.6cm and weighed only 10.15 Kg. The mission statement for Pratham involved measuring the total electron count (TEC) of the ionosphere which is used to correct ionospheric errors for differential GPS. The mission also aimed at spreading knowledge about satellite systems across India by transmitting TEC data so that it could be detected by any university having an above ground station.
Having successfully launched Pratham (the mission was 90% successful), the IIT Bombay Satellite Team started working on improvements to some of the systems used in their first satellite, so that they could have a second and more spectacular launch. This new satellite was named Advitiy, meaning second to none. For now, the team has put Advitiy on hold and plan to perform Technology Demonstrations on the Stage 4 Orbital Platform of ISRO’s PLSV. One of the most ambitious improvements proposed, not just Advitiy but for future CubeSat missions in general, was developing a Star Tracker Based Attitude Determination System (STADS).
Attitude refers to the orientation of the satellite with respect to some defined reference frame (in this case, the frame of the earth). Many subsystems in a satellite, which need to be pointed in the correct direction to function, such as communication antenna, docking systems, spectrometers, electron sensors etc. depend on its attitude. This makes attitude determination one of the most crucial subsystems in a satellite.
"Star Tracker based Attitude Determination System is one of the most accurate ways to estimate a spacecraft's orientation in space. Its application in CubeSats has seen a decent increase in recent times", explained Sanskriti, a Project Manager of the IITB Student Satellite team.
It is superior to the sun sensor - magnetometer combination used in Pratham, which uses the direction of the earth’s magnetic field and displacement vector with respect to the sun for attitude determination. The reasons are simple, firstly, these can’t be used for deep space missions due to the absence of magnetic fields. Secondly, since STADS uses numerous stars to evaluate attitude, it has a greater number of data points as compared to sun sensor - magnetometer combination allowing it to achieve greater accuracy.
How exactly does STADS work?
The way STADS works is that it compares images of stars taken from the satellite and those taken from the earth frame (or ground frame) to estimate the orientation of the satellite. The idea is to make this comparison four times in a second in order to keep constant track of the attitude of the satellite.
The system first uses a CMOS camera to take black and white images of its surroundings. Due to high intensity bright sources in the path of the camera, a baffle system is used to prevent stray light from entering the optical processing system.The stars in these images are two-dimensional shapes on a black background. Feature extraction is used on these images to obtain the spatial coordinates of the stars by detecting the “bright spots” in the images.These two-dimensional spots are then converted into point objects using a process called ‘centroiding’.
Now, unit vectors can be drawn in the direction of these stars (now converted into dots on a black background), this helps in determining the absolute orientation of the satellite. Since the satellite is not aligned with the ground frame (that is the frame of the earth), the unit vectors thus drawn will not be the same as the unit vectors in the star catalog (chart which gives information about the vector direction of 4000-5000 stars from earth frame). This set of unit vectors are then compared with those in the star catalog. Estimation algorithms are then used to find the rotation vector along which the obtained set of vectors should be rotated so that they can best match the ones in the star catalog. The rotation vector by which these unit vectors were rotated is the same as the rotation vector between the orientations of the satellite and the earth frame, or the attitude of the satellite.
How did they plan to progress?
It is important to note that STADS is a relatively new concept in India and has not been employed in any Indian student satellite yet. As a result, the team had to research through a multitude of papers, datasheets, and catalogs before considering such a task. Hours and hours were spent mulling over these papers before they were able to understand what the exact requirements of such a system would be. A thorough study of other star-based tracking systems yielded a set of specifications that they would try to implement in their own model, STADS. The team has also been in touch with the satellite team at Tsinghua University, Beijing which has worked on star-tracker based systems in the past.
The satellite team at IIT Bombay performs rigorous testing on a model before manufacturing it. The testing is usually done in four steps:
- First, a simple MATLAB model of the overall model is tested to get a general idea of the computational and hardware requirements of the system. This step is known as model-in-loop testing.
- In the second step, software-in-loop testing, each subpart (in this case, image capturing, image processing, and estimation) of the model is tested on specialized simulation platforms (usually C programmable) to ensure that they perform well individually.
- Since the team is planning to use a combination of FPGAs (array of programmable logic gates) and microprocessors to perform the required computation on the satellite, it is important to run simulations on them to check how efficiently the required calculations are executed. This third step is called processor-in-loop testing.
- The final step, hardware-in-loop testing, involves testing the system on the pieces of hardware that will be used on the satellite.
On June 15th, 2019, ISRO began accepting proposals to facilitate the launch of payloads on the 4th stage orbital platform of the PSLV. This part of the PSLV usually gets detached from the main spacecraft and adds to space debris, however payloads such as CubeSats can be attached to this 4th stage and be used to carry out in-orbit experiments and calculations. This provides a great platform for testing satellite systems and at the same time ensures that parts of the PSLV do not go to waste. The Satellite team, IIT Bombay intends to test the STADS system they developed in real spaceflight on this platform.
What were the difficulties faced by the team?
At present, the team is in the designing phase and still has a lot of work left to perfect their system. So far one of their biggest difficulties has been that STADS requires a lot of computing power to execute. As a result, the required onboard processing power of the satellite is really high. To maximize the computational power of the satellite, they decided to use FPGAs (field-programmable gate arrays). These are reconfigurable integrated circuits that use arrays of programmable logic blocks to perform computation.
They are far more energy-efficient than common processors such as CPUs or GPUs and are preferred in cases where quick computations with low latency are required. Thus, they are ideal for applications such as STADS because it needs to perform a series of complex calculations in a span of four seconds. The problem with FPGAs is that they are extremely tricky to program and the team does not have any experience working with this technology. Finding out which FPGA to use and how to make a PCB (Printed circuit board) for it are both complex tasks which they are working on.
Some of the other difficulties are trying to find an optimal ‘star matching’ algorithm which identifies which stars the camera is currently looking at. Designing an optical system consisting of a lens and baffle (used to block out unwanted light reaching the image) to fit the volume constraints of a CubeSat (needs to be 10cm X 10cm X 10cm cube) is another challenge.
All these difficulties are compounded by the fact that they are among the first in India to try developing a star-based tracker system. As a result, it is hard to find solutions to these problems because of the lack of resources dealing with specific issues faced by STADS designers.
Before the ongoing pandemic struck India, the team had designed a timeline that would ensure the completion of a flight-ready model by 2021. Presently, however, it seems that work will be delayed due to the lockdown. It is much harder to coordinate between interdependent subsystems and assert decisions given that the only way to communicate is virtual. Further, since they cannot manufacture parts, purchase the required instruments and sensors, the task of validating the framework has become a lot more complicated. Rather than performing tests on hardware, they now have to depend on research papers to confirm their results.
In spite of the lockdown, Satellite Team IIT Bombay has continued working and are hoping to complete the first iteration of their model-in-loop testing phase by the mid-July.
What is the end goal?
"We hope to either start work as a company that works on such designs or open-source our design and documentation so that people planning cubesat mission that require attitude with high accuracy can simply use our model of design", said Shaun Zacharia, a member of the Satellite Team IIT Bombay, when asked what was the final objective behind developing this technology.
Given that STADS has the potential to improve the accuracy of attitude determination for CubeSats, the open sourcing of this technology would make it easier for student teams all over India to design better satellites. A more accurate attitude determination system also implies improved performance of dependent subsystems of the satellite. Thus, through their efforts, the Satellite Team IIT Bombay is trying to make space exploration more accessible to the student community.
(cover image for representation purposes only)