Gerar diversas rotas, tipos de veículo e veículos no SUMO

Na parte introdutória sobre o SUMO foi visto uma simulação utilizando apenas 1 veículo.  Será elaborada agora a inclusão de diversos veículo e rotas para uma simulação mais completa.

A especificação da rota realizada anteriormente foi a definida a seguir, onde foi especificado um tipo de veículo (identificado como “Car”) e uma rota que passa por dois segmentos (os edges identificados como “1to2” e “2to3”). Na linha 4 então foi finalmente adicionado um veículo a simulação, sendo esse to tipo “Car” e que deve se deslocar na simulação utilizando os segmentos, inclusive na sequência, especificado na rota definida.

<routes>
 <vType accel="2" decel="4" maxSpeed="20" id="Car" length="5" />
 <route id="rota0" edges="1to2 2to3" />
 <vehicle type="Car" route="rota0" id="carro1" depart="1" />
</routes>

Para definir novos veículos é necessário apenas adicionar novas linhas com a tag “vehicle”, como realizado na especificação seguinte. Observe que todos os veículos definidos são do tipo “Car” e estarão na mesma rota, se diferenciando no nome do identificador (que precisa ser único) e também no tempo de partida, definido na propriedade “depart”. Como foram definidos tempos de partida diferentes, os veículos seguirão e irão para o mesmo local, só que em momentos diferentes.

<routes>
  <vType accel="2" decel="4" maxSpeed="20" id="Car" length="5" />
  <route id="rota0" edges="1to2 2to3" />
  <vehicle type="Car" route="rota0" id="carro1" depart="1" />
  <vehicle type="Car" route="rota0" id="carro2" depart="10" />
  <vehicle type="Car" route="rota0" id="carro3" depart="20" />
  <vehicle type="Car" route="rota0" id="carro4" depart="30" />
  <vehicle type="Car" route="rota0" id="carro5" depart="40" />
</routes>

O tempo de partida (depart) é um determinado instante da simulação, sendo esse mostrado através de um cronometro na parte central e superior da interface do sumo.

Destaca-se a importância do tempo de partida na especificação das rotas. Na escrita das rotas, o tempo de partida precisa estar definido em ordem crescente. Podem ter veículos com o mesmo momento de partida, desde que seja mantida a ordem crescente.

Mesmo com 5 veículos definidos e eles partindo em momentos diferentes na simulação, todos fazem o mesmo caminho, trafegando pelos mesmos edges. Sendo assim é necessário especificar novas rotas para serem trafegadas. A especificação abaixo adiciona outras 2 rotas (linhas 4 e 5) com trajetos distintos. Também foram alteradas os 3 últimos veículos adicionados para trafegar nessas novas rotas. Observe que, diferente dos tempos de partida, as rotas não precisam estar sendo relacionadas em ordem.

<routes>
  <vType accel="2" decel="4" maxSpeed="20" id="Car" length="5" />
  <route id="rota0" edges="1to2 2to3" />
  <route id="rota1" edges="1to2 2to3 3to2 2to1" />
  <route id="rota2" edges="3to2 2to1" />
  <vehicle type="Car" route="rota0" id="carro1" depart="1" />
  <vehicle type="Car" route="rota0" id="carro2" depart="10" />
  <vehicle type="Car" route="rota2" id="carro3" depart="20" />
  <vehicle type="Car" route="rota2" id="carro4" depart="30" />
  <vehicle type="Car" route="rota1" id="carro5" depart="40" />
</routes>

Agora a simulação possui alguns veículos e que percorrem de maneira diferente as vias especificadas. Como no transito real os veículos não são todos do mesmo tipo, o SUMO permite especificar diferentes tipos de veículo para a simulação, incluindo veículos com comportamentos diferentes.

A especificação a seguir é uma alteração da especificação anterior sendo adicionados 2 novos tipos de veículo, representando um táxi e um ônibus. Detalhes da especificação serão dados posteriormente. Também foi alterado o tipo do veículos das linhas 9 e 11, fazendo com que dois veículos que eram do tipo “Car” passem a ser do tipo “Taxi” (linha 9) e “Bus” (linha 11).

<routes>
  <vType accel="2" decel="4" maxSpeed="20" id="Car" length="5" />
  <vType accel="2" decel="4" maxSpeed="20" id="Taxi" sigma="1" length="5" color="1,0,0" />
  <vType accel="1" decel="3" maxSpeed="16" id="Bus" length="10" />
  <route id="rota0" edges="1to2 2to3" />
  <route id="rota1" edges="1to2 2to3 3to2 2to1" />
  <route id="rota2" edges="3to2 2to1" />
  <vehicle type="Car"  route="rota0" id="carro1" depart="1" />
  <vehicle type="Taxi" route="rota0" id="carro2" depart="10" />
  <vehicle type="Car"  route="rota2" id="carro3" depart="20" />
  <vehicle type="Bus"  route="rota2" id="carro4" depart="30" />
  <vehicle type="Car"  route="rota1" id="carro5" depart="40" />
</routes>

O diferencial do “Taxi” na especificação com relação ao “Car” são duas propriedades adicionais. A primeira define um valor de sigma para 1 e a segunda configura o táxi para a cor vermelha. O sigma é um valor para a imperfeição no modo de dirigir e o valor está entre zero e 1, sendo 1 a maior imperfeição possível para o sistema. A cor é especificada com valores no padrão RGB.

O padrão RGB especifica a quantidade de cor vermelha (Red), verde (Green) e azul (Blue) existente na cor final. No caso do valor definido “1,0,0” significa o máximo de vermelho e nada de verde e azul, formando um vermelho puro. Um veículo verde seria definido por “0,1,0”, um azul como “0,0,1”, um amarelo como “1,1,0” (o amarelo é a mistura das cores vermelha e verde) e assim por diante.

O veículo identificado como “Bus” possui as alterações das propriedades de aceleração e desaceleração, sendo um veículo que demora mais para acelerar e desacelerar. Também foi alterado o tamanho desse tipo de veículo, sendo o dobro do valor utilizado para o carro e táxi.

Executando a simulação é possível visualizar o primeiro veículo saindo do primeiro nó (identificado como “p1”) e no instante 10 da simulação sairá outro veículo do nó “p1”, mas esse estará na cor vermelha, que representa um táxi. Depois surgirá outro carro em outro nó, seguido de um veículo do tipo “Bus”. Um quinto carro irá surgir na sequência.

Sendo assim, com esses recursos vistos é possível adicionar diversos tipos diferentes de veículos para uma simulação mais realística, além de poder especificar rotas diversas formadas pela rede. Rotas mais movimentadas terão mais veículos trafegando por elas, e sua modelagem deve observar isso.

Share

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.