Agents can be created to monitor the progress of a trainee throughout a lesson. If the main purpose of a lesson is to gauge how well the trainee knows the procedures and checklists of a certain operation then it may be important to let the trainee take control of the aircraft, only guiding them when a mistake is made or too much time has passed. In this way, the lesson can adapt to a trainee’s skill level as they learn.
One way the agent can be created to provide an environment for autonomous learning is to have it simply judge the order of operations or checklist tasks. In this way, the trainee is able to execute the lesson objectives with little to no guidance (which can benefit more advanced trainees).
Below, we will go over how to create an agent which will judge the completion of tasks in a specific order (as per a checklist or flight manual for example).
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.
In this lesson, we will follow a procedure to start the engine in the Cessna.
3. Edit the entity settings so that the aircraft is on the ground at the McCarran Airport with engines off. Click on the Cessna and the General Tab on the Entity Settings window. Change the settings to match the following:
4. Next, edit the Startup Parameters to ensure that the engine is off when on the ground. Click the Startup Parameters tab and change Is Engine On On Ground On Start to False.
5. Save the scenario and agent by clicking the Save All button at the top of the Scenario Editor toolbar. Rename the scenario and agent to Order Judgment
6. Next, go to the Agent Editor. Click on the Agents tab and double click the Order Judgment Agent (note that this agent may already be open - the tab will be visible on the bottom of the Entity Settings window).
7. In the first step, add VI Guidance to explain the lesson to the trainee. Right click on Instructions > Instructional Aids > VI Guidance. (Timeouts can be used at your discretion to provide clear, concise directions).
Per the flight manual the start procedure is as follows:
We will only be creating the agent for the bolded items (for the sake of time).
1. Throttle – OPEN 1/4 inch
2. Mixture – Idle Cutoff
3. Propeller Area – CLEAR
4. Master Switch – ON
5. Flashing Beacon – ON
6. Auxiliary Fuel Pump Switch – ON
7. Mixture – SET to FULL RICH (full forward) until stable fuel flow is indicated (usually 3 to 5 seconds), then set to IDLE CUTOFF (full aft) position
8. Auxiliary Fuel Pump Switch – OFF
9. Ignition Switch – START ( release when engine starts)
10. Mixture – ADVANCE smoothly to RICH when engine starts
11. Oil Pressure – CHECK
12. Navigation Lights – ON as required
13. Avionics Master Switch – ON
14. Radios – ON
15. Flaps - RETRACT
Your agent should look something like this:
8. Add a new step and label it “Initialization”. Right click on Step 2 > Edit, then rename.
9. Call the action to engage parking brakes. Right click on Instructions (under Initialization Step) > Advanced > Call Action > search for “brakes” and check the Show hidden tokens box. Select the action ACTION_AC_SET_PARKING_BRAKES, then click Add.
10. Type “1” in the Value box to set the parking brakes on, then click OK.
Cyclic Steps to Judge Order
Next, we will be adding cyclic steps for every action we want to monitor based on order. What this means is if the trainee were to switch the ignition switch to the START position before they were to turn on the Master Switch, then they will have performed the procedure in the incorrect order.
11. Create a Local Parameter to judge “Order”. Click View at the top of the Scenario Editor toolbar > Local Parameters > right click on Local Parameters > New, name the Local Parameter “Order” and click OK.
12. Add a new step and rename to “Throttle”. Make this step cyclic. Right click on Throttle > Do Cyclic.
13. Add two Continue steps to Throttle. Right click on Instructions > Add Flow Control > Continue.
14. In the first Continue we will measure Throttle range and also Trainee Info for Order. After toggling with the scenario, the throttle state when it is ¼ open = 20. This is what we will measure for. Right click Range > Add Attribute > search for throttle and make sure Show hidden tokens box is checked. Select ATT_THROTTLE_CMD_SCALAR and click Add. Edit the range by right clicking on the attribute > Edit > change values to 10 < x < 30. Next, right click on Trainee Info > Compare Local Parameter > from the drop down menu select Order, change the = to a < (less than), and type “1” in the Compare To box.
This step is judging is the order of the throttle is being done first. Since it is difficult to perform the first checklist item out of order, we are basically checking to make sure the trainee is waiting for all instructions to be read before touching the throttle. Hence Order < 1, if the throttle is moved before Order = 1, they will get a message saying that order is incorrect.
15. Next, add VI Guidance to the Continue to indicate that steps have been performed in the incorrect order. Right click on the first Continue > Instructional Aids > VI Guidance.
You can also add a note into the Debrief section as well.
16. Add a quick timeout and then a Scenario End. Right click on the last item in the first Continue > Timeout > change Duration to 1. Right click on the new Timeout > Instructional Aids > Scenario End > change Status to incomplete and click OK.
The agent should look something like this:
17. Next, create a Local Parameter monitor when to end each cyclic step so they aren’t constantly running in the background after the trainee has performed the corresponding checklist item. Call this Local Parameter “End Cyclic Step”.
18. In the second Continue step of “Throttle” compare the Local Parameter End Cyclic Step in the Trainee Info. End Cycle Step = 1.
19. Add an End Cyclic Step after this Continue step. Right click on the second Continue > End Cyclic Step.
20. Create a new cyclic step with two Continues and rename it “Mixture”.
21. In the first Continue, we are measuring the Mixture knob to be at the Idle Cutoff position (knob pulled all the way out). Add this attribute to Status. Search for “mixture” (check Token box) and select ATT_MIXTURE_CMD, click Add. You will see something like this:
22. We are only checking for Index:0 so you can delete all the extraneous parameters and keep the top one.
23. Edit this attribute to equal 0. You only have to change the number in the Value box to 0.
24. In the first Continue step under Mixture, compare the Local Parameter Order in the Trainee Info. Order < 2.
25. Add VI Guidance underneath this Continue step similar to the VI Guidance we added for Throttle. Also add a timeout and Scenario End.
26. In the second Continue, add the End Cyclic Step = 2 into Trainee Info and put in an End Cyclic Step after the Continue.
The agent should look something like this:
27. The next checklist item is to make sure the propeller area is clear. Since we can’t really measure anything in this step, we will skip it for now. We don’t need to add this bit of information to the cyclic step order judgment.
28. For the creation of the next few steps, we will need to be in Preview mode. Unselect the active agent and click on the preview button.
29. Add a new cyclic step with two Continues and rename it “Master Switch”.
The easiest way to add the following attributes is to use the Monitor Tool. Click View at the top of the Scenario Editor toolbar > Advanced > Monitor.
Also, we will need to toggle the visibility of the yoke in the cockpit.
30. In the agent, select the Initialization Step. Create a new step so that it falls right under the Initialization Step. Rename this step to Toggle Visibility. In this step, call the action to toggle the yoke display. Right click on Instructions > Advanced > Call Action > search “toggle” (check Token box), select TOGGLE_LEFT_YOKE_DISPLAY, and click Add. Leave the boxes in the Do an Action window blank. Finally, ignore this step by right clicking on Toggle Visibility > Ignore.
This will allow you to test this action (right clicking on the action > Test) and the yoke will become transparent. By testing this action a second time the yoke will disappear. A third testing and the yoke will become visible again. Since we have ignored this step, when the agent is played, it will skip over this step entirely. We are using in only for ISD purposes. We are now able to access the instrument panel behind the yoke.
31. Back to the Monitor window, click on the red record button.
32. The Monitor Tool will start to keep track of aircraft functioning and user inputs to the aircraft. To obtain the attributes click the Master Switch buttons On and watch them display in the Monitor Tool.
33. You can then click and drag these attributes from the Monitor Tool to the agent editor. Drag them right into the Condition Status location.
34. In this first Continue, add Order to Trainee Info. Order < 3.
35. Add in VI Guidance and a Scenario End to the first Continue.
36. In the second Continue, add End Cyclic Step = 3 to the Trainee Info. Also add in the End Cyclic Step after this.
The Master Switch Step should look like this:
37. Create the final cyclic step with two Continues and rename it “Flashing Beacon”.
38. Add the Beacon attribute to the Status in the first Continue. Use the steps above to add this attribute like we added the Master Switch attributes. Use the monitor tool to track the user input when the BCN switch is turned on.
39. Edit the information for Trainee Info in both the first and second Continue steps.
40. Add in the VI Guidance and Scenario End for the first Continue and the End Cyclic Step in the second Continue.
Flashing Beacon step should look something like this:
Now that we have created all our cyclic steps, it is time to add in the steps that measure the trainee’s progress through the lesson.
41. Create a new step and rename it “Initialize Order”.
42. Set the Local Parameter Order to equal “1” in this step. Right click on Instructions > Set Local Parameter. In the drop down menu, select Order and enter 1 in the New Value box then click OK.
43. Add in VI Guidance to let the trainee know that they are to start the lesson.
44. Add a new step with two Continues and rename it Throttle.
45. In the Instruction area of this Throttle step add a 30 second timeout.
46. Create a new Local Parameter and name it Throttle. Set this Local Parameter to follow the 30 second time out. Throttle = 1.
47. Next, in the first Continue, add compare Local Parameter Throttle in the Trainee info. Throttle = 1. Add VI Guidance after this Continue telling the trainee that the lesson will terminate because they have not set the throttle in 30 seconds. Add a quick timeout and then a Scenario End (set Status to failed).
48. In the second Continue, add the attribute for the throttle that we are measuring for. The easiest way to do this is to copy and paste the attribute from the above cyclic steps. Use common Ctrl+C and Ctrl+V shortcut keys to cut and paste ATT_THORTTLE_CMD_SCALAR into the range.
49. After this Continue add only a Debrief output which will let the trainee know they performed the correct action. Do this by going to VI Guidance and then only filling out the Debrief section. Remember to click the Debrief check box.
50. Next, Set Local Parameters for Order = 2 and End Cyclic Step = 1.
The Throttle Step should look something like this:
51. Follow these steps (44-50) to create the new step for “Mixture”. The Order and End Cyclic Step parameters should increase by 1 for each new step.
Mixture step should look something like this:
52. For checklist item 3. Propeller Area – CLEAR, we can simple add a new step and VI Guidance tell the trainee to do so. Rename the step “Propeller Area”.
53. The remaining two steps for the Master Switch and the Flashing Beacon should be created by repeating steps 44-50, as was done for Mixture step.
Master Switch step should look something like this:
Flashing Beacon step should look something like this:
54. Finally, add a step and rename it Conclusion. Add VI Guidance to congratulate the trainee on a job well done. Add a Scenario End and enter 100 into the Grade box and change Status to passed.
55. Save the scenario and the agent.
56. Exit Scenario Editor Mode and go back to the LMS in Knowbook Center.
57. To test your new agent, right click on the session in the LMS > Check In > Final > click Check In at the bottom. Now double click on the lesson and click GO
It should be noted that this technique for building agents should be used for trainees who are more advanced and need little to no guidance.
Supplemental material can be used such as PDF or Word documents and may be opened in separate windows for trainee viewing. There is a tutorial lesson on the Wiki outlining how to import such material and display instructions.