Point a Robot Arm at the ISS
Having built a Robot Arm using a 3D printer and some servos, I wanted to get it to do some simple pointing at astronomical objects and the idea for pointing at the ISS as it orbits around the Earth sprung up.
At any moment, the ISS position can be described just using 2 variables
- Its direction from where you are standing measured using 0 to 359 degrees (azimuth is the proper word but I’ll use direction as that is the Scratch term)
- How much it is above or below the horizon (altitude) measured using -90 to 90 degrees (45 degrees would be half-way between the horizon and straight up)
Scratch, of course, doesn’t know where the ISS is without being told so I use a small program written in Python to work out where the ISS is.
This Python program then sends sensor information into Scratch so that Scratch knows the values of the ISS altitude and direction.
One option at this point (and a good test to make sure everything is working right) is to import a map onto the Scratch stage and move a sprite around to show where the ISS is over the Earth.
You can then check this against NASA/ESA own ISS tracking tools
The other option we manged to get working at Preston Hackspace at UCLAN, was to control 2 servos on a robot arm.
We used the direction sensor variable to control which way the armed turned and we used the altitude sensor variable to control how much it pointed up and down.
To make it easy for us, we only moved the servos when the ISS was somewhere from South West to South East and when it was above the horizon.
And it worked 🙂
At least it matched up with the NASA tracking map
The next test would be to set it up outside on a clear early night or morning when the ISS can be seen in the sky and see if the system is 100% pointing at it as it flies over 🙂
Thanks to all the help (especially with the maths) to all the people at Preston Hackspace