What Are the Modern Robotic Computing Architectures?
Knowledge

What Are the Modern Robotic Computing Architectures?

Robotic behavior is often built as a computational graph, with data flowing from sensors to computational technology, all the way to actuators and back. To gain additional performance capabilities, robotic computing platforms must efficiently map these graph-like structures to CPUs, as well as to specialized hardware including FPGAs and GPUs.
Published: Mar 17, 2022
What Are the Modern Robotic Computing Architectures?

Traditional software development for robotic systems has primarily focused on programming the central processing unit (CPU). However, these robotic systems often exhibit processing inefficiencies, high power consumption, and safety issues due to the inherent architectural constraints and limitations of CPUs.

What is a Robot Computing Platform?

Robotic behavior is often built as a computational graph, with data flowing from sensors to computational technology, all the way to actuators and back. To gain additional performance capabilities, robotic computing platforms must efficiently map these graph-like structures to CPUs, as well as to specialized hardware including FPGAs and GPUs.

Robots are complex mechatronic devices, which comprehensively use the latest research results of machinery and precision machinery, microelectronics and computers, automatic control and driving, sensors and information processing, and artificial intelligence.

To integrate these achievements and truly form the ability of cognition, feeling, and action, so that the robot can understand and respond to the real world and accurately complete the operation tasks, the computing platform it carries needs to meet various requirements:

  • Perception ability: The platform has rich I/O interfaces, supports USB3, UART, I2C, and other I/O protocols to receive various sensor data. 360-degree omnidirectional scanning and ranging detection of the surrounding environment, and then obtain the contour map of the surrounding environment.
  • Control ability: It can control various moving parts, such as chassis, arms, fingers, and head, to complete actions in multiple dimensions, and it has real-time and safety guarantees.
  • Computing power: It is necessary to cope with the processing overhead of a large amount of data, as well as meet the huge computing needs of various intelligent algorithms.

Advantages and disadvantages of various computing resources?

Robotics and AI platforms incorporate a variety of computing resources, including CPUs, digital signal processors (DSPs), graphics processing units (GPUs), field-programmable gate arrays (FPGAs), and application-specific integrated circuits (ASICs). They allow roboticists to build flexible computing architectures for robots, requiring the right tools for each task to maximize their performance.

  1. Scalar Processor (CPU):
    Scalar processing elements are very efficient in complex algorithms with multiple decision trees and extensive libraries. But performance scaling is limited. Although CPUs are very flexible, their underlying hardware is fixed. Most CPUs are still based on the Von-Neumann architecture (stored-program computer), where data is brought from memory to the processor, manipulated, and then written back to memory. Each CPU operates sequentially, one instruction at a time, and the architecture is centered around an arithmetic logic unit (ALU), which requires moving data in and out of each operation. In robotics architectures, scalar processors play a central role. Coordinating the flow of information across sensing, actuation, and cognition by using the CPU is fundamental to robotic systems. In addition, Robot Operating System (ROS), a widely adopted software framework for robot application development, is designed in a CPU-centric manner.
  2. Vector processors (DSP, GPU):
    Computational Architecture Vector processing elements (DSP, GPU) are more efficient on a narrower set of parallelizable computing capabilities compared to CPUs. The downside is an inflexible memory hierarchy, which creates latency and loss of efficiency. The GPU performs the same few tasks over and over again, best for professional and functional performance. Vector processors overcome the shortcomings of CPUs in robotics and have the ability to process large amounts of data.
  3. Programmable Logic (FPGA):
    Programmable logic can be precisely tailored to specific computing functions for latency-critical real-time applications. However, these advantages come at the cost of programming complexity. Also, reconfiguration and reprogramming of FPGA’s require longer compile times compared to the programing of scalar and vector processors. Unlike general-purpose memory structures, FPGAs are flexible and adaptable, tailorable to desired tasks,. In robotics architectures, FPGAs enable the creation of run-time reconfigurable robotic hardware via software. Software-defined hardware for robots is good at dataflow computations because statements are executed once all operands are available. This makes FPGAs useful for connecting sensors, actuators, and processing networks. In addition, FPGAs can create custom hardware-accelerated cores with the flexibility to be an alternative to vector processors for data processing tasks.
  4. Application-Specific Integrated Circuits (ASICs):
    The special fixed architecture of the ASIC provides higher performance and power efficiency, as well as the best price for high volume production. But ASICs take many years to develop and no changes are allowed. Therefore, while ASICs will play a role in some future robotic systems, the use of ASICs in robotics architecture is still limited.
  5. Network of Networks:
    Robots are inherently deterministic machines. They are a network of networks where sensors capture data, pass it to computing technology, then to actuators, and back again in a deterministic way. These networks can be understood as the nervous system of the robot. Like the human nervous system, real-time information is passed through all networks to control the coherent behavior of the robot. Von-Neumann-based scalar and vector processor architectures excel at control flow but struggle to guarantee determinism. This is where FPGAs and ASICs come into play as key enabling technologies for robotic systems.
  6. Robot Computing Architecture:
    Consider robotic systems that use robotic operating systems (ROS), which have become common in robotics development. Using ROS, robotic processes are designed as nodes in a computational graph. Robotic computing platforms must be able to efficiently map these graph-like structures onto silicon. The ROS computational graph should seamlessly run across the computational substrate, and data must flow from the programmable logic (FPGA) to the CPU, from the CPU to the vector processor, and all the way back. Robot chips should map not only the ROS computational graph to CPUs, but also FPGAs, GPUs, and other computing technologies for additional performance. 
  7. Best computing resources:
    In contrast to traditional, CPU-centric robotics programming models, the availability of additional computing platforms provides engineers with a high degree of architectural flexibility. Roboticists can take advantage of the properties of various computing platforms: determinism, power consumption, throughput, etc., by selecting, mixing and matching the right computing resources as needed.
Published by Mar 17, 2022 Source :roboticsbusinessreview

Further reading

You might also be interested in ...

Headline
Knowledge
What Is Co-extrusion Technology?
The characteristics of co-extrusion extrusion technology are that the substrate layer and the adhesive layer are completely fused and the extruded film itself is integrally formed, and there will be no glue residue after long-term lamination. It can be customized to achieve the purpose of cost reduction and process simplification.
Headline
Knowledge
Functions and Types of CNC Machining Centers
A CNC machining center is a kind of CNC machining machine which has had many other functions added. Combining milling, boring, drilling, tapping, and threading functions into one machine, enables a machining center to perform multiple processes.
Headline
Knowledge
What Do You Know About A Hydraulic Press?
A hydraulic press is a machine that uses hydraulic pressure to process metal, plastic, rubber, wood, powder, and other products. It is commonly used in pressing processes and press forming processes.
Headline
Knowledge
What Are the Types and Uses of Common Bearings?
Bearings are components that fix and reduce the friction coefficient of loads during mechanical transmission. It can also be said that when other parts move relative to each other on the shaft, it is used to reduce the friction coefficient in the process of power transmission and keep the center of the shaft fixed. Bearings are an important part of modern mechanical equipment. Its main function is to support the mechanical rotating body to reduce the friction coefficient of the mechanical load during the transmission process of the equipment. This article will continue to share the characteristics, differences and corresponding uses of several common bearings.
Headline
Knowledge
What Are the Types and Uses of Common Bearings? (To be continued...)
Bearings are crucial parts in mechanical equipment. Its main function is to support the mechanical rotating body to reduce the friction coefficient of the mechanical load during the transmission process of the equipment. This article will share the characteristics, differences and corresponding uses of several common bearings.
Headline
Knowledge
Do You Know About Selective Laser Sintering 3D Printing?
Selective laser sintering is an additive manufacturing technology that sinters small particles of polymer powder into a 3D three-dimensional structure through high-power laser light; thus, this is also called selective laser sintering 3D printing, or SLS 3D printing.
Headline
Knowledge
Quick Guide About Automated Guided Vehicle (AGV)
During the operation of a factory, the flow of materials determines the production efficiency of the factory. Recently, production lines have gradually added automation equipment, but the supply or handling of materials to and from the production line still relies on manual handling operations. This often results in unsmooth logistics and interrupted production flow. To avoid interruptions in supply, and reduce storage and production space, Automated Guided Vehicle (AGV) technology offers an unmanned management solution.
Headline
Knowledge
Types of Plastic Manufacturing Processes
Plastic products can be seen everywhere in daily life, and different plastic products are made through different processing techniques. Plastics manufacturing is the process of making plastic into semi-products or products with practical value. Plastics manufacturing usually includes primary processing and secondary processing of plastics.
Headline
Knowledge
Do You Know About Semiconductor Supply Chain?
Semiconductor supply chain include all kinds of semiconductor manufacturing and design industries, such as IC manufacturing, IC packaging and testing, IC design, and discrete component manufacturing.
Headline
Knowledge
What Are the Different Types of Electric Linear Actuators?
With the continuous development of the downstream industry of linear actuator and the continuous expansion of linear actuator applications, the global demand for linear actuator has shown a rapid growth. In 2019, the global linear actuator market has exceeded 15 billion yuan.
Headline
Knowledge
What Are the Common Types of Plastic Machinery in the Plastics Industry?
Plastic molding processing technology has been widely used in the production of many high-tech products, such as auto parts, 3C electronic products, connectors, displays, mobile phones, plastic optical lenses, biomedical application products, and general daily necessities, etc. With the trend of diversification of product usage and variability in functional requirements, plastic molding processing technology is booming day by day.
Headline
Knowledge
What Is the Structure of A Milling Machine?
Milling machines provide support to the manufacturing industries. The milling machines can perform almost every milling operation like gear milling, thread milling, angular milling, etc.
Agree