Comparing GoTo Surfing with True Surfing?
The highlighted comment was created in this revision.
One thing that surprise me is that even if everything else is the same, GoTo movement typically scores worse than True Surfing. Does anyone reproduced this discover? Or I must made something wrong somewhere, which feels really bad.
Again, when a True Surfer adds second wave surfing, the score increases a lot. When a GoTo Surfing adds second wave surfing, the score decreased a lot. Is this phenomenon common? Or is that just because adding another wave exploits some hidden bug in my code?
It might be causing you to skip turns. Goto surfing does a lot more calculations in a single tick.
Otherwise I would say it is a bug, maybe with the starting conditions of your second wave surfing. Most difficult to get right for me was aligning the time I switch to surfing second wave with when I actually stop surfing the first wave in my real movement.
I'm probably having the same problem as you. I'm not using my GoTo code right now just because it won't work, it's always worse. Anyway, visually I feel like I'm wasting too much dodging potential when I arrive to the destination and stop (of course if you choose a point further away, you will hit the wave while moving there, but it's just a consequence). In practice my robot never moves to more than, like, 25% of my MEA, which is pretty weird. Maybe it have something to do with this time aligning thing after all, may be it have to do with my point picking strategy.
A important question: in usual GoTo movement, if moving to a point clockwise, it's impossible to hit the wave while reversing (ie, going counter-clockwise), right?
You don't have to stop, just adapt your speed that you arrive when the wave hits. Really stopping decreases your MEA.
Maybe I understand GoTo wrong and it must be more complex than I thought to give a decent result. Anyway I decided to stick to a True Surfing-like approach that evaluates a bunch of points instead of only the extreme points and then I let the surf smooth the movement by itself. Does the GoTo movement should feel almost smooth like that? Mine just doesn't and when I see DrussGT in action I feel like it should.
Exactly what GrubbmGait said. Take your predicted end velocity from the first wave and use it as start conditions for the second wave.
Yes, I do that. But still, your initial state for the second wave surfing will be restricted by the GoTo movement you did to your destination point. It's not like you could be going backwards instead. You will for sure be going in the direction of your GoTo point. So that's actually a characteristic of GoTo surfing and is that what differs it from the approach I mentioned below or there is some other difference?
It make me do bad specially against close rangers, which is pretty sad and makes me feel I have a bug or there is some twist in the movement I'm not getting,
Basically, I see it as a way of choosing a movement path. For N ticks try to go to this point, then after that for N ticks try to go to this other point. This gives you some movement path which is repeatable and easily defined. As long as numerically your simulation of the robot behaviour is correct, you never have to actually reach the point you are aiming at. Just make sure you are evaluating the danger for the point you actually reach and not the end point that you gave to your go-to method.
Oh, and don't base your work on the go-to basicsurfer. Rather read the Understanding DrussGT page and read how it works there. Goto surfing has come a long way since those early experiments.