Software Repository, Archived Messages, Pictures, and Software Utilities - You must be registered to download files or view content! > Software Utilities

Developing a Minor Planet Tracking Compliment to Satellite Tracker


Scott Ferguson:
I'm currently in the process of developing a program to track near earth minor planets in the same manner that Satellite Tracker tracks satellites.  The program was inspired by Satellite Tracker, but I understand there's currently no plan to expand the program to accept orbital elements of objects that are hyperbolic relative to earth (ie, the orbital elements cannot be expressed properly in the TLE format).  The main objective for me is to have a program which can track the motion of fast moving relatively bright asteroids (2015 TB145 being a recent example) or perhaps in the future track any manned vehicles that are departing earth orbit (future Orion missions for example).

For very slowly moving objects, the "resolution" of the GOTO commands the classic LX200 can receive does become a limitation; the LX200 is limited to whole integers in receiving right ascension coordinates, and one second of right ascension is about 15 arcseconds at the celestial equator.  For relatively fast and close asteroids and with sufficiently coarse angular resolution this limitation is not a show stopper though.  Here's a sample of the result I achieved while tracking 2015 TB145 last weekend, using an Orion ST-80 refractor piggy backing on the LX200 and an SBIG ST-2000XCM camera with 60 second exposures:

I actually tracked the asteroid over 7 hours both with continuous tracking and then later with leapfrog tracking with the main 8" LX200:

The program works by reading a pre-computed ephemeris file containing the coordinates of the object and sends the current coordinates to the telescope in a constant string of GOTO commands similar to the method used by Satellite Tracker.  At the moment it's designed to read ephemeris files in the format output by FindOrb, but I do plan to expand it to also be compatible with JPL HORIZONS format.  I'm also working on code to interpolate the current coordinates based on the rate of motion rather than requiring large files at very high time resolutions.  At the moment it's also coded in the LX200 Classic's command set, but converting this to ASCOM compatible communications is a high priority before any public release.

The program of course features inputs for RA and Dec offsets to correct the tracking for any errors in pointing accuracy, but given that even the fastest near earth asteroids move at a snail's pace compared to low earth orbit satellites, mouse and joystick inputs to correct the tracking do not seem to be necessary features.  With that said, I've also included a joystick control feature separate from the minor planet tracking. 

This feature allows for smooth and fast slewing of the telescope based on joystick inputs.  When commanded to do so, the program takes the current altitude and azimuth of the telescope and adds or subtracts from the current values based on the amount of joystick deflection and sends this back to the telescope as a GOTO command.  I will also try to include a "polar" mode as well, where the joystick's X and Y axis correspond to changes in RA and Dec instead of Az and Alt.  The sensitivity is controlled with the throttle, and the whole process is set into a loop which effectively results in a constant stream of GOTO commands to move the scope at any arbitrary speed and direction within the telescope's capability.  My personal reason for wanting this feature is to track rocket launches out at Cape Canaveral in a smoother fashion than I can currently accomplish by hand tracking.  You could also track airplanes with it as well if you're into plane watching.

The final main feature I'm working on is video based tracking, so that an object found and targeted using joystick tracking will automatically be followed.  Yes, there's another program out there which does exactly this, but the compatible telescope list is rather short on Meade telescopes, in fact it's not even compatible with older LX200s like mine.  I am aiming to make this program ASCOM compatible so that virtually any telescope can use it, though of course it's aimed at more consumer grade telescopes which do not have built-in minor planet tracking, and which are portable enough to take to rocket launches or plane watching. 

I also will not be charging hundreds of dollars for the full version of the program.  I plan to make a basic version free to download so that you can test your scope with it and use some of the basic features, but I may sell the "video tracking" version for a reasonable fee.  I have a crazy idea that involves slaving the initial acquisition of the video tracking to a smart phone and a smart phone camera communicating back to the PC over bluetooth (after which the viewfinder or widefield camera on the telescope would take over), but getting up and running on smartphone app development will cost me a little money that I'm going to need to make back.  Honestly it might not even work at all; there's probably a lot of risk that a smartphone's sensors will not provide accurate enough pointing data to even get an object within the viewfinder camera of a telescope.  It's just a nutty idea I want to pursue after I get the initial version of the program out the door.

For the initial version though I do have one question I would like some prospective user feedback on.  For joystick tracking I definitely want to have a safety feature built-in where the program will automatically stop the telescope from slewing if it gets within a set distance of the sun's current location.  I don't want anyone going blind or destroying their cameras if they happen to slew too close to the sun accidentally. My question is simply this; how close is "too" close?  45 degrees?  20 degrees?  Less?  More?  I suppose I could open that feature up to direct user input on the failsafe distance, but even then I want a lower limit that the user cannot over-ride for their own safety.  What should that limit be?

John Eccles:
What development environment did you use to develop the application?

Scott Ferguson:
Visual Basic.  I'm using the Emgu CV wrapper for OpenCV with Visual Studio 2015 to work on the video tracking aspect.

Scott Ferguson:
Well I may be hitting an insurmountable problem with the ASCOM drivers.  It seems that the ASCOM drivers will not poll the telescope in the middle of a slew command.  The joystick control and any future video control depend on a constant feedback loop of the current altitude and azimuth and modifying those values for sending back to the telescope in realtime.  ASCOM communication with the LX200 appears to be extremely slow and it renders joystick control useless.  I can see now why satellite tracker and optic tracker do not use ASCOM communication.  I'm rather stuck unless someone knows of a way to program a feedback loop with ASCOM protocols.  Best I can do is press forward with the current non-ASCOM version of the program and a very limited compatibility list.

On the plus side though, video tracking on arbitrary objects designated with a joystick is working now.


[0] Message Index

Go to full version