What Are The Different Programming Methods For Robots 3fhs - Amp True
What Are The Different Programming Methods For Robots 3fhs - Amp True
Select Topics
« Back to blog
As the expression goes, "there's more than one way to skin a cat". You could equally say "there's more than
one way to program a robot". This would be just as true, and less of a worry for the cat. What are the
advantages and disadvantages of each programming method? In this post, we look at three of the most
popular ways to program industrial and collaborative robots.
When most people think "programming" they think about typing lines of code into a computer. While this is still the
most popular way of programming, it is far from the only way. For
some early programmers, "writing a program" meant punching a
load of holes into long strips of paper and feeding them into the
computer. "Reloading the program" meant winding the strips back
onto a spool, which meant that an occupational hazard for
programmers was getting a lot of paper cuts.
Each programming method has advantages and disadvantages. Here are three popular methods of robot
programming that certainly don't require strips of hole-punched paper.
1. Teaching Pendant
The most popular method of robot programming is probably the teach pendant. According to the British Automation
and Robot Association, over 90% of robots are programmed using this method. The robot teaching pendant has
changed a lot throughout its lifetime, but o en consists of, what looks like, a giant handheld calculator. Early pendants
were large, grey boxes with magnetic tape storage. The modern teach pendants are more like a touchscreen tablet, as
the technology has developed to suit the ever evolving users. To program the robot, the operator moves it from point-
to-point, using the buttons on the pendant to move it around and save each position individually. When the whole
program has been learned, the robot can play back the points at full speed.
Most traditional industrial robots come with a teach pendant, which makes them familiar to technicians.
They allow precise positioning, as the robot can be programmed using numerical coordinates, in either world
coordinates, robot coordinates or another coordinate system.
Teach pendants are great for simple movements, such as painting in a straight line or over a large flat surface.
Disruptive to the whole system due to robot downtime. The robot must be put into "teach mode" and all operations
using theOUR
robotPRODUCTS
halted until it has been programmed. CONTACT US GET A QUOTE
Requires training to learn and program.
Might be difficult for skilled cra speople who are unfamiliar with programming.
2. Simulation/Offline Programming
Offline programming, or simulation, is most o en used in robotics research to ensure that advanced control
algorithms are operating correctly before moving them onto a real robot. However, it is also used in industry to reduce
downtime and improve efficiency. It can be a particularly useful method for SMEs, as robots are more likely to be
reconfigured multiple times than they are in mass production environments. Programming offline means that this
does not interfere with production too much. Offline programming allows the robot to be programmed using a virtual
mockup of the robot and task. If the simulation so ware is intuitive to use, this can be a quick way to test an idea
before moving it to the robot.
Some modern simulation packages are quite straightforward to use. This video shows the RoboDK so ware with
two robots performing pick and place from a conveyor belt. The simulation can be set up within a matter of minutes,
once you are familiar with the so ware, using a library of common robots and objects.
Reduces downtime required for robot programming. Programs are developed offline, so the robot only has to be
halted while the new program is being downloaded and tested.
Can be quite intuitive, especially if the robot can be moved around in a 3D CAD environment with drag and drop
techniques.
Easy to test many different approaches to the same problem, which would be inefficient for online programming
methods.
Virtual models will (probably) never be able to represent the real world with 100% accuracy. Programs may still need
to be altered a er they are applied to the real robot.
Might take longer overall. Although offline programming reduces the downtime of the robot, it means that someone
has to spend extra time developing the simulation, as well as testing it on the robot.
Can sometimes end up wasting time sorting out simulator issues instead of solving production challenges. This
could be related to the quality of the simulator.
3. Teaching by Demonstration
Teaching by demonstration (and more specific methods like Kinetiq teaching) offers an intuitive addition to the classic
teach pendant. These methods involve moving the robot around, either by manipulation a force sensor or a
joystick attached to the robot wrist just above the end e ector. As with the teach pendant, the operator stores
each position in the robot computer. Many collaborative robots have incorporated this programming method into their
robots, as it is easy for operators to get started immediately using the robot with their applications.
Quicker than traditional teach pendants. It removes the need for multiple button pressing, allowing the operator to
simply move the robot to the desired position.
More intuitive than both traditional teach pendants and simulation programs, as the task is programmed in almost
the same way a human operator would perform it. This makes it simple for operators to learn. Generally, this
method requires no knowledge of programming concepts or being familiar with 3D CAD environments (as
simulation does).
Very good for detailed tasks which would require many lines of code to achieve the same effect, such as welding or
painting of intricate shapes.
As with traditional a teach pendant, this method uses the physical robot for programming. This means that it does
not reduce downtime, as much as offline programming.
Moving the robot to precise coordinates is not as straightforward as with the other methods. This is especially true
with some joystick based systems, where there is no way of entering a numerical value. Kinetiq teaching combines
these features by allowing for the entering of exact numerical coordinates along with positioning based coordinates.
Not so good for tasks which are "algorithmic" in nature. For example, if a robot had to paint a flat surface by moving
horizontally along the surface, then move down an inch, move horizontally in the opposite direction, etc. Moving the
robot by hand would be arduous and inaccurate for such a task.
Which is your preferred method of robot programming? Are there any other methods you use which are not mentioned in
this post? What do you think are the advantages and disadvantages of each method? Tell us in the comments below or
join the discussion on LinkedIn, Twitter or Facebook.
Leave a comment
Heikki Aalto
4/7/2016, 1:57:51 PM
Good article. One point is not correct from our perspective. Offline programming software can be also fast when
creating programs. This depends on how deeply the software can utilize CAD data and meta-data. We recntly
delivered Delfoi Rapid ARC software to a French company Groupe Briand. It's possible to weld construction
beams with robot with high uptime even with batch size #1. Read more: www.delfoirobotics.com > Delfoi ARC.
Alex Owen-Hill
4/7/2016, 2:47:20 PM
Hi Heikki,
Thanks for your comment. Yes, I completely agree with you that good incorporation of CAD data into offline
programming can make the process a lot faster. The point was more about the fact that offline programming can take
longer to set up overall, i.e. including the man hours required to set up the simulation in the first place. How relevant
this is to a user will depend on which is more valuable to them - higher uptime or fewer man hours for programming.
In small machine shops where the robot isn't running 100% of the time, the user might prefer to teach by
demonstration, for example, rather than take extra time to develop the simulation.
Cheers,
Alex
Kevin Amos
5/30/2016, 6:29:05 AM
There have been different programming languages for different purpose same is here in case for robots. This
article will
OUR tell PRODUCTS
you about those required in robots programming.
CONTACT US GET A QUOTE
Reply to Kevin Amos
Alex Owen-Hill
9/19/2017, 12:45:41 PM
Hi Kevin,
Cheers,
Alex
S SIVASUBRAMANIAN
6/10/2016, 12:46:03 PM
Let me know how to communicate robotic manipulator with SCADA wired network in distribution sub station
Reply to S SIVASUBRAMANIAN
Alex Owen-Hill
9/19/2017, 12:48:08 PM
Hi S,
Thanks for your comment. I just saw it. Don't know how I missed it before.
Your question is a little vague. If you can give me some more specifics that would be great.
Cheers,
Alex
Azhagar S
OUR PRODUCTS CONTACT US GET A QUOTE
9/4/2017, 12:12:25 PM
i want to know about the difference between Power lead through and Manual lead through Programming.
Reply to Azhagar S
Alex Owen-Hill
9/19/2017, 12:59:53 PM
Hi Azhagar,
Lead-through programming involves guiding the robot through the different waypoints.
In terms of “manual lead through programming” and “power lead through programming” that you mention, I think this
may be simply a question of terminology. “Manual lead through programming” is the same thing as “teaching by
demonstration” as I describe it in this article. “Powered lead through programming” is using the teaching pendant for
storing waypoints.
Cheers,
Alex
Azhagar S
9/20/2017, 9:44:46 AM
Reply to Azhagar S
Noah Douglas
4/26/2018, 4:21:26 PM
Nice post for beginners in coding. Thanks for sharing interesting options for learning robotics.
Alex Owen-Hill
7/4/2018, 1:48:58 PM
Hi Noah,
Thanks for your comment. I'm glad you enjoyed the post!
Cheers,
Alex
Alexander Rössler
8/24/2018, 9:10:35 AM
Hi Alex,
Thank you for the great article. I'm very interested in you opinion on how programming robots can be made easier
for novices and factory workers without robot programming experience. Sounds like online programming would be
the way to go for this application, however, it looks like online programming is only supported by the vendor
software and rarely by 3rd party software like offline programming. The vendor software seems to vary quite a lot
in quality and ease of use.
Why do you think no (or few) 3rd party company has created an easy to teach vendor-independent solution so far?
I online have found ArtiMinds, compared to dozens of offline-programming solutions.
Alex
Alex Owen-Hill
9/5/2018, 10:09:10 AM
Hi Alexander,
Yes, I agree that vendor programming options can be quite variable in terms of ease-of-use. The Universal Robots
OURisPRODUCTS
Polyscope CONTACT
very good, but other some vendors have US interfaces.
less intuitive GET A QUOTE
I wouldn't necessarily say that online programming is always the easiest option. If you are talking about hand-guiding
then, yes, it's going to be hard to find something easier than that. However, some offline programming tools are
easier to use than driving the robot around with a teach pendant.
I don’t know the answer to your question. Perhaps the reason there are more offline programming tools than vendor-
independent online tools is due to the amount of integration that it takes for the developer to support a new
manufacturer. With offline programming, adding support for a new robot requires writing a new post-processor and
integrating it with the 3D model of the robot. For online programming, I imagine that it involves a much tighter
integration with the robot hardware (I’ve never done the latter myself though, so I don’t know for sure). For example, I
also write for RoboDK, which supports over 300 robot s from over 30 manufacturers. By contrast, Artiminds only
supports 5 manufacturers.
Cheers,
Alex
suman kumar
2/24/2019, 4:06:18 PM
Email * Website
Comment *
SUBMIT COMMENT
http://alexowenhill.co.uk/
Related posts
Hi. Is it possible to make a function for a UR robot which angles the tcp based on the direction of movement from
waypoint to waypoint? Read more
Lately we've developed some more tooling on and around the UR. Usually when we use a custom made end of arm
tool (EOAT) we run the cables over the arm back to the controller and connect them to...Read more
Hey everyone,suddenly we have the problem that the Robotiq 3-Finger Gripper (Firmware GS3-3.5.1) is not available
via TCP. When the gripper powers on, the Red LED stays on and via the User Interface...Read more
Currently have a UR 10e doing conveyor tracking. I only have a small window to program all the positions. I want the
UR to pick up the tool right when it enters the window and begin tracking, the...Read more
SUBSCRIBE
W hy Robots?
Getting Started
Products
Resource Center
About
Contact us
sup p or t
car e e r s
d of
b l og
i nsi ght s
Technical Assistance
1-888-R OBOTIQ (762-6847)
P rivac y P olic y