A robot is an intelligent machine that has the capability to sense the environment around it, make decisions based on computations, and then perform some actions based on the decisions.
Major components of robots are actuators( motors), sensors, and a computational unit. Computational unit is called the brain of the robot, which helps in decision making. Some of the examples of computational units are microcontrollers, Single-board computers, and PLC. The actions of robots are actually based on the program running on a microcontroller or PC.
The figure shows the block diagram of a robot.
The actuators( motors) helps to move the robot joint in a linear or angular fashion. Actuators are controlled by a motor controller circuit and interface with a microcontroller/PLC (programmable logic controller). Some actuators are directly controlled through a PC’s or SBC (Single Board Computer) USB interface. Some of the examples of actuators are Servo, Stepper, and DC gear motors.
The next component of a robot is a sensor, which helps to provide the state of robot and information about the environment. Sensors are either interface with a microcontroller or PC. For example, low-end sensors like ultrasonic sensors and the infrared sensors maybe interface with a microcontroller. High-end sensors like cameras and laser scanners can interface directly with the PC. Some of the other examples of robot sensors are wheel encoders, ultrasonic sensors, and cameras.
There is a power supply or battery to power all the robotic components.
Robot programming is programming the PC/SBC/microcontroller/PLC inside a robot for performing a specific application using actuators and feedback from various sensors. The robot applications include pick and place of the object, moving robot from A to B, etc.
A variety of programming languages can be used to program robots. C/C++, Python, Java, C #, and so forth are used with PCs. Microcontrollers use Embedded C, the Wiring language (based on C++), which is used in Arduino, and Mbed programming (https://os.mbed.com).
Industrial robot applications use SCADA or vendors’ proprietary programming languages, such as ABB and KUKA. This programming is done from the industrial robot’s teach pendant. RAPID is the programming language used in ABB industrial robots to automate robotic applications.
Robotic programming creates intelligence in the robot for self-decision making, implementing controllers like PID to move joints, automating repeated tasks, and creating robotic vision applications.