Hello! This is my first time in the software sub-forum, but I have a new program to announce and get feedback on. I'm new to software development as well, but I saw a personal need and decided to dive in to fix it. I live in Florida and attend a lot of rocket launches out at the cape, and though I frequently photograph them with my telescope I'm not satisfied with the results of hand tracking. It also just feels wrong to hand track a scope which has built in motors and a computer which could potentially be used to track these things automatically. I use an old 8" LX200 Classic, but it still works great. If it can track ISS (using Brent Boshart's Satellite Tracker) then why not a rocket heading uphill to ISS? For that matter, why not airplanes and helicopters? There is a program out there for video tracking already, but it's not compatible with the LX200 Classic at all (only Autostar II LX200s), and it's quite expensive for the higher tiers of the program.
So that's where TeleTrak comes in. It has three basic features at the moment: minor planet tracking, manual joystick control, and automatic video tracking. Minor planet tracking (open loop, no guiding) is for telescopes that lack direct tracking of minor planets. I wrote that feature specifically for brighter NEOs that my little 8" LX200 can see, but that are still too dim and/or too fast to effectively autoguide on with the guidescope. 2015 TB145, for example (and thinking way ahead, Apophis in 2029). It reads an ephemeris file generated by FindOrb and sends the current coordinates of the object to the telescope in a constant stream of GOTO commands, producing what is effectively continuous tracking of the object. Of course with the LX200 there is a limitation in that it can't receive anything past a decimal point in coordinates, and you have to deal with residual periodic error. Nevertheless I still found it to be good enough for continuous tracking with a widefield scope riding piggyback on the LX200. I imaged 2015 TB145 with an Orion ST-80 and SBIG ST-2000XCM using 1 minute exposures on halloween. Here's a short time lapse gif of the first 24 exposures:
There's still more work to do to improve the minor planet tracking feature. For one thing, I want to code it to read JPL HORIZONS ephemeris in addition to FindOrb. I also want to include a more user friendly way to do "leapfrog" tracking in addition to continuous tracking. Leapfrog tracking puts the telescope slightly ahead of the asteroid's position and allows it to pass through the field of view before leaping ahead again. Basically it's the kind of tracking you could do with any standard planetarium program, but without needing to press "slew" every five minutes. In any case, it's not intended to be the main feature of the program; there's only so much you can do with the encoder resolution on a standard LX200 or equivalent telescope. The feature really works best with a widefield scope riding piggyback, but for "major" asteroid encounters like 2005 YU55 or 2015 TB145 it works quite well (ironically due to encoder and slew command resolution limits, it works better the faster the asteroid is moving through the sky).
The main feature of the telescope is tracking bright fast moving objects, either with a joystick, or autonomously via video. The program currently works with any windows compatible video camera or capture system. I use a video capture card in combination with a Samsung SDC-435 (see the electronically assisted viewing sub-forum for more info), but it would also work in with any Astrovid, Stellacam, or Mallincam. Of course it will also work with any webcam style imager as well. I'm also planning to try to add support for any ASCOM compatible CCD camera in the future, but I can't promise that will work. I initially tried to add support for ASCOM on the telescope control side, but there was far too much lag with the ASCOM drivers and they would not allow for a control loop to be established (I couldn't poll the telescope's position in the middle of a slew).
The video tracking works by detecting an object based on its color. Since it's generally intended for viewing objects in the sky, there's a natural "blue screen" we can use for very fast detection and image processing. In the future I may add support for more advanced object recognition algorithms, but in my testing I found they caused my i3 laptop to choke pretty hard. Color detection is a very fast process which means the system requirements will be pretty low. The object to be tracked is designated by moving the telescope to it using a joystick in manual control mode, and then pressing the trigger button while pointed at the object to be followed. The telescope will immediately begin tracking the object automatically, and you can tune the detection as needed by changing the color similarity constraint. You can also shift the automatic tracking by continuing to move the joystick. Pressing any button other than the trigger will immediate un-designate the target and stop the automatic tracking. The joystick's throttle slider controls the sensitivity of the manual tracking, and when pulled all the way down it issues a stop command to the telescope and stops all tracking (manual or automatic) as a safety measure in case you see the telescope's about to tangle a cord or collide with its own mount.
The tracking is also "predictive" - it calculates a running average of the object's velocity vector over the last few samples and uses that to "predict" where it will be at the moment it sends each GOTO command. If you find the telescope is lagging behind an object and you want to "tune out" the lag so that you don't need to use the joystick to correct the tracking, you can enter a "lag correction" value as the number of milliseconds you want the telescope to "move ahead" of where it expects the object to be.
I'll be making tutorial videos on how to use the software and cover the features as well as ways to optimize your rig to get the best tracking possible. I'll also be adding features in the future. One obvious feature would be satellite tracking (as you might have guessed from my avatar picture, I'm into satellite tracking). Like the minor planet tracking feature I'm thinking of having it use a pre-generated ephemeris file, I think Brent Boshart's Satellite Tracker program can export such files. The video tracking would then correct the predicted track and center ISS automatically. I should also mention that the joystick and video tracking features are currently "altitude-azimuth" features. I am planning to add a "polar tracking" mode though, where the tracking commands are issued as RA and Dec for polar aligned telescopes. Most critically though, the software is currently programmed exclusively in the LX200 Classic command set and I need to change that.
As I mentioned, ASCOM is not an option, so I will need to port the program to other telescopes' command sets individually. As I do not have any other telescope mounts, I'm going to need willing guinea pigs, err, beta testers to help me bug test and get the software up and running on other scope types. I'm currently planning to port it to the more modern LX200 Autostar command set as well as the Celestron Nexstar command set (potentially others as well depending on demand). The software itself is a windows program (sorry, as I mentioned I'm new to program development, so I know nothing about porting it to Mac) and as I mentioned I designed it to require minimal processing overhead so it should work on a wide variety of PC hardware. I don't yet know what the lower limit is on system specs, so I need feedback on that as well. If you're willing to help me beta test the ports to autostar and nexstar telescopes please let me know what kind of scope, PC, and camera you have. I'll be choosing participants for a private beta test, assuming people want to help test it.
I'm hoping to have the first videos demonstrating the program sometime this week, but as usual it's weather-dependent and right now the clouds are conspiring against me.
Edited by ngchunter, 13 November 2015 - 08:43 AM.