From a technical standpoint, writing a simple robot control system (RobotController, RC) to make a robot move is indeed not difficult; a few tens of thousands of lines of code are sufficient. A minimal robot control system can be divided into several modules: a program editor, an interpreter, a path planner, an interpolator, an inverse kinematics module, and a hardware interface module.
How to build a robot control system? Taking the robot's end effector moving in a straight line as an example, the structural design of the control system is shown in Figure 1. The general steps are as follows:
● For program editors, you can find open-source text editors and modify them;
● An interpreter can be implemented using regular expressions;
●The path planner can be found in Chapter 7 of "Introduction to Robotics";
● The interpolator can also be found in Chapter 7 of "Introduction to Robotics";
● The inverse kinematics solution can be found in Chapter 4 of "Introduction to Robotics";
● For the hardware interface module, you can buy a ready-made motion control card or port an open-source communication protocol stack.
In addition, there is a wealth of basic open-source code available online for reference or even direct use, requiring minimal effort. An engineer with some programming background and a basic understanding of robotics can "build" such a "robot control system" in just two months.
With some optimization of stability and user interface (HMI), such a control system could handle simple tasks and would have been world-class even thirty years ago.
Design principles of modern industrial robot control systems
The simplified controller described above is actually designed based on the intuitive experience of teaching: it can execute text commands to perform movements. From this point of view alone, the control systems of the four major manufacturers seem to be no more than this.
In fact, after so many years of development, control systems can no longer be summarized by such a simple description.
Modern industrial robot control systems must at least consider the following design principles, as shown in Figure 2.
(1) Design for Robots
a)robotshassingularities,limitedpower,flexiblestructure
b) imperfectly manufactured
c) by no means a perfect effectector
(2) Design for Applications
a) Sensor-based pathplanning
b) FT sensor-based functions
c) Communication protocols
d) Easy integration
e) process-specific functions
f)highlyreliable,robustandscalablesoftwarearchitecture
(3) Design for Human
a) Intuitive interaction
b) easy-to-use
c) Safety requirements
Each of the sub-points listed above could be the subject of a large-scale discussion, so this article can only provide a general overview.
Design for Robots
The control system first needs to control the robot's electromechanical system to unleash the robot's full potential and meet performance requirements. A simplified controller like the one described above is definitely insufficient; even taking straight-line movement as an example, without considering singularity issues, it's practically unusable in real-world scenarios.
Real-world industrial robots are far from ideal actuators: they have limited output power, flexible structures, and inherent machining errors. Meeting performance requirements such as high speed and high precision under these constraints is the primary problem that control systems must solve. Due to cost constraints, contemporary control systems generally employ model-based control schemes, which first require a dynamic calculation model and accurate parameter identification—this is fundamental (Figure 3).
In addition, industrial applications often have high requirements for the cycle time of robots, which requires the control system to explicitly consider the dynamic characteristics of the robot body during the planning process.
This is an optimization problem, and due to the continuous motion of robots, offline optimization solutions are generally not applicable. How to handle various types of constraints and how to design online optimization algorithms are among the core issues that contemporary control systems must consider. (See Figure 4)
1. A software architecture with high applicability, high stability, and high scalability.
Modern industrial robots involve multiple disciplines such as mechanics, sensing, optimization, control, computer science, and communications, as well as various software and hardware technologies, and complex and ever-changing application scenarios. This presents numerous challenges to control systems; without a sufficiently robust and open software architecture, it would be virtually inconceivable, including:
●How to support the implementation and switching of various robot control strategies;
●How to achieve real-time data interaction between multiple levels/modules;
●How to ensure that multiple functions can operate in parallel without conflict;
●How to ensure stable operation over a long period without entering an error state;
● How to design user-friendly human-computer interaction.
2. Robot error calibration and compensation
Industrial robots inevitably introduce machining and assembly errors during production; they also undergo elastic deformation under load. To improve accuracy, they are typically calibrated before leaving the factory, using identification methods to obtain accurate geometric errors and deformation deviations, which are then compensated for within the control system.
Model-based control schemes take into account many characteristics of the robot itself, which is a major feature and advantage that distinguishes contemporary industrial robot control systems from general-purpose motion control cards/devices. The current performance of mainstream industrial robots is due to this.
As models and algorithms become increasingly complex, optimizing/reusing computations and allocating computational resources have become unavoidable issues in software implementation. Design for Robots also implies the joint design of hardware and software. For example, how to achieve functional and performance requirements with minimal cost requires comprehensive optimization of both hardware and software to achieve a good balance between cost and performance.
It is precisely because of these limitations and demands that almost all major robot manufacturers in the world have chosen to develop their own control systems and mechanical designs, while outsourcing other components such as motors and reducers.
Design for Applications
Industrial applications are arguably the main driving force behind the development of industrial robot control systems. In the past, their development was largely driven by the demands of the automotive industry; however, with the expansion of application scenarios, various new applications have also placed diverse demands on control systems.
1. Sensor-based path planning
The ability to generate and correct paths online based on sensor information is a crucial foundation for modern industrial robot control systems to support many applications.
Sensor-based path planning requires rapid response under constraints such as position, velocity, and acceleration, based on feedback information from external sensors (e.g., cameras, encoders, weld seam trackers, 3D cameras, etc.), to dynamically generate, correct, and optimize robot trajectories. Typical applications include conveyor belt tracking, weld seam tracking, visual servoing, dynamic planning and obstacle avoidance in unstructured environments (as shown in Figure 5).
2. Force control based on force sensor (F/T sensor)
In applications such as grinding, polishing, and assembly, which involve high interaction with the environment and equipment, position control alone can easily damage equipment or tools when there are positional deviations in the external environment and the robot.
Force feedback loops are introduced by measuring force/torque sensors (F/TSensors), and the robot's motion characteristics are changed by controlling the force feedback loops, thereby enabling the robot to dynamically interact with the external environment. Even when there are deviations or uncertainties between the robot and the external environment, the interaction process can still be guaranteed to be smooth and safe (as shown in Figure 6).
One of the challenges that contemporary industrial robot control systems need to address is how to meet the diverse needs of force control applications within a unified framework.
3. Process-specific functions
Mature industrial robot control systems typically have a wide range of process option packages. For example, ABB and KUKA offer a variety of optional process packages (Figure 7).
Design for Human
More and more applications require the removal of barriers, replacing them with close collaboration between robots and humans. In this context, the intuitiveness and safety of robot-human interaction become particularly important. The essence of collaborative robots is safety and ease of use, which stems from innovations in control and software.
1. Intuitive interaction
The lack of professional robot debugging personnel and the complexity of robot application are significant obstacles hindering the adoption of robots by small and medium-sized enterprises (SMEs). Therefore, intuitive interaction methods and simple fault recovery measures are among the challenges facing modern control systems. Whether it's offline programming, drag-and-drop teaching, or emerging technologies like voice teaching and autonomous planning, these are all attempts by robot manufacturers to lower the barrier to entry for users.
2. Safety requirements
The prerequisite for the large-scale application of robots is to ensure safety while maintaining the lowest possible cost and highest degree of freedom of use.
Collision detection technology uses the robot's own measurement information or external sensor information to sense abnormal contact between the robot and the outside world in real time, and takes effective obstacle avoidance measures to reduce the risk of collision. It is an important technical approach to ensure the safety of personnel and equipment in human-robot collaboration (as shown in Figures 8 and 9).
Where are the mature technologies?
1. Fermi Paradox
Another common view is that industrial robots have been developed for so many years that all kinds of problems should have been elevated to the level of theory, and solutions should have been found in textbooks. Therefore, there is nothing more to be done.
This reminds me of the Fermi Paradox.
When physicist Enrico Fermi was discussing the existence of extraterrestrial life, he suddenly asked, "Where are they all?" — The universe is ancient and vast; it's quite possible that technologically advanced extraterrestrial civilizations exist and have even visited Earth, but why haven't humans discovered them yet?
Similarly, if the technology is mature and there is no shortage of experts, why are most factories filled with foreign CNC machine tools, robots, and automated equipment? Why doesn't anyone spend two months building a robot that surpasses Fanuc and then open-source the blueprints and code? The entire industry would be grateful and copy it without hesitation.
2. Corpus Analysis of "The Robotics Manual"
Sometimes, researchers may find it difficult to begin when faced with academic and technical situations in unfamiliar fields. Besides interview-based research, I have one suggestion: conduct more corpus analysis.
For example, in the robotics industry, Springer published the "Springer Handbook of Robotics" in 2008, edited by renowned authors Oussama Khatib and Bruno Siciliano, with a second edition released in 2016. This handbook provides a panoramic view of many areas of robotics and should be an indispensable resource for analyzing the discipline and industry of robotics.
Even without understanding the technical details, a statistical analysis of this handbook from a corpus analysis perspective will yield many interesting conclusions. For example:
(1) Search for the keyword "industrialrobot" and count the amount of space occupied by industrial robots in robot manuals. Compare the proportion of commercial applications.
(2) Search for the names of industrial robot manufacturers: fanuc, yaskawa, kuka, abb, etc., count the length of time they appear in robot manuals, and compare the shipment volume of each company.
(3) Distribution of authors: the proportion of industry and academia; the nationality distribution of each author.
(4) The distribution of authors of citations in each chapter: the proportion of industry and academia; the nationality distribution of each author.
After completing the above statistics, the researchers can obtain the following data for comparison. The data may not be accurate, so please use your own judgment (as shown in Figure 10).