Abstract: This paper first defines and classifies robot controllers, which are one of the key components affecting robot performance and influence robot development to a certain extent. This paper introduces the current status of robot controllers, analyzes their respective advantages and disadvantages, and discusses the development direction and key issues to be addressed.
0 Introduction
The controller is the core of a robot system, and foreign companies have imposed strict embargoes on it in my country. In recent years, with the development of microelectronics technology, microprocessors have become increasingly powerful and affordable, with 32-bit microprocessors now available for as low as $1-2. These cost-effective microprocessors have brought new development opportunities to robot controllers, making it possible to develop low-cost, high-performance controllers. To ensure sufficient computing and storage capabilities, current robot controllers mostly use high-performance chips such as ARM, DSP, POWERPC, and Intel chips. Furthermore, because existing general-purpose chips cannot fully meet the requirements of certain robot systems in terms of price, performance, integration, and interfaces, there is a demand for System-on-Chip (SoC) technology. Integrating a specific processor with the required interfaces simplifies the design of peripheral circuits, reduces system size, and lowers costs. For example, Actel integrates NEOS or ARM7 processor cores into its FPGA products, forming a complete SoC system. In the field of robot motion controllers, research is mainly concentrated in the United States and Japan, with mature products available from companies such as DELTATAU (USA) and PTZ (Japan). Their motion controllers are based on DSP technology and employ an open PC-based architecture.
As a key technology in computer systems, computer control technology encompasses a wide range, from robot intelligence and task description to motion control and servo control. It includes both the various hardware systems and software systems required for control. Early robots used sequential control methods. With the development of computers, robots now use computer systems to comprehensively implement the functions of electromechanical devices and employ teach-and-playback control methods. With the development of information and control technologies, and the expansion of robot applications, robot control technology is evolving towards intelligence, giving rise to new technologies such as offline programming, task-level languages, multi-sensor information fusion, and intelligent behavior control. The development of these technologies will promote the realization of intelligent robots.
The integrated approach to the control system differs significantly for different types of robots, such as legged walking robots and articulated industrial robots, and the design schemes of the controllers also differ. This article only discusses the issue of industrial robot controllers.
1. Types of robot controllers
A robot controller is a device that controls a robot to perform certain actions or tasks based on instructions and sensor information. It is the heart of the robot and determines the quality of its performance.
From the perspective of the processing method of robot control algorithms, they can be divided into two structural types: serial and parallel.
1.1 Serial Processing Structure
The so-called serial processing structure refers to a robot's control algorithm being processed by a serial machine. This type of controller can be further divided into the following categories based on computer architecture and control method.
(1) Single CPU structure, centralized control method
A single, powerful computer is used to perform all control functions. Early robots, such as Hero-I and Robot-I, employed this structure, but the control process requires a great deal of computation (such as coordinate transformations), making this control structure relatively slow.
(2) Two-level CPU structure and master-slave control mode
The primary CPU acts as the host, handling system management, robot language compilation, and human-machine interface functions. It also utilizes its computing power to perform coordinate transformations and trajectory interpolation, and periodically sends the calculation results as increments of joint motion to the shared memory for the secondary CPU to read. The secondary CPU completes all digital control of joint positions.
In this type of system, the two CPU buses are essentially unconnected, exchanging data only through shared memory, resulting in a loosely coupled relationship. Further distributing functionality by using more CPUs is difficult. The computer system of the Motoman robot (5 joints, DC motor driven), produced in Japan in the 1970s, belongs to this master-slave architecture.
(3) Multi-CPU structure and distributed control method
Currently, a two-tier distributed architecture with upper and lower control units is widely used. The upper control unit is responsible for overall system management, kinematic calculations, trajectory planning, etc. The lower control unit consists of multiple CPUs, each controlling the movement of one joint. These CPUs are tightly coupled to the main control unit via a bus. This architecture significantly improves the controller's operating speed and control performance. However, these multi-CPU systems share the characteristic of employing a functionally distributed architecture tailored to specific problems, meaning each processor undertakes a fixed task. Most commercially available robot controllers worldwide currently use this architecture.
The position control section of a computer-controlled robot system almost invariably employs digital position control. All of the above-mentioned controller types use serial machines to calculate robot control algorithms. They share a common weakness: heavy computational burden and poor real-time performance. Therefore, most employ offline planning and feedforward compensation decoupling methods to alleviate the computational burden in real-time control. When the robot is disturbed during operation, its performance will be affected, making it even more difficult to guarantee the accuracy requirements for high-speed motion.
Due to the complexity of robot control algorithms and the urgent need to improve robot control performance, many scholars have made efforts to reduce computational load from various aspects such as modeling and algorithms. However, it is still difficult to meet the requirements of real-time computing on serial controllers. Therefore, solutions must be sought from the controller itself. One approach is to use high-end microcomputers or minicomputers; another approach is to use multiprocessors for parallel computing to improve the controller's computing power.
1.2 Parallel Processing Structure
Parallel processing technology is an important and effective means to improve computational speed, meeting the real-time requirements of robot control. Regarding parallel processing technology for robot controllers, much research has focused on parallel algorithms and their implementations in robot kinematics and dynamics. In 1982, JYS Luh first proposed the problem of parallel processing of robot dynamics because the dynamic equations of articulated robots are a set of nonlinear, strongly coupled second-order differential equations, making calculations extremely complex. Improving the computational speed of robot dynamics algorithms also lays the foundation for implementing complex control algorithms such as the torque method, nonlinear feedforward method, and adaptive control method. One approach to developing parallel algorithms is to modify serial algorithms to parallelize them and then map the algorithm onto a parallel structure.
There are generally two approaches: one is to consider a given parallel processor architecture and develop the parallelism of the algorithm based on the computational model supported by the processor architecture; the other is to first develop the parallelism of the algorithm and then design a parallel processor architecture that supports the algorithm to achieve the best parallel efficiency.
Computer systems for constructing robot controllers with parallel processing architectures generally employ the following methods:
(1) Developing a dedicated VLSI for robot control: Designing a dedicated VLSI can make full use of the parallelism of robot control algorithms. Relying on the parallel architecture within the chip, it is easy to solve the large number of calculations in robot control algorithms, which can greatly improve the calculation speed of kinematic and dynamic equations. However, since the chip is designed according to a specific algorithm, the chip cannot be used when the algorithm changes. Therefore, the controller constructed in this way is not universal and is not conducive to system maintenance and development.
(2) Parallel processing networks are constructed using chip-based computers with parallel processing capabilities (such as Transputer, DSP, etc.). Transputer is a chip-based computer for parallel processing developed and manufactured by Inmos in the UK. Utilizing the four pairs of bit-string communication links of the Transputer chip, different topologies can be easily constructed, and Transputer has extremely strong computing power. Using the Transputer parallel processor, various robot parallel processors have been constructed, such as pipelined and tree-type parallel processors.
With the continuous improvement of digital signal chips speed, high-speed digital signal processors (DSPs) are widely used in all aspects of information processing. DSPs are characterized by their extremely fast digital computing speed and ease of constructing parallel processing networks.
(3) A parallel processing structure is constructed using a general-purpose microprocessor to support computation and realize online real-time computation of complex control strategies.
2. Problems with the robot controller
With the rapid development of modern science and technology and the progress of society, higher requirements are being placed on the performance of robots.
Research on intelligent robot technology has become a major development direction in the field of robotics, including various precision assembly robots, force/position hybrid control robots, multi-limb coordination control systems, and robots in advanced manufacturing systems. Correspondingly, higher demands are being placed on the performance of robot controllers. However, since the inception of robots, especially industrial robots, the controllers used have been primarily developed by developers based on their own independent architectures, employing dedicated computers, dedicated robot languages, dedicated operating systems, and dedicated microprocessors. Such robot controllers can no longer meet the requirements of modern industrial development.
From the two types of robot controllers mentioned above, serial processing controllers are closed in structure, have limited functionality, and poor computing power, making it difficult to guarantee real-time control requirements. Therefore, most commercial robots currently use single-axis PID control, which is insufficient to meet the high-speed and high-precision requirements of robot control. Although distributed structures are open to a certain extent, allowing for the addition of more processors to meet sensor processing and communication needs, their openness is limited. The use of a "dedicated computer (such as the PDP-11 used as the upper-level main control computer in PUMA robots), a dedicated robot language (such as VAL), a dedicated microprocessor, and a control algorithm fixed in EPROM" structure limits its scalability and flexibility, thus making its structure closed.
While parallel processing controllers have achieved significant breakthroughs in computational speed, meeting the needs of real-time control, we must recognize that many problems remain. Current research on parallel processing controllers generally focuses on the parallel processing of robot kinematics and dynamics models, designed based on the mapping characteristics of parallel algorithms and multiprocessor architectures. This involves decomposing a given task into several subtasks, creating a data flow graph, and implementing parallel processing of each subtask on its corresponding processor. Due to the inherent communication and synchronization characteristics of parallel algorithms, improper program design can easily lead to issues such as deadlock and communication blockage. In summary, existing robot controllers suffer from many problems, such as:
(1) Poor openness
It is limited to a closed structure of "dedicated computer, dedicated robot language, and dedicated microprocessor". The closed controller structure limits its functions and adapts to specific environments, making it difficult to expand and improve the system.
(2) Poor software independence
The software architecture and its logical structure depend on the processor hardware, making them difficult to port between different systems.
(3) Poor fault tolerance
Due to the inherent characteristics of data correlation, communication, and synchronization in parallel computing, the fault tolerance of the controller deteriorates, and the failure of one processor may lead to the paralysis of the entire system.
(4) Poor scalability
Currently, research on robot controllers focuses on improving and enhancing system performance at the joint level. Due to the closed nature of the structure, it is difficult to expand the system as needed, such as by adding functional modules like sensor control.
(5) Lack of network functionality
Almost all robot controllers nowadays lack network functionality.
In summary, none of the robot controllers mentioned above, whether serial or parallel, are open architectures. They are difficult to expand and modify, both in software and hardware. For example, the controller of the commercial Motoman robot is not open; users cannot easily modify or expand its functionality according to their needs. The usual approach is to dissect and analyze it in detail before modifying it.
3. Prospects for Robot Controllers
With the development of robot control technology, addressing the shortcomings of closed-structure robot controllers, developing "modular and standardized robot controllers with open structures" is a current development direction for robot controllers. In recent years, Japan, the United States, and some European countries have been developing robot controllers with open structures, such as the PC-based robot controller developed by Yaskawa Electric Corporation of Japan, which features an open structure and network functionality. my country's 863 Program's intelligent robot theme has also initiated research in this area.
An open-architecture robot controller refers to a controller whose design is open to the user, allowing for easy expansion and performance improvement. Its main idea is:
(1) Utilize development systems based on non-closed computer platforms, such as Sun, SGI, and PC's, to effectively utilize the software and hardware resources of standard computer platforms to create conditions for controller expansion.
(2) Use standard operating systems, such as Unix and VxWorks, and standard control languages, such as C and C++. By adopting standard operating systems and control languages, the situation of various special robot languages coexisting and being incompatible with each other can be changed.
(3) The standard bus structure is adopted, which makes it easy to integrate the hardware necessary to expand the controller performance, such as various sensors, I/O boards and motion control boards, into the original system.
(4) Utilize network communication to achieve resource sharing or remote communication. Currently, almost all controllers lack network functionality. Utilizing network communication functionality can improve the flexibility of system changes.
We can design a robot controller with an open structure based on the above ideas. Furthermore, the design process should strive for modularity as much as possible. Modularization is a modern method for system design and construction. Designed using a modular approach, the system consists of multiple functional modules, each complete and singular. Systems built in this way not only have good performance and short development cycles but also lower costs. Modularization also makes the system open, easy to modify, refactor, and add configuration functions. The novel controller designed based on the multi-agent concept is an example of a modular design, consisting of seven modules: a database module, a communication module, a sensor information module, a human-machine interface module, a scheduling module, a planning module, and a servo control module.
The new robot controller should have the following features:
(1) Open system architecture
It adopts an open software and hardware architecture, which can be easily expanded as needed to make it suitable for different types of robots or robotic automated production lines.
(2) Reasonable modular design
For hardware, modular design based on system requirements and electrical characteristics not only facilitates installation and maintenance but also improves system reliability and makes the system structure more compact.
(3) Effective task division
Different subtasks are implemented by different functional modules to facilitate the modification, addition, and configuration of functions.
(4) Real-time and multi-tasking requirements
The robot controller must be able to handle external interruptions within a defined time and enable multiple tasks to run simultaneously.
(5) Network communication function
Utilize network communication capabilities to facilitate resource sharing or collaborative work among multiple robots.
(6) A visually intuitive human-computer interface
In addition, motion control boards are essential in robot controllers. Due to differences in robot performance, the requirements for motion control boards also vary. The PMAC (Programmable Multi-axis Controller) launched by DeltaTau in the United States has attracted attention both domestically and internationally. PMAC is a powerful motion controller that fully utilizes the powerful functions of DSP technology, providing users with strong functionality and great flexibility. With the help of Motorola's DSP56001 digital signal processor, PMAC can simultaneously control 1 to 8 axes, offering many advantages over other motion control boards. Due to the wide variety of software and hardware suitable for robot control and the rapid development of modern technology, developing a completely open and standardized robot controller presents certain difficulties. However, by applying existing technologies, such as the excellent openness, security, and networking capabilities of industrial PCs, standard real-time multi-tasking operating systems, standard bus structures, and standard interfaces, it is entirely feasible to break the closed structure of existing robot controllers and develop standardized robot controllers with open structures and modular functions.
4. Conclusion
With the development of robotics technology and the continuous expansion of robot applications, higher demands are being placed on robot performance. Therefore, effectively applying research findings from other fields (such as image processing, sound recognition, optimal control, and artificial intelligence) to the real-time operation of robot control systems is a challenging research endeavor. Research on modular and standardized robot controllers with open structures is undoubtedly of great significance for improving robot performance and autonomy, and for promoting the development of robotics technology.