Talk:Darkcanuck/VelocityTest

From Robowiki
Jump to navigation Jump to search

Using 1.7.1.3

Scratch that last posted result -- was using the method from 1.7.1.2 Beta by accident. Here's the corrected test result:

Starting velocity=0.0 distance=6.0
  1 velocity=1.0 remain=5.0
  2 velocity=2.0 remain=3.0
  3 velocity=3.0 remain=0.0
  4 velocity=1.0 remain=-1.0
  5 velocity=-0.75 remain=-0.25
  6 velocity=-0.25 remain=0.0
  7 velocity=0.0 remain=0.0

Still a problem here:

  • at tick 3 the bot should have stayed at velocity 2 then decelerated to 1 to hit the target
  • the bot then overshoots and takes its time to get on target
  • this should have been a 4-tick move...

--Darkcanuck 05:22, 15 July 2009 (UTC)


For another (worse) example of the above, try starting at 0 with a target of 10.

Starting velocity=0.0 distance=10.0
  1 velocity=1.0 remain=9.0
  2 velocity=2.0 remain=7.0
  3 velocity=3.0 remain=4.0
  4 velocity=4.0 remain=0.0
  5 velocity=2.0 remain=-2.0
  6 velocity=0.0 remain=-2.0
  7 velocity=-1.0 remain=-1.0
  8 velocity=-2.0 remain=1.0
  9 velocity=-0.0 remain=1.0
  10 velocity=1.0 remain=0.0
  11 velocity=0.0 remain=0.0
Starting velocity=4.0 distance=0.0
  1 velocity=2.0 remain=-2.0
  2 velocity=0.0 remain=-2.0
  3 velocity=-1.0 remain=-1.0
  4 velocity=-2.0 remain=1.0
  5 velocity=-0.0 remain=1.0
  6 velocity=1.0 remain=0.0
  7 velocity=0.0 remain=0.0

Starting from an overshoot condition, the velocity formula causes a second, unnecessary overshoot. --Darkcanuck 05:45, 15 July 2009 (UTC)

And here's a sample of what odd negative velocities can produce:

Starting velocity=-1.9 distance=10.0
  1 velocity=1.8074999999999999 remain=8.1925
  2 velocity=2.8075 remain=5.385000000000001
  3 velocity=3.8075 remain=1.5775000000000006
  4 velocity=1.8075 remain=-0.22999999999999954
  5 velocity=-0.22999999999999954 remain=0.0
  6 velocity=0.0 remain=0.0

--Darkcanuck 05:49, 15 July 2009 (UTC)

Voidious Version

Here's the same tests done with the changes made by Voidious:

Starting velocity=0.0 distance=6.0
  1 velocity=1.0 remain=5.0
  2 velocity=2.0 remain=3.0
  3 velocity=3.0 remain=0.0
  4 velocity=1.0 remain=-1.0
  5 velocity=-0.5 remain=-0.5
  6 velocity=-0.5 remain=0.0
  7 velocity=0.0 remain=0.0

Starting velocity=0.0 distance=10.0
  1 velocity=1.0 remain=9.0
  2 velocity=2.0 remain=7.0
  3 velocity=3.0 remain=4.0
  4 velocity=3.0 remain=1.0
  5 velocity=1.0 remain=0.0
  6 velocity=0.0 remain=0.0

Starting velocity=4.0 distance=0.0
  1 velocity=2.0 remain=-2.0
  2 velocity=0.0 remain=-2.0
  3 velocity=-2.0 remain=0.0
  4 velocity=-0.0 remain=0.0

Starting velocity=-1.9 distance=10.0
  1 velocity=0.050000000000000044 remain=9.95
  2 velocity=1.05 remain=8.899999999999999
  3 velocity=2.05 remain=6.849999999999999
  4 velocity=3.05 remain=3.799999999999999
  5 velocity=2.8999999999999995 remain=0.8999999999999995
  6 velocity=0.8999999999999995 remain=0.0
  7 velocity=0.0 remain=0.0

That seems to fix all the problems I've found so far, except for the tricky 0,6 case. --Darkcanuck 06:12, 15 July 2009 (UTC)

There's a bug here: in the 4,0 case, how is the bot able to get from velocity 2 to 0 to -2? Surely it should be:

Starting velocity=4.0 distance=0.0
  1 velocity=2.0 remain=-2.0
  2 velocity=-0.0 remain=-2.0
  3 velocity=-1.0 remain=-1.0
  4 velocity=-1.0 remain=0.0
  5 velocity=0.0 remain=0.0

--Skilgannon 09:53, 15 July 2009 (UTC)

You cannot post new threads to this discussion page because it has been protected from new threads, or you do not currently have permission to edit.

There are no threads on this page yet.