For my MEng project, myself and the other 3 guys in my group have got to build a robot with intelligent navigation, collision avoidence etc. etc. Now though it is largely a group project we all have areas of 'expertise' that we take responsibility for. Mine is the programming/software. In order to build a robot, it obviously needs numerous bits of hardware, motors, sensors, hydraulic rams/pistons etc that I will need to control from my main program. We are at the stage of considering the options for internal communications and we are really faced with having multiple serial or parallel channels or going for USB. USB has an abundance of advantages with regards to functionality, bandwidth, modular design etc. etc. However my concern is that I haven't been able to find much information out there about programming for USB communications. There is loads of stuff about RS232 but I can't find anything about USB. I want to program using Visual C++ under windows, probably 98. Can anyone give me any good books or web links that could help me? Does anyone have any experience of this and be able to advise me on how viable an option it really is?