The development direction and solution of robot controller
it has been 50 years since the birth of the world's first remote control manipulator and made a breakthrough. In these short years, with the development of computer and automatic control theory, the needs of industrial production and the progress of related technologies, the development of robots has experienced three generations : (1) programmable teaching and reproduction robots; (2) Robot with certain autonomous ability based on sensor control; (3) Intelligent robot. As the core part of robot, robot controller is one of the key parts that affect the performance of robot. It affects the development of robot to a certain extent. At present, due to the great progress of artificial intelligence, computer science, sensor technology and other related disciplines, the research of robot is carried out at a high level, At the same time, it also puts forward higher requirements for the performance of robot controller.
for different types of robots, such as walking robots with legs and articulated industrial robots, the comprehensive method of control system is quite different, The design scheme of the controller is also different. This paper only discusses the problem of industrial robot controller.
2 types of robot controller
robot controller is a device that controls the robot to complete certain actions or work tasks according to instructions and sensor information. It is the heart of the robot and determines the performance of the robot.
from the processing method of robot control algorithm, it can be divided into serial There are two types of parallel structures.
2.1 serial processing structure
the so-called serial processing structure refers to that the control algorithm of the robot is processed by the serial computer. For this type of controller, from the perspective of computer structure and control mode, it can be divided into the following types 
(1) single CPU structure, centralized control mode
use a powerful computer to realize all control functions. This structure was used in early robots, such as Hero-I, robot-i, etc., but the control process requires a lot of calculation (such as coordinate transformation), so this control structure is slow.
(2) two-level CPU structure, master-slave control mode
the first level CPU is the host, which is responsible for system management Robot language compilation and human-machine interface function, at the same time, it also uses its computing ability to complete coordinate transformation and trajectory interpolation, and regularly sends the calculation results as the increment of joint motion to the public memory for the secondary CPU to read; The two-level CPU completes the digital control of all joint positions. There is basically no connection between the two CPU buses of this kind of system, and it is a loose coupling relationship that only exchanges data through the common memory. It is very difficult to further disperse the functions with more CPUs. The computer system of Motoman robot (5 joints, driven by DC motor) produced in Japan in the 1970s belongs to this master-slave structure.
(3) multi CPU structure Distributed control mode
at present, this two-level distributed structure of upper and lower computers is widely used. The upper computer is responsible for the whole system management, kinematics calculation, trajectory planning, etc. the lower computer is composed of multiple CPUs, and each CPU controls a joint motion, These CPUs are closely coupled with the main control computer in the form of bus. The working speed and control performance of the controller with this structure are significantly improved. However, the common feature of these multi CPU systems is the functional distributed structure adopted for specific problems, that is, each processor undertakes fixed tasks. At present, most commercial robot controllers in the world are the position control part of this structure.
controller computer control system, Almost without exception, digital position control is used.
the above types of controllers use serial computers to calculate the robot control algorithm. They have a common weakness: heavy computational burden and poor real-time performance. Therefore, offline planning and feedforward compensation decoupling are mostly used to reduce the computational burden in real-time control. When the robot is disturbed in operation, its performance will be affected, It is more difficult to ensure the accuracy index required in high-speed motion.
due to the complexity of robot control algorithm and the urgent need to improve robot control performance, many scholars have made efforts to reduce the amount of calculation from modeling, algorithm and other aspects, but it is still difficult to meet the requirements of real-time calculation on the serial structure controller. Therefore, We must find a solution from the controller itself. One of the methods is to choose high-grade microcomputer or minicomputer; Another method is to use multiprocessors for parallel computing to improve the computing power of the controller.
2.2 parallel processing structure
parallel processing technology is an important and effective means to improve the computing speed, which can meet the real-time requirements of robot control. From the literature, about the parallel processing technology of robot controller, People mostly study the parallel algorithm of robot kinematics and dynamics and its implementation. In 1982, H  first proposed the parallel processing problem of robot dynamics, because the dynamic equation of articulated robot is a set of nonlinear and strongly coupled second-order differential equations, and the calculation is very complex. Improving the calculation speed of robot dynamics algorithm is also to realize complex control algorithms, such as computational torque method, nonlinear feedforward method Adaptive control method and so on. One of the ways to develop parallel algorithms is to transform the serial algorithm to parallelize it, and then map the algorithm to the parallel structure. Generally, there are two ways: one is to consider the given parallel processor structure and develop the parallelism of the algorithm according to the calculation model supported by the processor structure; Second, first develop the parallelism of the algorithm, and then design the parallel processor structure supporting the algorithm to achieve the best parallel efficiency.
the computer system of constructing the robot controller with parallel processing structure generally adopts the following methods:
(1) develop the special VLSI for robot control [4, 5]
design the special VLSI can make full use of the parallelism of robot control algorithm, Depending on the parallel architecture in the chip, it is easy to solve a large number of calculations in the robot control algorithm, which can greatly improve the calculation speed of kinematic and dynamic equations. However, because the chip is designed according to the specific algorithm, when the algorithm changes, the chip cannot be used, so the controller constructed in this way is not universal, It is not conducive to the maintenance and development of the system.
(2) using chip computers with parallel processing ability (such as Transputer, DSP, etc.) to form a parallel processing network
Transputer is a chip computer for parallel processing developed and produced by British INMOS company. Using the link pair of 4-bit string communication of Transputer chip, it is easy to construct different topological structures, And the Transputer has strong computing power. Using the Transputer parallel processor, people have constructed various robot parallel processors, such as pipeline type, tree type, etc. literature  uses the Transputer network to realize inverse kinematics calculation, while literature  for the purpose of real-time control, realizes two control schemes based on fixed models, namely feedforward compensation and calculated torque.
with the continuous improvement of the speed of digital signal chip, High speed digital signal processor (DSP) is widely used in all aspects of information processing. DSP is good at extremely fast digital operation speed and is easy to form a parallel processing network . Literature  introduces a robot controller based on DSP, which adopts a parallel/pipeline design scheme to improve the performance of the controller.
(3) using a general microprocessor
using a general microprocessor to form a parallel processing structure, Support calculation and realize real-time calculation of complex control strategies. For example, the system designed in literature [10, 11].
3 problems of robot controller
with the rapid development of modern science and technology and social progress, higher requirements are put forward for the performance of robots. The research of intelligent robot technology has become the main development direction in the field of robots, such as various precision assembly robots, force/position hybrid control robots, Research on multi limb coordinated control system and robots in advanced manufacturing system. Correspondingly, higher requirements are put forward for the performance of robot controllers.
however, since the birth of robots, especially industrial robots, the controllers used are basically developed by developers based on their own independent structures, using special computers, special robot languages, special operating systems Special microprocessor. Such robot controller can no longer meet the requirements of modern industrial development.
from the two types of robot controllers mentioned above, the serial processing structure controller has closed structure, single function, and poor computing power, which is difficult to ensure the requirements of real-time control. Therefore, at present, the vast majority of commercial robots use single axis PID control, which is difficult to meet the high-speed High precision. Although the distributed structure is open at a certain level, more processors can be added as needed to meet the needs of sensor processing and communication, However, it is only open in a limited range. The structure of "special computer (such as PUMA robot using PDP-11 as the upper main control computer), special robot language (such as VAL), special microprocessor and fixing the control algorithm in EPROM" as mentioned in document  limits its scalability and flexibility, Therefore, its structure is closed.
although the parallel processing structure controller can make a great breakthrough in computing speed and meet the needs of real-time control, we must see that there are still many problems. The current research on parallel processing controller generally focuses on the parallel processing of robot dynamics and dynamic model, and is designed based on the mapping characteristics of parallel algorithm and multiprocessor structure, That is, by decomposing the given task, several subtasks are obtained, and the data correlation flow graph is listed to realize the parallel processing of each subtask on the corresponding processor. Due to the inherent characteristics of communication and synchronization in the parallel algorithm, locking and communication blocking are easy to occur if the program is not designed properly.
taken together, there are many problems in the existing robot controller, For example:
(1) poor openness
limited to the closed structure of "special computer, special robot language, special microprocessor". The closed controller structure makes it have specific functions and adapt to specific environment, which is not convenient for the expansion and improvement of the system.
(2) poor software independence
software structure and its logical structure depend on processor hardware, It is difficult to transplant between different systems.
(3) poor fault tolerance
due to the inherent characteristics of data correlation, communication and synchronization in parallel computing, the fault tolerance performance of the controller becomes worse, and one of the processes can do its own work in a planned way. Failure of the working device may lead to the paralysis of the whole system.
(4) poor scalability
at present, The research of robot controller focuses on improving and improving the performance of the system from the joint level. Due to the closeness of the structure, it is difficult to expand the system as needed, such as adding functional modules such as sensor control.
(5) lack of network function
almost all robot controllers now have no network function.
overall, The robot controller mentioned above, whether serial structure or parallel structure, is not an open structure, and it is difficult to expand and