 
              Optimized Contact Scheduling for NOAA Search and Rescue
Overview 2 Orbit Logic Proprietary
Not Just Clouds  NOAA satellites don’t just collect weather data  NOAA satellites also assist in Search and Rescue 3 Orbit Logic Proprietary
What is SARSAT?  NOAA operates the Search And Rescue Satellite Aided Tracking (SARSAT) system to detect and locate distress signals around the world 4 Orbit Logic Proprietary
Importance of Maintaining Contact  Satellite data is only useful if it can be sent to a ground station via a space to ground contact  Maintaining consistent contact means more data is available 5 Orbit Logic Proprietary
The Problem  For the best chance at finding distress signals, the space to ground contact schedule for the GPS satellites must be optimized to maintain a low DOP 6 Orbit Logic Proprietary
What is DOP?  DOP  Dilution of precision  Measurement of error propagation when making position measurements via satellite  DOP values range from 1 to ∞  1 is ideal  2-5 is reliable for navigation  5-10 is moderately reliable for some calculations  10-20+ is poor 7 Orbit Logic Proprietary
System Design 8 Orbit Logic Proprietary
The Team  Orbit Logic  Isabel Martinez, Zachary Roberts, Ella Herz  NOAA  Jesse Reich, Larry LeBeau, Kris Tai  AGI  Chris Mulcahy, Reggie Pforter, Jens Ramrath 9 Orbit Logic Proprietary
The Solution  Orbit Logic, in collaboration with NOAA and AGI, developed a software suite to solve this problem:  STK  Coverage tool for DOP calculations  Scheduler  Manages scheduling resources  Deconfliction for scheduling tasks  Plugin Code (python / C#)  Manages creation of STK scenario  Tracks DOP values  Adjusts scoring of tasking opportunities based on DOP 10 Orbit Logic Proprietary
Inputs and Outputs  Inputs  Satellite orbit data  Ground station location and obscuration masks  Ground targets / Areas of Regard (AOR)  Outputs (UI, .csv, keyword/value text files)  Contact schedules 11 Orbit Logic Proprietary
Workflow SARSAT User service Schedule configures performs generated inputs optimization Access and DOP Reports 12 Orbit Logic Proprietary
The First Approach 13 Orbit Logic Proprietary
Proof of Concept  Did initial prototyping demo using a python script  Controlled STK and Scheduler via API commands  Created tasks in Scheduler based on satellite to ground station access times  Queried STK for DOP reports, adjusted task timeslot scoring in Scheduler  Used default algorithms (One-Pass)  DOP optimization done in script, not in Scheduler itself  Contact tasks were broken up into 9 minute chunks  Each satellite to ground contact was a minimum of 9 minutes  Original optimization of schedule took 11 minutes from start to finish  Original script was not parallelized  Used an average DOP value for several targets across continental US 14 Orbit Logic Proprietary
Original Demo Screenshots 15 Orbit Logic Proprietary
How’d It Do?  Pros  Okay performance (took 11 minutes for whole optimization run)  Some optimization based on good satellites to use for good DOP  Cons  Timeslot scores were all set to 100 (highest) as long as they used any of the best satellites  Did not include actual DOP values for timeslot scoring  Not easily configurable  Points in US had to be chosen prior to scheduling  Doesn’t check if best satellites actually have access to a ground station 16 Orbit Logic Proprietary
The Second Attempt 17 Orbit Logic Proprietary
Goals For This Attempt  After Orbit Logic received the official statement of work, it was time to make some updates to the proof of concept  Goals for the first round of updates included:  Checking that there was actually access between the ground stations and the chosen best satellites  Tracking the actual computed DOP value for better use in optimization  Creating a mesh of points based on user-defined AOR instead of selecting all points manually  Converting python to C# for performance purposes  Also, NOAA said that the scheduling system no longer had to schedule LEO contacts  Instead, Scheduler will ingest the LEO contact schedule  The LEO contact schedule would become windows of unavailability on the resources 18 Orbit Logic Proprietary
Script Updates  Of the previously listed goals, all were accomplished  In the transition from python to C#, Orbit Logic also updated the following:  DOP value now tracked for each point, and the average DOP value across all points was used for scoring timeslots  Made input parameters configurable outside of code  Refactored method used for setting access restrictions in STK which boosted performance 19 Orbit Logic Proprietary
But Was It Better?  Pros  Very fast performance (~2 minutes)  Optimization now based on actual DOP values and best set of available satellites  Easily configurable  Cons  Poor coverage in some locations  Antennas not fully scheduled for contacts throughout the entire scheduling period 20 Orbit Logic Proprietary
Closing the Gaps 21 Orbit Logic Proprietary
What Was Going Wrong?  NOAA’s analysis showed there was poor DOP coverage near Alaska and the dateline  But in the schedule itself, it appeared all satellites that had access to that region were already contacting the ground station for the full time of access  Needed to investigate the problem setup in Scheduler 22 Orbit Logic Proprietary
Fixing Access  The first problem was related to how the access time constraint was used in STK  The access check added in the previous major update would send all access windows per satellite into STK separately  STK would in turn intersect all of the provided access times  This overly constrained the tasks to only occur if all ground stations had access to a given satellite  Changed the access constraint  Access windows were unioned prior to going to STK  Now it allows access as long as any one of the ground stations can see the satellite 23 Orbit Logic Proprietary
Allowing multiple Satellite Contacts  NOAA pointed out that satellites were allowed to contact multiple ground stations at a time  Original implementation assumed each satellite could only contact 1 ground station at a time (ie. accommodation = 1)  Updated the scheduling method  First algorithm run assumes all satellites have accommodation = 1  Locks all assignments in place from first algorithm run  Second algorithm run assumes all  Blue = Locked tasks from first run satellites have accommodation = unlimited  Green = Assigned tasks from second run  Second algorithm run fills in the gaps  This method prevents contact over- assignment for satellites 24 Orbit Logic Proprietary
How Are the Results Now?  Pros  Much longer contacts  DOP improvements  Cons  Gaps that are less than the minimum contact duration length are still unscheduled 25 Orbit Logic Proprietary
Discussion 26 Orbit Logic Proprietary
Further Work  Improvements needed to resolve the small gaps  Could be problem setup updates in Scheduler  Could be algorithm updates for Scheduler 27 Orbit Logic Proprietary
Conclusions  Final software suite does create optimized contact schedules based on DOP  Needed to iterate on the problem setup many times based on results from testing  Each iteration improved the DOP optimization  Final software suite is easy to use as well  Minimal user involvement needed to create optimized schedules  Scheduling method could be applied for any system to optimize contact schedules for DOP  Configurability allows users to run analysis for any satellite constellation, ground station and AOR combination 28 Orbit Logic Proprietary
Rescues This Year 29 Orbit Logic Proprietary
Contact Us Orbit Logic 7852 Walker Dr., Suite 400 Greenbelt, MD 20770 www.OrbitLogic.com Email: Isabel.martinez@orbitlogic.com sarsat@orbitlogic.com Phone: (301) 982-6232 x7103 30 Orbit Logic Proprietary
Backup 31 Orbit Logic Proprietary
Acronyms  AGI  LEO  Low Earth Orbit  Analytical Graphics Incorporated  NOAA  AOR  National Oceanographic and Atmospheric Administration  Area of Regard  PDOP  DOP  Position Dilution of Precision  Dilution of Precision  SARSAT  GEO  Search And Rescue Satellite  Geostationary Orbit Aided Tracking  USMCC  GPS  United States Mission Control  Global Positioning System Center 32 Orbit Logic Proprietary
Glossary  Accommodation  Number of tasks a resource can support simultaneously  Resource  Any object or entity required for schedule creation (ex. a satellite)  Task  An action in the schedule that requires resources to complete (ex. satellite contact)  Timeslot  Windows of time in which task assignments may occur. They are constrained by access and resource availability times 33 Orbit Logic Proprietary
Recommend
More recommend