event-based injection of agents
Short description of suggestion
Hello JuPedSim, I am looking for a possibility to inject agents at a specific time with specific plans (time, origin, goal) from a separate file.
The agents.xml file ideally contains agents (unique agent_id
and agent_parameter_id
) and plans (an agent, as I see it, can have more than one plan if he re-enters the simulation. This is not mandatory though. One can still split the input into different agents).
<agents operational_model_id="3">
<agents_distribution>
<group group_id="1" agents_file="agents.xml" router_id="4" />
<group group_id="2" agent_parameter_id="2" room_id="0" subroom_id="5" number=10 goal_id="-1" router_id="4" />
</agents_distribution>
</agents>
<!--plans file -->
<agents>
<agent agent_id="1" agent_parameter_id="1">
<plan time="186" room_id="0" subroom_id="0" goal_id="3"/>
</agent>
<agent agent_id="1" agent_parameter_id="1">
<plan time="1756" room_id="0" subroom_id="0" goal_id="-1"/>
</agent>
<agent agent_id="2" agent_parameter_id="2">
<plan time="295" room_id="0" subroom_id="0" goal_id="3"/>
<plan time="1455" room_id="0" subroom_id="0" goal_id="1"/>
</agent>
</agents>
The only two parameters I added to the existing data structure are
agent_id
= unique id describing the agent. Should be written to the trajectory-file.
time = ..
e.g. seconds after simulation start, defining when agents are injected.
Why would the enhancement be useful to most users
This would allow users to easily translate external data-sources into JPS-agents and run their simulations with detailed input-data.