TOOLS

A command and control system

Arena Map

A service that is provided within the Core System is the WARA-PS Arena Map. The Arena Map is a command-and-control (C2) system designed to both visualize missions conducted on site, perform simulations of missions remotely, as well as to integrate with resources and functions to support researchers and collaborators. The WARA-PS Arena is a position visualization tool that can display both real, as well as simulated UAV’s, USV´s, aircrafts, boats and people on a map. It consists of a webpage displaying the map and icons representing the units, as well as the backend – Consensus – that handles login as well as synchronizing instances.

The Arena takes in positions from AIS (larger boats) and ADS-B (aircrafts) to display the vehicles, as well as presenting units from ROS (quadcopters – UAV’s), Kockums (Piraya boats – USV’s), Naval SE (simulated objects – bots) and people (position is generated through the WARA-PS Android Tracker).

By displaying the positions of vehicles and people during field experiments, an overview over position and the movement of vehicles in the testing area is provided. The Arena is also connected to the streaming server, making it possible to follow the video stream of a unit by clicking on one of the Unmanned Vehicles on the map (see Arena Map tutorial).

The Arena Map frontend is an integration map with several functionalities that can be used to build scenarios. For example, areas and Points Of Interest (POIs) can be placed in the Arena map through the frontend. There are also several units available in the Arena, UAV´s, USV´s and boats among others (see more examples above). It is possible to give commands to the units included in the Arena through the frontend, thereby making it possible for those units to perform either simulated tasks or tasks in the real world, depending on whether or not the task is given to a simulated or real unit.

The Arena Map backend is a so-called middleware that connects to the broker and the Arena frontend. It ensures that the data that is collected from the broker (see Core System - Services page) and sent to the frontend has the right format. The Arena backend also receives information from the frontend and sends it to the broker. In addition to this, the authentication flow against azure is conducted through the backend.

Linked bellow is a tutorial showing how to use the Arena. To use the Arena and all its functions, a login is required. To obtain one, please contact the Core Team through the contact form that can be found at the bottom of the page.

3D Map

The Cesium 3D Map can be integrated with Unreal Engine, Unity, and CesiumJS for the web, offering developers a comprehensive suite for creating interactive 3D experiences. By using Cesium in conjunction with these platforms, developers can build immersive, interactive 3D maps and visualizations suitable for virtual and augmented reality, gaming, simulation, and web applications.

In this case, we have implemented a custom dataset, a tileset over Gränsö Slott, which can be easily added to the Cesium library or hosted independently. This allows us to display and manipulate the custom data seamlessly alongside built-in data, creating detailed, accurate visualizations of the area.

To use Cesium in Unreal Engine, developers can leverage the Cesium for Unreal Engine plugin, which enables easy import and display of Cesium’s 3D globe and map data, including custom tilesets like Gränsö Slott. The plugin includes tools for interacting with the data, such as zooming, rotating, and exploring the globe in real time.

In Unity, developers can utilize the Cesium for Unity package, which includes Unity-specific tools for integrating Cesium’s 3D maps and custom tilesets. With custom shaders and materials for realistic geospatial visualizations and components for map interaction, developers can create seamless 3D environments.

For the web, CesiumJS offers a powerful JavaScript library that allows for embedding and interacting with 3D maps directly in the browser. By using CesiumJS, developers can create interactive web applications with features like zooming, rotating, and manipulating custom datasets like Gränsö Slott. CesiumJS is ideal for real-time data visualization and broad accessibility across devices. Take a look yourself by visiting our interactive map of Gränsö Slott prototype

please note that this is a prototype and may have limited functionality

If you are interested in using Cesium, please contact us.

Bundles

WARA-PS utilizes docker which makes it possible to deploy software applications using containers (small operating systems). The containers enable the deployment of the software applications no matter what environment is used, meaning that anyone can run the applications.

To further ease the use of services and applications in WARA-PS so called bundles are used. “Bundles” are a powerful tool for software developers who want to run an entire system locally on their own computer for integration purposes. These bundles consist of scripts that automate the process of starting and running a collection of docker containers, along with their corresponding networks. By using the same docker images that are used in the cloud environment, developers can be confident that the local system will behave in the same way as the cloud-based version.

One of the key benefits of using bundles is their flexibility. In addition to running the entire system on a single computer, it’s also possible to run parts of the bundles over different computers in the same network, spreading the load of each bundle over the network. This is particularly useful for large-scale projects that require significant computing resources, as it allows developers to distribute the workload and accelerate the development process.

By leveraging the power of docker containers and networks, developers can quickly and easily spin up an entire system on their own computer or over a network, enabling them to iterate faster and produce higher-quality code. Whether you are working on a complex distributed system or a simple application, “bundles” can help you simplify your development process and achieve your goals more efficiently.

To summarize, you can easily try out our services and applications on your own by contacting us and getting access to our bundles. In order for some of the services and applications to function, multiple bundles have to be downloaded and deployed. If you have any questions or are interested in learning more, please contact us through the support page that can be found on the bottom right corner of the page.

Flight Simulator

X-Plane 11 is a powerful flight simulator that enables users to create custom plugins using the X-Plane SDK. Two custom plugins have been developed using the X-Plane Python plugin (XPPython) to enhance the user experience in X-Plane 11. The first plugin retrieves the user’s position data and publish it onto an MQTT broker using the MQTT protocol. This plugin provides real-time position data that can be used to track flights or share with other devices. It is written in Python and designed to work seamlessly with X-Plane 11. The second custom plugin uses the X-Plane SDK to add 3D objects to the X-Plane environment based on the position of other users who are connected to the MQTT broker.

In conclusion, these two custom plugins demonstrate the power of X-Plane’s plugin architecture, XPPython, and the versatility of the MQTT protocol. By using these tools, users can create custom plugins that enhance the functionality and customization options of X-Plane 11. Whether you are a hobbyist or a professional pilot, these plugins can help you get more out of your X-Plane experience.

Integration Test Tool

Node-red UI and Node-red Logic make up the so called WARA-PS integration test tool. Node-red UI is used to ensure that the integration between new agents and services to the WARA-PS API has been done correctly and is working. Both sensors and commands are tested. In addition to testing agents and services, Node-Red UI also shows data from the agents and services so that it can be evaluated. Both quantities such as direction and speed, and other capabilities are displayed. Some capabilities, like the medium an agent acts within for example, is represented through icons.

Node-Red Logic is used to translate system specific API’s from simple agents to the standardized WARA-PS API specification (see link above), e.g. the high accuracy positioning services which is implemented as a network Real Time Kinetics (nRTK) GPS. In this case the nRTK GPS is connected to a secondary broker where data such as position, accuracy, number of satellites etc. is published. Node-Red Logic translates and publish this data to the MQTT broker (see Core System page) as a WARA-PS agent which can be used by other services and agents in the Core System.

Mobile App Agent

The Mobile App Agent is, like the video dashboard, a website that connects to the streaming server. However, instead of showing streams from the server, it sends video streams to the streaming server which can then be seen on the video dashboard. In addition to this, the mobile app agent also publishes its position to the broker. Therefore, it can be seen in the Arena Map, and can be interacted with like an agent. The Mobile App Agent can be used in search and rescue missions where it is of interest to show the position of a video stream. In addition to this, the Mobile App Agent can be used to add video streams to agents that do not have video streams of their own.

Naval SE

Naval SE – Naval Simulated Environment – is a system developed and used by SAAB. It is a strategy and simulation tool for naval missions, where vehicles and equipment are placed in a 2D map and assigned routes. Environmental factors can be changed during the exercise to change the course of the simulation. The scenarios can also be placed in a 3D environment with a setup resembling a management system, for training purposes. The purpose of Naval SE in WARA-PS is for simulating scenarios in a controlled environment, and to showcase scenarios. For a closer resemblance to actual rescue scenarios in WARA-PS, 3D models of autonomous vehicles and rescue vehicles have been implemented in the 3D viewer.

Octomap

OctoMap is primarily used for (LiU) drones with focus on static route planning. OctoMap is populated with data from our own 3D-models of e.g. Gränsö. The models contains a huge amount of information which can be efficiently searched by the octree map technology. Another area of interest is the simulation of different types of distance sensors as radars, lidars etc. where OctroMap is used.

NMEA log evaluation tool

One of the tools that WARA-PS offers is an evaluation tool for NMEA logs called Olisa. Olisa has a graphical user interface that allows for NMEA logs, produced by GPS units, to be imported and analyzed. Olisa currently offers five processes through which datasets can be analyzed. These are Fix Quality which displays the fix quality over time for one or more datasets. Number of Satellites, which will display the number of satellites that the nRTKs have used over time for one or more datasets. Altitude which allows the user to see the altitude of the nRTK over time for one or more or one data sets. Distance Between Positions by calculating the euclidian distance between two datasets by interpolating and comparing positions in every timestamp. The function is displayed over time. Finally, the rotation can be calculated using the function Rotation of Heading. The rotation is based on the heading, which in turn is based on the latest two positions, in every timestamp. Olisa is used to evaluate nRTK units in WARA-PS. If you are interested in using Olisa, please contact us through the support page that can be found on the bottom right corner of this page.

Scenario Builder

Genesis is a service that is available through a web application. It is a scenario building tool that is used to aid the user when building scenarios in the Arena Map. Genesis allows the user to choose agents and drone operators in addition to placing areas and paths that are then sent to the arena map. A scenario is then generated and sent to the arena map where the mission is executed. If you are interested in trying out Genesis, pleas contact us to get sign in information.

Agent Operator

One of the assets in the Core System is the Agent Operator. An agent operator looks like an agent, but functions as a coordinator and decision maker. This is because the Agent Operator has access to, and can coordinate a number of agents and UxVs and can receive commands and task-requests, and can then decide, based on proximity, which agent or UxV is most suitable to perform the requested task. The agent that is deemed most suitable will then execute the task. In the future, more parameters that the agent operator can make its decision on can be added.

Video Dashboard

The video dashboard, Watch, is a frontend Graphical User Interface (GUI) for the streaming server that is used in the Core System. The video dashboard collects streams from the streaming server, thereby allowing users to view the streams. The video dashboard shows all active streams from the Core System, including video streams from agents.

Recording

Recording in WARA-PS is realized by three main applications; Recorder, Exporter and Playback.

The Recorder is up 24/7 and records everything that is published to the main WARA-PS MQTT broker, such as agents, areas, services, commands etc. Currently the Recorder does not handle video or binary data.

The Exporter is the application for extracting the data you will need for you work. Some examples:

  • Training data for your simulated agents
  • An overview of the current trials (e.g. for replay)
  • Exact positions of the planned waypoints for a task
  • How many concurrent agents were used during thursday at Gränsö Demonstration Week

The Exporter makes use of different filters and extracts wanted data in JSON or CSV file extensions, either as a list or in a matrix format.

Playback is responsible for replaying data that has been recorded and is currently under development.

VR Application

The WARA-PS VR application has been developed as a proof of concept that aims to show the possibility of having a virtual reality control room. The application allows for multiple users to view the same information and interact with each other in real time. The application contains a 3D map showing data such as agent position, video streams and agent type. The data that is displayed in the application is dynamically populated by consensus that in turn receives information from MQTT.

3D models

As a complement to the Cesium 3D-map, 3D-models have been made. They are primarily used in the Cesium map, however they are not limited to this, and can be used for other purposes as well. For example, they can be used in the flight simulator X-Plane. Several vehicles are available as 3D models in addition to humans as shown in the image. The 3D models are available in .fbx, .blend and .obj format and can be found by clicking on the link.