Home
Categories
Dictionary
Glossary
Download
Project Details
Changes Log
What Links Here
FAQ
License

Activating the tactical environment



By default, the aircrafts have fixed positions, but it is possible to have aircrafts moving alongside their respective flightplans, by setting the activate to true, or using the activate service during runtime. In that situation, it is possible to:
  • Change the destination waypoint for an aircraft
  • Creating a waypoint or adding an existing waypoint to a flightplan
  • Removing an existing waypoint from a flightplan

Activating the tactical environment

The activate boolean property allows to make the aircrafts moving alongside their respective flightplans. The period duration property specifies the period on which their position is updated[1]
It is set to 100 ms by default
. For example:
      <application name="tacticalenv">
         <module name="tacticalenv">
            <moduleProperty key="scenario" value="tacticalEnv2.xml" />
            <moduleProperty key="activate" value="true" />
            <moduleProperty key="period" value="500ms" />
         </module>
      </application>
It is also possible to activate / de-activate at any moment using the activate service. For example:
      ServiceInstance activateService = module.getService("http://dassault-aviation.com/tacticalenv", "activate");
      activateService.setDataBooleanValue("activate", true);
      activateService.invoke();

Aircrafts behavior

If the the tactical environment is activated, the aircrafts positions will be updated each period. Ther move will be performed alongside the flightplan specified by the flightplan field of the aircraft, and to the waypoint specified by the nextWaypoint field.

The algorithm is the following:
  • Initially the aircraft will move from its current position to the nextWaypoint
  • After the aircraft has reached this first waypoint, it will move from waypoint to waypoint in their order in the flightplan
  • After the aircraft has reached the last waypoint, it will not move anymore
The speed norm (in meter per second) of the aircraft will be determined by the speedNorth and speedEast fields of the aircraft.
tacticalenvactivate1
Each period, the the aircrafts service will be invoked by the tacticalEnv Application, with an update to the following fields:
  • latitude and longitude according to the aircraft new position
  • speedEast and speedNorth because the aircraft follow the flightplan
Whenever an aircraft has reached a waypoint, the aircrafts service will be invoked by the tacticalEnv Application, with an update to the following field:
  • nextWaypoint to specify the next waypoint to follow
The nextWaypoint service will also be invoked by the tacticalEnv Application, with an update to the following field:
  • aircraft to specify the aircraft name
  • waypoint to specify the waypoint that the aircraft will now follow[2]
    Its value is identical to nextWaypoint
Note that if the tacticalenvModel Application is also present in the framework, the aircraftsModel service will also be updated accordingly.

The nextWaypoint is not necessarily the first waypoint in the flightplan. For example:
tacticalenvactivate2

Going to a waypoint

The goto service allows to specify that a waypoint must go to a waypoint. It will change the flightplan and the nextWaypoint fields of an aircraft.
      <event name="goto">
         <data name="mode" type="gotoMode" />
         <data name="aircraft" type="string" />
         <data name="flightplan" type="string" />
         <data name="waypoint" type="string" />
      </event>

Creating a waypoint

It is possible to create a waypoint by invoking the newWaypoint service:
      <event name="newWaypoint">
         <data name="flightplan" type="string" />
         <data name="waypoint" type="string" />
         <data name="type" type="string" />
         <data name="positionType" type="waypointPosition" />
         <data name="index" type="int" />
         <data name="latitude" type="coordinate" />
         <data name="longitude" type="coordinate" />
      </event>
If the flightplan data is empty, then the waypoint will be created but not added in a flightplan, else it will be added in the specified flightplan. The positionType attribute allows to specify if the waypoint will just be added at the end of the flightplan (if its value is LAST), or at a specified index in the flightplan (if its value is INDEX). In this last case, the index data specifies the index of the waypoint in the flightplan.

Deleting a waypoint

It is possible to delete a waypoint by invoking the deleteWaypoint service:
      <event name="deleteWaypoint">
         <data name="flightplan" type="string" />
         <data name="waypoint" type="string" />
      </event>

Notes

  1. ^ It is set to 100 ms by default
  2. ^ Its value is identical to nextWaypoint

See also


Categories: builtin-applis

Copyright 2017-2020 Dassault Aviation. All Rights Reserved. Documentation and source under the LGPL v3 licence