Robotic development. Why it’s so hard and how did we overcome it?

Robotic development. Why it’s so hard and how did we overcome it?

Martin Gordon

12 בספטמבר 2021, 21:00:00

Robotic development. Why it’s so hard and how did we overcome it?

s long as I can remember, as a child, the thing I asked most often was “why?” — why is it like this and not different? Why is the moon round and not square? Let’s say my parents were not bored with me :)
Over the years, my popular question has changed to “how?” — how can this be improved? How can a specific need be addressed? How can this and that problem be solved?
When I entered the world of robotics, very quickly those two questions came up to my mind :) — ‘Why?’ Why is it so complicated to develop a functional application in the world of robotics? And how can we deliver a product that will bridge that gap?
So, why it’s complicated to develop a robotic application for a software developer?
You need a robot — and when I say “robot”, I mean a functional one that can move/interact/perform tasks, with all the hardware (motors/sensors), electronic parts & drivers that you need, assembled together. As you can imagine, building a robot from scratch is almost an impossible task for a software developer, and good luck trying to find out a ready-to-use robot that contains an open architecture and invites developers to develop over their device.
ROS — (Robot Operating System) is an open-source set of software libraries and tools that help you build robot applications. Sounds great, right? It really is a great solution that saves a lot of time, but the amount of time it takes to learn the “language” and the amount of knowledge it requires both on the software side but also understanding on the hardware side makes these tools useful only to those who deal with robots as part of his daily work.
Machine Learning & AI — Think about a use case for a functional robotic application. No matter what idea you came with, it probably involved at least one of these parts: moving (navigating from point A to point B), looking (searching for an object, recognizing someone), acting (picking up a toy, pressing a button to make an espresso or taking the laundry), interacting (receiving voice commands, text-to-speech). All these parts require implementing and training several & different AI algorithms. How many algorithms does a software developer know and have real experience working with them?
In addition to these challenges, the developer will of course have to write the code of his application: this is actually the main goal of any developer — write the business logic of his application.
How did we overcome those difficulties?
Developing a robotic application by a software developer is extremely hard, and we understood exactly why. Then we moved on to the second big question — “How” How can we overcome these difficulties and make the development process easiest and “affordable” for almost any software developer?
Well, we decided to take all the hard parts of robotics development that require a deep understanding of motors/sensors/AI/ROS and encapsulated them in an extremely intuitive & easy SDK, using one of the most popular development languages out there — Python. Using our tools, the only thing that a software developer needs to know in order to be able to develop a fully functional robotic application is Python(!).
Want to navigate from point A to point B? you can do it by writing a single line of code in Python. Mapping of the environment, localization, avoiding obstacles during the navigation & figuring out when we reached point B is handled by our platform. Sounds easier now to develop an app, right? :)
Regarding the robot itself, we have developed a robot with dozens of sensors and depth cameras, two arms, and an infinity of capabilities to allow developers to develop an unlimited amount of applications. It’s real — we built a ready-to-use functional robot (not a toy) that encourages software developers to develop applications.
I invite you to visit our website and take a look at Gary (our robot) & at our developer platform that enables any software developer to develop & distribute worldwide robotic applications.
Please notify that in this article I focused on the main challenges of the development process, and didn’t talk about motivation — Why a developer would even want to develop an application for a robot? We are going to discuss this important question in the next article. Stay tuned!
Martin Gordon
Entrepreneur | Product geek | Maker