Initializing domain, obstacles, objective, and agents
This commit is contained in:
64
miSim.m
Normal file
64
miSim.m
Normal file
@@ -0,0 +1,64 @@
|
||||
classdef miSim
|
||||
% multiagent interconnection simulation
|
||||
|
||||
% Simulation parameters
|
||||
properties (SetAccess = private, GetAccess = public)
|
||||
domain = rectangularPrismConstraint;
|
||||
objective = sensingObjective;
|
||||
constraintGeometries = cell(0, 1); % geometries that define constraints within the domain
|
||||
agents = cell(0, 1); % agents that move within the domain
|
||||
end
|
||||
|
||||
methods (Access = public)
|
||||
function obj = initialize(obj, domain, objective, agents, constraintGeometries)
|
||||
arguments (Input)
|
||||
obj (1, 1) {mustBeA(obj, 'miSim')};
|
||||
domain (1, 1) {mustBeConstraintGeometries};
|
||||
objective (1, 1) {mustBeA(objective, 'sensingObjective')};
|
||||
agents (:, 1) cell {mustBeAgents};
|
||||
constraintGeometries (:, 1) cell {mustBeConstraintGeometries} = cell(0, 1);
|
||||
end
|
||||
arguments (Output)
|
||||
obj (1, 1) {mustBeA(obj, 'miSim')};
|
||||
end
|
||||
|
||||
%% Define domain
|
||||
obj.domain = domain;
|
||||
|
||||
%% Add constraint geometries against the domain
|
||||
obj.constraintGeometries = constraintGeometries;
|
||||
|
||||
%% Define objective
|
||||
obj.objective = objective;
|
||||
|
||||
%% Define agents
|
||||
obj.agents = agents;
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
methods (Access = private)
|
||||
function validateInitialization(obj)
|
||||
% Assert obstacles do not intersect with the domain
|
||||
|
||||
% Assert obstacles do not intersect with each other
|
||||
|
||||
% Assert the objective has only one maxima within the domain
|
||||
|
||||
% Assert the objective's sole maximum is not inaccessible due
|
||||
% to the placement of an obstacle
|
||||
|
||||
end
|
||||
function validateLoop(obj)
|
||||
% Assert that agents are safely inside the domain
|
||||
|
||||
% Assert that agents are not in proximity to obstacles
|
||||
|
||||
% Assert that agents are not in proximity to each other
|
||||
|
||||
% Assert that agents form a connected graph
|
||||
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user