You can think of the robot as a machine with a computer application operating it. The components of the robot form two large groups: hardware and software.
Hardware
A robot’s hardware includes the body, motors, and sensors.
The body shape depends on the type of robot or the application field. Some examples of a robot's body include, humanoid robots, arms only, legs only robots, and wheeled robots. The body is mostly covered by metal, plastic or some other material (such as carbon fibre) that protects the inside of the robot. An important aspect of the protection is that with every additional gram, the motors and energy consumption must be adjusted.
Motors move the robot and its parts. There are several types of motors that are applied in robotics, including bidirectional step motors, rotational motors, pumps, and vibrating disks. If the robot has a complex body, several motors have to be synchronised. The synchronisation of the motors is typically performed on a micro-scale. This means that the control of the motors for particular actions, like taking one step ahead with the left foot or lifting the right arm, is predefined. When the robot is performing complex tasks, a sequence of these predefined tasks is executed in a custom order – thus, the robot goes from A to B, or grabs some object and brings it to the target area.
Sensors are used to collect data about the environment, which can then be processed by the computer so it can understand the environment and perform actions accordingly. A wide range of sensors can be built into robots, including cameras, microphones, pressure sensors, thermometers, humidity meters, position sensors, speed sensors, location sensors, and tactile sensors, to name just a few.
Energy is needed by the robot – without it, the robot cannot move or think, which literally means running algorithms on the computer. The energy source is usually electricity, from the electrical network through wires, from a built-in battery, or from solar power. Sometimes robots are operated by gas. The purpose of the robot usually defines which option is better.
Software
Software controls the robot. Without software, the robot won't be able to operate. In many cases, the robot's software has parameters that can be set, for example with a smartphone application or with a dedicated input device, like buttons.
The software can be a built-in "hard-wired" solution that cannot be changed later. Older or simpler robots usually utilise this approach. In more enhanced solutions, the software can be updated or upgraded remotely through the internet. The owner of the robot might not even notice the upgrade. Being able to remotely update or upgrade the software helps the developer of the robot to introduce new functionalities, to improve the service, or to correct possible errors. A third type of software allows minor or major modifications, or even makes it possible to develop software from scratch in case of general-purpose robots – as discussed previously.
Robotics and AI
AI is becoming a mainstream software technology and, without a doubt, it will play an important part in the future of robotics. The possible application domains of robotics are so rich that different robots may require different AI methods.
AI-based computer vision has already proved its effectiveness in many domains. Robots that have cameras are likely to utilise artificial intelligence for image and video analysis. This may include detecting objects on images, measuring distances, recognising objects and people and predicting their movement, detecting dangers and improving the picture quality of the camera.
Audio and speech processing is another well-explored area of AI. Consequently, if the robot has a microphone or microphones, with AI algorithms the sound and speech of the environment can be recorded and analysed. Depending on the application domain, the tasks may include voice detection, speech recognition, sound and event recognition, and signal-to-noise ratio measurement, to name just a few. Robots with speakers can use text-to-speech technologies to tell information to users with a human-like voice.
Robots, especially social robots, utilise a camera, microphone and speakers to understand their environment. With advanced natural language processing algorithms and speech technologies, robots are able to communicate with humans, sometimes even in a way that resembles general intelligence. Because these advanced AI algorithms require a massive amount of computer processing power, some robots run these algorithms in the cloud.
Robots that collect data from sensors (distance, force, current, voltage, temperature or humidity sensors, and even cameras and microphones) can use AI algorithms to detect the very first signs of possible failures. This means these robots can stop the activity to prevent failures, or can indicate that maintenance is needed before more significant problems occur (also referred to as predictive maintenance). Both approaches are essential in manufacturing and agriculture to avoid defective products and goods or longer downtimes.
The movement and stability of robots can also be optimised using AI algorithms for better adaptivity to the environment where the robot is navigating and to the objects that the robot is interacting with. Sometimes this can even be done in a simulation environment prior to using the robot, and then the software created in this simulation environment is adjusted to the real world.
These are the general solutions for robotics and AI, however the possibilities extend far beyond these examples. As robotics and AI are both emerging technologies, further exciting smart solutions are likely to be developed in the future.