Jump to content

  •  

CNers have asked about a donation box for Cloudy Nights over the years, so here you go. Donation is not required by any means, so please enjoy your stay.

Photo

Tracker++

mount planetarium software observing dslr CMOS ccd
  • Please log in to reply
18 replies to this topic

#1 ikarageo

ikarageo

    Vendor - Tracker++ Software

  • *****
  • Vendors
  • topic starter
  • Posts: 10
  • Joined: 06 Jun 2019
  • Loc: New Haven, CT

Posted 09 September 2019 - 11:21 AM

Hi,

 

I started developing a tracker for orbital and airborne objects. The goal is to use any ASCOM-compatible computerized device and automatically track satellites, rockets, airplanes or anything that is visible and moving across the sky at angular speeds that the given device can handle.

 

Some of the features I envision to implement are:

 

- Predictive tracking. Track based purely on calculations from TLE data, user location and atmospheric variations.

 

- Optic tracking. Track based purely on video stream from camera. The user uses the mouse or other pointing device to point an object to "lock". The program brings the object to the center of the scope (i.e. moves the telescope/device accordingly) and tracks it.

 

- Hybrid tracking. This is the fully auto-pilot mode. It uses a 3-phased routine for tracking. Initially, it uses predictive tracking to go to the object’s predicted location. However, in most of the cases the object will not be centered on the scope or not visible at all due to alignment errors, stale TLE data, equipment inaccuracies, atmospheric distortion etc. Then it uses optic tracking to automatically spot the object, doing a spiral movement from center to outside until it finds it. Last, it uses the optic feedback to keep the object "locked" at the center by providing, and constantly updating, correction coefficients to the tracking algorithm.

 

- Implementation of 2D and 3D world map for visualization.

 

- Observation calendar.

 

- ASCOM and INDI protocol support.

 

- Cross platform (Win, Linux, macOS).

 

- Port core tracking to embedded devices (e.g. Raspberry Pi). This is the ultra portable version. The control interface can be implemented through Android/iOS app.

 

 

The project is in an early stage. I have completed some of the milestones I set and I would like to share my progress, in case someone finds it interesting (and maybe receive some feedback).

 

I call my program Tracker++. I am developing it in C++ and Python.

 

I prepared a standalone binary version for Windows 7/8/10 32/64bit.

 

This is just a demo and it shows the basic skeleton of the program. It demonstrates the following basic features:

- GUI

- ASCOM EQ connect and basic control of a telescope.
- Acquisition of video stream from default camera.
- Automatic download and parsing of TLE data for a list of common satellites.
- Loading custom TLE data.
- Implementation of vector world map.
- Implementation of 3D map.
- Demonstration of real time satellite tracking on map.

 

You can find the setup executable of my program here:

https://ecelab.org/tracker_pp

 

Note: I haven't digitally sign my program yet so you might see browser warnings. 

 

 

Best,
ikarageo


  • zjc26138, guyroch, Oleg Astro and 2 others like this

#2 descott12

descott12

    Apollo

  • -----
  • Posts: 1090
  • Joined: 28 Sep 2018
  • Loc: Charlotte, NC

Posted 09 September 2019 - 12:12 PM

Very cool. Very few C++ programmers left. I am currently developing an app to enhance solar viewing. I call it Solar Live View (SLV). I am using Visual Studio/C++/wxWidgets.  For Windows now but it should cross-compile for Mac/Linux without too much trouble.

 

What dev environment are you using?

What are you using to interface with the video stream/camera?



#3 astro_1

astro_1

    Ranger 4

  • -----
  • Posts: 380
  • Joined: 14 Aug 2014
  • Loc: USA, Omaha, Nebraska

Posted 09 September 2019 - 01:09 PM

Yes! This is very good news to hear and willing to let us test it is even better.

Been looking for something like this that may help track the ISS optically.

Just hope my mounts are compatible. I had even bought a nexstar 6se for a similar program called "Optic Tracker". Not sure it is being maintained and was rather finicky to use.

 

Thank you


  • ikarageo likes this

#4 ikarageo

ikarageo

    Vendor - Tracker++ Software

  • *****
  • Vendors
  • topic starter
  • Posts: 10
  • Joined: 06 Jun 2019
  • Loc: New Haven, CT

Posted 09 September 2019 - 01:59 PM

Very cool. Very few C++ programmers left. I am currently developing an app to enhance solar viewing. I call it Solar Live View (SLV). I am using Visual Studio/C++/wxWidgets.  For Windows now but it should cross-compile for Mac/Linux without too much trouble.

 

What dev environment are you using?

What are you using to interface with the video stream/camera?

Thanks. Your app sounds interesting as well.
I don't use visual studio. I use only MinGW (GCC) and Python. I usually code in Notepad++ or Vim.

I interface the camera with OpenCV.



#5 descott12

descott12

    Apollo

  • -----
  • Posts: 1090
  • Joined: 28 Sep 2018
  • Loc: Charlotte, NC

Posted 09 September 2019 - 02:07 PM

Thanks. Your app sounds interesting as well.
I don't use visual studio. I use only MinGW (GCC) and Python. I usually code in Notepad++ or Vim.

I interface the camera with OpenCV.

I find it interesting how powerful Python has become. It is not at all clear to me how it interfaces with C++, I guess in an event driven way and it runs the GUI???  I need to do some research on this as alot of people are using it for stuff I never thought would be possible.  Python used to be just yet another runtime-compiled scripting language but that sure seems to have changed. Very interesting.  One more piece of technology to learn....



#6 pkrallis

pkrallis

    Mariner 2

  • *****
  • Posts: 211
  • Joined: 06 Oct 2007
  • Loc: Colorado Springs, CO

Posted 09 September 2019 - 03:21 PM

Now if I only had some clear nights to see if it forks on my set up.

 

Sincere thanks for letting us casual astronomers try it out.

 

peter...



#7 Oleg Astro

Oleg Astro

    Astronomy Linux

  • -----
  • Vendors
  • Posts: 418
  • Joined: 12 Aug 2008
  • Loc: Albufeira, Portugal

Posted 09 September 2019 - 03:42 PM

ikarageo,

where is the Linux version?...



#8 ikarageo

ikarageo

    Vendor - Tracker++ Software

  • *****
  • Vendors
  • topic starter
  • Posts: 10
  • Joined: 06 Jun 2019
  • Loc: New Haven, CT

Posted 09 September 2019 - 06:01 PM

ikarageo,

where is the Linux version?...

There is no Linux version for the moment. Cross-platform is something I would like to support but it is not implemented yet. ASCOM works only in Windows currently. However, I code my program in a way such that there would not be major roadblocks when I want to port it to other OSs in the future. 


  • Oleg Astro likes this

#9 ikarageo

ikarageo

    Vendor - Tracker++ Software

  • *****
  • Vendors
  • topic starter
  • Posts: 10
  • Joined: 06 Jun 2019
  • Loc: New Haven, CT

Posted 09 September 2019 - 06:11 PM

Now if I only had some clear nights to see if it forks on my set up.

 

Sincere thanks for letting us casual astronomers try it out.

 

peter...

You are welcome. 
You don't have to wait for clear nights as this demo is not able to track a satellite with the telescope. It just tracks it on the map. The telescope functionality is just for demonstration of working ASCOM interface. 



#10 Oleg Astro

Oleg Astro

    Astronomy Linux

  • -----
  • Vendors
  • Posts: 418
  • Joined: 12 Aug 2008
  • Loc: Albufeira, Portugal

Posted 10 September 2019 - 03:23 AM

There is no Linux version for the moment. Cross-platform is something I would like to support but it is not implemented yet. ASCOM works only in Windows currently. However, I code my program in a way such that there would not be major roadblocks when I want to port it to other OSs in the future. 

Ok!

I think you know about this forum https://indilib.org/forum.html

Attached Thumbnails

  • indi_forum.png


#11 ikarageo

ikarageo

    Vendor - Tracker++ Software

  • *****
  • Vendors
  • topic starter
  • Posts: 10
  • Joined: 06 Jun 2019
  • Loc: New Haven, CT

Posted 10 September 2019 - 11:28 AM

Ok!

I think you know about this forum https://indilib.org/forum.html

Yeap ;)



#12 guyroch

guyroch

    Vendor (BackyardEOS)

  • *****
  • Vendors
  • Posts: 3584
  • Joined: 22 Jan 2008
  • Loc: Under the clouds!

Posted 10 September 2019 - 07:57 PM

Thanks. Your app sounds interesting as well.
I don't use visual studio. I use only MinGW (GCC) and Python. I usually code in Notepad++ or Vim.

I interface the camera with OpenCV.

This toolset shows your age, lol.  I remember the days when Vim was a goto tool for me as well.  Trip down memory lane :)



#13 NGC3031

NGC3031

    Vendor - Sattelite Chaser

  • -----
  • Vendors
  • Posts: 49
  • Joined: 29 Oct 2016

Posted 13 September 2019 - 09:07 AM

Nice to see someone else working on closed loop tracking. How will you implement mount slewing? I found that to be the biggest problem. Barely any mount properly supports MoveAxis. I have no experience with sending a bunch of GoTos, but maybe that’s the way to go.


Edited by NGC3031, 13 September 2019 - 09:08 AM.


#14 ikarageo

ikarageo

    Vendor - Tracker++ Software

  • *****
  • Vendors
  • topic starter
  • Posts: 10
  • Joined: 06 Jun 2019
  • Loc: New Haven, CT

Posted 13 September 2019 - 02:12 PM

Nice to see someone else working on closed loop tracking. How will you implement mount slewing? I found that to be the biggest problem. Barely any mount properly supports MoveAxis. I have no experience with sending a bunch of GoTos, but maybe that’s the way to go.

I am not quite there yet. Obviously the easy solution is with moveaxis for mounts that support it. I've already implemented that on my current development branch. I plan to research and implement low level direct control for unsupported mounts. Researching low level implementation of ASCOM and EQASCOM methods can give you a good starting point. 



#15 NGC3031

NGC3031

    Vendor - Sattelite Chaser

  • -----
  • Vendors
  • Posts: 49
  • Joined: 29 Oct 2016

Posted 13 September 2019 - 05:03 PM

Skywatcher mounts and mounts connected via EQMOD only support continuous tracking up to 0.3 degrees/sec. Above that speed the mount needs to come to a full stop before accepting a new speed. It has to do with the Skywatcher firmware. After 0.3 degrees/sec, the stepper motors go into high speed mode, which has this unfortunate side effect. As far as I know this is the best you can do with these mounts, aside from hacking the firmware.



#16 ikarageo

ikarageo

    Vendor - Tracker++ Software

  • *****
  • Vendors
  • topic starter
  • Posts: 10
  • Joined: 06 Jun 2019
  • Loc: New Haven, CT

Posted 14 September 2019 - 08:31 AM

Skywatcher mounts and mounts connected via EQMOD only support continuous tracking up to 0.3 degrees/sec. Above that speed the mount needs to come to a full stop before accepting a new speed. It has to do with the Skywatcher firmware. After 0.3 degrees/sec, the stepper motors go into high speed mode, which has this unfortunate side effect. As far as I know this is the best you can do with these mounts, aside from hacking the firmware.

Yes I am aware of that. As I said before, I am not there yet. I will look into it when the time comes. There might be some options. 0.3d/sec is enough for tracking many satellites at low angles. An option could be to use continuous tracking up to the supported rate and switch to jump/leap mode if, and when, the scope/device cannot keep up (as the object approaches the zenith). Other option might exploit the slewing mechanism. Other solutions might come up while researching the subject. 
Since I don't have any such scope, the effort I will put into it depends on the interest (as I perceive it) for supporting these devices. 



#17 555aaa

555aaa

    Vendor (Xerxes Scientific)

  • *****
  • Vendors
  • Posts: 1446
  • Joined: 09 Aug 2016
  • Loc: Lynnwood, WA, USA

Posted 30 September 2019 - 02:14 AM

This is interesting. I'm not sure why you are using the ASCOM moveaxis method as opposed to the variable rate tracking properties Telescope.DeclinationRate and Telescope.RightAscensionRate.  I think there can be some problems with the moveaxis method. For example, suppose you are below the pole when you start a declination axis move northwards. You are moving dec in a positive direction (CW or CCW depending on side of pier) but once you pass over the pole you want the motor to keep going in the same direction but now your command is wrong - it is moving in the wrong sense of direction. The MoveAxis command also ties you into the (poorly designed IMHO) AxisRates collection. If you get further along, our telescope mount can easily provide satellite tracking performance and is controlled via high speed UDP datagrams which can be sent and received via Python code or your language du jour.

 

https://ascom-standa...inationRate.htm

 

-Bruce Van Deventer

Xerxes Scientific LLC



#18 ikarageo

ikarageo

    Vendor - Tracker++ Software

  • *****
  • Vendors
  • topic starter
  • Posts: 10
  • Joined: 06 Jun 2019
  • Loc: New Haven, CT

Posted 30 September 2019 - 08:06 PM

This is interesting. I'm not sure why you are using the ASCOM moveaxis method as opposed to the variable rate tracking properties Telescope.DeclinationRate and Telescope.RightAscensionRate.  I think there can be some problems with the moveaxis method. For example, suppose you are below the pole when you start a declination axis move northwards. You are moving dec in a positive direction (CW or CCW depending on side of pier) but once you pass over the pole you want the motor to keep going in the same direction but now your command is wrong - it is moving in the wrong sense of direction. The MoveAxis command also ties you into the (poorly designed IMHO) AxisRates collection. If you get further along, our telescope mount can easily provide satellite tracking performance and is controlled via high speed UDP datagrams which can be sent and received via Python code or your language du jour.

 

https://ascom-standa...inationRate.htm

 

-Bruce Van Deventer

Xerxes Scientific LLC

 

Hi Bruce,

Thanks for the suggestion. I'll try it out. I am not working yet on scope movement methods but when I'll do I'll try out a lot of things.
The problem you mention about MoveAxis is not really a problem because as soon as you map your coordinate system to the target acceleration vector everything works smoothly.
I don't have enough experience yet with the AxisRates methods and potential pitfalls when you are tied to them. I'll keep what you said in mind though. 

Thanks.



#19 Krzysztof z bagien

Krzysztof z bagien

    Sputnik

  • -----
  • Posts: 25
  • Joined: 27 Dec 2018
  • Loc:

Posted 08 October 2019 - 09:48 AM

Your program looks very promising, can't wait to actually test its tracking capabilities. I hope you can find some good way for it to work with lower-grade non-LX mounts like the ones made by Sky-Watcher.


  • ikarageo likes this


CNers have asked about a donation box for Cloudy Nights over the years, so here you go. Donation is not required by any means, so please enjoy your stay.


Recent Topics





Also tagged with one or more of these keywords: mount, planetarium software, observing, dslr, CMOS, ccd



Cloudy Nights LLC
Cloudy Nights Sponsor: Astronomics