As Ross mentioned a failed wheel speed sensor can cause this - very easy and cheap fix (was on the e46 anyway)

Id get if coded ASAP though before you go spending any money on parts or anything