Introduction to Automation

Observatory automation is the process of allowing an executive program to control the various programs that themselves interact with your hardware.  For example, when using your camera control program to take an image, you set exposure parameters such as what filter to use, what binning to use, how long to expose and click on an Expose button.  The camera control program is the interface between you and the hardware.

There may be different layers of software between the camera control program and the physical camera.  There is typically a software layer provided by the camera control program, another software layer or driver between that and the physical hardware and perhaps even firmware in the camera itself. All of these layers must be working properly for your clicking on the Expose button to work.  So it is with CCDAutoPilot.    It communicates with the various programs through the Microsoft Common Object Model (COM) interface.  This is a Microsoft standard method of inter-program communications that has been basic to Windows for decades.  In this environment, your camera control program might be called a "server" and you pushing the button is a "client".  When CCDAutoPilot takes over, it is the client.

Now, just as two astronomers pushing buttons on the same camera control program would not expect good results, so too when CCDAutoPilot is controlling an application, it is best to not disturb the server application.  Even though you might not see anything at the user interface (UI) level, there is most likely things going on under the hood.

Extend this concept from camera servers to include telescopes servers, focus servers, rotator servers, plate solve servers, dome servers and weather servers and you can quickly see there is a lot of complex sequencing that is going on. Thus the best thing to do when an automated session is underway, is to not disturb the PC.  Depending on the processing capability of the PC controlling the observatory, this would include using other applications such as web browsing.  If your PC is a dual processor PC or better and you have more than 1 GB of RAM, you can probably use other applications without incident - the key word being "probably".  When in doubt, leave it alone.

So, keys to successful automation is insuring stable, reliable operation of all the hardware via the appropriate server program with you as the client.  Once that is assured, you are well on your way to successful automation.

CCDAutoPilot expects to be the only program controlling your servers. Some server programs, notably Maxim and TheSkyX, have internal "smarts" to help a manual operator. This "help" is not needed by CCDAutoPilot and can in fact interfere with successful operation.Be sure your server programs are configured to be "dumb", as indicated in the Software topic.

One more essential ingredient to automation - plate solving.  Plate solving is a term for taking an image of a bunch of stars and determining the coordinates of that image, coordinates being Right Ascension, Declination and Position Angle.  A plate solving routine may or may not need a starting set of RA and Dec coordinates to successfully determine the center coordinates.  The stars in the image are identified by the software and compared to a defined star catalog.  Knowing the "plate scale" (generally the unbinned image scale multiplied by the binning) and starting coordinates, the plate solving software determines the center of the image relatively quickly.  Since CCDAutoPilot will be moving the telescope around the sky, it must know where the telescope is pointing very precisely and this is where plate solving comes in.

Using Precision Slew, CCDAutoPilot tells the telescope to slew to your specified target location and takes an image.  A plate solve is performed, calculating the center of the image.  The difference between where the telescope "thinks" it is pointing and where the plate solve determines it actually is pointing is the pointing error.  CCDAutoPilot calculates this error and moves the telescope accordingly.  Since a number of mount issues can conspire to make that pointing correction imprecise, another plate solve can be taken to see where the mount correction wound up and make a subsequent correction if necessary.  A user-specified tolerance determines how close to be.

The keys to successful and reliable plate solving is proper choices of exposure, binning and start catalogs. See Plate Solving Notes for more information on this very essential requirement for automated imaging.

Another key aspect of successful automation is properly configured and reliably wired hardware. You should review the Troubleshooting topic and the various sub-topics for recommendations on hardware configuration that might apply to your system.

Be sure to review the Hardware topic for specific hints that may apply to your equipment.

With your "server" software working properly and reliably with you as "client" and plate solving working reliably, you are ready to hand off the detailed workings of the observatory to CCDAutoPilot, so you can do other things.