       b = v / r * 180 / Math.PI
       bslip = b - a
       vslip = r * b * Math.PI / 180
-      @factorMaxSlip = vslip * vslip / r
-      console.log @logPrefix()  + ";initMaxSlipFactor;a:#{a}, v:#{v}, r:#{r}, b:#{b}, bs:#{bslip}, vs:#{vslip}, fac:#{@factorMaxSlip}"
+      @factorMaxSlip = 0.97 * vslip * vslip / r
+      winston.warn @logPrefix()  + ";initMaxSlipFactor;a:#{a}, v:#{v}, r:#{r}, b:#{b}, bs:#{bslip}, vs:#{vslip}, fac:#{@factorMaxSlip}"
       @maxSlipInitialized = yes
 
     setThrottle: (throttle) ->


    adjustVelocity: ->
      if @race.straightToFinish @color
        @targetVelocity = 50
        @adjustThrottle()
        return

      straightDistance = @race.straightDistanceAhead(@color)
      bendedPieceIndex = @race.nextBendedPieceIndex(@color)
      radius = @race.getRadiusOnLane bendedPieceIndex, @race.getCarLane(@color)
      @targetVelocity = @maxVelocityForRadius radius
      @adjustThrottle straightDistance

    maxVelocityForRadius: (radius) ->
      # v^2 / r = 0.39

      Math.sqrt(@factorMaxSlip * radius)


    adjustThrottle: (distance = 0) ->
      velocity = @race.getVelocity @color
      @setThrottle @physics.optimalThrottleForVelocityInDistance @targetVelocity, distance, velocity


#    predictAngleSpeedChange: ->
#      return 0 unless @angleParams?


      tick = @race.currentTick
      @physics.initThrottleAndAccelerationRatio dataPoint(tick - 2), dataPoint(tick - 1)
      winston.verbose "#{@logPrefix()};throttleAndAccelerationRatio:", @physics.throttleAndAccelerationRatio

    initMaxSlipFactor: ->
      return if @maxSlipInitialized or @race.getCarAngle(@color) is 0
