• »
  • »
1 February 2022

What is Robot Programming? A Guide to Efficiently Program Robots

Why is programming crucial when it comes to robots? This article describes how to program robots using three main methods.
Why is Robot Programming Important?

When companies consider implementing robotics, they often focus on selecting robot manufacturers and welding equipment providers but overlook the significance of robot programming in determining equipment efficiency. In this article, we will explore the key aspects of robot programming and its impact on operational efficiency.

Robot programming is vital for achieving precision, enhancing efficiency, ensuring flexibility, promoting safety, and enabling scalability in manufacturing and automation processes. By harnessing the power of effective robot programming, companies can unlock the full potential of their robotic systems and gain a competitive edge in the industry.

What Software is Used to Program Robots? Exploring the Three Primary Methods of robot programming

To explain what is robot programming we describe three primary methods: online programming (using teach pendant), offline programming, and autonomous robots. Each method offers its own approach and benefits in terms of efficiency, convenience, and adaptability. In this section, we will delve into the details of each robot programming method.


The first robot programming method, known as online programming, was developed by robot manufacturers. Popular software options for online programming include FANUC Roboguide, KRL (KUKA Robot Language), RobotStudio (ABB), etc.

With online programming, operators utilize a teach pendant to maneuver the robot to desired positions and record its movements. Each point along the robot's trajectories needs to be programmed individually.
never use a tech pendant again
Online programming: each robot manufacturer has its program code and approach to programming.
It is important to note that every robot manufacturer has its own unique program code and approach to programming. Knowledge of programming Fanuc robots, for example, may not be directly applicable to Kuka or ABB robots.

One drawback of online programming is the downtime it incurs. Since the programming process takes place within the robot's cell, the cell cannot function during this time.


To solve the issue of downtime, offline programming was invented. The idea here is to remove the need to program inside of the cell, moving the process to a virtual environment instead. The programmer still writes the code, but all of this happens inside a virtual twin of the cell.

It is worth noting that this method is more convenient for programmers (they sit at a computer, with no need to move a real robot), which speeds up the process a little, compared to online programming.

Offline programming also partially solved the issue of compatibility with robots of different brands. Offline systems can work with different equipment.
never use a robot programming again
An example of an OLP (offline programming) interface. On the right is a digital twin of the cell, and on the left is the program code
However, this way of robot programming created a new challenge that online programming did not present. Virtual and real cells are always slightly different:

  • Robots are not perfect, and deviations are possible;
  • The real working zone may differ from its virtual copy;
  • The part itself may differ from its perfect 3D model seen in the software, due to deviations arising in pre-production.
Thus, after creating a program in a virtual environment, the programmer still needs to test it on a real robot, using a teach pendant.
virtual and real robotic cells are always slightly different
Both options (online and offline robot programming) have been successfully used for many years, but they are only efficient in serial production. A simple example is the automotive industry. Before launching a robotic production line, a long time is required to program the work of every robot. After this, however, the line works flawlessly, producing millions of copies of identical products. At this scale, the cost of initial robot programming is irrelevant.

In high-mix production, however, this approach is no longer viable. An enterprise that produces hundreds of different types of parts constantly switches from one to another. In this scenario, both robot programming options require so much time and money that robots only lose you profit. In fact, this is the reason why robots are scarcely used. Even in the most advanced countries – South Korea, for example – there are only 932 units per 10,000 employees. Germany is at 371 units, and the USA is at 255 units per 10,000 jobs.


With new technologies, you can forget about robot programming at all. With AI and machine-vision-based software ABAGY, welding robots can be cost-effective even for custom projects and one-of-a-kind parts.
the new robot programming method
ABAGY software generates the robot path automatically in minutes
Firstly, robot programming is no longer needed. ABAGY generates the robot path automatically in minutes. Users upload a 3D model of their product, then they set the welding parameters. You no longer need a programmer; you only need a welding expert that you likely already have.
on-the-fly programming: adaptive robots
Thanks to machine vision, the software scans the working area and automatically adjusts the robot path to the real workpiece
Robots with ABAGY have machine vision. Before welding, they scan the working area and the part. If deviations are found, the system automatically adjusts the robot's path. This happens on the fly: robots and software exchange information in real-time.

Another advantage is this: there is no need to place a part precisely at "zero points" with no deviations allowed, as is the case with both online and offline programming. Since robots scan the part and specify its location, it can be positioned freely. Fixtures can also be placed freely in the area. The system will see them and take their location into account when creating robot trajectories.

ABAGY opens the possibility for the use of robots in those industries where they previously were not used at all or used very little:

Bridge Structures
Truck-Trailer & Chassis
Commercial Construction
Heavy Construction Equipment
Utility Structures
Offshore Structures
Industrial conveyors

How to Program Robots

To provide a clearer distinction between the methods, let us revisit a brief overview of the robot programming process in each of the three methods, presented step by step. This will help you better understand the unique approach and workflow involved in online programming, offline programming, and autonomous robots.

Online Programming

Online programming involves using a teach pendant to manually record robot movements and actions. The process can be summarized as follows:

1. Define the Task and Robot Trajectories: Determine the desired positions and movements the robot should execute to perform the task. Using the teach pendant, manually move the robot to each desired point, recording the robot's trajectories and actions.

2. Program Point-by-Point: Program each point along the robot's trajectories individually, specifying joint angles, coordinates, or other relevant parameters. This involves inputting the necessary commands and instructions through the teach pendant.

3. Test and Debug: Verify the program by testing the robot's movements and actions in the real environment. Identify any errors or issues and make necessary adjustments to ensure the program achieves the desired task accurately and safely.

Offline Programming

Offline programming enables programming in a virtual environment without the need for a physical robot. The steps for offline programming are as follows:

1. Develop the Virtual Environment: Create a digital twin of the robot's cell, replicating the workspace, fixtures, and objects involved in the task. This virtual environment serves as the programming workspace.

2. Define the Task and Robot Trajectories: Specify the desired task and robot trajectories within the virtual environment. Utilize the software's interface to program the robot's movements and actions, including setting joint angles, coordinates, or other relevant parameters.

3. Simulate and Validate: Utilize the offline programming software to simulate the robot's movements and actions based on the programmed instructions. Validate the program's accuracy and safety, ensuring it achieves the desired task within the virtual environment.

4. Fine-tune and Optimize: Analyze the simulation results, identify any issues or inefficiencies, and refine the program accordingly. Adjust the robot's trajectories, programming logic, or parameters to optimize performance and ensure smooth operation.

5. Transfer and Test on a Real Robot: After completing the programming in the virtual environment, transfer the program to a real robot. Use a teach pendant to test and verify the program's functionality on the physical robot. Make any necessary adjustments to ensure alignment between the virtual and real environments.

Autonomous Robots

Programming autonomous robots, such as those powered by ABAGY software, involves a different approach:

1. Define the Task and Parameters: Upload a 3D model of the product or part that the robot will work on. Set the necessary welding parameters or other relevant task-specific parameters within the software.

2. Automated Path Generation: The autonomous robot software, utilizing mathematical algorithms and machine vision, automatically generates the robot's path within minutes. The software analyzes the 3D model and determines the optimal trajectory for the robot to perform the task accurately.

3. Real-time Adjustments and Feedback: Before starting the task, the robot scans the working area and the part using machine vision. If any deviations are detected, the software automatically adjusts the robot's path in real-time to accommodate the variations. This real-time.

What Specialists are Required to Program Robots?

For online or offline programming, highly qualified programmers with expertise in robot programming languages and software tools are required. These specialists possess in-depth knowledge of specific robot manufacturer programming languages. They are skilled in using teach pendants or programming in virtual environments to create precise instructions for the robots.

Training programs, technical courses, and certifications are available to educate and train individuals in robot programming. These programs cover topics such as robot kinematics, trajectory planning, programming best practices, and troubleshooting techniques.

When utilizing autonomous robots, programming expertise is not required. Existing specialists within the company, such as welding experts or process engineers, can configure the tasks and parameters for the robots using user-friendly interfaces provided by the autonomous robot software. This empowers domain experts to easily set up and deploy robots for specific tasks without the need for extensive programming knowledge.
Comparison of Pobot Programming Methods
Check out our YouTube vlog and understand the difference between approaches. We tasked two of our engineers with performing the same welds using two different programming methods.


Subscribe to the ABAGY Robotic Welding Vlog

New video every Tuesday

Don't miss the latest news. Subscribe to our newsletter!