i think a accelerometer and gyro(gyro correct accel errors) combo would work out great
or you could do just accel
some options here:
http://www.sparkfun.com/search/results?sort_by=price_asc&per_page=50&term=imu&what=products
http://www.sparkfun.com/search/results?term=Accelerometer&what=products
i could never get my code to work for a accel/gyrom/magnetometer combo to work, so i cant help you on the "approach" part.