This is the last feature-based pull request I would like you to review before I work on restoring full tracefile support.
In my research, I have been researching how centralized algorithms will suffer under increasing signalling delay and loss (of the vehicle position) to the gNB.
This update changes/adds the following parameters:
posDelay can now be set to any arbitary number.
posPacketLoss is a float that represents the probability that a position update packet to the gNB is lost.
This update changes/adds the following internal state variables:
positionManagement now has additional struct members XvehicleEstimatedYvehicleEstimatedXvehicleHistoryYvehicleHistory
XvehicleEstimated and YvehicleEstimated are simply vectors of the gNB's last known position of the vehicles posDelay seconds ago. These are meant to be passed to BR algorithms that use vehicle positions to make allocation decisions.
XvehicleHistory and YvehicleHistory are internal state variables for use by the addPosDelay function. They are a cell of timetables that represents the history of values. The reason why each timetable is in a separate cell is because each vehicle's update to the gNB is an independent coin flip, so the height of each timetable is different.
stationManagement now has an additional struct member, allNeighborsIDEstimated. It is the same as allNeighborsID but using the estimated vehicle positions that is affected by posDelay, posError95 and posPacketLoss
outputValues now has an additional struct member, meanPositionError, that represents the cumulative mean error of the vehicle's real position vs apparent position to the gNB.
This update changes/adds the behavior of the following functions:
All controlled BR algorithms that use the vehicle's position (Ordered, Finite Reuse, Maximum Reuse) will be fed this apparent position/neighbor info that is affected by posDelay, posError95 and posPacketLoss
computeNeighbors also populates stationManagement.allNeighborsIDEstimated, explanation above
This update also contains the following refactors for maintainability:
Created a members for the constants class, REASSIGN_BR_ALGORITHMS_CONTROLLED and REASSIGN_BR_ALOGRITHMS_AUTONOMOUS that is just a vector of controlled vs autonomous algorithm constants.
Simplified the initiateBRAssignmentAlgorithm file to significantly reduce the amount of duplicate code (many of the controlled algorithms share the same parameters)
Finally, it also contains unit tests for the addPosDelay function.
Dear V2Xsim maintainers,
This is the last feature-based pull request I would like you to review before I work on restoring full tracefile support. In my research, I have been researching how centralized algorithms will suffer under increasing signalling delay and loss (of the vehicle position) to the gNB.
This update changes/adds the following parameters:
posDelay
can now be set to any arbitary number.posPacketLoss
is a float that represents the probability that a position update packet to the gNB is lost.This update changes/adds the following internal state variables:
positionManagement
now has additional struct membersXvehicleEstimated
YvehicleEstimated
XvehicleHistory
YvehicleHistory
XvehicleEstimated
andYvehicleEstimated
are simply vectors of the gNB's last known position of the vehiclesposDelay
seconds ago. These are meant to be passed to BR algorithms that use vehicle positions to make allocation decisions.XvehicleHistory
andYvehicleHistory
are internal state variables for use by theaddPosDelay
function. They are a cell of timetables that represents the history of values. The reason why each timetable is in a separate cell is because each vehicle's update to the gNB is an independent coin flip, so the height of each timetable is different.stationManagement
now has an additional struct member,allNeighborsIDEstimated
. It is the same asallNeighborsID
but using the estimated vehicle positions that is affected byposDelay
,posError95
andposPacketLoss
outputValues
now has an additional struct member,meanPositionError
, that represents the cumulative mean error of the vehicle's real position vs apparent position to the gNB.This update changes/adds the behavior of the following functions:
posDelay
,posError95
andposPacketLoss
computeNeighbors
also populatesstationManagement.allNeighborsIDEstimated
, explanation aboveThis update also contains the following refactors for maintainability:
constants
class,REASSIGN_BR_ALGORITHMS_CONTROLLED
andREASSIGN_BR_ALOGRITHMS_AUTONOMOUS
that is just a vector of controlled vs autonomous algorithm constants.initiateBRAssignmentAlgorithm
file to significantly reduce the amount of duplicate code (many of the controlled algorithms share the same parameters)Finally, it also contains unit tests for the
addPosDelay
function.