Robotics have been the main part of industry 4.0 revolutionand automation processes in manufacturing for decades. With the introduction ofindustrial robots, we have benefited from their characteristics. these robotshave capability of operation with higher speed with more precision andrepeatability. Such accuracy even within less than millimeter helped toovercome obstacles in daily processes of manufacturing, and increaseproductivity by avoiding stopping time of production. Their characteristicsassist to handle heavy processes which are cumbersome for operator and canincrease costs for example in case of injuries. It has been started byemploying them in heavy assembly scenarios such as automotive industry andnowdays pave their mission to integratein other industries such as electronics, food, surgery, logistics, and become avaluable assets for modern manufacturing.
As a person who is encouraged to get familiar with theintegration of these robots, it is crucial to understand the basics of robotprogramming. Industrial robots are computer-controller machines that canperform their task with a set of structured commands. These commands which arebuilding part of the robot program prepare robots to perform a variety of tasksuch as welding, painting, and assembly. The most common types of industrialrobots include articulated robots, SCARA robots, Cartesian robots, and deltarobots. Each type of robot has its own unique features and benefits, and thechoice of a robot will depend on the specific application and task at hand. Inthis blog, I will familiarize you with articulated arm robot programming and howyou can build your first program.
There are three types for programming articulated armrobots, teach pendant, graphical programming and text-based programming. Theteach-pendant approach requires the presence of a programmer inside realrobots’ environment. Graphical programming is mostly dedicated to collaborativerobots and newly introduced small robots which create the structured programthrough a graphical user interface. Text-based programming is a more advancedtype of programming as it needs complete understanding of robot controllerlanguage. Each manufacturer of robots utilizes their own developed programming language which is inherited from powerful programming languages such C++ or directly uses these languages directly. To get started with industrial robot programming languages, it is recommended to start with teach-pendant programming or graphical programming. These methods are more user-friendly and can help beginners get a better understanding of the programming process. Onceyou have mastered these methods, you can move on to more advanced text-based programming languages.
For programming these robots, you should know about robots’ joint, coordinate system of robot, and robot tool configurations. Articulated armed robot contains 4-6 connected links where they are connected to each other by a revolute joint. That means each link can rotate in the z-axis of its joint. World coordinate system of robots where programmers utilize it as a reference for movement, it is defined from robots’ base. Usually, you can find robots’ base as the first component that attached to the surfaces such as floor, ceiling or columns. The last joint of articulated armed robot(flange)its where the tool will be attached to. Tool or end-effector of the robot contains one or a set of grippers where it is customized for their specific task. The most important part of tools is its TCP or Tool Center Point which contains their own coordinate system. This will help you to manipulate the robot based on the position of your tool rather than a base of robot where the calculation of distances to your target will be so difficult.
Before you start writing your program, it's important to understand the task you want the robot to perform clearly. This could be anything from picking up an object and placing it in a specific location to perform a repetitive task on an assembly line. To create such a program, you need to define the positions of robots where to pick and place and any position required in between. Each position will be defined by you, in practice it will be “jog” the robot position and “teach” that position. These points can be taught by teach-pendant, graphical UI, or you can utilize software provided by vendors such as ABB Robotstudio for ABB robots, Roboguide for Fanuc robots. After defining position or points, you need to give command to the robot on how to move to that position. You can use two types of movements: Linear or Joint movement. Basically, linear movements mean robot moves in each x, y, z axis by using a coordinate system: base of robot, or TCP coordinate system. These types of movements are preferred to the positions where accurate movements near components are required such as approaching to picking or placing position. Robots’ controller calculates joint movements and plan how each joint moves to reach to the position with a different configuration. Joint movements are usually used when you need faster movements between two positions.
Here I give you simple example of these two movements in two different robots: ABB, UR5.
ABB:
For linear movement, ABB robots use the "MoveL" command, for example:
MoveL pos1, v1000, z100, tool1;
Here pos1is the position of the point you taught beforehand such as picking position. v1000 is speed of the robot in mm/s. z100, Zonedata tells how close the axes of a robot need to be to a certain position before moving to the next one. Tool1 is the name of TCP for robots’ gripper.
For joint movement, ABB robots use the "MoveJ" command, for example:
MoveJ pos2, v500, fine, tool1;
The parameters are the same as described above.
UR5:
from graphical interface, you can start by selecting “move” command. Then you need to select which movement type you want to use. Then you can use “add waypoint” to add the desired position as a target of the movement.
In this blog post, I focused on articulated arm robots andthe three types of programming methods used in their programming. I alsodiscussed the importance of defining the task you want the robot to perform andthe positions you want it to move to, as well as the types of movements thatcan be used to achieve those positions.
That's it for now! I hope this article has given you a good introduction to programming articulated arm robots. If you have any questions or comments, feel free to share them below. I would like to hear about your experiences with industrial robots or answer any questions you may have.