Having worked with Roomba SCI a while back, a few things come to mind. First is a lack of integrity checking. The default baud rate of 57600 is too high (at least for the 6-ft mini-DIN cables we could find), and it's really annoying when your Roomba goes careening off in a weird direction because your command got corrupted. Thankfully the baud rate can be reduced, but there really ought to be something in the next layer to check integrity, as the Roomba firmware is a black box.
Also, it's kinda obvious in retrospect, but Roombas were not designed to drive in straight lines. Which can be annoying if you want to use them as a robotics platform.
Also, it's kinda obvious in retrospect, but Roombas were not designed to drive in straight lines. Which can be annoying if you want to use them as a robotics platform.