I2C SPI USB CAN eSPI Cable Testing View All Quick Start Guides User Manuals Software Downloads Knowledge Base Videos Case Studies App Notes White Papers Sales Support About Us
Products Blog Sales Support Contact Search
What is Robotics Engineering and the Different Types of Robotics?
Isabel Johnson

Across electrical, mechanical, and computer engineering, robotics engineering emerges as a unique sector that deals with the development of robots and robotic systems. Robotics engineers create and optimize robotics applications through every step of their lifecycle, including designing, building, programming, testing, operating, and maintaining them.

Robotics engineering is currently most commonly seen in automotive, aerospace, manufacturing, defense, agriculture, and healthcare industries, however robotics applications are not exclusive to certain fields. Rapid advancements in artificial intelligence (AI) ensures that robotic systems will become expansively prevalent as automated systems continue being integrated into our everyday lives.

orange and black articulated robot/robotic arm. Image by Dimitri_K from PixaBay

Types of Robots

There are primarily six different types of robots:

  • Autonomous Mobile Robots (AMRs) – these roam freely and make real-time decisions using technologies like sensors and cameras to assess their immediate surroundings.
  • Automated Guided Vehicles (AGVs) – unlike AMRs, these are restricted to preprogrammed paths.
  • Articulated Robots – also known as robotic arms, these replicate the range of motion and functionality of a human arm.
  • Humanoids – similar to AMRs, these sense their surroundings to determine their action. They perform more niche, human-centric tasks like greeting people or providing directions.
  • Cobots – these are meant to function in tandem with human operations. They are most commonly used for manual, dangerous tasks that require human supervision.
  • Hybrids – these refer to any robot that combines elements from the previous five listed. Some common examples include AMR’s with robotic arms, and AGVs with robotic arms.

Embedded Systems’ Role in Robotics Engineering

Embedded systems play a vital role in the functionality of robotics applications. Serving as the communication between the mechanical elements of a robot and the data of its external environment, embedded systems are the key to the execution of a robot’s capabilities. Knowing and utilizing the right hardware, software, and communication protocols in the embedded system design process of robotics engineering is paramount for optimizing robot performance. Let’s take a look at the role these different elements play in robotics engineering, and how they work together in functional robots.

Hardware in Robotics Engineering: Key Components and Their Roles

Microcontrollers and microprocessors are one of the most fundamental parts of embedded systems in robotics applications. Being responsible for executing computing logic, they both are considered to be the “brain” of the embedded system.

Microcontrollers, often reduced in size and complexity, include the CPU, memory (RAM, ROM/flash), and peripherals like timers, counters, and I/O ports, all on a single chip. Because of this, they are best suited for simpler applications that carry out predetermined tasks and are most often used in articulated robots (robotic arms) and cobots.

Because microprocessors interact with external components and peripherals separately in the system, they have greater processing power and are better integrated into more robust systems. These are commonly found in autonomous mobile robots (AMRs) and automated guided vehicles (AGVs).

Other peripherals critical to the embedded system design of robotics applications include input/output (I/O) devices and memory devices. Input/output (I/O) devices enable the embedded system to communicate with the other components of the robot. The input device, or sensors, will collect and transform data that the CPU can process, which it sends and stores within the memory device. Cameras, microphones, gyroscopes, and LiDAR sensors are all commonly used in robotics applications to gather and assess data from a robot’s environment. Once the input data has been received, the CPU generates output instructions to be stored in the memory device.

The type of memory device needed is dependent on the specific robotics application. Flash memory is commonly used in robotics engineering because its durability and electric reprogramming capabilities reduces the risk of failure. However, RAM (Random Access Memory), ROM (Read-Only Memory), and EEPROM (Electronically Erasable Programmable Read-Only Memory) can also be used in the embedded system design of robotics applications.

Once the memory device sends the instructions, the output device performs the physical action. Common output devices in robotics applications include actuators, screens, and speakers.

 

relationship between inputs, outputs, CPU, and memory diagram

Software in Robotics: Enhancing Performance and Functionality

Implementing and utilizing the right software configuration is essential in ensuring accuracy and efficiency within an embedded system. Real-time operating systems (RTOS), which are designed to run tasks with precise timing are the most commonly used general-purpose operating systems within robotics engineering designs because they allow for deterministic timing, multi-tasking, motion control, and the seamless interaction between hardware and software.

Specialized operating systems, however, are specifically being increasingly created for robotics applications. While it is still not possible to implement real-time computing code with these, systems like Robot Operating System (ROS) and RTLinux streamline software and programming development by providing low latency and robust tool libraries.

Many different programming languages are applicable for embedded systems development, but C and C++are commonly used in the production of robots because they are most functional for real-time operations and provide efficient memory management.

Communication Protocols Used in Robotics

Communication protocols are a requisite part of task coordination in robotics engineering, as they enable the exchange of information. Wired or wireless communication may be used in robotics applications, depending on the needs of the specific robot.

Generally, wired communication protocols like Ethernet, USB, I2C, SPI, and CAN are most suitable for industrial robots that operate in a controlled environment. For example, automated guided vehicles (AGVs) in warehouses may use CAN (controller area network) because the defined arbitration rules and fast data transfer optimizes performance output capabilities.

Wireless communication protocols like Wi-Fi, Bluetooth, and Zigbee are better suited for robots that operate in an uncontrolled environment, where flexible and dynamic data transfer takes precedence over speed. An autonomous mobile robot (AMR) may use Bluetooth to help with real-time navigation because the signals provide precise target localization.

How Total Phase Supports Testing and Debugging in Robotics Engineering

Total Phase makes tools that can assist robotics engineers’ development, prototyping, and debugging needs. Many of our products monitor and emulate the performance of some of the most commonly used communication protocols in robotics applications.

The Aardvark I2C/SPI Host Adapter and the Promira Serial Platform enable users to emulate both I2C and SPI master and slave devices to prototype their systems. Check out this support question, “How Do I Set Up the Aardvark Host Adapter for I2C Slave Mode?” from a customer looking to analyze performance of a robotics arm to learn more. Review a comparison of our line of host adapters to determine which works best for your project requirements.

Our line of Beagle protocol analyzers, including the Beagle USB Protocol Analyzers and Beagle I2C/SPI Protocol Analyzer, allow users to capture and monitor USB, or I2C and SPI bus data in real time. These detailed data exchanges provide insight that can simplify and streamline troubleshooting efforts.

The Komodo CAN Duo Interface offers two independent customizable CAN channels which allows users to monitor two CAN buses simultaneously and/or emulate a CAN device by actively transmitting CAN data. Configurable as an active node or a non-intrusive analyzer, this tool can be used for testing and developing a wide range of robot components.

Want more insight into how our tools can work for your specific robotics application? Email us at sales@totalphase.com or request a demo.