new SINR threshold comms CBF constraint

This commit is contained in:
kdee committed 2026-06-26 22:13:51 -07:00
1 parent b53f62391b
commit efa251d747
18 files changed
+534 -66

No files matched your search

+3 -2
View File
@@ -19,7 +19,8 @@ classdef agent
fovGeometry;
% Communication
commsGeometry;
commsGeometry; % fixed-radius comms model (spherical, radius = comRange)
txPower = 0.1; % transmit power (W) for the SINR comms model (isotropic)
lesserNeighbors = zeros(1, 0);
% Performance
@@ -49,7 +50,7 @@ classdef agent
obj.fovGeometry = cone;
obj.commsGeometry = spherical;
end
[obj] = initialize(obj, pos, pan, tilt, collisionGeometry, sensorModel, guidanceModel, comRange, index, label);
[obj] = initialize(obj, pos, collisionGeometry, sensorModel, comRange, maxIter, initialStepSize, initialMaxAngleStepSize, label, plotCommsGeometry, txPower);
[obj] = run(obj, domain, partitioning, t, index, useDoubleIntegrator, dampingCoeff, dt, optimizeSensorPointing, otherAgents);
[partitioning, agents] = partition(obj, agents, objective)
[obj, f] = plot(obj, ind, f);
+3 -1
View File
@@ -1,4 +1,4 @@
function obj = initialize(obj, pos, collisionGeometry, sensorModel, comRange, maxIter, initialStepSize, initialMaxAngleStepSize, label, plotCommsGeometry)
function obj = initialize(obj, pos, collisionGeometry, sensorModel, comRange, maxIter, initialStepSize, initialMaxAngleStepSize, label, plotCommsGeometry, txPower)
arguments (Input)
obj (1, 1) {mustBeA(obj, "agent")};
pos (1, 3) double;
@@ -10,6 +10,7 @@ function obj = initialize(obj, pos, collisionGeometry, sensorModel, comRange, ma
initialMaxAngleStepSize (1, 1) double = 5.0;
label (1, 1) string = "";
plotCommsGeometry (1, 1) logical = false;
txPower (1, 1) double = 0.1;
end
arguments (Output)
obj (1, 1) {mustBeA(obj, "agent")};
@@ -25,6 +26,7 @@ function obj = initialize(obj, pos, collisionGeometry, sensorModel, comRange, ma
obj.plotCommsGeometry = plotCommsGeometry;
obj.initialStepSize = initialStepSize;
obj.initialMaxAngleStepSize = initialMaxAngleStepSize;
obj.txPower = txPower;
obj.stepDecayRate = obj.initialStepSize / maxIter;
obj.angleStepDecayRate = obj.initialMaxAngleStepSize / maxIter;