First, since we need to do four laps, then we need to make spaces for four routes since we cannot repeat squares. This means there should be four initial squares that would be the first square for each lap, and this would lead to four parallel routes. This would make it easier to find which square each route needs to go to next, while not blocking other routes. Also note that for the straight portion of the track, there is only one possibility for four parallel routes to go. So the options we have really are constrained on the corners.
This is one possible routes:
The problem with this is that each route is going back to itself when going to the next route, while what we want is that each route should go to another route.
So we need to find another possible routes that would lead to the routes cycling between themselves. Let's try another:
Oh no, apparently it still cycles back to itself.
Now, noticing that in each versions above, the method of turning is the same in all four corners, but they have different method. What if we combine them? Turns out that these two methods of turning is not enough. So I find the third way of turning, and by combining all three we have our final solution:
Here the initial green leads to black, then black to light blue, and finally light blue to dark blue. Therefore, this completes the four laps touching all squares.
In our final solution, the first turn is using the second method of turning, the second and third turn is using the first method of turning, and the fourth turn is using the third method of turning. Note that since the middle square in each turn is fixed (there is only one route that can use that), that leave us with only three routes to play with. Here I used three different methods. (In Retudin answer we can see the fourth one that I didn't use)
For example, the green route here is forced, since there is no other route that can reach that middle square in the turn.