What's next after Arduino?

Why not use the Arduino (or multiple Arduinos - or, more like, multiple standalone 328s) to interface to the servos/motors/sensors, and communicate with them using the laptop/PC/whatever? In other words, make your "end components" "smart", and communicate with them using a PC.

If you don't have enough USB ports, then you could, potentially, use a single "master" Arduino, the Wire library, and have the other Arduinos (remember, these are likely all going to be standalone instances - I am just using the term "Arduino" as a placeholder) be "slaves" over I2C/SPI. That way, only the master Arduino needs a USB connection, and the slaves are just hooked into the master I2C/SPI adressable bus.

Another option would be to give each Arduino an ethernet interface, then connect them to the PC via a small switch (a variant of this would be to put groups of Arduinos, using the master/slave I2C/SPI concept above, with the master having the ethernet connection - grouping could be based upon logical end-uses: Sensor Group, Servo Group, Motor Group, Arm Group(s), etc).

A benefit of such a system would be that as a standalone type distributed system, you could give each a level of autonomy, error reporting, etc - it could be configured in such a manner so that should something go wrong, that portion could be shutdown automatically, and throw a flag that the main PC could be looking for to indicate an issue (and either take action or just pop a log entry or something). Also, you could easily do "set and forget" functionality, so that the main PC (or the "master" Arduino) wouldn't need to get bogged down in coordination and control issues. Just set it, forget it, and check the queue every now and then to see if an issue has occurred, if not, continue with more important processing tasks (like vision or routing - things that the PC needs a lot of horsepower to begin with to perform well).

Of course, all of this leads to a much more complex system, but at the same time, it could become more fault tolerant. You don't have to take the Arduino out of the loop; instead, incorporate it into the loop. That's what microcontrollers are for (and why there's one in a PC keyboard, among other myriad places).