Blog

The Engineering Challenges of Building an Autonomous Indoor Robot

May. 23, 2022

The Engineering Challenges of Building an Autonomous Indoor Robot

 

By Amit Moran, Co-founder and CTO

“Initially, we opted for speed over (near) perfection… then we learned our lesson…”

 When we embarked on the journey of designing and building an autonomous indoor flying robot – our signature product – we quickly realized the challenges would be multidisciplinary. 

As engineers know, creating a successful device or machine requires the integration of software, hardware, and algorithms. In building an indoor drone, all three of these components had to work hand in hand to address our primary challenge – namely to fly a drone indoors, in a confined space, without human control. 

Ghost in the Room 

One of the first challenges we encountered is what we fondly nicknamed “the ghost.” For some unknown reason, initially our Tando™ drone was seeing objects and walls that were not there. These “ghost” objects caused the drone to move in the wrong direction to avoid obstacles that did not exist.

Obviously it occurred just before a demo. We rushed to solve the problem. Stressed, we examined the mechanical structure of the sensors, thinking something was on the sensors’ way. Our algorithm engineers rushed to write algorithms that taught the flying robot to detect the probability of objects in its space and filter them out. Those are very useful till this day but they didn’t solve the problem. We had the feeling that we had tried everything. Then a software engineer researched and found that we can optimize the output by using a different driver. We tried that and like a charm – issue solved. 

Avoid Patches  

But that was just our first challenge. One of our innovations was to build a docking station for the drone that attached to the ceiling of structures like data centers and warehouses. By placing the dock on the ceiling, we created a device that could be useful 24/7. While it was docked (the majority of the day) it served as a security camera and charging station. When the drone went on its security or inspection missions, the dock acted as the drone’s home base. In other words, it’s a camera by day and a security guard by night.

 

In the beginning, however, the drone could not successfully attach to the dock. Every time it got close, the height sensors failed, causing the robot to go ballistic and frequently crash.  Again, we rushed through our protocols of checking the software, hardware, and algorithms. 

 

As the saying indicates “when you have a hammer, everything looks like a nail”, well at the time the majority of the R&D was software and algorithm engineers and we tended to solve anything with this. As a first step, our software and algorithms engineers wrote a program that instructed the drone to land safely on the ground if any sensor error occurred. But that was just a failsafe to prevent the drone from falling to the ground and causing injury or damage. To address the underlying cause of the docking issue eventually we turned to our electronic engineers who took control.

 

They discovered that each time the Tando touched the docking station, static interference was created that caused the sensors to go awry. Adding a capacitor on some of our sensitive sensors worked like a charm.  

 

We realized by then that we didn’t have a methodology to figure out the root of the different problems we are facing. Was it mechanical? Electronic? An algorithm issue? No one on our team could figure it out.

 

We decided that we needed to adopt a different approach: Since no one of us could fix the problem independently within our siloed fields, we had to work together as a team. Our first step was to nominate a lead investigator – a systems engineer or a senior developer who could offer a wide perspective on the entire process. We didn’t want to just patch the problem and move on. We wanted a holistic solution that would last for years to come. 

Swiss Cheese Navigation

Another significant engineering hurdle concerned navigation. Drones that operate outdoors use GPS to determine their location. But indoors, GPS is either unavailable or spotty. 

Indoor drone operation also requires the robot to move precisely. An outdoor drone can make navigation errors of a meter or two with no great effect on its performance. But in narrow indoor spaces, the margin for error is much less. A meter off, and the robot hits a person, a doorway, or art on the wall. 

 

To solve the navigation problem, we adopted the Swiss Cheese Model, a methodology used in risk assessment and analysis. This model postulates that problems can be mitigated by building a system in which different types of defenses are layered behind each other (like slices of Swiss cheese placed next to each other in which the holes appear in different places). One problem will hit the “cheese,” so to speak, while another will penetrate a hole. Nothing can slip all the way through.

 

Our navigation system combines a variety of sensors and algorithms. The Tando™ contains both cameras and a LIDAR detection system, which allow those two different sensors to work in tandem to mitigate risks and correct course. Since these layers are independent of one another, if a problem arises, there is no single point of failure. 

What We Learned 

Solving these three major problems and defining our work methodology spurred our growth as a company. Within our team, we confirmed that we have the talent and commitment to address any engineering, software, or hardware issue. And when our Tando™ unit was ready for market, we had produced an autonomous drone that accurately navigates the space around it, and that can attach and detach from its docking station 100% autonomously. 

 

We also learned that it’s better to solve problems correctly rather than quickly. There’s a temptation in startup culture to quickly bring a product to market. After all, time is money. But we discovered that a long-term fix to a problem creates a greater ROI over time than a temporary patch. 

 

We also discovered – through trial and error – how best to assign various engineering issues to our staff. Rather than assigning a single person to solve a problem, we decided to create mini teams. In turn, these teams built risk management tables that outline various plans for solving problems, along with likely outcomes and risk factors for each approach. This methodology also gave us parameters to define failure and stop work if a particular direction was not producing results. 

Growth Spurred by Innovation

In just four years, we’ve grown from two founders working out of a small coworking office to over 40 dedicated team members today. We’ve accomplished that growth through teamwork, the determination to solve engineering challenges, and the drive to bring advanced technologies to market. If you are an engineer who thinks like us, and takes pride and pleasure in solving problems, we’d love to hear from you.