IRRemote library conflicts with tone() function

There are three timers on an 328P based board like the Uno. Timer0 is used for millis() and the other two are free.

All 3 timers are also used for PWM; I think that this usually does not pose issues (but I'm sure it can).

I'm quite sure a Mega will not have the problems although you might have to change the library files in similar fashion as you have done now.

And playing a tune using delay / millis() while moving will probably be too much asked; I was more thinking of a beep before the robot starts moving, not while the robot is moving.