There are many different ways to communicate with a robot. Robots are most often controlled using a tether (wired), wirelessly or autonomously.
Tethered
The easiest way to control a robot is using a handheld controller connected physically to the robot using wires or a cable. Toggle switches on the controller allow you to control the robot without using electronics and act to connect motors and battery directly. Such robots usually have no intelligence. Autonomous underwater vehicles tend to use fibre optic cables for communication while terrestrial robots use metal (copper) wiring.
The next step is to incorporate a microcontroller into your robot but continue to retain the tether. Connecting the microcontroller to one of your computer’s I/O ports (serial or USB) allows you to control its actions using a keyboard (or keypad), joystick or other peripheral device. Incorporating a microcontroller into your project allows you to gain experience that will be needed when programming a robot for remote control and subsequently autonomous control. Note that microcontrollers are not capable of providing sufficient power to motors and therefore need a motor controller to act as intermediary.
Wireless
Infrared transmitters and receivers are used to cut the cables connecting the robot to the user. This is usually a personal milestone for robotic beginners. Infrared control requires “line of sight” in order to function; the receiver must be able to see the transmitter at all times. Infrared remote controls (such as universal remote controls) are often used to control a robot’s actions.
Commercially available Remote Control (R/C) units use small microcontrollers in the transmitter and receiver to send, receive and interpret data via RF. The receiver box also houses a servo motor controller. RF requires either a transmitter matched with a receiver, or a transceiver (which can both send and receive data). RF does not require line of sight and can also offer significant range. Radio frequency devices can allow for data transfer between devices as far away as several kilometers.
Bluetooth is a form of RF and follows specific protocols for sending and receiving data. Bluetooth range is often limited though it does have the advantage of allowing users to control their robot via Bluetooth-enabled devices such as cell-phones, PDA’s and laptops (though some extra programming may be required). Bluetooth offers two-way communication.
Autonomous
The next step is to use the microcontroller in your robot to its full potential and program it to react to input from its sensors. Microcontrollers are not capable of providing sufficient power to motors and therefore need a motor controller to act as intermediary. Microcontrollers are required for remote and autonomous control. A microcontroller is considered the “brain” of a real robot and allows you to program your robot’s behavior. A robot can be controlled autonomously (no user input) or semi-autonomuosly (some user input). Semi-autonomous control involves some of the decision making processes to be transferred / programmed into to the robot.
Autonomous control can come in various forms: pre-programmed with no feedback from the environment, limited sensor feedback and finally complex sensor feedback. True “autonomous control” involves a variety of sensors and pre-written code to allow the robot to determine itself the best action to be taken in any given situation. The most complex autonomous mobile robots currently use GPS navigation, vision systems and a variety of onboard sensors to help them navigate their environment.
This is a companion discussion topic for the original entry at https://community.robotshop.com/tutorials/show/basics-how-do-i-control-my-robot