Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Apogy/UserGuide"
(→Introduction) |
(→Apogy User's Guide) |
||
Line 1: | Line 1: | ||
= Apogy User's Guide = | = Apogy User's Guide = | ||
− | + | = Table Of Contents = | |
__TOC__ | __TOC__ | ||
− | + | = Introduction = | |
Apogy was originally developed at the Canadian Space Agency to control space exploration rovers and their associated sensors. Integrating all these systems developed by many different contractors and allowing them to be controlled as an integrated entity represented a challenge. In order works, a tool to plan, validate, execute and monitor integrated operations to support multiple missions was required. The technical team soon realized that a reusable framework could save a lot of work and allow for future growth. Apogy is the result of this thinking. | Apogy was originally developed at the Canadian Space Agency to control space exploration rovers and their associated sensors. Integrating all these systems developed by many different contractors and allowing them to be controlled as an integrated entity represented a challenge. In order works, a tool to plan, validate, execute and monitor integrated operations to support multiple missions was required. The technical team soon realized that a reusable framework could save a lot of work and allow for future growth. Apogy is the result of this thinking. | ||
Line 17: | Line 17: | ||
# Makes use of Open Source librairies that are Eclipse Public License compatible; | # Makes use of Open Source librairies that are Eclipse Public License compatible; | ||
− | = | + | = Overview = |
In Apogy, users control Systems by invoking commands (through Programs) and monitor the System's health through telemetry (i.e. states). | In Apogy, users control Systems by invoking commands (through Programs) and monitor the System's health through telemetry (i.e. states). | ||
Line 31: | Line 31: | ||
The System's command produces result (i.e. returned value, such as an Image, an error code, etc.) that Apogy geo and time tags. This allows the results to be displayed within the 3D Environment. This helps in maintaining the situational awareness of the operator and keep the data in context. | The System's command produces result (i.e. returned value, such as an Image, an error code, etc.) that Apogy geo and time tags. This allows the results to be displayed within the 3D Environment. This helps in maintaining the situational awareness of the operator and keep the data in context. | ||
− | == | + | == Installing Apogy == |
− | + | == Launching Apogy == | |
− | + | = Quick Start = | |
− | + | To get started quickly, we will import an existing session (one of the example) and then used it to command the Rover example. | |
− | + | == Importing an Existing Session == | |
− | + | ||
− | + | ||
− | + | ||
− | + | #Launch Apogy. | |
+ | #Open the ''Welcome'' perspective if not already opened: | ||
+ | ##In the top menu bar, select [[Image:Apogy_Perspective_Icon.png|Open New Perspective]]. This will open the ''Add Perspective'' pop-up. | ||
+ | ## In the pip-up, select the '''''Projects''''' perspective; | ||
+ | ## Press ''OK''. | ||
+ | #In the ''Welcome'' perspective, select the '''''Projects''''' view; | ||
+ | #In the ''Registry'' list, select '''''org.eclipse.apogy.example.rover.apogy'''''; | ||
+ | #Press ''Import'' . This will bring up the ''New Apogy Project'' wizard; | ||
+ | #Change the name of the project to '''''MyFirstProject''''', then press ''Finish''. | ||
+ | #In the ''Workspace'' list, select the project you just created, then press ''Open''. | ||
+ | #Verify that the ''Workspace'' list displays your project as '''''<Active> MyFirstProject''''' | ||
− | + | You now have you first Apogy Session loaded ! This session contains a Rover System, a Surface Worksite (the Mars Emulation Terrain at the Canadian Space Agency) and a few Programs. | |
− | + | == Instanciating the Variables == | |
− | + | Before we start our system, we will open the ''Programs'' perspective to get ready for invoking commands. | |
+ | #Open the ''Programs'' perspective if not already opened: | ||
+ | ##In the top menu bar, select [[Image:Apogy_Perspective_Icon.png|Open New Perspective]]. This will open the ''Add Perspective'' pop-up. | ||
+ | ## In the pip-up, select the '''''Programs''''' perspective; | ||
+ | ## Press ''OK''. | ||
− | + | The ''Programs'' perspective provides the view required to created, edit, delete and invoque Programs. At this point, we will bring up the 3D Viewer to show what is in the Environment: | |
− | # | + | #In the top menu bar, select Window-Show View. This will open the ''Add View'' pop-up. |
− | + | ## In the pip-up, select the '''''Apogy Views-3D Viewer''''' view; | |
− | # | + | ## Press ''OK''. |
− | # | + | |
+ | The 3D Viewer should show the terrain, the sky, and possibly the Sun, the Moon and the stars (depending on the time-of-day). We are ready to inctanciate our systems: | ||
− | + | #On the status bar, confirm that the Context shows Simulated. | |
+ | #Press ''Start''. The ''Start'' button should become disabled, and the ''Stop'' button enabled. | ||
− | + | The ''rover'' Variable has now been instanciated. In the 3D Viewer, you should see the rover standing on the corner of the terrain. We are almost ready to roll! | |
− | + | == Invoking Existing Commands == | |
− | + | We are now ready to invoke commands on the rover. For now, we will used the commands (or ''Operation Call'' in Apogy parlance) : | |
− | + | #In the ''Programs'' perspective, select the '''''Programs''''' view; | |
+ | #In the ''Programs'' list, select ''A.B''; | ||
+ | #Select the ''Program'' view: it should be display a list of ''Operation Call''. | ||
+ | #In the ''Operation Call'', select ''Start'', then press ''Invoke''. This will start the rover. | ||
+ | #Ensure you have the 3D Viewer showing the rover and the terrain. | ||
+ | #In the ''Operation Call'', select ''Move Forward'', then press ''Invoke''. The rover should start moving forward. | ||
+ | #In the ''Operation Call'', select ''Stop Motion'', then press ''Invoke''. The rover should stop moving. | ||
− | + | == Preventing the rover from moving through the terrain == | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | == | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | You may have noticed that the rover wheel where driving through the terrain, and not on top of it. This is due to the very simple simulation that is updating the rover position based on its speed (the rover only moves on the XY plane and changes it azimuth). This is of course, not very realistic. | ||
− | == | + | == Creating New Commands == |
− | + | == Browsing the Data Product == |
Revision as of 14:37, 28 August 2018
Apogy User's Guide
Table Of Contents
Introduction
Apogy was originally developed at the Canadian Space Agency to control space exploration rovers and their associated sensors. Integrating all these systems developed by many different contractors and allowing them to be controlled as an integrated entity represented a challenge. In order works, a tool to plan, validate, execute and monitor integrated operations to support multiple missions was required. The technical team soon realized that a reusable framework could save a lot of work and allow for future growth. Apogy is the result of this thinking.
Apogy was built to:
- Be an organizationally neutral core framework (we did not want to be locked in with any particular contractor proprietary tool);
- Maximizes reuse between missions (keep the work to the specifics of each mission);
In order to so, Apogy :
- Is a component-based architecture that allows systems (ex: instruments, rovers, satellites) to “plug-in” and allow the system developer to concentrate on their system specific needs and the tooling to use them.
- Makes use of Open Source librairies that are Eclipse Public License compatible;
Overview
In Apogy, users control Systems by invoking commands (through Programs) and monitor the System's health through telemetry (i.e. states).
These Systems are operated in a Environment which defines such things as Digital Elevation Maps, orbit models, sun position, etc (i.e. what the Environment contains).
User, System, Environment and Data Product. |
The System's command produces result (i.e. returned value, such as an Image, an error code, etc.) that Apogy geo and time tags. This allows the results to be displayed within the 3D Environment. This helps in maintaining the situational awareness of the operator and keep the data in context.
Installing Apogy
Launching Apogy
Quick Start
To get started quickly, we will import an existing session (one of the example) and then used it to command the Rover example.
Importing an Existing Session
- Launch Apogy.
- Open the Welcome perspective if not already opened:
- In the top menu bar, select Open New Perspective. This will open the Add Perspective pop-up.
- In the pip-up, select the Projects perspective;
- Press OK.
- In the Welcome perspective, select the Projects view;
- In the Registry list, select org.eclipse.apogy.example.rover.apogy;
- Press Import . This will bring up the New Apogy Project wizard;
- Change the name of the project to MyFirstProject, then press Finish.
- In the Workspace list, select the project you just created, then press Open.
- Verify that the Workspace list displays your project as <Active> MyFirstProject
You now have you first Apogy Session loaded ! This session contains a Rover System, a Surface Worksite (the Mars Emulation Terrain at the Canadian Space Agency) and a few Programs.
Instanciating the Variables
Before we start our system, we will open the Programs perspective to get ready for invoking commands.
- Open the Programs perspective if not already opened:
- In the top menu bar, select Open New Perspective. This will open the Add Perspective pop-up.
- In the pip-up, select the Programs perspective;
- Press OK.
The Programs perspective provides the view required to created, edit, delete and invoque Programs. At this point, we will bring up the 3D Viewer to show what is in the Environment:
- In the top menu bar, select Window-Show View. This will open the Add View pop-up.
- In the pip-up, select the Apogy Views-3D Viewer view;
- Press OK.
The 3D Viewer should show the terrain, the sky, and possibly the Sun, the Moon and the stars (depending on the time-of-day). We are ready to inctanciate our systems:
- On the status bar, confirm that the Context shows Simulated.
- Press Start. The Start button should become disabled, and the Stop button enabled.
The rover Variable has now been instanciated. In the 3D Viewer, you should see the rover standing on the corner of the terrain. We are almost ready to roll!
Invoking Existing Commands
We are now ready to invoke commands on the rover. For now, we will used the commands (or Operation Call in Apogy parlance) :
- In the Programs perspective, select the Programs view;
- In the Programs list, select A.B;
- Select the Program view: it should be display a list of Operation Call.
- In the Operation Call, select Start, then press Invoke. This will start the rover.
- Ensure you have the 3D Viewer showing the rover and the terrain.
- In the Operation Call, select Move Forward, then press Invoke. The rover should start moving forward.
- In the Operation Call, select Stop Motion, then press Invoke. The rover should stop moving.
Preventing the rover from moving through the terrain
You may have noticed that the rover wheel where driving through the terrain, and not on top of it. This is due to the very simple simulation that is updating the rover position based on its speed (the rover only moves on the XY plane and changes it azimuth). This is of course, not very realistic.