Scoring with Objectives
Objectives and Local Parameters are both methods of tracking different values; and they behave very similarly. Their differences lie in that Objectives can be seen outside the current simulation. Objectives are passed into the session as it starts and then sent back to the Learning Management System (LMS). The Artificial Intelligence (AI) can do different things according to the initial objective level. Objectives are our global way to communicate between training 'platforms' (sequences in LMS, Sessions, Agents, etc.) while Local Parameters are session specific.
1. Create a new session with a controlled Cessna. Right click in the Knowledge Center white space > New > Session. Once in Scenario Editor, right click on the map > New > Cessna.
2. Create a new agent for the Cessna. Right click in the white space under the Agents Tab > New > Virtual Instructor.
3. To add an Objective, simply go to Tools in the Scenario Editor toolbar > Objectives Center.
4. To create a new Objective, right click in the right hand pane > New.
Name the new Objective “Score”.
5. There are many ways to track values by adding or subtracting, but for the sake of this tutorial we're going to start with a score of 100 and subtract points whenever the trainee makes a mistake. So add a step at the very beginning of a Virtual Instructor agent, right-click on Instructions and select Set Objective.
Click on the “…” button next to the Name box and select Score from the menu. Next, set the New Value to 100.
Now that we've set our Objective we must give the trainee tasks on which to be graded. In this session, the Cessna starts at 10,000 feet so we'll set the agent to subtract points every time the Cessna drops below 9,000 feet.
6. First, create a new step and right-click it, selecting Do Cyclic to make it a cyclic step. Then right-click again and Add Flow Control > Continue. Next, since we want to measure the altitude, right click on Range and add the attribute ATT_ALTIMETER_ALT_FEET (make sure to check the Show hidden tokens box) and set it to check for 0.00 < X < 9000 (right click the attribute > Edit). Once you've done this, the step will constantly check to see if the plane is less than 9,000 feet without interfering with the rest of the scenario.
7. Now we want to penalize the trainee for going under 9,000 feet so we'll subtract 5 from his score. Right click on Continue, then select Set Objective and set Score = Score - 5 as seen below.
8. What will happen now, if not fixed, is that the Cyclic Step will repeat itself as fast as it can calculate while the aircraft is under 9,000 feet therefore giving the trainee an inaccurately low score if they drop into that range for more than a split second. So what we should do is right click on Score, select Timeout and set it to 5 seconds; therefore giving the trainee 5 seconds to get back above 9,000 feet before subtracting more points.
The agent should look like this:
9. Create a new step and add a 30 second timeout at the beginning. Next, we'll output the information by adding VI Guidance. By putting a timeout in the new step it will allow us to track the trainee for a full 30 seconds before the VI Guidance and subsequent scenario end.
10. Right click on the 30 second timeout > Instructional Aids > VI Guidance. In the Subtitle text box, right click > Objective > select Score. Do this for the Debrief text box further down as well. (When the Attribute Characteristics window pops up just click OK, leaving the parameters in default.) This will set the Score to be output as text on screen so the trainee can see their score immediately, and also as a debrief output as well. Add some text saying “Your final score is " before the objective which shows as [Val1:Score] in the text boxes.
11. Finally add an End Scenario. Right click on VI Guidance > Instructional Aids > Scenario End. In the Grade box, click “…” > Objective > select Score. Change Status to completed.
Your session should now run and output the information on screen and in the debrief.
Sample Debrief Page: