Joe, here is the first design note for the robot I'm working on.
Background: My former boss is a good guy and the most knowledgeable Linux person I know. He also has MS. He knew that I worked on robots and asked if I would build a robot to help him out. His right side has lost most motor control and he walks holding a cane in his left hand. The makes carrying a cup of coffee from the kitchen to his desk kind of a problem.
Purpose: The purpose of the robot is to carry small, items from room to room in his house.
Approach: We are likely to change our plans as we progress but our plan is currently to build a robot with two large drive wheels in the front and a caster in the back. The robot will be controlled using voice commands possibly through a Bluetooth headset. The robot will do autonomous navigation using webcams to pick up and locate 5 or 6 bit bar codes printed on 8.5-by-11 pages. Three landmark bar codes should be visible from anyplace in the house. Movement will use dead-reckoning for most of the time and the bar codes will be used as a check and for the final few inches. We will probably use Maxbotix sensors for collision avoidance. The robot's computer will just control the robot and the desktop PC will have the voice and image processing tasks. A WiFi link connects the robot to the desktop. A typical dialog might go something like this Frederic: "Robot!" Robot: "Robot ready" Frederic: "Station one!" Robot: "Station one. Confirm?" Frederic: "Confirm." --- the robot trundles off to station one