Scheduler

Ekos Scheduler Module

Inleiding

De Ekos-planner is een belangrijke component van uw werkmethode voor afbeeldingen maken. Het verbindt met INDI, start en stopt alle andere Ekos-modulen, plant taken volgens hun voorwaarden en prioriteiten, monitort die taken terwijl ze worden uitgevoerd en brengt het systeem down wanneer taken gereed zijn of voor het ochtendgloren. Of u sessies voor afbeeldingen uitvoert over meerdere dagen voor meerdere doelen of eenvoudig een enkele doel probeert gedurende een paar uur, wordt het aanbevolen dat de planner uw sessies voor afbeeldingen bestuurt.

Plannertabel

The heart of the Scheduler is a table displaying the list of Scheduler jobs the user wants to run. Associated with each jobs are attributes (mostly described in the settings section below). The attributes describe the name of the job, where the telescope should be pointed when imaging that job, a description of what types of images should be captured, constraints about when the jobs should run (e.g. altitude, twilight, moon, landscape blockages, etc.), things that need to be done before and after the job is run, and strategies for dealing with errors.

U kunt de rijen in de tabel van de planner toevoegen, verwijderen, wijzigen of de volgorde wijzigen.

  • You can add a Scheduler job row into the table by clicking the + control above the table, if all required attributes are filled out (name, position, and sequence file).

  • If you click on a row, you can then click the - control above the table to delete that row.

  • If you click on a row, you can then click the ^ or v controls to move those rows up or down in the job list.

  • If you double click on a row, the attributes of that job are filled in to the various settings on the Scheduler page. You can then change one or more of those attributes, and then click the checkmark above the table (after your double-click, the + became a checkmark), and the new attributes are assigned to that job.

Scheduler Graph

Associated with the scheduler table is a graph that represents the planned execution of scheduler jobs. Each graph line corresponds to a row in the scheduler table, plotting that scheduler job’s altitude as a function of time for tonight.

  • If a job is scheduled to run tonight, its graph line is highlighted in green during its expected run times.

  • There are arrows to the right (and possibly) left of the graph to change the display to “tomorrow night” and “the night after”, or to move it back to the current night.

  • If you click on a scheduler table row, the associated graph line is highlighted. One can also identify graph lines by hovering the mouse over them.

  • Clicking in the graph will display the time and altitude for the selected scheduler job.

  • The scheduler graph can be expanded or diminished by using the mouse to grab and drag the dotted separator between the scheduler graph and scheduler table.

Planning-algoritme

De plannertabel (boven) heeft een lijst met taken in volgorde van prioriteit, met hogere taken (op lager genummerde rijen) die hogere prioriteit hebben dan jobs verder omlaag in de lijst (met hoger genummerde rijen).

The Scheduler regularly plans (and re-plans) which jobs should be run, and when. It can start executing a given job, and then later preempt that job for a new one. It can become idle if no jobs can be run (e.g. in daylight), and sleep until such a time that it becomes active again. Its aim is to keep the equipment as busy as possible, while respecting the scheduler-table’s priorities. Here’s how it works.

When the scheduler starts (or when it replans, which it does every second while active), it looks through the entire list of jobs, starting at the highest priority job, and working its way down to the lowest priority one if necessary. When it finds a job that can run, it starts that job, possibly preempting the currently running job. A jobs can run if its constraints are met, e.g. the target is not blocked by the local terrain, it meets the minimum altitude constraint, it has not already completed all the desired imaging, …

Het algoritme toont zijn geprojecteerde volgende starttijden en stoptijden voor alle taken in de plannertabel. Deze toont ook zijn schatting van het aantal keren dat de taken uitgevoerd zullen worden tijdens de volgende 48 uren in het logpaneel onderaan het venster. Zie de schermafdruk van het plannervenster bovenaan deze sectie.

Het planningsalgoritme beschreven in de bovenstaande paragraaf staat bekend als het Greedy planningsalgoritme. Deze is aanbevolen. In eerdere versies van Ekos was er een ander “Klassiek planningsalgoritme” dat nu niet meer in Ekos is. Dat schema kon geen actieve jobs afbreken en maakte dus geen goed gebruik van de apparatuur zoals het Greedy algoritme.

There is a checkbox option in the scheduler options menu called Use greedy scheduling which defaults to being checked. The system works as described above when it is checked. When it is unchecked the scheduler is prevented from scheduling lower priority jobs when uncompleted higher priority jobs cannot run. This results in less efficient use of the system, but may give you more control over scheduling.

Plannerbestanden (.esl)

De plannertabel met zijn lijst met taken en attributen kan opgeslagen worden op schijf en terug ingelezen. Het schrijft een .esl-bestand. Besturing voor het schrijven van de huidige plannertabel naar schijf en teruglezen van andere .esl-bestanden staan boven de tabel rechts.

Instellingen

Ekos Scheduler provides a simple interface to aid the user in setting the conditions and constraints required for an Scheduler job. You must select the Target, its coordinates, and the Sequence before you can add a job to the Scheduler.

Elke job in de planner bestaat uit het volgende:

  • Target name and coordinates: Select target from the Find Dialog or Add it from Observation Planner. You can also enter a custom name. Coordinates can also be copied from the SkyMap using the button just to the right of the coordinates.

  • Optional PA: The position angle (or image rotation) can be specified for systems with camera rotation hardware.

  • Optional FITS File: If a FITS file is specified, the astrometry solver solves the file and use the central RA/DEC as the target coordinates.

  • Sequence file: The sequence file is constructed in the Ekos Capture Module. It has a list of capture specifications, where each spec details the number of images to capture, which filter to use, the exposure length, the gain, file naming details, temperature settings, prefixes, download directory, etc.

  • Profile: Select which equipment profile to utilize when starting Ekos. If Ekos & INDI are already started and online, this selection is ignored.

  • Steps: The user selects what steps should be taken at the start of the job. The possibilities are: (1) Start mount tracking, (2) autofocus, (3) run a plate solving alignment, (4) start the auto-guider. One or more can be chosen.

  • Startup Conditions: Conditions that must be met before the Scheduler job is started. Currently, the user may select to start as soon as possible, ASAP, or when the target is near or past culmination, or at a specific time.

  • Constraints: These are conditions that must be met at all times during the Scheduler job execution process. These include minimum target altitude, minimum moon separation, twilight observation, artificial horizon altitude constraints, and weather monitoring.

  • Completion Conditions: Conditions that trigger completion of the Scheduler job. The default selection is to simply mark the Scheduler job as complete once the sequence process is complete. Additional conditions enable the user to repeat the sequence process a number of times or indefinitely, or up until a specific time.

Overige opties

There are several other options to control how the Scheduler behaves. These are found in the Scheduler options menu, shown below, which opens with the Options... button located in the lower right of the Scheduler.

Scheduler Offset Settings Scheduler Alignment Settings Scheduler Jobs Settings Scheduler Scripts Settings

Taakvoortgang onthouden

Among the settings shown above, one important one is known as Remember job progress. When this box is checked and a job is running, the Scheduler looks at the job’s images already captured on disk, and doesn’t re-capture the ones that are already there. The benefit is that if a job is restarted, or re-run another night, or if multiple jobs are being run together, stopping and starting when they are runnable, then jobs re-start right where they left off. This works well with the Repeat until terminated job-completion option. If Remember job progress is unchecked, jobs would restart from the start of their sequence specification each time, which probably isn’t what you want. Unfortunately, if the images are not stored on the same computer that Ekos is running on, then this feature doesn’t work and the jobs restart from their beginning.

A possibly confusing side-effect of Remember job progress is that if you’ve run a job using the (default) Sequence Completion finish condition, and it has captured all its images, and now you want to run the job again, the Scheduler won’t schedule the job because it believes that all the images have already been captured. You’d either need to move those images elsewhere on disk, or change the finish condition to Repeat for N Times, or Repeat Until Terminated.

Herhalingen van groepen

Deze functie biedt u het uitvoeren van twee of meer plannertaken op ruwweg dezelfde prioriteit, zodat als ze beiden uitvoerbaar zijn, ze voortgang zouden hebben op ruwweg dezelfde snelheid. Dit kan van toepassing zijn, bijvoorbeeld, voor taken die opnamen maken voor meerder tegels in een mozaïek, maar is algemeen van toepassing op elke set taken.

Normally the (Greedy) scheduler’s job priority is set by the row the job is listed in the Scheduler’s job table. Jobs on rows closer to the top run with higher priority than jobs lower down. Thus, if a job on row 2 (Job2) uses Repeat Until Terminated, and that job’s running constraints are satisfied, a lower down job (e.g. Job3) will not be scheduled to run.

If you wish to alternate jobs, you can assign each of the jobs the same group name, and give the jobs one of the repeating finish conditions (e.g. Repeat for N times, or Repeat Until Terminated). With that setup, jobs in the same group will cede to each other if they have completed more ‘Repeat Iterations’ than the other job. So, if Job2 with group “MyGroup” completes its 2nd iteration, and Job3 with the same group name has only completed 0 or 1 iterations, when the time comes to schedule Job2, Job3 will run instead.

Practically speaking, imagine you had a 6-panel mosaic you wanted to alternate. You might give all of those jobs the same group name, make them all e.g. “Repeat for 5 times”. Then, they would run in lock-step. The cadence of job switching would be controlled by the length of the sequence file assigned to each of those jobs. You wouldn’t want to make the cadence too short (e.g. capturing one 2-minute image), as there is overhead in switching jobs. For instance, starting jobs may involved aligning, starting guiding, and even focusing.

Alle jobs herhalen

Er is een keuzevak en getalinvoer direct onder de takentabel van de planner die u het herhalen biedt van het gehele plan N keer. Dit kan gebruikt worden om een paar taken te alterneren. U kunt de taken in de planner bekijken, deze instellen op N keer herhalen en de taken zullen zich herhalen. Deze wijziging is niet compatibel met ‘Taakvoortgang onthouden (hier boven) en niet beschikbaar als Taakvoortgang onthouden is geactiveerd. (Opmerking: taakvoortgang onthouden is aanbevolen).

Actieve taken bewerken

Het is mogelijk de tabel met taken in de planner en attributen van individuele taken te bewerken, terwijl de planner actief is. Zoals altijd klikt u dubbel op een taak, wijzigt de gewenste attributen en klikt op het keuzevak om de wijziging af te ronden. Als u edit de actieve taak bewerkt zal deze opnieuw gestart worden (d.w.z. de opstartstappen (draaien, focusseren, uitlijnen, volgen) zullen opnieuw gedaan worden. U kunt ook taken omhoog en omlaag in prioriteit verplaatsen, nieuwe taken toevoegen of bestaande verwijderen. U kunt de actieve taak niet verwijderen.

Eén belangrijk attribuut van plannertaken is hun reeksbestand (.esq) die de opnamemodule bestuurt terwijl de taak actief is. Het stelt bijvoorbeeld het aantal opnamen, gebruikte filters, versterking/ISO, etc. in. De .esq wordt normaal aangemaakt en bewerkt in het tabblad Opnamen, maar dat kan niet gedaan worden terwijl de planner actief is. Als u wijzigingen wilt maken in een .esq-bestand terwijl de planner actief is of een nieuwe wilt aanmaken, biedt de planner een hulpmiddel genaamd de bewerker van opnamereeksen.

Capture Sequence Editor

De Bewerker van opnamereeksen is een hulpmiddel om opnamereeksbestanden aan te maken en te bewerken (.esq) die gestart kunnen worden door te klikken op het bewerkpictogram (potlood) net boven de plannertabel. Een schermafdruk wordt onderstaand getoond.

Capture Sequence Editor

De bewerker lijkt in gebruik en indeling erg op het tabblad Opname–hoewel er alle besturing ontbreekt om de afbeelding op te nemen. U bewerkt taken op dezelfde manier zoals u doet in opnamen en laadt of slaat reekswachtrijen op ook op dezelfde manier (hoewel er extra knoppen Laden en Opslaan naar in de bewerker geboden worden).

Belangrijk

Het is belangrijk te begrijpen dat opnamereeksen tot op zekere hoogt afhangen van het te gebruiken filterwiel en camera (bijv. de filternamen, de mogelijke ISO-waarden, …). De Bewerker van opnamereeksen, die niet verbonden is met de apparaatbesturing, heeft geen directe toegang tot die informatie. In plaats daarvan gebruikt de bewerker de waarde uit de laatste keer dat het tabblad Opnamen was verbonden met zijn apparaten. Het kan dus zinloos zijn om een .esq-bestand aan te maken voor een andere camera of filterwiel dan de laatste waarmee was verbonden. U moet misschien wachten totdat u plannertaak gereed is en die .esq direct bewerken in het tabblad Opnemen.

Het is ook aanbevolen dat u geen .esq-bestanden overschrijft wanneer plannertaken nu diezelfde bestanden gebruiken. (Het is OK als de planner actief is, maar niet die taak uitvoert.) Dit kan de planner en opnamemodulen uit synchronisatie halen, omdat ze de bestanden op verschillende momenten lezen. In plaats daarvan kunt u opslaan naar een verschillende bestandsnaam en daarna de te gebruiken plannertaak de nieuwe .esq bestandsnaam geven.

Werkmethode

Scheduler + Planner

The description above only tackles the Data Acquisition stage of the observatory workflow. The overall procedure typically utilized in an observatory can be summarized in three primary stages:

  1. Opstarten

  2. Verzamelen van gegevens (inclusief preprocessen en opslag)

  3. Shutdown

Opstartprocedure

De opstartprocedure is uniek voor elk waarneemstation, maar kan inhouden:

  • Aanzetten apparatuur voor de energievoorziening

  • Controleren op veiligheid/juistheid

  • Weercondities controleren

  • Licht uitdoen

  • Besturing ventilatie en licht

  • Uitparkeren koepel

  • Uitparkeren opstelling

  • etc.

Ekos Scheduler only initiates the startup procedure once the startup time for the first Scheduler job is close (default lead time is 5 minutes before startup time). Once the startup procedure is completed successfully, the scheduler picks the Scheduler job target and starts the sequence process. If a startup script is specified, it shall be executed first.

Gegevens verzamelen

Afhankelijk van de keuzes van de gebruiker, gaat dit typisch als volgt:

  • Draai de opstelling naar het doel. Indien een FITS-bestand werd opgegeven, wordt dit eerst opgelost, en wordt daarna naar de coördinaten gedraaid.

  • Het doel automatisch focussen. Het autofocusproces kiest automatisch de beste ster in de frame, en gebruikt dit in het autofocus-algoritme.

  • Los de plaat op, sync de opstelling, en draai naar de coördinaten van het doel.

  • Focussen herhalen na het uitlijnen, omdat de frame tijdens het oplossen van de plaat kan zijn bewogen.

  • Calibreren en autovolgen: het calibratieproces selecteert automatisch de beste ster om te volgen, voert de calibratie uit, en start het autovolgproces.

  • Load the sequence file in the Capture module and start the imaging process.

  • Coördineer moduleproblemen, zoals mislukken bij volgen of uitlijning. Ze kunnen resulteren in onderbreken en opnieuw plannen van taken in de planner.

  • Opmerking–sommige van de interacties tussen modulen worden geïnitieerd door de modulen zelf, maar worden gemonitord door de planner. Deze omvatten meridiaan omdraaiingen, uitvoeren van autofocus geïnitieerd door temperatuurwijzigingen of aflopen van timers en vereisten voor opnamen voor minimale afwijkingen in het volgen.

Shutdown

Once the Scheduler job is completed successfully, the scheduler selects the next Scheduler job. If no job can be scheduled at this time, the mount is parked until a next job can run. Furthermore, if the next job is not due for a user-configurable time limit, the scheduler performs a preemptive shutdown to preserve resources and performs the startup procedure again when the target is due.

Indien een onherstelbare fout optreedt, zal de waarneemstation een afsluitprocedure beginnen. Als er een script is voor afsluiten, wordt die het laatst uitgevoerd.

In de volgende video ziet u een eerdere versie van de planner in actie, maar de basisprincipes gelden nog steeds:

Ekos Scheduler (https://youtu.be/v8vIXD1kois)

Weer monitoren

Nog een kritieke eigenschap van elke op afstand bediende automatische waarneemstation is het monitoren van het weer. Voor weer-updates vertrouwt Ekos op de geselecteerde weer-driver van INDI, voor het continu monitoren van de weercondities. Eenvoudigheidshalve kunnen de weercondities opgesomd worden in drie toestanden:

  1. Ok: Weather conditions are clear and optimal for imaging.

  2. Warning: Weather conditions are not clear, seeing is subpar, or partially obstructed and not suitable for imaging. Any further imaging process is suspended until the weather improves. Warning weather status does not pose any danger to the observatory equipment so the observatory is kept operational. The exact behavior to take under Warning status can be configured.

  3. Alert: Weather conditions are detrimental to the observatory safety and shutdown must be initiated as soon as possible.

Startup & Shutdown Scripts

Due to the uniqueness of each observatory, Ekos enables the user to select startup and shutdown scripts. The scripts take care of any necessary procedures that must take place on startup and shutdown stages. On startup, Ekos executes the startup scripts and only proceeds to the remainder of the startup procedure (unpark dome/unpark mount) if the script completes successfully. Conversely, the shutdown procedure begins with parking the mount & dome before executing the shutdown script as the final procedure.

OPstart en afsluitscripts kunnen in elke taal worden geschreven die op de lokale machine beschikbaar is. 0 moet worden gerapporteerd bij succes, elke andere waard betekent dat er iets niet goed is gegaan. De standaarduitvoer van een script gaat ook naar het logvenster van Ekos. Hier volgt een voorbeeld-demo van een opstartscript in Python:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import time
import sys

print "Apparatuur aanzetten..."
sys.stdout.flush()

time.sleep(5)

print "Veiligheidsschakelaars controleren..."
sys.stdout.flush()

time.sleep(5)

print "Alle systemen zijn GO"
sys.stdout.flush()

exit(0)

The startup and shutdown scripts must be executable in order for Ekos to invoke them (e.g. use ``chmod +x startup_script.py`` to mark the script as executable). Ekos Scheduler enables truly simple robotic operation without the need of any human intervention in any step of the process. Without human presence, it becomes increasingly critical to gracefully recover from failures in any stage of the observation run. Using Plasma notifications, the user can configure audible alarms and email notifications for the various events in the Scheduler.

Mosaic Planner

Mosaic Planner

Hubble-like super wide field images of galaxies and nebulae are truly awe-inspiring, and while it takes great skills to obtain such images and process them; many notable names in the field of astrophotography employ gear that is not vastly different from yours or mine. I emphasize vastly because some do indeed have impressive equipment and dedicated observatories worth tens of the thousands of dollars. Nevertheless, many amateurs can obtain stellar wide-field images by combining smaller images into a single grand mosaic.

We are often limited by our camera+telescope Field of View (FOV). By increasing FOV by means of a focal reducer or a shorter tube, we gain a larger sky coverage at the expense of spatial resolution. At the same time, many attractive wide-field targets span multiple FOVs across the sky. Without any changes to your astrophotography gear, it is possible to create a super mosaic image stitched together from several smaller images. There are two major steps to accomplish a super mosaic image:

  1. Maak meerdere opnamen die samen met enige overlap het hele object beslaan. De overlap is nodig voor de software die de sub-afbeeldingen met elkaar uitlijnt en aan elkaar verbindt.

  2. Process the images and stitch them into a super mosaic image.

The 2nd step is handled by image processing applications such as PixInsight, among others, and will not be the topic of discussion here. The first step can be accomplished in Ekos Scheduler where it creates a mosaic suitable for your equipment and in accordance with the desired field of view. Not only Ekos creates the mosaic panels for your target, but it also constructs the corresponding observatory jobs required to capture all the images. This greatly facilitates the logistics of capturing many images with different filters and calibration frames across a wide area of the sky.

The Mosaic Planner in the Ekos Scheduler will create multiple Scheduler jobs based on a central target. To toggle the planner, click on the Mosaic Planner button in Ekos Scheduler or KStars INDI toolbar as illustrated in the screenshot. The planner draws the Mosaic Panel directly unto the sky map. It is recommended to enable HiPS overlay for the best experience. The planner is composed of four stages:

  1. Confirm Equipment: Ekos attempts to load equipment settings from INDI. If unsuccessful, you need to enter your equipment settings including your telescope focal length in addition to camera’s width, height, and pixel dimensions. The settings are saved for future sessions.

    Confirm Equipment

  2. Adjust Grid: Select the mosaic panel dimension and overlap percentage. The Mosaic Panel is updated accordingly on the sky map. Adjust the Position Angle to match the desired mosaic orientation in the sky. If the Position Angle is different from your camera’s usual orientation, you may need to rotate the camera either manually or via a mechanized rotator when the scheduler jobs are executed. Tile transparency is automatically calculated by default but may be turned off and adjusted manually. To compute the mosaic field from the number of tiles, click the Cover FOV button. The mosaic panel can be centered in the sky map by clicking on the Recenter button.

    Select Grid

    Een grote overlap zorgt er voor dat het aan elkaar naaien van frames gemakkelijker zal zijn tijdens nabewerking, maar het vereist meer panelen om de gewenste uitbreiding te dekken. Als u echter al het minimale aantal sub-frames weet dat uw afwijs-algoritme zal gebruiken tijdens nabewerken, dan kunt u de overlap verhogen om die hoeveelheid te halen op de gebieden gedekt door meerdere panelen. Bijvoorbeeld, een 4x4 mozaïekraster met 75% overlap heeft 16 sub-frames die de centrale doorsnede dekken, wat genoeg is voor Winsorized Sigma afwijzing. Hoewel de resulterende stapel niet dezelfde hoogte heeft op alle delen van het uiteindelijke frame, geeft deze methode u controle over de signaal-ruisverhouding en biedt u om de context naar uw doel te leveren tijdens het leveren van een relatief laag aantal opnamen.

    The large number drawn in the corner of each grid pane represents the order in which panes will be captured. The default S-shaped choice (west-east then alternating high-low/low-high moves), ensures minimal movement of the mount during observation. Uncheck Minimum mount move to revert to west-east/high-low movement only. The coordinates of each pane are rendered in their center as degrees, minutes and seconds. Finally, the angle each pane rotates from the center of the mosaic is displayed at the bottom. If your field of view is large, or if your mosaic is located close to a celestial pole, you may observe that rendered panes start rotating visibly due their horizontal position or high declination. Use the overlap to ensure panes cover the desired frame extents properly.

    Scheduler Mosaic Tool - Large rotation

  3. Adjust Grid: Adjust Grid center by manually entering the J2000 center or by dragging the center of the mosaic on the sky map.

    Adjust Grid

  4. Create Jobs: The final step is to select the sequence file and directory to store the images. Target field may be automatically filled but may be changed as desired. Select the steps each scheduler job should execute in sequence (Track -> Focus -> Align -> Guide -> Capture), and adjust the frequency of automatic alignment and focus routines that must be executed during the mosaic operation. For example, if Align Every is set to 2 Scheduler Jobs, then the first job will run the astrometry alignment, while the second job will skip it. When the third job is executed, alignment is performed again and so forth.

    Als u de verschillende taken in de mozaïekvelden wilt alterneren, vul dan in de groepsnaam een identifier die alle taken in de mozaïekvelden zullen delen en selecteer een herhalende voorwaarde voor gereed.

    Create Jobs

Click Create Jobs to generate mosaic scheduler jobs and add them to the schedule queue. You can further edit the jobs individually, as you would normal Scheduler jobs.