Very early on, an engineering mentor told me, “If you find yourself doing something more than twice…look to automate it". This is advice I have taken to heart through the years and, fortunately, for my daily routines, AGI technology makes this exceptionally easy to do for both beginners and advanced users.
Whether you are primarily working with STK or ODTK, both have extensive exposed APIs, allowing you to automate everything from simple scenario creation to running full complex analysis cycles. You can build tools directly into the AGI desktop software via UI Plugins or you can automate them with external scripts in any COM-enabled language. The catch is going to be not falling into the trap xkcd.com identifies rather amusingly…
"Image courtesy of xkcd.com (https://imgs.xkcd.com/comics/automation.png)"
When deciding the extent to automate AGI tools, the first question to ask yourself is, “How much of the task can be reasonably solved without my input?" This is a rather open ended question, but as an example, during a recent use case, I configured a tool to automate ODTK to support a customer. The main goal of this automation was to speed up and simplify the decision making around which ODTK scenarios the user needs to go and evaluate further.
As a result, the custom tool auto-runs multiple scenarios based on a configuration file, generates a suite of output products, and loads those products into the GUI so that the user can quickly scan the results and determine whether any action is needed. In this case, the amount of effort required to automate the entire decision making process, while probably possible, far exceeds the amount of time that it requires the user to scan the outputs and determine if any action is necessary, especially because further steps require user interaction.
By automating the vast majority of the process for the aforementioned custom ODTK tool with sample outputs, shown above, users only have to observe the results and open any of the scenarios automatically run to further explore the results. This is an example of an automation with AGI tools designed to be kicked off and allow the user to work on other activities (or go get their coffee) while the menial aspects of the task are completed.
Other times, a problem lends itself well to full automation of an AGI tool. A simple example would be using STK to compute access times for your constellation of LEO satellites and pass those times onto your scheduling tools. In this case, the objects are all well-defined, the constraints understood, and the analytic outputs don’t necessarily require any user interaction before being passed on to other processes. This workflow can be completely automated with an occasional sanity check by an engineer to make sure the outputs make sense.
Whatever your use case and level of expertise at automating AGI tools, there are a multitude of resources available for you to get started:
- A code repository with samples and snippets (https: agiweb.secure.force.com/code).
- Training classes (http://www.agi.com/training).
- As part of the STK and ODTK installs, there are resources available demonstrating various aspects of the available customization and automation, which are most easily accessed through the help system.
Last, but not least, when getting started, you can make use of capabilities such as the “Scripting Tool” in ODTK and the “Button Tool” in STK. These are staples that will help you get started.