How do you choose between all of the different programming options? Here’s a fool-proof way to choose.
We often hear from professionals who are struggling to decide which method they should use to program their robot. Perhaps you’re in a similar situation?
On one hand, maybe you are already a proficient robot programmer but you want to know if there is a more efficient method available. On the other hand, maybe you are just getting started with robotics and you want to pick the best programming method from the start.
There are a lot of options out there!
Robot manufacturers will try to convince you of the benefits regarding their programming methods. Third party providers (like ourselves) want you to see the benefits of their programming methods. Then, there are a lot of companies which provide complete robot integration and programming systems, who want you to buy their services.
How do you choose the best way to program your robot!?
It’s understandable that people are confused. There are several good methods for programming a robot. In this article, we cut through the conflicting information and lay out a simple comparison of the most common programming methods for robots.
How to Choose the Best Programming Method for You
There is no one programming method which is perfect for every situation. Before we look at the specific methods, it’s important for you to clarify your situation. That way, you can be sure that you will pick the best option for you.
First, answer the following questions:
- What is your level of general programming experience? — If you are already an experienced robot programmer, there should be no restrictions on the programming method you choose. If you are new to robot programming, however, it will benefit you to pick one of the easier to use methods (e.g. lead-through or a graphical programming method)
- What is your level of programming experience with this robot? — You may have general programming experience but no experience with this particular brand of robot. Choose the method which will get you up and running the quickest.
- Which of the following factors are most important to you?
- Ease-of-programming — If this is most important to you then graphical offline programming or hand guiding will be better options.
- Reduced downtime — If this is most important, offline programming methods are better than online methods.
- Access to all the robot’s advanced functionality — If this is most important, you may have to use the programming methods provided by the manufacturer.
- Hands-on programming — For some tasks, it may be important for you to physically move the robot around to program it. In such rare cases, hand-guiding may be the only way to go.
The Two Categories of Robot Programming
Researchers from the University of Auckland, New Zealand, identified over 13 (!!!) different categories of robot programming methods. Their list includes such varied approaches as neural network learning systems, programming by demonstration via gesture, behavior-based text-based programming, etc.
Thankfully, you don’t have to choose between all of these methods. Many of them are almost exclusively used in research settings, so they are unlikely to be applicable to your situation (and if they are applicable, you probably know about it already).
For practical applications in industry, you have basically got two categories of robot programming:
- Online programming — This involves stopping the robot from its productive work and switching it to “programming mode.” Then, you create or update the program while the robot is online.
- Offline programming — This involves creating the robot code without (necessarily) having the robot present. When the program is ready, you then download it onto the robot and debug it. As a result, the robot can continue to do productive work while you create the program.
So, should you choose online or offline programming?
The choice will depend on the answers you gave to the questions above. If reducing downtime is important, offline programming is the way to go. If hands-on programming is important to you, online programming might be a good choice. For other situations, you can match your specific needs to the programming methods explained below.
Online Robot Programming Methods
Online programming is becoming a popular method in small businesses. This is because some systems make it very easy for non-programmers to program the robot.
In most situations, you will encounter two different types of online programming:
- Teach Pendant Programming — A teach pendant is a device which you plug directly into the robot. Using its interface, you move the robot to the desired positions and record each movement. Some teach pendants are easier to use than others. Those with text-based input allow you to use the manufacturer’s programming language. Those with graphical input tend to be easier to use.
- Lead-through or hand-guiding — You physically guide the robot around the workspace, moving it to the desired locations and recording the points or exact path. This has an advantage of being very intuitive, but has the disadvantage that it is less precise and often requires extra sensors.
Offline Robot Programming
Offline programming is becoming a game-changer in industrial robotics. It allows you to reduce downtime, speed up robot integration and continually improve the robot’s program without impacting productivity.
In most situations, you will encounter two different types of offline programming:
- Text-based programming — This is the traditional method of programming. You write the program offline in a text editor then download it to the robot when it is ready. If you use the manufacturer’s programming language, it is likely that you can access more of the robot’s functionality using this method. However, it has a disadvantage that it requires a lot more debugging than other programming methods.
- Graphical offline programming — This involves programming the robot as if you were moving the real robot, but really you are moving a simulation of it. When you have finished and debugged the program, you can load it onto the robot. If the software is good, this method combines the best of both lead-through and teach pendant programming, with the added advantages of being an offline method. However, you have to be careful to pick the best software.
But, Which Programming Method is Best!?
If you have answered the questions above, understood the different methods of programming and still don’t know which method is best for you, we understand. It can be a hard decision!
Tell us about your situation in the comments below and we’ll do our best to help you out.