A comparison of file-system and drone fleet software
levels.
A software centric approach is required for the purpose of
relaying commands and treating the drone formation as a single entity. A multi-layer approach is helpful to
articulate the logical high-level commands to actual unit movements. This is
the same approach used for file systems where disk access is almost hidden from
the user level file access. The management and access must be separated. It is
helpful to organize this in multiple layers where the lower layers can be
switched out with those applicable to specify types of drone units with
restricted particle movements while the higher-level layers remain in place.
The higher-level layers also describe manageability capabilities for drone unit
and group such that they can be accessed interactively or programmatically. The
following article compares the file-system organization levels with the drone
fleet management software levels.
|
File-System
organizational level |
Drone Fleet
organizational levels |
|
Application
Programs -
These are the consumers of the file-system
organization and access all its interfaces such as for create, update, delete
of directories and files |
Application
Programs -
These are the consumers of the fleet
management organization and use all its interfaces such as for co-ordination
of group and individual drones. |
|
Logical File
system -
This manages metadata information about a file
that helps with its bookkeeping as well as the file control block which
records owner, size, permissions and locations |
Logical Fleet
system -
This manages metadata information about a
drone that helps with its bookkeeping as well as the capabilities of a drone
such as in terms of its flexibility to perform 360-degree movement. |
|
File
Organizational module -
This
has information about the files, the location of the files and the logical
and physical blocks. While logical blocks could be contiguous, the physical
blocks may be scattered with free space between them. |
Fleet
organizational module -
This has information about the drones, the
hierarchical addressability of the drone and the logical and physical
formations. The formations can vary independent of the fleet so that the same
fleet can have different formations. One formation can transform to another
with group commands. |
|
Basic File
system -
This comprises of the general commands to the
device drivers to read and write physical blocks on the disk. Blocks provide
a convenient abstraction from user organizational primitives such as folder
and files as well as a system defined data structure that can record
information about the physical layout on disks |
Basic fleet
system -
This comprises of the general command to state
reconciliation and operations on the fleet which translate to physical
commands to drones. Separation of drone commands in terms of system defined
data structures and methods is beneficial to allowing a variety of drones as
the individual units of the fleet even though the fleet may be homogenous. |
|
I/O control -
Device drivers act as an interface between the
devices and the higher-level layers. With a block number and low-level
hardware specific instruction, device-drivers facilitate compliance to a
common programming interface. |
I/O control -
Drivers dedicated to the drone for its make
and model such that it behaves consistently with the expectations of
higher-level layers allow them to be switched one for another. |
|
Devices -
The ultimate store for the bits and bytes of
the user-defined files and folders are the disks and they could comprise
their own stack so long as the devices behave as a permanent store |
Drones -
The ultimate low-level for a fleet management
comprises just the drones that can come with software stack dedicated to
handling common commands for its movements. |
The scheduling and control are handled at the fleet level as well as the drone level by modules at the corresponding levels. The generic displacement commands to a drone can be articulated in a sequence of motions to achieve that displacement by the drone level scheduling and control unit when it has multiple moving parts – each of which must be controlled with the precise positioning and orientation.
While autonomous decisions are made by individual drones,
they must remain within the overall trajectory tolerance space for the entire
fleet. This can be achieved with the popular neural net for softmax
classification. The goodness of fit for a cluster or sum of squares of errors
of F-score are other alternative measures.
#code
using System.Collections.Generic;
namespace SquadronFormation.Abstractions
{
///
<summary>
/// Represents a
Formation
///
</summary>
public abstract
class FormationBase : DroneFormationBase
{
///
<summary>
///
Enumerates all units in the formation.
///
</summary>
///
<returns>Collection of Drones and Formations</returns>
public
abstract IEnumerable<DroneFormationBase> EnumerateDroneFormations();
///
<summary>
/// Returns
an instance of <see cref="FormationBase" /> that represents a
formation within the overall
///
</summary>
/// <param
name="path">The Formation reference</param>
///
<returns>Instance of <see cref="FormationBase" /> even if
formation does not exist</returns>
public
abstract FormationBase? GetFormation(string path);
///
<summary>
/// Returns
an instance of <see cref="DroneBase" /> that represents an
atomic drone in the formation
///
</summary>
/// <param
name="path">The drone qualifier</param>
///
<returns>Instance of <see cref="DroneBase" /> even if
drone does not exist</returns>
public
abstract DroneBase? GetDrone(string path);
}
}
No comments:
Post a Comment