Recurring Problems When Programming Robots and How to Move Past Them

Table of Contents

With the increasing abundance of robots, you need a relative increase in engineers to set them up for each company. So how complicated of a process is programming a robot?

The truth is that it’s pretty difficult! There are many factors to consider, including the robot’s capabilities, the space surrounding the robot, how the robot will move, and of course, the programming language necessary to program the robot. 

Robots are essentially motion recording devices that allow you to generate a procedure. The procedure in question – varying from company to company – will likely only be relevant to a single function in which the part processes or other variables remain constant at all times. While this method could still be useful for a number of processes and companies, sometimes it can be done in a smoother fashion.

Let’s go over which problems are the most common and how, exactly, they affect development.

Programming Languages

Like with any verbal language, programming languages exist in abundance. Each language is used for a specific purpose, but it isn’t feasible for a programmer to learn a plethora of different languages. 

Manufacturers and the robots they develop use different languages. What ABB uses isn’t quite what FANUC uses, and what FANUC uses isn’t what Universal Robots uses. Germán Villalobos, an AI and robotics engineer explained in a LinkedIn article that each manufacturer will “have more than [three] different brands installed in their cells and production lines, which further complicates their robot programming training.

Automation engineers and programmers would essentially have to learn each robot manufacturer’s programming language if they want to work efficiently on their assigned robot. However, learning an entire language, let alone a programming language is an arduous task that will take hours to learn and even more to master.

While new programming languages emerge every few years, the main ones still reign with JavaScript dominating. Chart via

High Costs, Low Time

Based on various reports, including the aforementioned LinkedIn article, it can take over 70 hours to properly learn just how to develop a simple application in any given programming language. Multiply that by the number of robots you have with their own individual languages and add the time it’ll take to complete an automation system, and suddenly you have weeks of training that needs to get done.

The cost of investing in training for every employee who needs to learn an additional language could be astronomical depending on the sheer number of employees. As well, you have to factor in equipment like cameras, computers, and well the robots themselves if you’re buying new technology.

Villalobos estimated that for each person trained, it could cost up to $15,000 per person. That number only gets higher with each new brand of robot a company acquires. To avoid spending all this money on training, it’s important to find alternatives such as hiring employees who are familiar with programming specific types of robots, or simply moving away from programming altogether and opting for a behavior-based robot instead.

While learning isn't inherently a bad thing, it can be a burden for companies trying to keep their employees up to date on new programming languages only suited to a specific robot brand.

The Complexity of Programming Robots

The myriad of programming languages and the high cost might lead you into thinking programming robots is complex. It most certainly is, but those factors are merely small factors in the complexity scale.

Robotics companies don’t even hide how complicated it can be to program a robot. In fact, DIY Robotics has a page dedicated to some recurring problems a programmer will encounter when working on robotics projects. In brief, they describe problems during the programming process that include misunderstandings of the physical limitations and capabilities of the robot. However, to ease the burden, they suggest using tools that each robot manufacturer offers to lessen the burden.

Villalobos continued in his article that robot programming is too difficult to do properly and efficiently work on robots. He argues that robot programming “has the same bases of computer science plus the difficulty of handling the different mechanics of robot arms, electronics controllers with software that differ between manufacturers; and that are also highly customizable for different processes and different industrial quality and safety standards.”

With so many variables to consider along with the rigidness that programming brings, it can be overly complicated to properly program a robot within a reasonable amount of time to perform specific tasks.

Academics and Programming Robots

The complexity of programming robots is not only known to manufacturers but academics have also noted this. In a study conducted by Eleonora Bilotta and Pietro Pantano for the University of Calabria back in 2000, they analyzed a variety of problems including the “difficulties in programming the robot control [and] the organization of the program in relation to hardware, software, behaviors, and performance design in robotics.”  Specifically, they focus on robotics in relation to teaching control to children. While this isn’t exactly manufacturing, their discoveries and criticisms of programming are pretty similar to those encountered in that field.

Across the study, Bilotta and Pantano argue that the current method of programming robots could be better and lean toward modern proceedings including bottom-up robotics and behavior-based robotics. And though 22 years have passed since the study’s publication, some of their criticisms still remain relevant.

They describe some of the pains they encountered with programming, including the lengthiness of the process as well as every external factor that could come into play when trying to execute a specific action. Instead, they prefer to try and work through behaviors.

“From the programming point of view, the behavior space of the robot is defined by the locations the robot can reach (or by the set of actions it has to exhibit in the physical space) and by the transition between those locations. Even if the robot can attain a nearly infinite number of states, it is better to design a useful behavior space in which the programmer limits him/herself to a small number of states,” they state. 

They imply freeing up time thanks to behaviors better understanding the capabilities of robots while not taking up as much time to get them running. Even more than 20 years ago, behavior-based robotics was seen as the future. 

Behaviors for All!

Robot programming is an intricate skill, craft, or trade – call it what you want – but it needs to evolve. In software programming, new languages emerge every decade, or even every few years, either rendering older languages obsolete or confusing older engineers by adding to the amount of knowledge they need to amass to do their job.

Open-source solutions include Swift, Rust, and Kubernetes which only gained popularity over the last few years. They’re far from being the most dominant, but their emergence isn’t negligible.

Machine builders and integrators are not programmers by trade – they’re designers. Designers need simple solutions. They need to be able to do more with fewer (or even) lines of code.

Behavior-based robotics is on the way to becoming the best way for robotics to move forward without the crutch of having to adapt to new languages every time they come out. Instead of relying on preset calculations that can handle a fixed process, behavior-based robotics adapts to its environment to perform a series of heterogeneous tasks. 

They can adapt using sensors essentially telling the robot what the piece is, its dimensions, and how it can best perform the task it was set up to do. All this is done through an interface that is more user-friendly and that takes away the need to parse through hundreds of lines of code.

Setting up an autonomous robot for the first time seems like the dawn of a new era, but it can also be misleading. To the untrained ear, the word “autonomous” sounds like it can do anything based on the power of AI alone, or something along the lines of Wall-E from the Disney movie. While performing any task might be a tall order right now, an autonomous robot can perform a specific task given it’s been programmed to do so. The real question remains: do you still want to be programming robots well into the future?

An example of how behavior-based robotics could work for an open-source project on Github.

With AutonomyOS™ and AutonomyStudio™, your flexible automation cell will be as powerful as ever. With the ability to set up behaviors to execute tasks such as paint spraying, sanding, welding, and more, you’ll find all the flexibility you want for your manufacturing needs. Contact us to learn more

Choosing The Right Equipment For A Flexible Automation Cell

Automation can provide relief to manufacturers looking to subvert the ongoing labor shortage, but it can also be confusing when it comes to the initial implementation of an autonomous robotic system. One of the first things you need to know when setting one up is if it’ll be a fixed or flexible automation system. Once you’ve established that, it’ll then be the time to figure out what kind of equipment you’d need to better serve your factory. 

With so many different suppliers, machines, and setups, you want to make sure that whatever decision you make, it’s a comprehensive one – one that ticks all the boxes for your manufacturing plant and one that can secure a more productive and efficient future. 

Fixed Vs. Flexible Automation

When you decide to automate, the work in which you automate will fall into one of two types of automation: fixed or flexible. For example, if your business is focused on the assembly of the same pieces over and over again at a high volume, you’d be more inclined to try a fixed automation system. However, if your factory is High-Mix, fixed automation won’t exactly work.

What is “High-Mix” Manufacturing? It is generally defined as any manufacturer or production that processes more than 100 different SKUs in batches of fewer than 1000 each year – basically, a lot more variation than mass manufacturing.

ABB Robotics unveiled their latest look into flexible automation cells at Automatica 2022. Image via ABB.

If the pieces you manufacture fit the High-Mix description, then the type of automation you’re going to need is called flexible automation. In short, fixed automation will serve a single purpose at a high rate, and flexible automation will help serve multiple pieces at a lower volume.

Preparing yourself for a fixed automation system is more straightforward than a flexible automation system even if it’s more limited. Preparing yourself for flexible automation is a little bit more complicated, but with the right research and understanding, the extra effort will be far more fruitful. 

Let’s say you have a High-Mix production and you’re looking to install the perfect flexible automation cell, what exactly do you need to ensure that your cell is as comprehensive and complete as possible?

The Right Equipment for a Flexible Automation Cell

Flexible automation systems aren’t always cut-and-paste. Some serve different purposes. While some automation cells will fit the traditional need of having a robot perform certain tasks until completion, other cells will simply be a stackable storage system that will help organize the inventory to help get end products to customers faster. Considering the differences in systems, not every piece of equipment listed below will be useful to every specific flexible automation system. Depending on what type of cell you’re looking into, the following pieces may help bring a greater understanding as to what you may need or want when setting up your flexible automation cell.


The Robot

A robot arm, while not vital, can help accelerate the production process thanks to mature AI software.

Technically, robots are not always central to flexible automation. However, they can greatly help because they are more articulated and versatile tools than other pieces of equipment for flexible automation such as large rail inventory systems. Due to their restrictive nature, it’s easier to turn to an autonomous robot with powerful AI alongside it. Sometimes, this will require the robot to be programmed with the help of a capable robotics software like ROS. Other times, you may want to remove programming altogether and get behavior-powered software that will allow the robot to learn about the parts it will work on and execute each task for each individual piece properly and efficiently.

These processes don’t even have to be all the same. You can alternate between painting, sandblasting, deburring, and more if you need to. There exists a myriad of options that will help you get a robot. Companies like FANUC, Universal Robots, and Yaskawa all have a deep catalog of robots that can meet your needs.

Omnirobotic’s AutonomyOS™ is the world’s only platform for truly autonomous manufacturing. Using 3D Perception with AI-based Task Planning and Motion Planning, manufacturing engineers and integrators can configure autonomous robotic systems for value-added processes that reduce labor shortages, increase productivity, save energy, waste and rework and allow manufacturers to achieve more consistency and flexibility in production than ever before.

The Cameras

Cameras, sensors, and localization are not necessarily essential tools for flexible automation, however they provide one benefit that makes installing them worthwhile. By installing any of these, you will eliminate the need for programming jigging.

With a proper set of cameras and/or sensors, the robots will be able to properly perceive any piece that passes through them. Once those pieces have been reconstructed digitally, an autonomous robot can then understand how to perform an action. If you’re setting up cameras and sensors, however then that likely means you need objects to pass through them to the robot.

The Material Handling

If the pieces you need to work on need to pass through cameras, then your flexible automation cell will need a conveyer of some sort. While there are a myriad of conveyor options to choose from, you’d need to determine which, based on the space you have, properly fit your factory floor. The conveyor isn’t the most glorious or most coveted piece of equipment but it’s a necessary one to facilitate the process.

The Space

Okay, space isn’t quite a piece of equipment, but having a large area to work with is certainly helpful to the cause. Depending on the system you have, the space you would need would vary. If you only have space for a small conveyer belt, a couple of cameras, and a robot, your flexible automation system could work, but be limited in what it can execute in a day.

Sprimag, a company focusing on automated coating systems, detailed what their coating cell would look like. Based on their mockup, you can that it’s a long one. They have a large amount of space, but it allows the system to go through several different stations. The robot, more or less placed in the center, has enough room to move around without risking a collision with any of its surrounding walls.

The cell’s loop-like structure will reduce the floor space necessary for material handling. Its versatility in regards to size is the flexible automation cell’s biggest advantage here. With an easy-to-place design, it won’t restrict the other essential parts of the factory.

Sprimag's flexible automation cell isn't overwhelmingly big and it allows for a streamlined process thanks to multiple stations.

Another Flexible Automation Cell Example

Manufacturing company Liebherr detailed a rotary loading system that allows a robot to pick and place objects in a circular cell. In a detailed account of what this system entails, Liebherr states that “the individual workpieces lie in these bins in chaotic order. The core of the Liebherr bin picking system is an intelligent piece of software that compares data from 3D visualization of the bin contents with the actual CAD data of the workpieces being searched for and detects the correct parts.”

For a system like this, you would need more than just the robot, cameras, and conveyer. You would also need an intricate storage system that will work in conjunction with the aforementioned pieces of equipment. What might seem like a disorderly mess is actually a fully functioning system for the robot and for the flexible automation cell itself.

Why Is Flexible Automation So Important and Popular Right Now?

The uptick in flexible automation can be associated with several points. For one, there’s been a trend toward mass customization in manufacturing. As more manufacturers deal with High-Mix environments, their pieces aren’t always homogeneous and benefit from the flexibility that automation can provide. High-Mix manufacturers need flexibility to use automation properly for their needs.

As automation evolves and matures, the industry is expected to leave a smaller environmental footprint. With sustainability becoming a larger focal point for manufacturers, it’s important to realize just how much automation can benefit both manufacturers and the environment.

As well, with space being such a scarce commodity in manufacturing, it’s important to make the best use out of whatever space is available in any given factory. As zoning restrictions tighten up, saving space becomes the best and most efficient way to not have to change locations. With the right flexible automation cell, using the least amount of space to achieve the most amount of work is the simplest solution. Sprimag and Liebherr have managed to do it, so maximizing space is certainly within reach.

Valin Corporation showed the overall cost effectiveness of a flexible automation system versus a fixed automation system.

Different Equipment for Different Needs

Not every flexible automation system is universal, naturally. Each cell will be tailored to each company’s needs, therefore, leading to a myriad of different equipment configurations. With companies like Sprimag and Liebherr detailing what their ideal flexible automation cells will look like, their needs aren’t their peers’ needs. It’s vital to assess the type of automation and choose the right equipment to go with it.

With AutonomyOS™ and AutonomyStudio™, your flexible automation cell will be as powerful as ever. With the ability to set up behaviors to execute tasks such as paint spraying, sanding, welding, and more, you’ll find all the flexibility you want for your manufacturing needs. Contact us to learn more

What is a Humanoid Robot and Is It A Sign of the Future?

From the early days of modern technology, we’ve always romanticized what a fully autonomous robot can be. Especially in forms of art like films, novels, and video games, robots that can think for themselves, move around autonomously, and even fight wars have long been engrained in our heads as the peak of artificial intelligence. One of the earlier modern examples is HAL 9000 in Stanley Kubrick’s 2001: A Space Odyssey. Though not quite a fully formed and physical humanoid, HAL was still sentient enough to seem human and act on its own. Though the autonomous robots we have today aren’t sentient like HAL, we’re approaching an era of humanoid robots that look like humans but function off lines of code. So if a humanoid robot isn’t quite HAL but also not a standard pick-and-place robot, then what exactly is it?

Ancient Origins of the Humanoid Robot

While HAL certainly popularized how a sentient AI could eventually function, the first notion of humanoid robots or beings came long before that. In fact, the first mention of them came in the 4th century BCE in ancient Greek mythology. In the Illiad, Homer used the word “automata,” the precursor for autonomous robots. He described them as “machines moving on their own by means of internal energy.” Though technology wasn’t remotely advanced at the time, Homer clearly had an understanding of how things moved on their own. 

One of the earliest depictions of an automaton is Talos from ancient Greek mythology.

Homer went on to explain how Hephaestus created a myriad of different forms of humanoid automata such as golden handmaidens with human-like voices to serve their human leaders. In the myth of Pandora, Hephaestus had built an artificial woman named Pandora who would go to Earth and scold humans for discovering fire.

But humanoid automata would hardly stop being conceived there. In China, the Middle East, Italy, Japan, and France, from the middle ages to the industrial revolution, would all see inventors come up with their ideas of what a humanoid robot could be. Intellectuals like Leonardo Da Vinci, Ismail al-Jazari, and Jacques de Vaucanson all attempted to create fully functioning autonomous machines. Naturally, they had their limitations, but the creativity has existed since the earliest days.


Modern Proceedings

Fast forward a few centuries and now we’re entering an era where robots are becoming more intelligent, adaptable, and ever-present in our lives, whether we know it or not. The most common types of robots we’ve seen so far are pick-and-place robots, but they’re not exactly sentient like HAL, let alone other intelligent fictitious robots like WALL-E. 

As far as ambitious ideas go, Elon Musk has continued to provide ideas that most of us assume are the future of robotics and artificial intelligence. For over a year, Musk has been promising a humanoid robot called Optimus. At Tesla’s annual AI day, in 2022, the company unveiled a prototype of Optimus where the robot was shown walking across the stage and waving at those in the crowd.

Admittedly, the new prototype is a bit of a rough sketch. The body is incomplete and the software powering the humanoid robot is still in its infancy. Eventually, once the programming is more mature and developed, these robots will be capable of handling day-to-day tasks such as buying groceries and cleaning the house. For now, its capabilities are minimal. But Tesla is banking on promise.

Tesla's latest reveal of Optimus shows how quickly humanoid robots are progressing. Screenshot via Stephen Shankland at CNET.

What Even Is A Humanoid Robot?

Beyond Tesla’s prototype is what we now recognize as the most advanced humanoid robot, Sophia. Unveiled in 2016, Sophia looked and felt real, offering more-or-less advanced social skills. 

Humanoid robots aren’t simply for socializing. They’re designed to help humans execute tasks in a similar way that autonomous robots do now, except at a smaller scale. While autonomous robots these days are focused on pick-and-place, painting, welding, sanding, and more, these humanoid robots will focus on more human tasks, even in manufacturing contexts.

In China, the market size of humanoid robots will expand exponentially by 2024. Graphic via Robotics Business Review.

Humanoid robots are built to look and sound like humans. They aren’t here to replace humans, but to serve as complementary companions to do some of the grunt work that we don’t always want to do. As mentioned before, the Tesla robot will one day be able to go get our groceries for us. Some of the most menial day-to-day tasks can one day be assigned to robots to do our work for us.

On a manufacturing level, humanoid robots will be able to handle menial tasks in the workplace as well. According to Automate, “humanoid robots are being used in the inspection, maintenance and disaster response at power plants to relieve human workers of laborious and dangerous tasks.”

Humanoids Versus Industrial Robots

Humanoid robots face a glaring concern: just how durable are they? At such an early stage, these humanoid robots are likely to face problems, both internally and externally. For all new tech, the first few editions are always just a few (sometimes more) steps away from total usability. The actuators placed within the robots are relatively new to this field and will likely see more than problems than successes in its infancy stage.

Think of it this way: Elon Musk wants to sell these robots at $20,000 per unit. At that cost, is it really plausible that it functions as well as you want? How reliable will they be for physically demanding jobs? Time will only tell, but with robots it’s clear: the literal human form factor doesn’t need to be imitated if it doesn’t fit the requirements of its job.

Do You Need A Humanoid Robot?

We could all use a humanoid robot. Even though some of us may like getting our own groceries, there’s no denying that there are bound to be some boring tasks that you would want a robot to handle. The real question isn’t whether you need a humanoid robot – it’s more about how on Earth you can get your hands on one.

At this stage, humanoid robots are still new and therefore expensive and inaccessible. If you run a manufacturing plant of some sort, you might be able to find a prototype, but that will mostly only serve you from a commercial standpoint. As far as personal humanoid robots go, we’re not quite there. The closest thing we have to that at the moment is a Roomba, but it’s more frisbee-looking than human truth be told.

Autonomous robots are becoming more commonplace and once they’ve fully adapted to commercial environments, that’s when we’ll see more of them in family households. Until then it’s vital to continue working on AI and participating in its development as best we can.

With AutonomyOS™ and AutonomyStudio™, you won’t quite get a humanoid robot, but it’ll come as close as it gets for now. With autonomous robots, you can on time and effort for even your most arduous manufacturing needs. Contact us to learn more