Abstract turn cost model provides various methods most implementations will use.
| name | data type | constraints | description | 
|---|---|---|---|
| minRightTurnAngle | number | required | |
| maxRightTurnAngle | number | required | |
| minLeftTurnAngle | number | required | |
| maxLeftTurnAngle | number | required | |
| expectedRightAtLightTimeSec | number | required | Expected time it takes to make a right at a light. | 
| expectedStraightAtLightTimeSec | number | required | Expected time it takes to continue straight at a light. | 
| expectedLeftAtLightTimeSec | number | required | Expected time it takes to turn left at a light. | 
| expectedRightNoLightTimeSec | number | required | Expected time it takes to make a right without a stop light. | 
| expectedStraightNoLightTimeSec | number | required | Expected time it takes to continue straight without a stop light. | 
| expectedLeftNoLightTimeSec | number | required | Expected time it takes to turn left without a stop light. | 
| safeBicycleTurnModifier | number | required | |
| acrossTrafficBicyleTurnMultiplier | number | required | Since doing a left turn on a bike is quite dangerous we add a cost for it | 
Example
{
  "minRightTurnAngle" : 12345,
  "maxRightTurnAngle" : 12345,
  "minLeftTurnAngle" : 12345,
  "maxLeftTurnAngle" : 12345,
  "expectedRightAtLightTimeSec" : 12345.0,
  "expectedStraightAtLightTimeSec" : 12345.0,
  "expectedLeftAtLightTimeSec" : 12345.0,
  "expectedRightNoLightTimeSec" : 12345.0,
  "expectedStraightNoLightTimeSec" : 12345.0,
  "expectedLeftNoLightTimeSec" : 12345.0,
  "safeBicycleTurnModifier" : 12345.0,
  "acrossTrafficBicyleTurnMultiplier" : 12345.0
}