AI Won’t Fix Robotics Software Problems. Physics and Math Will.

Nosa Edoimioya
Founder & CEO

Most robotics startups are focused on some aspect of building better software for robots to do X, where X is some application that really needs to be automated. The prevailing notion is that all the hardware challenges in robotics have been solved. All that’s left to do is write UI software that makes the robots more performant (faster, more dexterous, etc.). Easy enough, right? Plus, now we have AI. AI will solve all the challenges that we can’t solve with classical software.
Unfortunately, this view is incorrect. The design and mass manufacturing of robots has largely been solved, but that doesn’t mean we’ve solved all the hardware challenges. The software that controls the hardware is one of the major “hardware challenges” that still needs work. Let me explain:
To mass manufacture robots for many industries, some trade-offs need to be made. One of these trade-offs is using bare-bones (e.g., PID-based) control algorithms that enable repeatable positioning but not necessarily accurate positioning, meaning that the robot will go to the same (wrong) position 99.9% of the time. Another trade-off is that the control system can’t really account for objects it will interact with in the real world. Hence, the robot’s contact with these objects can impact both its repeatability and accuracy.
When software engineers encounter these problems, you may hear them say, “robots just aren’t accurate enough” or “robots just aren't strong enough” to do X application. But that’s not the whole story; there’s just more work to be done. Clearly, the robot manufacturers can’t write custom control software for each robot to meet each user’s accuracy/object specs. They depend on users (oftentimes through system integrators) to do that themselves while they focus on the important job of churning out general-purpose robots. However, developing control software to improve the robot’s performance requires a deep understanding of robot dynamics (i.e., physics) and control theory (i.e., abstract math), which are not typical learning outcomes in software engineering coursework.
So how do we tackle this mismatch? Can it be solved or are we cursed to never have high-performance robots running great software? To start, it’s helpful to recall how we got here.
The Software Boom and Bust
Back in 2013, when I got to Stanford, the landscape of software development was quite different. The tech industry had a shortage of computer programmers and my classmates who were majoring in Computer Science (CS) were in high demand for internships, almost guaranteed to get well-paying software development engineering (SDE) roles upon graduation. This trend was a direct result of the internet boom that began in the late 90s and continued through the early 2000s, driving a massive need for skilled programmers.
During this period, internet software companies like Google, Meta (formerly Facebook), Amazon, as well as several startups were in fierce competition to attract top talent. They offered extravagant compensation packages to lure the best software engineers and started the era of six-figure salaries for entry-level engineers. The demand for these skills was insatiable, fueled by both the rapid growth of the internet and competition to prevent talent from joining other companies or starting their own.
However, today we find ourselves in a much different place. We are now a decade past that explosive growth, and the dynamics of the tech industry have shifted. There is an increasing perception that we may have too many software engineers. Driven by the demand, software engineering education (both formal and informal) grew dramatically over the past decade. For example, CS consistently ranks as the most popular engineering major at top universities across the world. The same tech companies that were on the hiring sprees last decade are cutting back, and their focus has shifted to individuals with highly specialized skills, like knowledge of advanced machine learning algorithms.
There are two key features of internet software, in particular, that contributed to the decrease in demand:
Scalability: Once the software was written, it could scale infinitely. The effort required to maintain and update the software was significantly less than the original work needed to build it. This scalability reduces the long-term demand for large numbers of software engineers. Additionally, the internet’s winner-take-all dynamics led to a few companies using their existing reach in one market to build bundled products that quickly grew their market share in other markets (think Google).
Advancements in code automation: The recent rise of large language models (LLMs), and other code automation technologies before LLMs, revolutionized the way we approach software development. These products are great at generating and maintaining code, further reducing the need for a large workforce of engineers. Automation is compounded by the fact that there’s a lot of open-source internet code to use as data to train LLMs and other tools. In contrast, there isn’t nearly as much data for other types of software (e.g., embedded systems control software).
While the demand for software engineers is certainly not disappearing, the kinds of roles available are transforming. There is a growing need for SDEs to adapt and learn how to build for different kinds of systems outside internet software and this transformation is opening new opportunities, particularly in robotics.
The Transition to Robotics
As discussed above, transitioning from developing software for digital systems to creating software for hardware systems, like robots, is challenging for traditional software engineers. This difficulty largely stems from a lack of training in the fundamental principles of physics and mechanics, which are crucial for understanding and manipulating the physical world.
However, hope is not lost. We’ve seen remarkable early examples of software engineers partnering with experts in the sciences to build innovative real-world capabilities. A prime example of this collaborative success is the research on protein folding. By combining new software algorithms (like Transformers) with decades of biological research into the structure of proteins, researchers achieved groundbreaking results (see AlphaFold from Google DeepMind and structure-informed language models from Stanford). The same synergy between different domains of expertise is also paving the way for similar advancements in robotics (see Covariant and Dexterity)! The playbook seems to be: (1) a strong understanding of the underlying nature of the problem, rooted in scientific fundamentals, then (2) the addition of elegant software to transform scientific insights into efficient code. Unfortunately, software is not good enough on its own and AI is not good enough on its own. (Heck, physics isn’t good enough on its own.)
Recently, I've noticed a growing trend of early-career SDEs expressing an interest in pivoting to robotics. This is good news. They’re becoming aware of the saturation of talent in the digital software market and are interested in the relatively untapped potential of robotics. However, at the risk of repeating myself, I would caution these engineers against the belief that software or AI alone will solve robotic automation problems. Instead, I would recommend a study of fundamental robot mechanics (you can start with Robot Dynamics and Control by Mark Spong) and finding a mechanics or controls expert to work with.
How Reforge Robotics Fits In
At Reforge Robotics, we are well-positioned to benefit from this influx of CS talent. Our team has a strong background in physics and control engineering, which complements the skills of strong software engineers to build robust robot applications.
We intend to drive advancements in robotics and automation in the manufacturing industry. Through the combination of physics-based robot control and user-centered software development, we can handle complex physical environments in manufacturing and meet the needs of our customers with software that is 10x easier to use than traditional machines.
As the value of our products for manufacturers becomes increasingly evident, we anticipate a continued surge of interest from software developers eager to build applications for manufacturing robots on our underlying architecture. We plan to build APIs for other developers to use our robot models and controllers to build software for more applications and use-cases. This model reminds me of how NVIDIA showcased the practical benefits of accelerated computing via their GPUs by enhancing computer graphics applications and subsequently built CUDA, a platform that enabled developers to write accelerated computing code. Today, many AI platforms run on NVIDIA’s chips using CUDA software. We anticipate a similar trajectory for Reforge Robotics.
Today, we are in the infancy of automation and the transition to automating physical systems presents both challenges and opportunities. The future of robotics demands a convergence of computer science and the physical sciences. This interdisciplinary approach will lead to scalable physical interactions between robots and their surroundings, particularly in the manufacturing context. By building a collaborative ecosystem where the best software engineers and physical engineers/scientists can work together, we can overcome the challenges and leverage the opportunities.
We intend to build the next generation of manufacturing systems by combining: (1) the hard-won software engineering efficiencies developed over the past decade, and (2) a modern (and historical) understanding of the physical sciences, driven by advancements in fundamental research. Reforge Robotics is committed to being a pioneer in this new era. Our strategy will not only drive advancements in manufacturing automation but also create a framework for many other industries to adopt robotic automation.
Nosa Edoimioya
Founder & CEO
Share post
Written by
Nosa Edoimioya, Founder & CEO





