ROBOT PROGRAMMING: the big problem and how to solve it
Germán Villalobos
AI & Robotics Engineer | Business Strategy | Board of Directors Advisor | Associate Professor | Keynote Speaker and Author
Attending a meeting with senior executives of an Italian American automotive company at its assembly plant in Toluca, Mexico, we were working on the specifications of an important project that included around 150 robots for the expansion and renovation of existing production lines, to increase production volume and add two new car models that would be manufactured the following year. When we got to reviewing the robots proposals to be integrated that included red and yellow robots, the director of the plant stopped me and commented loud and clear - there is no way we will buy that red robots and the reason is simple, nobody knows how to program them and that is always the big problem, I prefer to buy only yellow robots, everyone knows how to program them, if I post a job offer in the street we would have a long line of programmers, to which I answered without thinking much -if in that line you find at least five good programmers, I would include them in the project and I would also be very thankful. To prevent tempers from heating up, the VP of Manufacturing for North America call for a “Coffee Break,” during which he approached me and said that he was surprised that I responded with such confidence, so that he wanted to know more, which provoke several subsequent conversations that concluded in the purchase of about 75 red robots that they had initially rejected outright, it means, around 50% of the total robots they bought for the project.
In this note I share the arguments presented in those conversations, besides other similar with other important clients, why programming is frequently one of the big problems of the integration and use of robots, along with their maintenance, but the latter may be topic for another note.
What is Robot Programming
It is always good to start from the beginning, since it is a concept so widely used that it has given rise to bad definitions and confusions, especially with the terms "Coding" and "Programming", that is, everything that "moves" the robot is often confused with programming.
?Let's start by reviewing what “Coding” is, it refers to using a code language that the robot's computer, which only works with 1 and 0, can understand, that is, transfer from the language that the humans know to the syntax, key words and logical decision commands that the robot can understand to perform the desired operation. Coding, like any computer language, has a structure that allows to "instruct" the robot step by step, under certain rules for which it is required to develop computer skills and abilities, because a computer is being programmed, (but unlike the “normal ones” this controls a mechanical arm), but also oriented to physical movements and not only tasks.
On the other hand, programming includes coding in addition to other activities such as planning, solution algorithms development, flow charts, design, testing, debugging, and very frequently project management. That is, the complete solution architecture of the process that the robot (s) will carry out in a cell or production line.
The following table summarizes the differences:
The coding is usually done in the development software (IDE - Integrated Development Environment), but the code modification is done more frequently with the hand-held programming device Teach Pendant or flexPendant?, (it has a different name depending on the brand of the robot, here we will use both interchangeably). On the other hand, programming is better done in the IDE and simulation software for convenience and because they have the capacity and power enough to type the code, as well as other commands for robot-level programming (movements) and tasks (automation), although some final touch ups are required to be made with the FlexPendant? next to the robot.
As an example, robot manufacturer ABB suggests the following for coding and programming:
Robot-level and automation task level programming
The robot programming is carried out at the movement level of the mechanical arm and at the automation tasks of the process that it must carry out, reacting to I/O signals thru sensors and other control elements of the cell or production line.
Programming at robot level requires training in the different ways in which the mechanical arm can be moved, the two main ones are movement of the tools and movement of the joints. There are one or two additional very useful ways of robot movement available depending on the robot manufacturer, but these two are the fundamental ones.
When the programmer moves the robot at the tool level, it is focused on the process that must be carried out through the robot, so it concentrates on the Tool Center Point (TCP) to, for example, welding, assembling, or painting. When the programmer uses the movement of the joints, it is to carry the robot to the required position in the most efficient way, to avoid collisions and singularities, this last term can be very complex and which we will talk about later in this note. In both cases, the programmer must develop skills of 3D movements projection, that is, he must imagine the complete trajectories of the movement and not just the starting and end points. This skill is not common for all programmers, but it is mandatory for experienced programmers with expert-level knowledge.
The Teach Pendant is used to make the final robot movement adjustments and run tests, however, it is sometimes used to make the complete program, which is not recommended, because it uses the robot's production time and because it doesn’t have all the programming capacity that may be required, in addition to the fatigue and discomfort of holding on the handheld device for a long time. It is fine to use the Teach Pendant for small programs or modifications as robot manufacturers recommend (see table # 1).
Programming at the automation tasks level allows the robot to interact with its environment, receiving signals from sensors that act as permissive to start, stop or synchronize robot movements. This type of programming requires additional knowledge of automation and control, through sequential and combinational processes, commonly developed using tools such as Boolean algebra, which is very useful for performing AND, NOT and NOR logical sequences, among others. We will see more details later.
In addition to binary logical operations, it is also required to know and use analog signals, such as temperature control, accelerations and PID. As an example, a belt or roller conveyor that carries the pieces into the cell and that the robot must control its movements of advance and stop, for its dispensing. It is very common for the conveyor movement to be at constant speed, that advances describing a straight line, but there are situations in which the conveyor needs to advance in constant acceleration, that is, describing a curvilinear movement, such as when transporting bottles and not throwing them away when advancing and stopping. This automation must be carried out by the robot through a program that uses transfer functions (preloaded mathematical functions) and that the programmer must know from his professional education, usually at the engineering level, and which is complemented with robot programming training.
Some robot manufacturers design their robots’ controllers’ computers, with the idea of focusing them mainly on robot-level programming, leaving automation and control externally, thus making their robots less expensive. This is a good solution in cells or production lines that use several robots, and the integration of PLCs are technically and economically justifiable, but they are not a good option in cells with one or a few robots where it is better to manage the cell through the robot controller.?
Robot programming types
There are several types of robot programming, one of the most recent is easy graphical programming, where the commands are graphical blocks that are slide or copied in the desired sequence in a very intuitive way, without a doubt it presents great advantages so that it is more and more used, however, the most common are textual and teaching programming. The first is what we have been describing and it is based on computer languages such as Pascal and C ++ among others, that were initially used to create the current programming languages of some leading brands of robots. The second one is used more in collaborative robots or cobots, which in its basic form is teaching by moving the wrist (final axes 5 and 6 of the robot that are at the open end of the same) so that the end effector (EOAT - End OF Arm Tooling) reaches the points in space that you want to reach and recording the trajectories in which it was moved to get there.
The teaching or guided programming greatly facilitates the cobots programming, making their use and integration more accessible, however, it is not recommended in some tasks that require great precision, because the teaching is carried out in an open “loop” and all the errors due to bending and mechanical backlash in reducers and servomechanisms will become apparent. Additionally, one of the reasons why they request of expert robot programmers support after doing the guided programming is due to the automation and control programming needed to carry out the cell process, such as vision for inspection or assembly. However, when cobots are used as a tool for the operator, guiding programming is usually adequate and more than sufficient.
Textual programming, although it requires more technical and engineering knowledge, is the most used because it is the most powerful and with more resources way to carry out complete programming at the robot and automation task level, for all types of cells and lines from basic to highly complex.
What Is Needed to Learn Robot Programming?
Robot programming is almost the exclusive domain of highly trained robotics, automation, and manufacturing engineers and technicians. The knowledge bases required to learn robot programming include electronics, computing, mechanics, and manufacturing processes, as well as engineering-level math functions for advanced programming. In many cases, you must also have several years of actual experience in manufacturing, maintenance, and project execution. That is, the requirements are not minor.
To make things a bit more complicated, one must know the mechanics of the different types of robot arms, in specific topics such as work envelop, servomotors, moments of inertia, joints and singularities among others, in addition to communication interfaces and control software. Knowledge that only technicians and engineers in robotics and automation-related specialties have from their professional education.
The above makes covering the prerequisites to attend the programming courses not easy, because without them the technicians and engineers may not learn properly the subjects of the basic programming courses, which usually include topics of configuration of the robot’s controller electronics and mechanical adjustments, and of course, even less the advanced training courses that include network configurations and industrial interfaces. They who are sent without covering adequately the recommended prerequisites, could get the idea of being correctly trained and becoming disappointed when trying to do the robot programming or solve problems related to it unsuccessfully.
Additionally, some manufacturers request other prerequisites from knowledge and experience in computer languages such as C and Pascal, to a laptop with the complete programming software preloaded to take their courses, which are usually 2 to 3 weeks for basic topics and another 2 or 3 weeks for advanced courses, excluding specific training for specialized process software or equipment.
Different programming languages for each robot brand?
To develop the robot programming, trajectories of the movement must be created and code lines for the automation tasks necessary to control it, as well as the peripheral equipment and machinery within the cell, the most common and recommended way to do it is to use the native languages of each robot brand, which are all different and unique. For example, ABB has RAPID?, FANUC has Karel?, Kuka has KRL? and Universal Robots has URScript?. What push programmers to learn each programming language of the robots with which they must work. Factories, nowadays, have more than 3 different brands installed in their cells and production lines, which further complicates their robot programming training.
Time and cost of robot programming training
As we have previously discussed, it can take 80 hours the basic programming training. The costs per seat is around $ 5,300 USD, if they also require training courses in equipment and application software, for example, vision cameras or welding, you could invest several thousand dollars more.
We must add travel and living expenses to the training courses costs and man-hour costs of each of the personnel who are not on the production line, which can exceed $ 15 thousand USD per person, for each programming language specific to each robot brand, that is, if they need to learn how to program two different brands of robots, the previous cost can double, that is, $30 thousand USD or more.
Basic level training is essential for robotic cells and lines workers and supervisors, as well as for maintenance personnel due to the frequent need to make modifications to the programs due new part models to be manufactured, adjustments to peripheral equipment or maintenance to both the robot and the cell or station of the manufacturing line. Which could increase the costs and times previously estimated.
To reduce a bit the costs and complexity of robot programming, some IDE and simulation software has been created for universal use, I mean, they can be used in all brands of robots, these are generally based on CAM interface most used in CNC machines and can work relatively well for modifications, updates, and development of simple programs, which do not require the complexity of handling decision subroutines or more complex mathematical functions.
Gaining the skills and experience that give confidence in the code is very important, especially when the code is the only thing preventing a $90k robot from hitting a $450k machine tool.
Why Robot Programming Is Too Difficult
The robot programming has the same bases of computer science plus the difficulty of handling the different mechanics of robot arms, electronic controllers with software that differ between manufacturers; and that are also highly customizable for different processes and different industrial quality and safety standards. Therefore, the difficulty is in the conjunction of mechanics, electronics, computing (software) and industrial processes.
Robot mechanical setup
There are several types of robots available in the market, with different number of joints, design, and applications. There are robots with 4, 5, 6 and 7 axes, with 1 to 3 additional axes. Cartesian robots, cylindrical, delta, articulated arm, and SCARA among the most common, and among them there are different mechanical configurations for different applications and industrial processes. For example, of the articulated arms, the mechanics for a painting robot differs much to the mechanics of a robot for palletizing, the first has a very special “wrist” (axes 5 and 6) with off-center axes and the second does not has axis 6 amid other things. Let us remember that robot programming relies heavily on the ability to imagine and trace 3D trajectories of movement, so the knowledge and intense practice of the use of robot mechanics is essential for a good programming.
Singularity
Now is time to talk about one of the most complicated issues in the mechanical configuration of articulated industrial robots with 6 or more axes, which are the most widely used, the singularity. It is defined as the calculation of an infinity possible positions for the joints to reach the same point in space, i.e., there are many possible rotations of the axes that can be valid to take the robot from point A to point B. This usually happens when two or more axes align with each other, these axes can be consecutive like 5 and 6 or non-consecutive like 2 and 5. In a simpler way it can be described as the effect of rotating and aligning two axes on different angles without moving the tool or TCP. This effect causes many problems such as unexpected rapid movements of great danger or that the arm cannot move anymore, so the computer sends warning signals, causing the programmer to make additional movements or simply cannot move the robot to the desired point nor do the necessary path for the application.
The robot's computer cannot perform inverse kinematics calculations -which are the ones that control the robot's movements- towards infinity, so if a singularity is reached, it is sometimes very difficult to get the robot out of that state, even requiring restart the robot or de-energize it completely. An expert engineer knows well the complex mathematics behind this phenomenon and with constant practice knows how to move the axes of the robot and the tool in the correct sequence to avoid each of the singularity points, achieving a more fluid programming in less time. Currently, robots have an extra option to avoid singularities (Singularity Avoidance), but, although it makes programming easier, it slows down the movements of the robot and sometimes heat up the motors of the forced axes.
With the intention of continuing to make a simple explanation of a very complex topic, we will classify singularities into two categories:
1.?????Singularities at the boundaries of the robot's work envelope, which occur in the full extension of the arm or when it is fully retracted towards itself.
When the mechanical arm is fully extended, the wrist axes 5 and 6 align very easily, especially when tracing a continuous path, such as when making a weld seam or applying a glue seam. This forces the programmer to interrupt the trajectory to move any of the joints, generating quality problems in the process and increasing the cycle time. The solution is to move the parts that is being processing closer to the robot or to use a larger robot with longer reach.
Another example is retracting the robot very close to itself, causing axes 5 and 6 to line up, such as when you can draw a straight vertical line between axes 4, 5, and 6 when picking up a part on a horizontal plane such as a table. or conveyor. There are several solutions for this type of singularity:
a.?????Move the part to a position allowed for the robot
b.?????Modify the EOAT that forces the robot to make a different angle between its axes
c.??????Raise or lower the robot from its original position
As it can be seen in the previous options, the problem is not the programming, since there is nothing that can modify the kinematics of the robot, but the robot selection, EOAT design or design of the cell that contains the robot. Some manufacturers have even developed robots with the wrist, axes 5 and 6 misaligned, most commonly robots for the painting process.
1.?????Singularities within the robot work envelop are perhaps more common and are usually between axes 2 and 5, but it can happen between any of the axes, and occur when the robot tries to avoid obstacles while going from one position or station within the cell to another, such as when loading and unloads a piece from a machine and takes it to a conveyor, or from one machine to another machine.
These singularities for an expert programmer are predictable when imagining and tracing the trajectories of the robot, and as I have noted previously, move the joints and the tool in the correct sequence to avoid them.
Computer Science Tools
Once programming and coding process is done, how do you compare programs? How do you know that one program is better and more efficient than another? How to qualify that a program is performed well, regular, or poorly and to what degree? How to evaluate that one algorithm is better than another?
Let's start answering the last question, evaluating whether one algorithm is better than another. Let us remember the definition of algorithm: a set of steps that are followed to solve a problem or complete a computer process, that is, a procedure to solve a problem with a finite number of steps that frequently implies the repetition of an operation. The most direct way is to measure the result obtained and compare it with the desired result, it seems easy and obvious when you know the result, but it is not so obvious when you want to know that result. An example is to reduce the cycle time to the maximum, but it is not known at first how many seconds can be reduced, even if a goal has been set. In this way, a novice programmer could never reach the goal by adding too many steps to complete the process, but an expert programmer can even overcome it.
To answer the first questions, I will summarize the following: a good program achieves the correct result, but an excellent program achieves the correct result and is also efficient; and by efficient, I mean the use of the least number of operations and lines of code; and lower memory usage and processing power. In other words, the program is more efficient when it is slimmer, easier to read, maintain and modify.
Industrial applications and processes
Programming the robot is much more than just record points or making changes to the logic, it is related to all the applications and processes that need to be carried out, such as material handling, spot welding, arc welding, laser cutting and welding, vision systems, etc. All these robotic applications require a specific skill set, training, and programming experience, so the more applications that are known, the greater the capabilities that will be had for the process solutions:
As an example of the difficulty that industrial processes add to programming, we will focus on just two of the most common in the industrial robot integration, arc welding and liquid paint. Starting with welding, it is easy to realize that welding requires deep knowledge of the process variables such as voltages, amperages, gas injection, advance speed of the micro wire, speed of the seam to be made, weaving patterns, metals to be welded, etc. Besides a specific training on the use of welding equipment, which there are different brands available on the market. This makes it very difficult for a welding specialist to become a good programmer or a good robot programmer to become a good welder, it is not impossible, but to achieve it the costs and training times are enormous. To reduce the problem, the welding source has its own teach pendant, with which the welder controls the process, and the robot programmer "moves" the welding torch. The foregoing requires intense and effective communication between the welding specialist and the robot programmer, that is achieved when both work shoulder to shoulder and know the other's work at a good level for good coordination and achievement of the expected result.
To weld two tubes to be inserted it was necessary to program an oval or semi-oval path, for a less experienced programmer this is a big problem. This happened in a company that manufactures automotive exhausts, when the technician programmed the trajectory by moving and recording point by point, that is, he moved the TCP of the robot to the beginning of the weld seam and moved the torch a few millimeters in a straight line towards a point forward and so on until drawing the trajectory of the oval, what resulted was a poor quality weld seam as well as a very low speed in the process. To solve the problem, an expert robotic engineer loaded into the program the mathematical formula of an ellipse in 3D, configured the dimensional parameters, the start point, end point and accelerations, achieving a higher quality weld seam. In this case, the process parameters including a very special weaving were also configured in a better way, with the collaboration of a welding specialist.
For the liquid painting process, in addition to the chemical complexities of the material like density and viscosity or the process such as temperature, humidity and electrostatic charge, the latter makes the paint adhere to the part to be painted (which can be a body car or a refrigerator. ), safety variables must watched when working in a poisonous and highly explosive environment, which obviously makes more difficult to program the robot and requires vast experience in the industrial painting process to achieve the required quality and efficiency.
领英推荐
Different industry safety standards
Knowing the international standards for operation, integration and safety use, for management and programming industrial robots are fundamental and mandatory for all personnel who operate, maintain and program the robots. The standards are the minimum necessary base, but they are complemented by manufacturers’ recommendations, which requires specific knowledge for each robot brand.
Let me share the following standards and their brief description to know their importance:
In addition, there are general safety norms and standards such as ISO 45001: Occupational health and safety management systems, which include some references for the integration and operation of robots, as well as others by industry and by company, as it is for automotive standards and specific requirements of some of its companies. For obvious reasons differs with other industries, such as pharmaceuticals, food, or aerospace.
An interesting case to share is when I was asked support to program several collaborative robots that would carry out various processes in a human and robot assembly and inspection line. When the technicians and engineers carried out the programming with a focus in collaboration with the workers, the leader of safety department stopped the work and tried to expel the robot programmers because they did not comply with the internal security regulations, which dictated that the robots had to be isolated with safety guard barriers and sensors that prevent the interaction of people with robots. We had to hold conversation with higher level managers to explain what standards should be applied, that allowed robots to "collaborate" with the staff, in addition to the needs of the processes themselves.
Automation and motion control of production cells and lines
This part is difficult for technicians and engineers who only have been trained in robot-level programming and have little or no knowledge of automation and control, which includes configuration of industrial communication networks.
So far, we have only focused on robot programming related to their movements, to make them follow predefined trajectories mostly in the fulfillment of a process, but as we have also said before, the robot is not isolated and interacts with its environment and other equipment, that surround them within a cell or on a production line. Those elements are conveyors, CNC machines, light bars, access doors, safety and presence sensors, EOAT (grippers and other process equipment), operator interface screen and central or distributed control PLC, etc. That is, the robot is part of an automation of sequential and combinational events that make everything orchestrate or synchronize in the most efficient way possible to achieve the desired flexible manufacturing.
Sequential and combinational processes
A simple and common robotic cell is the one designed for loading and unloading CNC machines, that has an input conveyor which takes parts to a single robot to load them into a first CNC machine, to later unload and reload the part in the next CNC machine, to later place the part in an inspection and marking station, and finally unload the part to an exit conveyor. This entire sequence requires that combinations of signals, permissives and interlocks are met to continue with the next steps. If the robot does not receive the signal from the first CNC machine that is idle or has terminated its process, the robot should not try to load a part because there is already an existing one or unload the part when the machine has not finished yet.
The above can be developed graphically, through flow diagrams such as the following GRAFCET:
As we can see, in addition to combination of signals that allow going from one step of the sequence to the next, it is necessary to insert subroutines for rejecting parts and for emergencies, such as safety stops.
Technicians usually receive from engineers who design the complete solution of complex systems, flow charts of the previous type, in addition to truth tables and Boolean equations that serve as a guide to translate the sequences and combinations into the language of the robot, I mean, to type the code of the program. Of course, these charts are accompanied by notes and comments about time, motion, and protocol specifications required to communicate with the central PLCs, safety PLCs, and HMIs.
Robotics cells and lines are often more complex than the previous example and many of the peripheral equipment include smart vision cameras, laser sensors, dispensers, etc.
Offline programming
Although programming, by definition, is done offline and programs can be loaded into robot controllers even when the cell or line is in production, the unavoidable touch ups are done online when production is stopped. I say that touch ups are inevitable, because as commonly said, everything in CAD works and is perfect, but in real life there are tolerances and deviations, as well as robot-mounted cables and pipes that can force to modify the program. However, programming software enables, increasingly, accurate offline programs that require fewer touch ups.
The path programming can be planned; coding, in programming software (IDE), the robot language on a computer and detailing with the teach pendant in the cell or production line, that is, the entire application path can be planned. For example, epoxy material dispensing to seal an automotive subassembly as follows:
The instructions are presented in the operator’s language and pseudo-code, but they would be coded, as I have said, in the language of the robot, including the process variables for dispensing the material through the application equipment, as pumps, filters and nozzles, among others for the correct application. This allows the programmer on site, with the Teach Pendant in hand, to record the points by moving the robot in “Teach” mode (the name and type of mode may vary depending on each brand of robot), from point to point updating the previously coded program to the exact points of the physical piece.
Nowadays, with the new offline programming software, the trajectories can be drawn in 3D in a more visual and efficient way, avoiding the very obstacles of the cell, line, or part ensuring that updates and touch ups are kept to a minimum, thus having the production line working sooner as possible with the related savings.
Digital Twin
New available offline programming and simulation software allow the development of the entire complete system, from its conception and CAD design and with complete programming, automation, and control functionalities, including the operation functions of machines, conveyors, PLC, sensors, and process equipment, that is, the entire complete system, allowing dry and wet virtual testing with materials, fluids and energies, and parts minimizing startups.?
How To Solve the Big Problem of Robot Programming?
Understanding the problem is half the solution and it is what we have done with the previous topics. The other half of the solution is what we will see next.
Be aware of the problem
End user leaders and integrators responsible for robotic projects frequently asked me, why do robot programmers usually leave in the middle of the project, leaving the programming unfinished? One reason is because they are asked to make programs or modifications for which they are not trained. The case of the trajectories in ellipse was one of those in which they hired technical level programmers that could not perform what they were asked, so they proceeded to fill out a report justifying that the work had been completed, leaving the clients still with the problem and saying: "Always the big problem is the robots programming." The problem was solved, as I said before, at engineering level programmer, who load a mathematical function into the program.
To be aware that programming is not a simple task that is solved with two weeks training in basic programming, allows you to request and hire the appropriate programmers based in their level, training, and experience. In addition, to include the programming services that are required and not only the number of hours that the programmer would have the Teach Pendant in hand in front of the robot.
Planning, planning and more planning
Planning the robot programming with sufficient time in advance and also including the type and level of resources, equipment, hours of offline programming in the office, online on site and even training in equipment or technologies not common or developed specifically for the project, allows to carry out the programming more efficiently and effectively, to achieve the desired results.
An example was the training in laser cutting equipment to be installed in an automotive plant in Hermosillo Son. Mexico, which at that time were marketed in Europe and not known it and integrated much in America. The project was to replace 2 existing robotic cells with these obsolete equipment, plus 2 additional robots with the new laser equipment models. This training allowed saving a lot of headaches, allowing the complete system integration with good programming in a timely manner. What did not happen before when the existing robotic cells were installed, which took several weeks longer than planned with the high costs associated with that delay.
It is a good practice in general to have most of the programming done offline in the office and the least portion of the work done on site, despite, as we have said, the incorrect idea is that programming is only done when the programmer has the Teach Pendant on hand and is in front of the robot. Good planning shows more offline programming proportion and is justified with savings in every way.
To accumulate hours of practice
As they say in the aeronautical industry, accumulating flight hours, in the same way that a pilot is trained and knows how to fly a specific type of airplane, that knowledge cannot always be transferred to another type of airplane, that is, a pilot who knows how to fly a fumigation plane does not mean he can fly a commercial jet, much less an air force jet. Programmers nowadays are versatile and know how to program many models and brands of robots, but it is always good to check how much experience they have programming the types of robots with which they should work, and if necessary, include in the planning hours of practice to allow them to develop their work properly.
On one occasion, a person from the purchasing department asked me why I had included in my quote several additional hours that my competition had not included in theirs, to which I replied, because my programmers do not have enough practice using and programming that type of robot -which was a very recent robot model on the market at that time- and probably the other suppliers do have. They issued the purchase order to a competitor, but only two weeks later they sent it to me, including the additional hours, because the other supplier had abandoned the project. Finally, we were able to carry out the robots programming properly and left the customer satisfied with our service.
Get external resources
Factory workers, supervisors, and maintenance personnel do not always have the time or robots available to get training, update skills and practice, so when they do robot programs these are not adequate, take more time to complete them and sometimes they simply cannot do it.
Even companies with an intense robots installed base, such as automotive assembly plants and their T1s, which usually have robotics departments, with trained personnel and training robots, do not usually have the enough practice that is required, simply because the plant's goals are aimed to have the robots and all their personnel producing, avoiding all kinds of stoppages, so practicing is almost impossible. Concentrating their knowledge, skills, and time, including programming, towards keeping robots working and lines producing. For everything else, the best option is to have external professional programmers, experts and trustworthy who work on many projects with different clients, to get support for new projects, model changes and equipment updates among other activities.
What Is Coming
Around robotics or together with it, many of the new disruptive technologies are generated and applied that are nowadays tremendously driving production and administrative efficiency and will continue to be in the future and that considerably improve the programming of robots. We refer specifically to Artificial Intelligence (AI) that includes Machine Learning (ML) and Deep Learning (DL), as well as Neural Networks among others. These technologies allow robots to collect big data, receive data patterns to forecast usage trends including potential failures, object recognition, and communicate that information to other robots.
Everything is in evolution and will continue improving the functionality and simplifying the robot programming, so that robotics will continue to be increasingly reliable and profitable.
Conclusion
Finally, having the knowledge, skills, and appropriate experience, in addition to being aware of everything that robot programming implies, allows to be done correctly, quickly, and safely, like air pilots, who make their work see easy and safe, due all the investment in training, upgrading skills and hours of practice that they have accumulated.
Read this note in Spanish:
To learn more:
Content Creator | Media Strategist | Art and Technology
2 年Useful insights and solutions