Some robot programming methods are better than others. Here we will discuss the 5 most common programming methods and their pros and cons.
There are a lot of different options available to you for programming your robot. Each one has its own inherent advantages and disadvantages… and it’s not always clear which option is the right one to choose.
Do you go with the “traditional” method of programming with the manufacturer’s teach pendant?
Do you go with advanced artificial intelligence programming?
Or, do you go with offline programming?
Each method has its advantages and disadvantages. Ultimately, the choice of method is up to you, but a little bit of good information can be very useful when making that choice.
In this article, we’ll outline some pros and cons for 5 of the most common robot programming methods so that you can make the best decision according to your needs.
1. Traditional Teach Pendant Programming
The “classic” option for robot programming is the teach pendant. This is a small console that comes packaged with the robot from the manufacturer.
Programming is usually done with the brand-specific programming language (e.g. RAPID for ABB robots, JBI for Motoman robots, etc). However, some robot brands (UR for example) do have a graphical user interface on their teach pendants.
Pros of Teach Pendant Programming
- The teach pendant is right next to the robot so it is very handy.
- It comes packaged with the robot so no extra hardware is required.
- As the software is developed by the manufacturer, it will make use of the robot’s more “obscure” functionality.
Cons of Teach Pendant Programming
- As it is an online programming method, it increases downtime as the robot must be stopped for programming.
- Programmers must learn a completely different programming language for each robot brand.
- Requires more training and skilled robotics knowledge than more general-purpose, intuitive methods.
2. Flexible Offline Programming
Offline programming allows you to program your robot in a simulated environment. It has a whole host of benefits over online programming methods like teach pendants. I won’t list these benefits here as we have covered them extensively on the blog already.
RoboDK is what you might call a “flexible” offline programmer in that it is not tied to a specific brand of robot. It can be used with over 50 different brands of robot.
Pros of Flexible Offline Programming
- It is robot-agnostic so can be used to program any robot brand or model with the same interfaces.
- It is simple to learn and to use and does not require retraining when switching to a new robot brand.
- Extremely flexible capabilities as extra functionalities can be extended through plugins even if they are not part of the core program.
Cons of Flexible Offline Programming
- Requires an extra piece of software compared to teach pendants.
- More programming steps than with hand-guiding (see below).
- Requires a computer to run the offline programming software.
3. Manufacturer’s Offline Programming
Using the manufacturer’s simulator is kind of the offline equivalent of a teach pendant. It has the benefits of offline programming, but it’s not as flexible as using a robot-agnostic offline programming package like RoboDK.
Only some robot manufacturers provide simulators which can be used to program their robots offline. The capabilities of these simulators vary wildly, depending on the manufacturer.
Pros of Manufacturer’s Offline Programming
- Designed especially for this robot brand by the company that developed the robot.
- Has (hopefully) been tested with your specific robot model.
- Allows you to use only one supplier for both the robot and the simulation software.
Cons of Manufacturer’s Offline Programming
- The capabilities of the software can be very restrictive and you can only use a feature if the manufacturer has developed that feature.
- It strongly ties you into using only one robot brand, as changing brand would mean both buying a new simulator (if one exists for the new brand) and retraining your team.
- Manufacturer simulators can be costly and some manufacturers (e.g. ABB) tie you into a subscription model.
4. Hand Guiding or Teaching by Demonstration
Hand guiding is a type of programming which involves physically moving the robot around and recording the positions into the robot’s teach pendant. For small robots, it can be achieved by deactivating the joint brakes, as the robot links are light. With larger, heavier robots it requires a force sensor and force control algorithms.
Pros of Hand Guiding
- It’s intuitive so it is easy to learn.
- It’s quick to program compared to traditional teach pendant programming.
- Good for simple, imprecise tasks.
Cons of Hand Guiding
- Not available for most industrial robots and is costly to implement.
- Requires a force sensor, unless it is for small robots, and advanced control software.
- Not enough precision for almost all robot applications.
5. Artificial Intelligence and Machine Learning
An emerging method of robot programming is to use advanced artificial intelligence algorithms to program industrial robots for specific tasks. The idea is that the robot can respond to a previously unknown environment and/or task without human intervention. This is still very much at its early stages.
Pros of AI Programming
- Allows robots to adapt to unknown situations, tasks and objects.
- Can be used as part of an autonomous path planner, as in RoboDK’s PRM planner.
- With motion planning, for example, it can produce more efficient robot movements.
Cons of AI Programming
- As many AIs are still at the research stage, they can often only deal with very simplistic situations and aren’t very robust.
- For most industrial robotic tasks, you want the robot to move in predictable ways, not think for itself.
- AI can be costly to implement both in terms of money and time.
What’s the Best Method for You?
To be honest, there is no “one size fits all” for robot programming.
The “best” method for your specific situation will depend on the needs of your task.
As you can see above, there are benefits and disadvantages to all of the methods that you can use to program a robot. However, now that you are aware of these pros and cons, you have enough information to make an informed decision. If you need more information, ask a question on the RoboDK Forum.