My iRobot Roomba 4150 started to exhibit a behavior that I hadn't seen before. After starting up, the robot would "wiggle" as it went forward for a few feet, then turn, then move forward a few more feet while wiggling. After a few turns, it would stop and issue a double "uh-oh" sound. After cleaning and removing the vacuum brushes, the behavior was still hapening, so I decided it must be a problem with the sensors or motors on the robot. The robot's wheels would still turn manually, and they would pop up and down into the body as normal. I tried cleaning the clif sensors and that didn't fix the problem. Finally, I blew compressed air into the drive wheel compartment and that fixed the problem. Aparently, the rotary encoders on one of the wheels had gotten jamed up with dirt.
The iRobot website did mention an OSMO update that is supposed to fix this issue, but according to the serial number on my roomba, it had already received the update. I guess removing the debris from the wheel is the better solution.