small testbed convenience fixes
This commit is contained in:
2
aerpaw/config/scenario_2uavs.csv
Normal file
2
aerpaw/config/scenario_2uavs.csv
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
timestep, maxIter, minAlt, discretizationStep, protectedRange, initialStepSize, barrierGain, barrierExponent, collisionRadius, comRange, alphaDist, betaDist, alphaTilt, betaTilt, domainMin, domainMax, objectivePos, objectiveVar, sensorPerformanceMinimum, initialPositions, numObstacles, obstacleMin, obstacleMax
|
||||||
|
5, 100, 30.0, 0.1, 2.0, 3.0, 100, 3, "6.0, 6.0", "20.0, 20.0", "80.0, 80.0", "0.25, 0.25", "5.0, 5.0", "0.1, 0.1", "0.0, 0.0", "80.0, 80.0", "55.0, 55.0", "40, 25, 25, 40", 0.15, "15.0, 10.0, 40.0, 5.0, 10.0, 45.0", 1, "1.0, 25.0, 0.0", "30.0, 30.0, 50.0"
|
||||||
|
@@ -1099,7 +1099,7 @@
|
|||||||
</Artifacts>
|
</Artifacts>
|
||||||
<BuildFolder type="coderapp.internal.util.mfz.FileSpec"/>
|
<BuildFolder type="coderapp.internal.util.mfz.FileSpec"/>
|
||||||
<Success>true</Success>
|
<Success>true</Success>
|
||||||
<Timestamp>2026-03-11T11:45:17</Timestamp>
|
<Timestamp>2026-03-11T12:22:00</Timestamp>
|
||||||
</MainBuildResult>
|
</MainBuildResult>
|
||||||
</coderapp.internal.mlc.mfz.MatlabCoderProjectState>
|
</coderapp.internal.mlc.mfz.MatlabCoderProjectState>
|
||||||
</MF0>
|
</MF0>
|
||||||
|
|||||||
@@ -1,12 +1,17 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include "controller.h"
|
#include "controller.h"
|
||||||
#include "controller_impl.h" // TCP implementation header
|
#include "controller_impl.h" // TCP implementation header
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
// Number of clients to handle
|
// Derive numClients from initialPositions in scenario.csv
|
||||||
int numClients = 2; // for now
|
double targets[MAX_CLIENTS_PER_PARAM * 3];
|
||||||
|
int numClients = loadInitialPositions("config/scenario.csv",
|
||||||
std::cout << "Initializing TCP server...\n";
|
targets, MAX_CLIENTS_PER_PARAM);
|
||||||
|
if (numClients < 1) {
|
||||||
|
std::cerr << "Failed to parse numClients from scenario.csv\n";
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
std::cout << "Parsed " << numClients << " UAV(s) from scenario.csv\n";
|
||||||
|
|
||||||
// Call MATLAB-generated server function
|
// Call MATLAB-generated server function
|
||||||
controller(numClients);
|
controller(numClients);
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
%% Plot AERPAW logs (trajectory, radio)
|
%% Plot AERPAW logs (trajectory, radio)
|
||||||
resultsPath = fullfile(matlab.project.rootProject().RootFolder, "sandbox", "t2"); % Define path to results copied from AERPAW platform
|
resultsPath = fullfile(matlab.project.rootProject().RootFolder, "sandbox", "three_around_wall_2uavs"); % Define path to results copied from AERPAW platform
|
||||||
|
|
||||||
% Plot GPS logged data and scenario information (domain, objective, obstacles)
|
% Plot GPS logged data and scenario information (domain, objective, obstacles)
|
||||||
seaToGroundLevel = 110; % measured approximately from USGS national map viewer
|
seaToGroundLevel = 110; % measured approximately from USGS national map viewer
|
||||||
@@ -10,7 +10,7 @@ seaToGroundLevel = 110; % measured approximately from USGS national map viewer
|
|||||||
|
|
||||||
%% Run simulation
|
%% Run simulation
|
||||||
% Run miSim using same AERPAW scenario definition CSV
|
% Run miSim using same AERPAW scenario definition CSV
|
||||||
csvPath = fullfile(matlab.project.rootProject().RootFolder, "aerpaw", "config", "scenario.csv");
|
csvPath = fullfile(matlab.project.rootProject().RootFolder, "aerpaw", "config", "scenario_2uavs.csv");
|
||||||
params = readScenarioCsv(csvPath);
|
params = readScenarioCsv(csvPath);
|
||||||
|
|
||||||
% Visualization settings
|
% Visualization settings
|
||||||
|
|||||||
@@ -32,8 +32,8 @@ else
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Client config file (optional 2nd argument)
|
# Client config file: 2nd argument > AERPAW_CLIENT_CONFIG env var > default
|
||||||
CONFIG_FILE="${2:-config/client.yaml}"
|
CONFIG_FILE="${2:-${AERPAW_CLIENT_CONFIG:-config/client.yaml}}"
|
||||||
if [ ! -f "$CONFIG_FILE" ]; then
|
if [ ! -f "$CONFIG_FILE" ]; then
|
||||||
echo "Error: Config file not found: $CONFIG_FILE"
|
echo "Error: Config file not found: $CONFIG_FILE"
|
||||||
exit 1
|
exit 1
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ cd /root/miSim/aerpaw
|
|||||||
|
|
||||||
# Use screen/ts/tee aerpawism from sample script
|
# Use screen/ts/tee aerpawism from sample script
|
||||||
screen -S vehicle -dm \
|
screen -S vehicle -dm \
|
||||||
bash -c "stdbuf -oL -eL ./run_uav.sh testbed /root/miSim/aerpaw/config/client1.yaml \
|
bash -c "stdbuf -oL -eL ./run_uav.sh testbed \
|
||||||
| ts $TS_FORMAT \
|
| ts $TS_FORMAT \
|
||||||
| tee $RESULTS_DIR/$LOG_PREFIX\_vehicle_log.txt"
|
| tee $RESULTS_DIR/$LOG_PREFIX\_vehicle_log.txt"
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Info/>
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Info location="1" type="DIR_SIGNIFIER"/>
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Info/>
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Info location="three_around_wall_2uavs" type="File"/>
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Info/>
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Info location="scenario_2uavs.csv" type="File"/>
|
||||||
Reference in New Issue
Block a user