Project Details

Awards & Nominations

Space Boys has received the following awards and nominations. Way to go!

Global Nominee

The Challenge | Set Your Sights High!

NASA builds and operates numerous satellite and airborne missions that deliver critical measurements and data to the world’s science community. Your challenge is to develop a tool that enables people to identify NASA satellites and satellite instruments as they fly over their locations on Earth. Help people explore the data and applications coming from the instruments overhead!

Space Sniper

Space Sniper aims to pinpoint the location of a satellite anywhere on Earth.

Space Boys

Introduction

Space Sniper is a robot developed in Lego made to pinpoint the location of a satellite from where the robot is. The user will be able to choose which satellite you want to know the location starting from NASA's database, integrated with the robot controller program.

In addition to Lego, it was developed using the NASA Satellite Situation Center API, which provides the information needed to locate the satellite.

For accurate satellite location, azimuth and elevation calculation must be performed using the data provided by the API and the user's current location.

About the project

To determinate the robot’s pinpoint position, we must find Azimuth and elevation angles based on the observator and satellite positions. To do this, we used the Satellite Situation Center API to obtain all satellite’s ids, launch and deactivation dates, locations, latitudes and longitudes.

The first development step was to discover, learn and implement the API’s request protocols, then use it to receive all satellites that are currently in orbit. From this point, we had implemented the Location API’s request protocol. With the requisition protocols in place, we developed a scheduler that gets all data every new day, so we could store it on the RAM.

To allow communication with the robot, we’ve developed an open API that receives a satellite’s id and the observer’s latitude and longitude. With this information we can calculate and return the Azimith and elevation angles from the API.

The robot communicates with the user’s computer by simple socket packets. It was programmed to point to the chosen satellite’s direction, using the Azimuth and elevation angles calculated by our API.

About our API

Our API was developed to allow any user to easily access the calculated pointing angles, allowing them to point a satellite dish or telescope to any of NASA’s satellites with a minimum resource cost.

Developed in: C# (Asp .NET Core 2.1)

API routes:

/api/observatory/ -> List all satellites in orbit.

/api/observatory/{satelliteId}/{latitude}/{longitude} -> Calculates the pointing angles to a specific satellite from the requested position.

Resources

Provided by NASA:

Satellite Situation Center API

https://sscweb.sci.gsfc.nasa.gov/WebServices/REST/

https://sscweb.sci.gsfc.nasa.gov/WebServices/REST/SSC.xsd

https://sscweb.sci.gsfc.nasa.gov/WebServices/REST/jQueryExample3.html

Other fonts:

http://www.mssl.ucl.ac.uk/grid/iau/extra/local_copy/SP_coords/geo_sys.htm

Robot:

Model: Lego Mindstorms EV3

Developed in: Python with ev3dev runtime.

Reference:

http://repositorio.unitau.br/jspui/handle/20.500.11874/684?mode=full

Our repository on GitHub: https://github.com/leo1553/SpaceSniperApp