Blender make driver use local bone axis I want to have a bone that drives another object's y location according to its(the bone's) local y axis.

this is the driver I'm using.
In this case the driver is working(The driver is what is making the wheels move.)
https://imgur.com/o4JPfHN
However when I rotate the bone on the Z axis ( the local y axis is supposed to have rotated too but the driver doesn't work as expected)
as seen here https://imgur.com/5w8HiWf
the driver is working on the armature's local axis. How can I make it so that it applies on the bone's local axis instead
Edit: I tried creating an empty and parented it to the bone and made the empty's local Y the driver and it still gave me the same issue.
Any ideas on how to fix this?
Edit: Added blend file. Play the animation to see what my issue is.
The driver is added to the wheel/
Bones local coordinates are coordinates in the bone rest pose space (initial location/rotation/scale before it moves in pose mode).
The difference between world and local coordinates is the parenting: world coordinates include parent chain transformation up to world.
Though, in local coordinates, moving along (say) X does not mean a movement along current X bone axis. This is still relative to its original rest position.
That's why your setting is not working.
You need to consider both X and Y (local or world won't directly matter in this case) in order to shift the arrayed meshes along the curve.
That can be this setting:

However, the turns are not good: both tracks follow the same speed even if we add the rotation around Z. We would prefer the track which is inside the curve to go slower than the other one.
... this can be handled by some driver functions (won't have time to explain it for now...).
The blend file contains the two versions (with and without speed differential when rotating).