Robot control: using native programming language or an external controller?
Published on Januar 27, 2021 – Author: Dr.-Ing. Andreas Hermann, Senior Team Leader Advanced Robotics bei ArtiMinds Robotics
In robotics, there are two fundamentally different approaches to programming industrial robots for its individual task: either via the respective native programming language as defined by the vendor or through the implementation of an external proprietary controller which controls the robot fine-granularly. These controllers are typically implemented with the help of the Robot Operating System (ROS). Both approaches have their respective advantages – and disadvantages.
In industrial context, the prevailing practice is to work with the vendor-specific programming languages in order to set up systems “from a single mold”. In service robotics as well as in academia, flexibly designable, use-case specific controllers are used, resulting in the respective robots to mainly act as actuators with low-level control systems but without individual intelligence.
There are a number of robotics companies which are currently driving this second approach in industrial context..
We would, thus, like to take the time to discuss the differences from a neutral perspective in the following blog post:
In automation engineering – thanks to relatively static structure and high predictability – there generally is a top-down methodology within programming and execution. This methodology requires a small number of degrees of freedom for the robot since its tasks are clearly defined: generally speaking, in each sequence the robot can plan and calculate motion paths as well as executing these without interruption or adaptation. For discrete points in time, camera based object detection for example can transmit the object’s position to the robot program. The latter then calculates the motion path to the object and only in the last sequence overlays the movement with force control.
In service robotics, in contrast, there mostly is the need for a control-loop based approach to movements since the robot’s surroundings are less well-defined which in turn results in higher uncertainties. Thus, in academia layered models with bidirectional vertical flow of information are used, granting the robots higher degrees of autonomy and adaptability on all levels. Examples for this are behavior-based decision models or real-time control engineering for visual servoing (tracking of dynamic targets).
Individual controllers are subject to only a small number of constraints, which offers flexibility in the design of system architecture. Hardware and software (incl. operating system and programming language) can be selected freely in order to benefit from their individual advantages or in order to feed-in previous work without the need for porting. This in particular enables the use of arbitrary sensors normally not compatible with the specific robot vendors technology. Constraints in the control system solely result from limitations in the dynamics of the actuators and the interfaces of the robot. Thus, also multi-overlaid control models are feasible (such as null-space control or the obeying of hard and soft constraints during runtime).
In the industry, the benefits of native programming predominate: comprehensive warranty and support options offered by the robot vendors. This is possible because the programming and execution takes place on the original robot controller. Programming is conducted with the tools and languages developed by the vendor. Additional hardware is certified or only available through thoroughly tested protocols. Thus, deterministic behaviour is guaranteed at any point in time, assuring the predictability of the robot’s dynamics and with that its cycle time. Hardware and software components are harmonized with one another in order to yield optimal performance whilst predefining limits of secure use. Furthermore, the clearly defined set of thoroughly tested commands allows the creation of comprehensive documentation and eases support in case of error cases.
LIMITATIONS AND RISKS
Using an environment specified by the robot manufacturer requires expertise in programming as well as dealing with its potential shortcomings and limitations. The overall system can only achieve what the robot manufacturer provides and allows. This usually also means that during runtime the robot can only achieve what was envisioned at programming time.
An individual controller on the other hand offers high potential for malfunction, since a multi-layered system with several components is involved – an individual system for which the responsibility for compatibility is with the user. Thus, a very deep understanding of the hardware and its dynamics is an absolute prerequisite. Without it, there is the possibility of overloading the hardware through faulty control, for example if dynamics are demanded of it, which it cannot serve. This generally makes it much more difficult to receiving certification of safety for such a system.
Of course, many industrial robots also allow mixed operation, which makes it possible to connect individual sensors or external controllers for special scenarios. In this way, it is often possible to apply correction offsets to single, otherwise static trajectories (superposition) and also to monitor these in regards to safety-relevant thresholds. By carefully mixing, the advantages of both approaches can be utilized while disadvantages have to be borne only for small program sections.
With its Robot Programming Suite (RPS), ArtiMinds reduces the programming effort in the robot’s native language to a minimum, additionally allowing the porting of know-how between different vendors. Thus, our customers can concentrate on their processes while still benefiting from all advantages of native programming – especially for sensor-adaptive movements!
ArtiMinds has been a great addition to my robotic programming capabilities. I’ve been able to perform force controlled checks and movements that I would not have ever been able to without the software.
ArtiMinds enables a much faster programming and is backed by its responsive and competent support.
After the first talks and presentations , I knew : This is exactly what we need . The Robot Programming Suite enables us to do universal robot programming at a qualitatively higher level.
MUCH MORE THAN JUST SIMPLE ROBOT PROGRAMMING: With RPS you create cross-process standardization – from planning and programming to maintenance.