Simulação criada na plataforma SUMO de um trecho da cidade de Santa Maria.
Foi criado a linha Bombeiros-UFSM com as paradas geograficamente nos pontos reais. A lista de paradas está disponível aqui.
Passageiros foram gerados randomicamente para popularem as paradas e serem transportadas pelos ônibus que passam de tempos em tempos.
O itinerário é este abaixo numa visualização feita com o App Moovit
Para rodar a simulação primeiro acessar o diretório ./rota-1_bombeiros-ufsm/files/
.
Depois se possuir o PowerShell
instalado na máquina (inclusive no Linux) basta executar no terminal o script run.ps1
`./rota-1_bombeiros-ufsm/files/run.ps1`
Ou pode-se também chamar a simulação desta maneira
`./rota-1_bombeiros-ufsm/files/python .\runner.py`
Vídeo da simulação rodando.
O arquivo \runner.py
é responsável por controlar a simulação, aqui um trecho do código com manipulação via Traci
while step <= 5200:
traci.simulationStep()
# log de pessoas em todas as paradas a cada 10 passos
if(step % 10 == 0):
simulation.log_count_people_in_bus_stop(bus_stops_list)
# a partir de 1800 passos inicio o delay em alguns onibus
if(step > 1800):
simulation.change_max_speed_bus(
speed=20.0, accel=0.1, bus_ids_delay=buses_to_delay, color=(255, 0, 0))
# log de pessoas nos ônibus a cada 600 passos
if(step % 600 == 0):
simulation.get_all_people_on_simulation_buses(step)
step += 1
* [x] Extrair resultado do pandas para um arquivo CSV
* [x] Gerar gráficos da simulação de acordo com o resultado do pandas:
* [x] com atraso nos ônibus
* [x] sem atrasos nos ônibus
* [ ] Implementar painel para exibir em tempo real
* [ ] Quantidade de pessoas nas paradas a cada 10seg
* [ ] Chegada de um ônibus na parada
* [ ] Implementar painel para exibir em tempo real
* [ ] Quantidade de pessoas no ônibus
* [ ] Quantidade de pessoas que desceram e subiram nas paradas
- Python 3.8
- SUMO
- Traci
- W10 ou Ubuntu
- Pandas (lib)
- Matplotlib (lib)