mirror of
https://github.com/AdaCore/OpenUxAS.git
synced 2026-02-12 13:07:16 -08:00
* Intermediate progress * Update run-example Delaying while OpenAMASE opens appears to be important. It takes a while for OpenAMASE to actually open, and the user is supposed to click on the run button before OpenUxAS instances start. The five seconds offered by some examples is insufficient, and may not be guaranteed in any case. We make the delay configurable, so that the user can remove or adjust it, as needed. We also make sure that we kill off forked subprocesses and report if we're unable to do so. * Rename the Ada Waterway Search example Suggesting this naming convention so that we can create other examples that use the Ada UxAS more easily. * Add two additional configs Configs for Examples 03 and 05 * Update config for example 03 This should work out of the box on modern Linux. * Add config-driven delay after OpenAMASE starts This is important for the Ada example, although it may be related to the way in which we implemented it. * Enhance run-example - Fix error when OpenAMASE does not run - Handle Ctrl-C gracefully (shut down all subprocesses) - Allow a relative or absolute path to the example to be specified - this is nice, because then tab-complete works * Add missing example configs Also make sure that each ends with a newline (nice for `cat`). * Use Test_SimulationTime service to sync with AMASE Removes the need for any timeout to start UxAS instances. * Fix example 05_AssignTasks Adding the Test_SimulationTime service + a longer timeout on task assignment allows the example to run correctly.
Multi-Vehicle Watch Task
A multi-vehicle overwatch task. Multiple vehicles will begin following and watching the desired vehicle.
Files:
cfg_MultiVehicleWatchTask.xml- The UxAS configuration file for this example. This configuration file sets up the services and bridges.runUxAS_MultiVehicleWatchTask.py- This script runs UxAS with the details in the UxAS configuration filerunAMASE_MultiVehicleWatchTask.py- This script runs AMASE with the AMASE configuration file.Scenario_MultiVehicleWatchTask.xml- The AMASE configuration file for this example.MessagesToSend/- Contains the messages send by UxAS with the send messages service.MessagesToSend/AirVehicleConfiguration_V101.xml- Details for air vehicle 101.MessagesToSend/AirVehicleState_V101.xml- Air vehicle 101's initial state.MessagesToSend/AirVehicleConfiguration_V102.xml- Details for air vehicle 102.MessagesToSend/AirVehicleState_V102.xml- Air vehicle 102's initial state.MessagesToSend/AirVehicleConfiguration_V103.xml- Details for air vehicle 103.MessagesToSend/AirVehicleState_V103.xml- Air vehicle 103's initial state.MessagesToSend/MultiVehicleWatchTask_100.xml- The multi-vehicle watch task that requests a watch of vehicle 103.MessagesToSend/AutomationRequestMultiVehicleWatch.xml.xml- The automation request for the multi-vehicle watch task.
Running the example:
- Open a terminal window in the directory: "examples/tasks/MultiVehicleWatchTask"
- enter the command
python3 runUxAS_MultiVehicleWatchTask.pyor./runUxAS_MultiVehicleWatchTask.py - open another terminal window in the directory: "examples/tasks/MultiVehicleWatchTask"
- enter the command
python3 runAMASE_MultiVehicleWatchTask.pyor./runAMASE_MultiVehicleWatchTask.py - start the AMASE simulation (i.e. press the play button)
What happens?
- When the AMASE simulation starts, vehicles 101, 102, and 103 will be initialized and begin flying east.
- After 4 seconds, an automation request for the multi-vehicle watch task is sent.
- Once plans have been calculated, vehicles 101 and 102 will begin watching vehicle 103.