(self, veh: Vehicle)
| 452 | return self.allvTypes[vtid] |
| 453 | |
| 454 | def getVehInfo(self, veh: Vehicle): |
| 455 | vid = veh.id |
| 456 | if veh.vTypeID: |
| 457 | max_decel = veh.maxDecel |
| 458 | else: |
| 459 | vtypeid = traci.vehicle.getTypeID(vid) |
| 460 | if '@' in vtypeid: |
| 461 | vtypeid = vtypeid.split('@')[0] |
| 462 | vtins = self.getvTypeIns(vtypeid) |
| 463 | veh.maxAccel = vtins.maxAccel |
| 464 | veh.maxDecel = vtins.maxDecel |
| 465 | veh.length = vtins.length |
| 466 | veh.width = vtins.width |
| 467 | veh.maxSpeed = vtins.maxSpeed |
| 468 | # veh.targetCruiseSpeed = random.random() |
| 469 | veh.vTypeID = vtypeid |
| 470 | veh.routes = traci.vehicle.getRoute(vid) |
| 471 | veh.LLRSet, veh.LLRDict, veh.LCRDict = veh.getLaneLevelRoute( |
| 472 | self.nb) |
| 473 | |
| 474 | routes = ' '.join(veh.routes) |
| 475 | self.putVehicleInfo(vid, vtins, routes) |
| 476 | max_decel = veh.maxDecel |
| 477 | veh.yawAppend(traci.vehicle.getAngle(vid)) |
| 478 | x, y = traci.vehicle.getPosition(vid) |
| 479 | veh.xAppend(x) |
| 480 | veh.yAppend(y) |
| 481 | veh.speedQ.append(traci.vehicle.getSpeed(vid)) |
| 482 | if max_decel == traci.vehicle.getDecel(vid): |
| 483 | accel = traci.vehicle.getAccel(vid) |
| 484 | else: |
| 485 | accel = -traci.vehicle.getDecel(vid) |
| 486 | veh.accelQ.append(accel) |
| 487 | laneID = traci.vehicle.getLaneID(vid) |
| 488 | veh.routeIdxAppend(laneID) |
| 489 | veh.laneAppend(self.nb) |
| 490 | |
| 491 | def vehMoveStep(self, veh: Vehicle): |
| 492 | # control vehicles after update its data |
no test coverage detected