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
Robot programming has largely moved away from low level coding to more intuitive methods. This move has partly been fuelled by a desire to make programming easier for operators. Robot operators are not always robot makers, and robot makers are not always the best people to program a particular task. It would, for example, be far better to get a painter to program a painting robot, rather than a programmer who has no experience with painting. Traditional programming methods would be restrictive for such operators.
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.
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 often 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.
Advantages of a Teaching Pendant
Disadvantages of a Teaching Pendant
Offline programming, or simulation, is most often 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 software 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 software 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 software, using a library of common robots and objects.
Advantages of Offline Programming
Disadvantages of Offline Programming
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 effector. 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.
Advantages of Teaching by Demonstration
Disadvantages of Teaching by Demonstration
As with anything in robotics, the best method will depend highly on your task, robot and requirements. Use the advantages and disadvantages listed in this post to decide which method could suit your application. If reducing downtime is the most important factor for you, offline programming could be your best option. If intuitive programming is more important, teaching by demonstration might suit you more. If you have an algorithmic task and want a familiar interface, a teach pendant could be a good choice. For more information of collaborative robots and their intuitive programing interface check out the eBook below.
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.