Basics: How Do I Control My Robot?

Where to Start

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

Hi I’m trying to make a robot but I got problem and the problem is how to control it I want to use wifi is tat possible and I’m wondering how to create a program with java to make my Computer control the robot through wifi please can you give me any advice or help thanks

@Abdul This is quite a technical question, so best to submit a new topic on the RobotShop Forum

hi I’m Jamal I’m trying to make a robot but I can’t do this because I can’t control it. So I was wondering if you could give me any advices or help me to do this please. Conclusion: I want to create a controlling program. I give the commands to the robot in all of these different ways? Thx

@Jamal How would you like to control your robot? The easiest way is to use a wired joystick or an R/C remote control. More complex methods include IR, RF, Bluetooth and WiFi.

Can i ask you about how to let my robot move within a joystick? Like…, if i move the joystick to the front the robot will move foward. How can this happen exactly?

@Shahad If you have a digital joystick (a button at each of the four positions), you can connect this to a DPDT relay (powered at 5V). If you want to include speed, you will need to use a DC motor controller connected to an analog joystick (with two potentiometers). If you want to include much additional functionality, you’ll need a microcontroller.

Thank you very much for responding that quick :))! , Do you have an Instagram account or any other social media accounts so i can discuss with you more about that? because I’m not active her unfortunately.

@Shahood The best place would be the RobotShop Forum.